ylyx-cli 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/README.md +4 -0
  2. package/bin/ylyx.js +168 -168
  3. package/lib/config.js +283 -299
  4. package/lib/deploy.js +529 -415
  5. package/lib/generator.js +192 -192
  6. package/lib/index.js +113 -113
  7. package/lib/interactive.js +87 -87
  8. package/lib/remote.js +179 -179
  9. package/lib/template.js +174 -174
  10. package/lib/utils.js +148 -148
  11. package/package.json +5 -5
  12. package/templates/react-app/files/README.md +23 -23
  13. package/templates/react-app/files/package.json +28 -28
  14. package/templates/react-app/files/public/index.html +11 -11
  15. package/templates/react-app/files/src/App.css +15 -15
  16. package/templates/react-app/files/src/App.js +15 -15
  17. package/templates/react-app/files/src/index.css +10 -10
  18. package/templates/react-app/files/src/index.js +11 -11
  19. package/templates/react-app/template.json +11 -11
  20. package/templates/react-component/files/Component.module.css +5 -5
  21. package/templates/react-component/files/Component.tsx +31 -31
  22. package/templates/react-component/files/index.ts +2 -2
  23. package/templates/react-component/template.json +48 -48
  24. package/templates/vue-app/files/.editorconfig +14 -14
  25. package/templates/vue-app/files/.env.development +21 -21
  26. package/templates/vue-app/files/.env.production +18 -18
  27. package/templates/vue-app/files/.eslintignore +5 -5
  28. package/templates/vue-app/files/.eslintrc.js +267 -267
  29. package/templates/vue-app/files/.prettierignore +11 -11
  30. package/templates/vue-app/files/.travis.yml +5 -5
  31. package/templates/vue-app/files/.vscode/extensions.json +7 -7
  32. package/templates/vue-app/files/.vscode/settings.json +39 -39
  33. package/templates/vue-app/files/LICENSE +191 -191
  34. package/templates/vue-app/files/README.md +87 -87
  35. package/templates/vue-app/files/babel.config.js +11 -11
  36. package/templates/vue-app/files/jest.config.js +24 -24
  37. package/templates/vue-app/files/package.json +136 -136
  38. package/templates/vue-app/files/plopfile.js +7 -7
  39. package/templates/vue-app/files/postcss.config.js +5 -5
  40. package/templates/vue-app/files/public/default.js +25 -25
  41. package/templates/vue-app/files/public/index.html +26 -26
  42. package/templates/vue-app/files/src/App.vue +54 -54
  43. package/templates/vue-app/files/src/api/bigDataV/index.js +198 -198
  44. package/templates/vue-app/files/src/api/data.js +42 -42
  45. package/templates/vue-app/files/src/api/dataArchive/index.js +186 -186
  46. package/templates/vue-app/files/src/api/generator/genConfig.js +16 -16
  47. package/templates/vue-app/files/src/api/generator/generator.js +32 -32
  48. package/templates/vue-app/files/src/api/indexManagement/index.js +39 -39
  49. package/templates/vue-app/files/src/api/institutionMonitor/index.js +396 -396
  50. package/templates/vue-app/files/src/api/institutionSet/index.js +120 -120
  51. package/templates/vue-app/files/src/api/login.js +44 -44
  52. package/templates/vue-app/files/src/api/selfStatistics/index.js +50 -50
  53. package/templates/vue-app/files/src/api/system/code.js +15 -15
  54. package/templates/vue-app/files/src/api/system/dict.js +34 -34
  55. package/templates/vue-app/files/src/api/system/dictDetail.js +52 -52
  56. package/templates/vue-app/files/src/api/system/equipment.js +35 -35
  57. package/templates/vue-app/files/src/api/system/examManage.js +49 -49
  58. package/templates/vue-app/files/src/api/system/examProject.js +48 -48
  59. package/templates/vue-app/files/src/api/system/hosModel.js +35 -35
  60. package/templates/vue-app/files/src/api/system/hospital.js +88 -88
  61. package/templates/vue-app/files/src/api/system/job.js +40 -40
  62. package/templates/vue-app/files/src/api/system/menu.js +67 -67
  63. package/templates/vue-app/files/src/api/system/model.js +42 -42
  64. package/templates/vue-app/files/src/api/system/risConfig.js +9 -9
  65. package/templates/vue-app/files/src/api/system/role.js +64 -64
  66. package/templates/vue-app/files/src/api/system/sysSet.js +19 -19
  67. package/templates/vue-app/files/src/api/system/timing.js +41 -41
  68. package/templates/vue-app/files/src/api/system/user.js +121 -121
  69. package/templates/vue-app/files/src/api/tools/alipay.js +25 -25
  70. package/templates/vue-app/files/src/api/tools/email.js +24 -24
  71. package/templates/vue-app/files/src/api/tools/localStorage.js +27 -27
  72. package/templates/vue-app/files/src/api/tools/qiniu.js +40 -40
  73. package/templates/vue-app/files/src/assets/css/font-awesome.css +2342 -2342
  74. package/templates/vue-app/files/src/assets/css/font-awesome.min.css +2336 -2336
  75. package/templates/vue-app/files/src/assets/fonts/fontawesome-webfont.svg +2671 -2671
  76. package/templates/vue-app/files/src/assets/icons/index.js +9 -9
  77. package/templates/vue-app/files/src/assets/icons/svg/hospital.svg +1 -1
  78. package/templates/vue-app/files/src/assets/icons/svg/hospital1.svg +1 -1
  79. package/templates/vue-app/files/src/assets/icons/svg/loginOne.svg +35 -35
  80. package/templates/vue-app/files/src/assets/icons/svg/loginOneWhite.svg +19 -19
  81. package/templates/vue-app/files/src/assets/icons/svg/loginOr.svg +93 -93
  82. package/templates/vue-app/files/src/assets/icons/svg/loginUp.svg +96 -96
  83. package/templates/vue-app/files/src/assets/icons/svg/monitor.svg +1 -1
  84. package/templates/vue-app/files/src/assets/icons/svg/offline.svg +1 -1
  85. package/templates/vue-app/files/src/assets/icons/svg/online.svg +1 -1
  86. package/templates/vue-app/files/src/assets/icons/svg/system.svg +1 -1
  87. package/templates/vue-app/files/src/assets/icons/svgo.yml +21 -21
  88. package/templates/vue-app/files/src/assets/styles/btn.scss +103 -103
  89. package/templates/vue-app/files/src/assets/styles/eladmin.scss +124 -124
  90. package/templates/vue-app/files/src/assets/styles/element-ui.scss +217 -217
  91. package/templates/vue-app/files/src/assets/styles/element-variables.scss +31 -31
  92. package/templates/vue-app/files/src/assets/styles/global.scss +73 -73
  93. package/templates/vue-app/files/src/assets/styles/index.scss +220 -220
  94. package/templates/vue-app/files/src/assets/styles/mixin.scss +60 -60
  95. package/templates/vue-app/files/src/assets/styles/publicStyle.scss +224 -224
  96. package/templates/vue-app/files/src/assets/styles/sidebar.scss +239 -239
  97. package/templates/vue-app/files/src/assets/styles/transition.scss +48 -48
  98. package/templates/vue-app/files/src/assets/styles/variables.scss +44 -44
  99. package/templates/vue-app/files/src/common/flexible.js +145 -145
  100. package/templates/vue-app/files/src/components/Breadcrumb/index.vue +87 -87
  101. package/templates/vue-app/files/src/components/Crud/CRUD.operation.vue +248 -248
  102. package/templates/vue-app/files/src/components/Crud/Pagination.vue +20 -20
  103. package/templates/vue-app/files/src/components/Crud/RR.operation.vue +39 -39
  104. package/templates/vue-app/files/src/components/Crud/UD.operation.vue +106 -106
  105. package/templates/vue-app/files/src/components/Crud/crud.js +907 -907
  106. package/templates/vue-app/files/src/components/Crud/user/UR.operation.vue +154 -154
  107. package/templates/vue-app/files/src/components/DateRangePicker/index.vue +42 -42
  108. package/templates/vue-app/files/src/components/DateRangePickerProhibitNext/index.vue +42 -42
  109. package/templates/vue-app/files/src/components/DateRangePickerProhibitTodayNext/index.vue +48 -48
  110. package/templates/vue-app/files/src/components/Dict/Dict.js +31 -31
  111. package/templates/vue-app/files/src/components/Dict/index.js +29 -29
  112. package/templates/vue-app/files/src/components/Doc/index.vue +16 -16
  113. package/templates/vue-app/files/src/components/Echarts/BarChart.vue +115 -115
  114. package/templates/vue-app/files/src/components/Echarts/Category.vue +768 -768
  115. package/templates/vue-app/files/src/components/Echarts/Funnel.vue +120 -120
  116. package/templates/vue-app/files/src/components/Echarts/Gauge.vue +74 -74
  117. package/templates/vue-app/files/src/components/Echarts/Graph.vue +101 -101
  118. package/templates/vue-app/files/src/components/Echarts/HeatMap.vue +301 -301
  119. package/templates/vue-app/files/src/components/Echarts/Line3D.vue +110 -110
  120. package/templates/vue-app/files/src/components/Echarts/PieChart.vue +84 -84
  121. package/templates/vue-app/files/src/components/Echarts/Point.vue +161 -161
  122. package/templates/vue-app/files/src/components/Echarts/RadarChart.vue +123 -123
  123. package/templates/vue-app/files/src/components/Echarts/Rich.vue +160 -160
  124. package/templates/vue-app/files/src/components/Echarts/Sankey.vue +114 -114
  125. package/templates/vue-app/files/src/components/Echarts/Scatter.vue +192 -192
  126. package/templates/vue-app/files/src/components/Echarts/Sunburst.vue +127 -127
  127. package/templates/vue-app/files/src/components/Echarts/ThemeRiver.vue +233 -233
  128. package/templates/vue-app/files/src/components/Echarts/WordCloud.vue +201 -201
  129. package/templates/vue-app/files/src/components/GithubCorner/index.vue +55 -55
  130. package/templates/vue-app/files/src/components/Hamburger/index.vue +44 -44
  131. package/templates/vue-app/files/src/components/HeaderSearch/index.vue +196 -196
  132. package/templates/vue-app/files/src/components/IconSelect/index.vue +74 -74
  133. package/templates/vue-app/files/src/components/IconSelect/requireIcons.js +10 -10
  134. package/templates/vue-app/files/src/components/Iframe/index.vue +30 -30
  135. package/templates/vue-app/files/src/components/JavaEdit/index.vue +78 -78
  136. package/templates/vue-app/files/src/components/Pagination/index.vue +100 -100
  137. package/templates/vue-app/files/src/components/PanThumb/index.vue +149 -149
  138. package/templates/vue-app/files/src/components/ParentView/index.vue +3 -3
  139. package/templates/vue-app/files/src/components/Permission/index.js +13 -13
  140. package/templates/vue-app/files/src/components/Permission/permission.js +21 -21
  141. package/templates/vue-app/files/src/components/RightPanel/index.vue +149 -149
  142. package/templates/vue-app/files/src/components/Screenfull/index.vue +60 -60
  143. package/templates/vue-app/files/src/components/SizeSelect/index.vue +60 -60
  144. package/templates/vue-app/files/src/components/SvgIcon/index.vue +66 -66
  145. package/templates/vue-app/files/src/components/ThemePicker/index.vue +177 -177
  146. package/templates/vue-app/files/src/components/UploadExcel/index.vue +149 -149
  147. package/templates/vue-app/files/src/components/WaterMark/setWaterMark.js +68 -68
  148. package/templates/vue-app/files/src/components/WaterMark/waterMark.vue +69 -69
  149. package/templates/vue-app/files/src/components/Xgplayer/index.vue +49 -49
  150. package/templates/vue-app/files/src/components/YamlEdit/index.vue +81 -81
  151. package/templates/vue-app/files/src/layout/components/AppMain.vue +67 -67
  152. package/templates/vue-app/files/src/layout/components/Navbar.vue +209 -209
  153. package/templates/vue-app/files/src/layout/components/Settings/index.vue +125 -125
  154. package/templates/vue-app/files/src/layout/components/Sidebar/FixiOSBug.js +26 -26
  155. package/templates/vue-app/files/src/layout/components/Sidebar/Item.vue +29 -29
  156. package/templates/vue-app/files/src/layout/components/Sidebar/Link.vue +35 -35
  157. package/templates/vue-app/files/src/layout/components/Sidebar/Logo.vue +93 -93
  158. package/templates/vue-app/files/src/layout/components/Sidebar/SidebarItem.vue +104 -104
  159. package/templates/vue-app/files/src/layout/components/Sidebar/index.vue +79 -79
  160. package/templates/vue-app/files/src/layout/components/TagsView/ScrollPane.vue +90 -90
  161. package/templates/vue-app/files/src/layout/components/TagsView/index.vue +299 -299
  162. package/templates/vue-app/files/src/layout/components/index.js +5 -5
  163. package/templates/vue-app/files/src/layout/index.vue +119 -119
  164. package/templates/vue-app/files/src/layout/mixin/ResizeHandler.js +45 -45
  165. package/templates/vue-app/files/src/main.js +89 -89
  166. package/templates/vue-app/files/src/mixins/crud.js +348 -348
  167. package/templates/vue-app/files/src/router/index.js +156 -156
  168. package/templates/vue-app/files/src/router/routers.js +203 -203
  169. package/templates/vue-app/files/src/settings.js +57 -57
  170. package/templates/vue-app/files/src/store/getters.js +29 -29
  171. package/templates/vue-app/files/src/store/index.js +25 -25
  172. package/templates/vue-app/files/src/store/modules/api.js +33 -33
  173. package/templates/vue-app/files/src/store/modules/app.js +55 -55
  174. package/templates/vue-app/files/src/store/modules/permission.js +79 -79
  175. package/templates/vue-app/files/src/store/modules/register.js +17 -17
  176. package/templates/vue-app/files/src/store/modules/settings.js +46 -46
  177. package/templates/vue-app/files/src/store/modules/tagsView.js +168 -168
  178. package/templates/vue-app/files/src/store/modules/user.js +119 -119
  179. package/templates/vue-app/files/src/utils/auth.js +18 -18
  180. package/templates/vue-app/files/src/utils/base64ToFile.js +27 -27
  181. package/templates/vue-app/files/src/utils/clipboard.js +36 -36
  182. package/templates/vue-app/files/src/utils/datetime.js +289 -289
  183. package/templates/vue-app/files/src/utils/getBlobFile.js +10 -10
  184. package/templates/vue-app/files/src/utils/getTime.js +29 -29
  185. package/templates/vue-app/files/src/utils/index.js +520 -520
  186. package/templates/vue-app/files/src/utils/permission.js +29 -29
  187. package/templates/vue-app/files/src/utils/pinyin.js +450 -450
  188. package/templates/vue-app/files/src/utils/request.js +139 -139
  189. package/templates/vue-app/files/src/utils/rsaEncrypt.js +37 -37
  190. package/templates/vue-app/files/src/utils/shortcuts.js +210 -210
  191. package/templates/vue-app/files/src/utils/upload.js +12 -12
  192. package/templates/vue-app/files/src/utils/validate.js +262 -262
  193. package/templates/vue-app/files/src/views/components/Echarts.vue +124 -124
  194. package/templates/vue-app/files/src/views/components/Editor.vue +75 -75
  195. package/templates/vue-app/files/src/views/components/MarkDown.vue +44 -44
  196. package/templates/vue-app/files/src/views/components/UVideo.vue +37 -37
  197. package/templates/vue-app/files/src/views/components/YamlEdit.vue +206 -206
  198. package/templates/vue-app/files/src/views/components/camera/camera.vue +115 -115
  199. package/templates/vue-app/files/src/views/components/camera/cameraTest.vue +158 -158
  200. package/templates/vue-app/files/src/views/components/excel/upload-excel.vue +41 -41
  201. package/templates/vue-app/files/src/views/components/icons/element-icons.js +74 -74
  202. package/templates/vue-app/files/src/views/components/icons/index.vue +106 -106
  203. package/templates/vue-app/files/src/views/components/icons/svg-icons.js +10 -10
  204. package/templates/vue-app/files/src/views/components/scroll/index.vue +107 -107
  205. package/templates/vue-app/files/src/views/components/scrollFull/index.vue +99 -99
  206. package/templates/vue-app/files/src/views/dashboard/LineChart.vue +138 -138
  207. package/templates/vue-app/files/src/views/dashboard/PanelGroup.vue +173 -173
  208. package/templates/vue-app/files/src/views/dashboard/mixins/resize.js +57 -57
  209. package/templates/vue-app/files/src/views/dataArchive/delTable.vue +354 -354
  210. package/templates/vue-app/files/src/views/dataArchive/exportDetail.vue +121 -121
  211. package/templates/vue-app/files/src/views/dataArchive/exportList.vue +160 -160
  212. package/templates/vue-app/files/src/views/dataArchive/index.vue +2104 -2104
  213. package/templates/vue-app/files/src/views/features/401.vue +83 -83
  214. package/templates/vue-app/files/src/views/features/404.vue +226 -226
  215. package/templates/vue-app/files/src/views/features/redirect.vue +12 -12
  216. package/templates/vue-app/files/src/views/generator/config.vue +348 -348
  217. package/templates/vue-app/files/src/views/generator/index.vue +143 -143
  218. package/templates/vue-app/files/src/views/generator/preview.vue +39 -39
  219. package/templates/vue-app/files/src/views/home.vue +80 -80
  220. package/templates/vue-app/files/src/views/indexManagement/index.vue +422 -422
  221. package/templates/vue-app/files/src/views/indexManagement/other.vue +286 -286
  222. package/templates/vue-app/files/src/views/institutionMonitor/components/LineChart.vue +191 -191
  223. package/templates/vue-app/files/src/views/institutionMonitor/index.scss +339 -339
  224. package/templates/vue-app/files/src/views/institutionMonitor/index.vue +1385 -1385
  225. package/templates/vue-app/files/src/views/institutionMonitor/mixins/resize.js +57 -57
  226. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/checkProjectCode.vue +267 -267
  227. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/imageAbnormalMonitor.vue +361 -361
  228. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/index.vue +686 -686
  229. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/leakageAnomaly.vue +270 -270
  230. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/moveMonitore.vue +114 -114
  231. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/qualityMonitore.vue +338 -338
  232. package/templates/vue-app/files/src/views/institutionSet/cloudSet.vue +534 -534
  233. package/templates/vue-app/files/src/views/institutionSet/index.vue +2550 -2550
  234. package/templates/vue-app/files/src/views/login.vue +243 -243
  235. package/templates/vue-app/files/src/views/qualityLogin.vue +280 -280
  236. package/templates/vue-app/files/src/views/selfStatistics/components/LineChart.vue +296 -296
  237. package/templates/vue-app/files/src/views/selfStatistics/hospitalDetail/index.vue +533 -533
  238. package/templates/vue-app/files/src/views/selfStatistics/index.scss +447 -447
  239. package/templates/vue-app/files/src/views/selfStatistics/index.vue +903 -903
  240. package/templates/vue-app/files/src/views/selfStatistics/mixins/resize.js +57 -57
  241. package/templates/vue-app/files/src/views/selfStatistics/monitorDetail/index.vue +285 -285
  242. package/templates/vue-app/files/src/views/selfStatistics/offlineDetail/index.vue +104 -104
  243. package/templates/vue-app/files/src/views/selfStatistics/selfActiveDetail/index.vue +104 -104
  244. package/templates/vue-app/files/src/views/selfStatistics/selfMonitorDetail/index.vue +420 -420
  245. package/templates/vue-app/files/src/views/selfStatistics/setWaterMark/setWaterMark.js +68 -68
  246. package/templates/vue-app/files/src/views/selfStatistics/setWaterMark/waterMark.vue +69 -69
  247. package/templates/vue-app/files/src/views/system/dept/index.vue +144 -144
  248. package/templates/vue-app/files/src/views/system/dict/dictDetail.vue +146 -146
  249. package/templates/vue-app/files/src/views/system/dict/index.vue +159 -159
  250. package/templates/vue-app/files/src/views/system/examModality/index.vue +174 -174
  251. package/templates/vue-app/files/src/views/system/examPart/index.vue +184 -184
  252. package/templates/vue-app/files/src/views/system/examProject/index.vue +321 -321
  253. package/templates/vue-app/files/src/views/system/examine/index.vue +66 -66
  254. package/templates/vue-app/files/src/views/system/job/index.vue +119 -119
  255. package/templates/vue-app/files/src/views/system/job/module/form.vue +72 -72
  256. package/templates/vue-app/files/src/views/system/job/module/header.vue +48 -48
  257. package/templates/vue-app/files/src/views/system/menu/index.vue +327 -327
  258. package/templates/vue-app/files/src/views/system/model/index.vue +285 -285
  259. package/templates/vue-app/files/src/views/system/role/index.vue +434 -434
  260. package/templates/vue-app/files/src/views/system/sysSet/index.vue +84 -84
  261. package/templates/vue-app/files/src/views/system/timing/index.vue +289 -289
  262. package/templates/vue-app/files/src/views/system/timing/log.vue +143 -143
  263. package/templates/vue-app/files/src/views/system/user/admin.vue +414 -414
  264. package/templates/vue-app/files/src/views/system/user/center/updateEmail.vue +146 -146
  265. package/templates/vue-app/files/src/views/system/user/center/updatePass.vue +168 -168
  266. package/templates/vue-app/files/src/views/system/user/center.vue +140 -140
  267. package/templates/vue-app/files/src/views/system/user/index.vue +972 -972
  268. package/templates/vue-app/files/src/views/systemSet/role/index.vue +314 -314
  269. package/templates/vue-app/files/src/views/systemSet/user/admin.vue +414 -414
  270. package/templates/vue-app/files/src/views/systemSet/user/center/updateEmail.vue +146 -146
  271. package/templates/vue-app/files/src/views/systemSet/user/center/updatePass.vue +115 -115
  272. package/templates/vue-app/files/src/views/systemSet/user/center.vue +351 -351
  273. package/templates/vue-app/files/src/views/systemSet/user/index.vue +928 -928
  274. package/templates/vue-app/files/src/views/tools/aliPay/config.vue +102 -102
  275. package/templates/vue-app/files/src/views/tools/aliPay/index.vue +48 -48
  276. package/templates/vue-app/files/src/views/tools/aliPay/toPay.vue +91 -91
  277. package/templates/vue-app/files/src/views/tools/email/config.vue +91 -91
  278. package/templates/vue-app/files/src/views/tools/email/index.vue +42 -42
  279. package/templates/vue-app/files/src/views/tools/email/send.vue +159 -159
  280. package/templates/vue-app/files/src/views/tools/storage/index.vue +35 -35
  281. package/templates/vue-app/files/src/views/tools/storage/local/index.vue +207 -207
  282. package/templates/vue-app/files/src/views/tools/storage/qiniu/form.vue +108 -108
  283. package/templates/vue-app/files/src/views/tools/storage/qiniu/index.vue +241 -241
  284. package/templates/vue-app/files/src/views/tools/swagger/index.vue +14 -14
  285. package/templates/vue-app/files/vue.config.js +173 -173
  286. package/templates/vue-app/template.json +29 -29
@@ -1,348 +1,348 @@
1
- <template>
2
- <div class="app-container">
3
- <el-row :gutter="15">
4
- <el-col style="margin-bottom: 10px">
5
- <el-card class="box-card" shadow="never">
6
- <div slot="header" class="clearfix">
7
- <span class="role-span">字段配置:{{ tableName }}</span>
8
- <el-button
9
- :loading="genLoading"
10
- icon="el-icon-s-promotion"
11
- size="mini"
12
- style="float: right; padding: 6px 9px"
13
- type="success"
14
- @click="toGen"
15
- >保存&生成</el-button
16
- >
17
- <el-button
18
- :loading="columnLoading"
19
- icon="el-icon-check"
20
- size="mini"
21
- style="float: right; padding: 6px 9px; margin-right: 9px"
22
- type="primary"
23
- @click="saveColumnConfig"
24
- >保存</el-button
25
- >
26
- <el-tooltip
27
- class="item"
28
- effect="dark"
29
- content="数据库中表字段变动时使用该功能"
30
- placement="top-start">
31
- <el-button
32
- :loading="syncLoading"
33
- icon="el-icon-refresh"
34
- size="mini"
35
- style="float: right; padding: 6px 9px"
36
- type="info"
37
- @click="sync"
38
- >同步</el-button
39
- >
40
- </el-tooltip>
41
- </div>
42
- <el-form size="small" label-width="90px">
43
- <el-table
44
- v-loading="loading"
45
- :data="data"
46
- :max-height="tableHeight"
47
- size="small"
48
- style="width: 100%; margin-bottom: 15px">
49
- <el-table-column prop="columnName" label="字段名称" />
50
- <el-table-column prop="columnType" label="字段类型" />
51
- <el-table-column prop="remark" label="字段描述">
52
- <template slot-scope="scope">
53
- <el-input v-model="data[scope.$index].remark" size="mini" class="edit-input" />
54
- </template>
55
- </el-table-column>
56
- <el-table-column align="center" label="必填" width="70px">
57
- <template slot-scope="scope">
58
- <el-checkbox v-model="data[scope.$index].notNull" />
59
- </template>
60
- </el-table-column>
61
- <el-table-column align="center" label="列表" width="70px">
62
- <template slot-scope="scope">
63
- <el-checkbox v-model="data[scope.$index].listShow" />
64
- </template>
65
- </el-table-column>
66
- <el-table-column align="center" label="表单" width="70px">
67
- <template slot-scope="scope">
68
- <el-checkbox v-model="data[scope.$index].formShow" />
69
- </template>
70
- </el-table-column>
71
- <el-table-column label="表单类型">
72
- <template slot-scope="scope">
73
- <el-select
74
- v-model="data[scope.$index].formType"
75
- filterable
76
- class="edit-input"
77
- clearable
78
- size="mini"
79
- placeholder="请选择">
80
- <el-option label="文本框" value="Input" />
81
- <el-option label="文本域" value="Textarea" />
82
- <el-option label="单选框" value="Radio" />
83
- <el-option label="下拉框" value="Select" />
84
- <el-option label="日期框" value="Date" />
85
- </el-select>
86
- </template>
87
- </el-table-column>
88
- <el-table-column label="查询方式">
89
- <template slot-scope="scope">
90
- <el-select
91
- v-model="data[scope.$index].queryType"
92
- filterable
93
- class="edit-input"
94
- clearable
95
- size="mini"
96
- placeholder="请选择">
97
- <el-option label="=" value="=" />
98
- <el-option label="!=" value="!=" />
99
- <el-option label=">=" value=">=" />
100
- <el-option label="<=" value="<=" />
101
- <el-option label="Like" value="Like" />
102
- <el-option label="NotNull" value="NotNull" />
103
- <el-option label="BetWeen" value="BetWeen" />
104
- </el-select>
105
- </template>
106
- </el-table-column>
107
- <el-table-column label="日期注解">
108
- <template slot-scope="scope">
109
- <el-select
110
- v-model="data[scope.$index].dateAnnotation"
111
- filterable
112
- class="edit-input"
113
- clearable
114
- size="mini"
115
- placeholder="请选择">
116
- <el-option label="自动创建时间" value="CreationTimestamp" />
117
- <el-option label="自动更新时间" value="UpdateTimestamp" />
118
- </el-select>
119
- </template>
120
- </el-table-column>
121
- <el-table-column label="关联字典">
122
- <template slot-scope="scope">
123
- <el-select
124
- v-model="data[scope.$index].dictName"
125
- filterable
126
- class="edit-input"
127
- clearable
128
- size="mini"
129
- placeholder="请选择">
130
- <el-option
131
- v-for="item in dicts"
132
- :key="item.id"
133
- :label="item.remark === '' ? item.name : item.remark"
134
- :value="item.name" />
135
- </el-select>
136
- </template>
137
- </el-table-column>
138
- </el-table>
139
- </el-form>
140
- </el-card>
141
- </el-col>
142
- <el-col>
143
- <el-card class="box-card" shadow="never">
144
- <div slot="header" class="clearfix">
145
- <span class="role-span">生成配置</span>
146
- <el-button
147
- :loading="configLoading"
148
- icon="el-icon-check"
149
- size="mini"
150
- style="float: right; padding: 6px 9px"
151
- type="primary"
152
- @click="doSubmit"
153
- >保存</el-button
154
- >
155
- </div>
156
- <el-form ref="form" :model="form" :rules="rules" size="small" label-width="78px">
157
- <el-form-item label="作者名称" prop="author">
158
- <el-input v-model="form.author" style="width: 40%" />
159
- <span style="color: #c0c0c0; margin-left: 10px">类上面的作者名称</span>
160
- </el-form-item>
161
- <el-form-item label="模块名称" prop="moduleName">
162
- <el-input v-model="form.moduleName" style="width: 40%" />
163
- <span style="color: #c0c0c0; margin-left: 10px"
164
- >模块的名称,请选择项目中已存在的模块</span
165
- >
166
- </el-form-item>
167
- <el-form-item label="至于包下" prop="pack">
168
- <el-input v-model="form.pack" style="width: 40%" />
169
- <span style="color: #c0c0c0; margin-left: 10px"
170
- >项目包的名称,生成的代码放到哪个包里面</span
171
- >
172
- </el-form-item>
173
- <el-form-item label="接口名称" prop="apiAlias">
174
- <el-input v-model="form.apiAlias" style="width: 40%" />
175
- <span style="color: #c0c0c0; margin-left: 10px"
176
- >接口的名称,用于控制器与接口文档中</span
177
- >
178
- </el-form-item>
179
- <el-form-item label="前端路径" prop="path">
180
- <el-input v-model="form.path" style="width: 40%" />
181
- <span style="color: #c0c0c0; margin-left: 10px"
182
- >输入views文件夹下的目录,不存在即创建</span
183
- >
184
- </el-form-item>
185
- <!-- <el-form-item label="接口目录">-->
186
- <!-- <el-input v-model="form.apiPath" style="width: 40%" />-->
187
- <!-- <span style="color: #C0C0C0;margin-left: 10px;">Api存放路径[src/api],为空则自动生成路径</span>-->
188
- <!-- </el-form-item>-->
189
- <el-form-item label="去表前缀" prop="prefix">
190
- <el-input v-model="form.prefix" placeholder="默认不去除表前缀" style="width: 40%" />
191
- <span style="color: #c0c0c0; margin-left: 10px">默认不去除表前缀,可自定义</span>
192
- </el-form-item>
193
- <el-form-item label="是否覆盖" prop="cover">
194
- <el-radio-group v-model="form.cover" size="mini" style="width: 40%">
195
- <el-radio-button label="true">是</el-radio-button>
196
- <el-radio-button label="false">否</el-radio-button>
197
- </el-radio-group>
198
- <span style="color: #c0c0c0; margin-left: 10px">谨防误操作,请慎重选择</span>
199
- </el-form-item>
200
- </el-form>
201
- </el-card>
202
- </el-col>
203
- </el-row>
204
- </div>
205
- </template>
206
-
207
- <script>
208
- import crud from '@/mixins/crud';
209
- import { update, get } from '@/api/generator/genConfig';
210
- import { save, sync, generator } from '@/api/generator/generator';
211
- import { getDicts } from '@/api/system/dict';
212
- export default {
213
- name: 'GeneratorConfig',
214
- components: {},
215
- mixins: [crud],
216
- data() {
217
- return {
218
- activeName: 'first',
219
- tableName: '',
220
- tableHeight: 550,
221
- columnLoading: false,
222
- configLoading: false,
223
- dicts: [],
224
- syncLoading: false,
225
- genLoading: false,
226
- form: {
227
- id: null,
228
- tableName: '',
229
- author: '',
230
- pack: '',
231
- path: '',
232
- moduleName: '',
233
- cover: 'false',
234
- apiPath: '',
235
- prefix: '',
236
- apiAlias: null,
237
- },
238
- rules: {
239
- author: [{ required: true, message: '作者不能为空', trigger: 'blur' }],
240
- pack: [{ required: true, message: '包路径不能为空', trigger: 'blur' }],
241
- moduleName: [{ required: true, message: '包路径不能为空', trigger: 'blur' }],
242
- path: [{ required: true, message: '前端路径不能为空', trigger: 'blur' }],
243
- apiAlias: [{ required: true, message: '接口名称不能为空', trigger: 'blur' }],
244
- cover: [{ required: true, message: '不能为空', trigger: 'blur' }],
245
- },
246
- };
247
- },
248
- created() {
249
- this.tableHeight = document.documentElement.clientHeight - 385;
250
- this.tableName = this.$route.params.tableName;
251
- this.$nextTick(() => {
252
- this.init();
253
- get(this.tableName).then(data => {
254
- this.form = data;
255
- this.form.cover = this.form.cover.toString();
256
- });
257
- getDicts().then(data => {
258
- this.dicts = data;
259
- });
260
- });
261
- },
262
- methods: {
263
- beforeInit() {
264
- this.url = 'api/generator/columns';
265
- const tableName = this.tableName;
266
- this.params = { tableName };
267
- return true;
268
- },
269
- saveColumnConfig() {
270
- this.columnLoading = true;
271
- save(this.data)
272
- .then(res => {
273
- this.notify('保存成功', 'success');
274
- this.columnLoading = false;
275
- })
276
- .catch(err => {
277
- this.columnLoading = false;
278
- console.warn(err.message);
279
- });
280
- },
281
- doSubmit() {
282
- this.$refs['form'].validate(valid => {
283
- if (valid) {
284
- this.configLoading = true;
285
- update(this.form)
286
- .then(res => {
287
- this.notify('保存成功', 'success');
288
- this.form = res;
289
- this.form.cover = this.form.cover.toString();
290
- this.configLoading = false;
291
- })
292
- .catch(err => {
293
- this.configLoading = false;
294
- console.warn(err.message);
295
- });
296
- }
297
- });
298
- },
299
- sync() {
300
- this.syncLoading = true;
301
- sync([this.tableName])
302
- .then(() => {
303
- this.init();
304
- this.notify('同步成功', 'success');
305
- this.syncLoading = false;
306
- })
307
- .then(() => {
308
- this.syncLoading = false;
309
- });
310
- },
311
- toGen() {
312
- this.genLoading = true;
313
- save(this.data)
314
- .then(res => {
315
- this.notify('保存成功', 'success');
316
- // 生成代码
317
- generator(this.tableName, 0)
318
- .then(data => {
319
- this.genLoading = false;
320
- this.notify('生成成功', 'success');
321
- })
322
- .catch(err => {
323
- this.genLoading = false;
324
- console.warn(err.message);
325
- });
326
- })
327
- .catch(err => {
328
- this.genLoading = false;
329
- console.warn(err.message);
330
- });
331
- },
332
- },
333
- };
334
- </script>
335
-
336
- <style rel="stylesheet/scss" lang="scss">
337
- .edit-input {
338
- .el-input__inner {
339
- border: 1px solid #e5e6e7;
340
- }
341
- }
342
- </style>
343
-
344
- <style scoped>
345
- ::v-deep .input-with-select .el-input-group__prepend {
346
- background-color: #fff;
347
- }
348
- </style>
1
+ <template>
2
+ <div class="app-container">
3
+ <el-row :gutter="15">
4
+ <el-col style="margin-bottom: 10px">
5
+ <el-card class="box-card" shadow="never">
6
+ <div slot="header" class="clearfix">
7
+ <span class="role-span">字段配置:{{ tableName }}</span>
8
+ <el-button
9
+ :loading="genLoading"
10
+ icon="el-icon-s-promotion"
11
+ size="mini"
12
+ style="float: right; padding: 6px 9px"
13
+ type="success"
14
+ @click="toGen"
15
+ >保存&生成</el-button
16
+ >
17
+ <el-button
18
+ :loading="columnLoading"
19
+ icon="el-icon-check"
20
+ size="mini"
21
+ style="float: right; padding: 6px 9px; margin-right: 9px"
22
+ type="primary"
23
+ @click="saveColumnConfig"
24
+ >保存</el-button
25
+ >
26
+ <el-tooltip
27
+ class="item"
28
+ effect="dark"
29
+ content="数据库中表字段变动时使用该功能"
30
+ placement="top-start">
31
+ <el-button
32
+ :loading="syncLoading"
33
+ icon="el-icon-refresh"
34
+ size="mini"
35
+ style="float: right; padding: 6px 9px"
36
+ type="info"
37
+ @click="sync"
38
+ >同步</el-button
39
+ >
40
+ </el-tooltip>
41
+ </div>
42
+ <el-form size="small" label-width="90px">
43
+ <el-table
44
+ v-loading="loading"
45
+ :data="data"
46
+ :max-height="tableHeight"
47
+ size="small"
48
+ style="width: 100%; margin-bottom: 15px">
49
+ <el-table-column prop="columnName" label="字段名称" />
50
+ <el-table-column prop="columnType" label="字段类型" />
51
+ <el-table-column prop="remark" label="字段描述">
52
+ <template slot-scope="scope">
53
+ <el-input v-model="data[scope.$index].remark" size="mini" class="edit-input" />
54
+ </template>
55
+ </el-table-column>
56
+ <el-table-column align="center" label="必填" width="70px">
57
+ <template slot-scope="scope">
58
+ <el-checkbox v-model="data[scope.$index].notNull" />
59
+ </template>
60
+ </el-table-column>
61
+ <el-table-column align="center" label="列表" width="70px">
62
+ <template slot-scope="scope">
63
+ <el-checkbox v-model="data[scope.$index].listShow" />
64
+ </template>
65
+ </el-table-column>
66
+ <el-table-column align="center" label="表单" width="70px">
67
+ <template slot-scope="scope">
68
+ <el-checkbox v-model="data[scope.$index].formShow" />
69
+ </template>
70
+ </el-table-column>
71
+ <el-table-column label="表单类型">
72
+ <template slot-scope="scope">
73
+ <el-select
74
+ v-model="data[scope.$index].formType"
75
+ filterable
76
+ class="edit-input"
77
+ clearable
78
+ size="mini"
79
+ placeholder="请选择">
80
+ <el-option label="文本框" value="Input" />
81
+ <el-option label="文本域" value="Textarea" />
82
+ <el-option label="单选框" value="Radio" />
83
+ <el-option label="下拉框" value="Select" />
84
+ <el-option label="日期框" value="Date" />
85
+ </el-select>
86
+ </template>
87
+ </el-table-column>
88
+ <el-table-column label="查询方式">
89
+ <template slot-scope="scope">
90
+ <el-select
91
+ v-model="data[scope.$index].queryType"
92
+ filterable
93
+ class="edit-input"
94
+ clearable
95
+ size="mini"
96
+ placeholder="请选择">
97
+ <el-option label="=" value="=" />
98
+ <el-option label="!=" value="!=" />
99
+ <el-option label=">=" value=">=" />
100
+ <el-option label="<=" value="<=" />
101
+ <el-option label="Like" value="Like" />
102
+ <el-option label="NotNull" value="NotNull" />
103
+ <el-option label="BetWeen" value="BetWeen" />
104
+ </el-select>
105
+ </template>
106
+ </el-table-column>
107
+ <el-table-column label="日期注解">
108
+ <template slot-scope="scope">
109
+ <el-select
110
+ v-model="data[scope.$index].dateAnnotation"
111
+ filterable
112
+ class="edit-input"
113
+ clearable
114
+ size="mini"
115
+ placeholder="请选择">
116
+ <el-option label="自动创建时间" value="CreationTimestamp" />
117
+ <el-option label="自动更新时间" value="UpdateTimestamp" />
118
+ </el-select>
119
+ </template>
120
+ </el-table-column>
121
+ <el-table-column label="关联字典">
122
+ <template slot-scope="scope">
123
+ <el-select
124
+ v-model="data[scope.$index].dictName"
125
+ filterable
126
+ class="edit-input"
127
+ clearable
128
+ size="mini"
129
+ placeholder="请选择">
130
+ <el-option
131
+ v-for="item in dicts"
132
+ :key="item.id"
133
+ :label="item.remark === '' ? item.name : item.remark"
134
+ :value="item.name" />
135
+ </el-select>
136
+ </template>
137
+ </el-table-column>
138
+ </el-table>
139
+ </el-form>
140
+ </el-card>
141
+ </el-col>
142
+ <el-col>
143
+ <el-card class="box-card" shadow="never">
144
+ <div slot="header" class="clearfix">
145
+ <span class="role-span">生成配置</span>
146
+ <el-button
147
+ :loading="configLoading"
148
+ icon="el-icon-check"
149
+ size="mini"
150
+ style="float: right; padding: 6px 9px"
151
+ type="primary"
152
+ @click="doSubmit"
153
+ >保存</el-button
154
+ >
155
+ </div>
156
+ <el-form ref="form" :model="form" :rules="rules" size="small" label-width="78px">
157
+ <el-form-item label="作者名称" prop="author">
158
+ <el-input v-model="form.author" style="width: 40%" />
159
+ <span style="color: #c0c0c0; margin-left: 10px">类上面的作者名称</span>
160
+ </el-form-item>
161
+ <el-form-item label="模块名称" prop="moduleName">
162
+ <el-input v-model="form.moduleName" style="width: 40%" />
163
+ <span style="color: #c0c0c0; margin-left: 10px"
164
+ >模块的名称,请选择项目中已存在的模块</span
165
+ >
166
+ </el-form-item>
167
+ <el-form-item label="至于包下" prop="pack">
168
+ <el-input v-model="form.pack" style="width: 40%" />
169
+ <span style="color: #c0c0c0; margin-left: 10px"
170
+ >项目包的名称,生成的代码放到哪个包里面</span
171
+ >
172
+ </el-form-item>
173
+ <el-form-item label="接口名称" prop="apiAlias">
174
+ <el-input v-model="form.apiAlias" style="width: 40%" />
175
+ <span style="color: #c0c0c0; margin-left: 10px"
176
+ >接口的名称,用于控制器与接口文档中</span
177
+ >
178
+ </el-form-item>
179
+ <el-form-item label="前端路径" prop="path">
180
+ <el-input v-model="form.path" style="width: 40%" />
181
+ <span style="color: #c0c0c0; margin-left: 10px"
182
+ >输入views文件夹下的目录,不存在即创建</span
183
+ >
184
+ </el-form-item>
185
+ <!-- <el-form-item label="接口目录">-->
186
+ <!-- <el-input v-model="form.apiPath" style="width: 40%" />-->
187
+ <!-- <span style="color: #C0C0C0;margin-left: 10px;">Api存放路径[src/api],为空则自动生成路径</span>-->
188
+ <!-- </el-form-item>-->
189
+ <el-form-item label="去表前缀" prop="prefix">
190
+ <el-input v-model="form.prefix" placeholder="默认不去除表前缀" style="width: 40%" />
191
+ <span style="color: #c0c0c0; margin-left: 10px">默认不去除表前缀,可自定义</span>
192
+ </el-form-item>
193
+ <el-form-item label="是否覆盖" prop="cover">
194
+ <el-radio-group v-model="form.cover" size="mini" style="width: 40%">
195
+ <el-radio-button label="true">是</el-radio-button>
196
+ <el-radio-button label="false">否</el-radio-button>
197
+ </el-radio-group>
198
+ <span style="color: #c0c0c0; margin-left: 10px">谨防误操作,请慎重选择</span>
199
+ </el-form-item>
200
+ </el-form>
201
+ </el-card>
202
+ </el-col>
203
+ </el-row>
204
+ </div>
205
+ </template>
206
+
207
+ <script>
208
+ import crud from '@/mixins/crud';
209
+ import { update, get } from '@/api/generator/genConfig';
210
+ import { save, sync, generator } from '@/api/generator/generator';
211
+ import { getDicts } from '@/api/system/dict';
212
+ export default {
213
+ name: 'GeneratorConfig',
214
+ components: {},
215
+ mixins: [crud],
216
+ data() {
217
+ return {
218
+ activeName: 'first',
219
+ tableName: '',
220
+ tableHeight: 550,
221
+ columnLoading: false,
222
+ configLoading: false,
223
+ dicts: [],
224
+ syncLoading: false,
225
+ genLoading: false,
226
+ form: {
227
+ id: null,
228
+ tableName: '',
229
+ author: '',
230
+ pack: '',
231
+ path: '',
232
+ moduleName: '',
233
+ cover: 'false',
234
+ apiPath: '',
235
+ prefix: '',
236
+ apiAlias: null,
237
+ },
238
+ rules: {
239
+ author: [{ required: true, message: '作者不能为空', trigger: 'blur' }],
240
+ pack: [{ required: true, message: '包路径不能为空', trigger: 'blur' }],
241
+ moduleName: [{ required: true, message: '包路径不能为空', trigger: 'blur' }],
242
+ path: [{ required: true, message: '前端路径不能为空', trigger: 'blur' }],
243
+ apiAlias: [{ required: true, message: '接口名称不能为空', trigger: 'blur' }],
244
+ cover: [{ required: true, message: '不能为空', trigger: 'blur' }],
245
+ },
246
+ };
247
+ },
248
+ created() {
249
+ this.tableHeight = document.documentElement.clientHeight - 385;
250
+ this.tableName = this.$route.params.tableName;
251
+ this.$nextTick(() => {
252
+ this.init();
253
+ get(this.tableName).then(data => {
254
+ this.form = data;
255
+ this.form.cover = this.form.cover.toString();
256
+ });
257
+ getDicts().then(data => {
258
+ this.dicts = data;
259
+ });
260
+ });
261
+ },
262
+ methods: {
263
+ beforeInit() {
264
+ this.url = 'api/generator/columns';
265
+ const tableName = this.tableName;
266
+ this.params = { tableName };
267
+ return true;
268
+ },
269
+ saveColumnConfig() {
270
+ this.columnLoading = true;
271
+ save(this.data)
272
+ .then(res => {
273
+ this.notify('保存成功', 'success');
274
+ this.columnLoading = false;
275
+ })
276
+ .catch(err => {
277
+ this.columnLoading = false;
278
+ console.warn(err.message);
279
+ });
280
+ },
281
+ doSubmit() {
282
+ this.$refs['form'].validate(valid => {
283
+ if (valid) {
284
+ this.configLoading = true;
285
+ update(this.form)
286
+ .then(res => {
287
+ this.notify('保存成功', 'success');
288
+ this.form = res;
289
+ this.form.cover = this.form.cover.toString();
290
+ this.configLoading = false;
291
+ })
292
+ .catch(err => {
293
+ this.configLoading = false;
294
+ console.warn(err.message);
295
+ });
296
+ }
297
+ });
298
+ },
299
+ sync() {
300
+ this.syncLoading = true;
301
+ sync([this.tableName])
302
+ .then(() => {
303
+ this.init();
304
+ this.notify('同步成功', 'success');
305
+ this.syncLoading = false;
306
+ })
307
+ .then(() => {
308
+ this.syncLoading = false;
309
+ });
310
+ },
311
+ toGen() {
312
+ this.genLoading = true;
313
+ save(this.data)
314
+ .then(res => {
315
+ this.notify('保存成功', 'success');
316
+ // 生成代码
317
+ generator(this.tableName, 0)
318
+ .then(data => {
319
+ this.genLoading = false;
320
+ this.notify('生成成功', 'success');
321
+ })
322
+ .catch(err => {
323
+ this.genLoading = false;
324
+ console.warn(err.message);
325
+ });
326
+ })
327
+ .catch(err => {
328
+ this.genLoading = false;
329
+ console.warn(err.message);
330
+ });
331
+ },
332
+ },
333
+ };
334
+ </script>
335
+
336
+ <style rel="stylesheet/scss" lang="scss">
337
+ .edit-input {
338
+ .el-input__inner {
339
+ border: 1px solid #e5e6e7;
340
+ }
341
+ }
342
+ </style>
343
+
344
+ <style scoped>
345
+ ::v-deep .input-with-select .el-input-group__prepend {
346
+ background-color: #fff;
347
+ }
348
+ </style>