ylyx-cli 1.0.15 → 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 (285) hide show
  1. package/bin/ylyx.js +168 -168
  2. package/lib/config.js +283 -299
  3. package/lib/deploy.js +529 -495
  4. package/lib/generator.js +192 -192
  5. package/lib/index.js +113 -113
  6. package/lib/interactive.js +87 -87
  7. package/lib/remote.js +179 -179
  8. package/lib/template.js +174 -174
  9. package/lib/utils.js +148 -148
  10. package/package.json +5 -5
  11. package/templates/react-app/files/README.md +23 -23
  12. package/templates/react-app/files/package.json +28 -28
  13. package/templates/react-app/files/public/index.html +11 -11
  14. package/templates/react-app/files/src/App.css +15 -15
  15. package/templates/react-app/files/src/App.js +15 -15
  16. package/templates/react-app/files/src/index.css +10 -10
  17. package/templates/react-app/files/src/index.js +11 -11
  18. package/templates/react-app/template.json +11 -11
  19. package/templates/react-component/files/Component.module.css +5 -5
  20. package/templates/react-component/files/Component.tsx +31 -31
  21. package/templates/react-component/files/index.ts +2 -2
  22. package/templates/react-component/template.json +48 -48
  23. package/templates/vue-app/files/.editorconfig +14 -14
  24. package/templates/vue-app/files/.env.development +21 -21
  25. package/templates/vue-app/files/.env.production +18 -18
  26. package/templates/vue-app/files/.eslintignore +5 -5
  27. package/templates/vue-app/files/.eslintrc.js +267 -267
  28. package/templates/vue-app/files/.prettierignore +11 -11
  29. package/templates/vue-app/files/.travis.yml +5 -5
  30. package/templates/vue-app/files/.vscode/extensions.json +7 -7
  31. package/templates/vue-app/files/.vscode/settings.json +39 -39
  32. package/templates/vue-app/files/LICENSE +191 -191
  33. package/templates/vue-app/files/README.md +87 -87
  34. package/templates/vue-app/files/babel.config.js +11 -11
  35. package/templates/vue-app/files/jest.config.js +24 -24
  36. package/templates/vue-app/files/package.json +136 -136
  37. package/templates/vue-app/files/plopfile.js +7 -7
  38. package/templates/vue-app/files/postcss.config.js +5 -5
  39. package/templates/vue-app/files/public/default.js +25 -25
  40. package/templates/vue-app/files/public/index.html +26 -26
  41. package/templates/vue-app/files/src/App.vue +54 -54
  42. package/templates/vue-app/files/src/api/bigDataV/index.js +198 -198
  43. package/templates/vue-app/files/src/api/data.js +42 -42
  44. package/templates/vue-app/files/src/api/dataArchive/index.js +186 -186
  45. package/templates/vue-app/files/src/api/generator/genConfig.js +16 -16
  46. package/templates/vue-app/files/src/api/generator/generator.js +32 -32
  47. package/templates/vue-app/files/src/api/indexManagement/index.js +39 -39
  48. package/templates/vue-app/files/src/api/institutionMonitor/index.js +396 -396
  49. package/templates/vue-app/files/src/api/institutionSet/index.js +120 -120
  50. package/templates/vue-app/files/src/api/login.js +44 -44
  51. package/templates/vue-app/files/src/api/selfStatistics/index.js +50 -50
  52. package/templates/vue-app/files/src/api/system/code.js +15 -15
  53. package/templates/vue-app/files/src/api/system/dict.js +34 -34
  54. package/templates/vue-app/files/src/api/system/dictDetail.js +52 -52
  55. package/templates/vue-app/files/src/api/system/equipment.js +35 -35
  56. package/templates/vue-app/files/src/api/system/examManage.js +49 -49
  57. package/templates/vue-app/files/src/api/system/examProject.js +48 -48
  58. package/templates/vue-app/files/src/api/system/hosModel.js +35 -35
  59. package/templates/vue-app/files/src/api/system/hospital.js +88 -88
  60. package/templates/vue-app/files/src/api/system/job.js +40 -40
  61. package/templates/vue-app/files/src/api/system/menu.js +67 -67
  62. package/templates/vue-app/files/src/api/system/model.js +42 -42
  63. package/templates/vue-app/files/src/api/system/risConfig.js +9 -9
  64. package/templates/vue-app/files/src/api/system/role.js +64 -64
  65. package/templates/vue-app/files/src/api/system/sysSet.js +19 -19
  66. package/templates/vue-app/files/src/api/system/timing.js +41 -41
  67. package/templates/vue-app/files/src/api/system/user.js +121 -121
  68. package/templates/vue-app/files/src/api/tools/alipay.js +25 -25
  69. package/templates/vue-app/files/src/api/tools/email.js +24 -24
  70. package/templates/vue-app/files/src/api/tools/localStorage.js +27 -27
  71. package/templates/vue-app/files/src/api/tools/qiniu.js +40 -40
  72. package/templates/vue-app/files/src/assets/css/font-awesome.css +2342 -2342
  73. package/templates/vue-app/files/src/assets/css/font-awesome.min.css +2336 -2336
  74. package/templates/vue-app/files/src/assets/fonts/fontawesome-webfont.svg +2671 -2671
  75. package/templates/vue-app/files/src/assets/icons/index.js +9 -9
  76. package/templates/vue-app/files/src/assets/icons/svg/hospital.svg +1 -1
  77. package/templates/vue-app/files/src/assets/icons/svg/hospital1.svg +1 -1
  78. package/templates/vue-app/files/src/assets/icons/svg/loginOne.svg +35 -35
  79. package/templates/vue-app/files/src/assets/icons/svg/loginOneWhite.svg +19 -19
  80. package/templates/vue-app/files/src/assets/icons/svg/loginOr.svg +93 -93
  81. package/templates/vue-app/files/src/assets/icons/svg/loginUp.svg +96 -96
  82. package/templates/vue-app/files/src/assets/icons/svg/monitor.svg +1 -1
  83. package/templates/vue-app/files/src/assets/icons/svg/offline.svg +1 -1
  84. package/templates/vue-app/files/src/assets/icons/svg/online.svg +1 -1
  85. package/templates/vue-app/files/src/assets/icons/svg/system.svg +1 -1
  86. package/templates/vue-app/files/src/assets/icons/svgo.yml +21 -21
  87. package/templates/vue-app/files/src/assets/styles/btn.scss +103 -103
  88. package/templates/vue-app/files/src/assets/styles/eladmin.scss +124 -124
  89. package/templates/vue-app/files/src/assets/styles/element-ui.scss +217 -217
  90. package/templates/vue-app/files/src/assets/styles/element-variables.scss +31 -31
  91. package/templates/vue-app/files/src/assets/styles/global.scss +73 -73
  92. package/templates/vue-app/files/src/assets/styles/index.scss +220 -220
  93. package/templates/vue-app/files/src/assets/styles/mixin.scss +60 -60
  94. package/templates/vue-app/files/src/assets/styles/publicStyle.scss +224 -224
  95. package/templates/vue-app/files/src/assets/styles/sidebar.scss +239 -239
  96. package/templates/vue-app/files/src/assets/styles/transition.scss +48 -48
  97. package/templates/vue-app/files/src/assets/styles/variables.scss +44 -44
  98. package/templates/vue-app/files/src/common/flexible.js +145 -145
  99. package/templates/vue-app/files/src/components/Breadcrumb/index.vue +87 -87
  100. package/templates/vue-app/files/src/components/Crud/CRUD.operation.vue +248 -248
  101. package/templates/vue-app/files/src/components/Crud/Pagination.vue +20 -20
  102. package/templates/vue-app/files/src/components/Crud/RR.operation.vue +39 -39
  103. package/templates/vue-app/files/src/components/Crud/UD.operation.vue +106 -106
  104. package/templates/vue-app/files/src/components/Crud/crud.js +907 -907
  105. package/templates/vue-app/files/src/components/Crud/user/UR.operation.vue +154 -154
  106. package/templates/vue-app/files/src/components/DateRangePicker/index.vue +42 -42
  107. package/templates/vue-app/files/src/components/DateRangePickerProhibitNext/index.vue +42 -42
  108. package/templates/vue-app/files/src/components/DateRangePickerProhibitTodayNext/index.vue +48 -48
  109. package/templates/vue-app/files/src/components/Dict/Dict.js +31 -31
  110. package/templates/vue-app/files/src/components/Dict/index.js +29 -29
  111. package/templates/vue-app/files/src/components/Doc/index.vue +16 -16
  112. package/templates/vue-app/files/src/components/Echarts/BarChart.vue +115 -115
  113. package/templates/vue-app/files/src/components/Echarts/Category.vue +768 -768
  114. package/templates/vue-app/files/src/components/Echarts/Funnel.vue +120 -120
  115. package/templates/vue-app/files/src/components/Echarts/Gauge.vue +74 -74
  116. package/templates/vue-app/files/src/components/Echarts/Graph.vue +101 -101
  117. package/templates/vue-app/files/src/components/Echarts/HeatMap.vue +301 -301
  118. package/templates/vue-app/files/src/components/Echarts/Line3D.vue +110 -110
  119. package/templates/vue-app/files/src/components/Echarts/PieChart.vue +84 -84
  120. package/templates/vue-app/files/src/components/Echarts/Point.vue +161 -161
  121. package/templates/vue-app/files/src/components/Echarts/RadarChart.vue +123 -123
  122. package/templates/vue-app/files/src/components/Echarts/Rich.vue +160 -160
  123. package/templates/vue-app/files/src/components/Echarts/Sankey.vue +114 -114
  124. package/templates/vue-app/files/src/components/Echarts/Scatter.vue +192 -192
  125. package/templates/vue-app/files/src/components/Echarts/Sunburst.vue +127 -127
  126. package/templates/vue-app/files/src/components/Echarts/ThemeRiver.vue +233 -233
  127. package/templates/vue-app/files/src/components/Echarts/WordCloud.vue +201 -201
  128. package/templates/vue-app/files/src/components/GithubCorner/index.vue +55 -55
  129. package/templates/vue-app/files/src/components/Hamburger/index.vue +44 -44
  130. package/templates/vue-app/files/src/components/HeaderSearch/index.vue +196 -196
  131. package/templates/vue-app/files/src/components/IconSelect/index.vue +74 -74
  132. package/templates/vue-app/files/src/components/IconSelect/requireIcons.js +10 -10
  133. package/templates/vue-app/files/src/components/Iframe/index.vue +30 -30
  134. package/templates/vue-app/files/src/components/JavaEdit/index.vue +78 -78
  135. package/templates/vue-app/files/src/components/Pagination/index.vue +100 -100
  136. package/templates/vue-app/files/src/components/PanThumb/index.vue +149 -149
  137. package/templates/vue-app/files/src/components/ParentView/index.vue +3 -3
  138. package/templates/vue-app/files/src/components/Permission/index.js +13 -13
  139. package/templates/vue-app/files/src/components/Permission/permission.js +21 -21
  140. package/templates/vue-app/files/src/components/RightPanel/index.vue +149 -149
  141. package/templates/vue-app/files/src/components/Screenfull/index.vue +60 -60
  142. package/templates/vue-app/files/src/components/SizeSelect/index.vue +60 -60
  143. package/templates/vue-app/files/src/components/SvgIcon/index.vue +66 -66
  144. package/templates/vue-app/files/src/components/ThemePicker/index.vue +177 -177
  145. package/templates/vue-app/files/src/components/UploadExcel/index.vue +149 -149
  146. package/templates/vue-app/files/src/components/WaterMark/setWaterMark.js +68 -68
  147. package/templates/vue-app/files/src/components/WaterMark/waterMark.vue +69 -69
  148. package/templates/vue-app/files/src/components/Xgplayer/index.vue +49 -49
  149. package/templates/vue-app/files/src/components/YamlEdit/index.vue +81 -81
  150. package/templates/vue-app/files/src/layout/components/AppMain.vue +67 -67
  151. package/templates/vue-app/files/src/layout/components/Navbar.vue +209 -209
  152. package/templates/vue-app/files/src/layout/components/Settings/index.vue +125 -125
  153. package/templates/vue-app/files/src/layout/components/Sidebar/FixiOSBug.js +26 -26
  154. package/templates/vue-app/files/src/layout/components/Sidebar/Item.vue +29 -29
  155. package/templates/vue-app/files/src/layout/components/Sidebar/Link.vue +35 -35
  156. package/templates/vue-app/files/src/layout/components/Sidebar/Logo.vue +93 -93
  157. package/templates/vue-app/files/src/layout/components/Sidebar/SidebarItem.vue +104 -104
  158. package/templates/vue-app/files/src/layout/components/Sidebar/index.vue +79 -79
  159. package/templates/vue-app/files/src/layout/components/TagsView/ScrollPane.vue +90 -90
  160. package/templates/vue-app/files/src/layout/components/TagsView/index.vue +299 -299
  161. package/templates/vue-app/files/src/layout/components/index.js +5 -5
  162. package/templates/vue-app/files/src/layout/index.vue +119 -119
  163. package/templates/vue-app/files/src/layout/mixin/ResizeHandler.js +45 -45
  164. package/templates/vue-app/files/src/main.js +89 -89
  165. package/templates/vue-app/files/src/mixins/crud.js +348 -348
  166. package/templates/vue-app/files/src/router/index.js +156 -156
  167. package/templates/vue-app/files/src/router/routers.js +203 -203
  168. package/templates/vue-app/files/src/settings.js +57 -57
  169. package/templates/vue-app/files/src/store/getters.js +29 -29
  170. package/templates/vue-app/files/src/store/index.js +25 -25
  171. package/templates/vue-app/files/src/store/modules/api.js +33 -33
  172. package/templates/vue-app/files/src/store/modules/app.js +55 -55
  173. package/templates/vue-app/files/src/store/modules/permission.js +79 -79
  174. package/templates/vue-app/files/src/store/modules/register.js +17 -17
  175. package/templates/vue-app/files/src/store/modules/settings.js +46 -46
  176. package/templates/vue-app/files/src/store/modules/tagsView.js +168 -168
  177. package/templates/vue-app/files/src/store/modules/user.js +119 -119
  178. package/templates/vue-app/files/src/utils/auth.js +18 -18
  179. package/templates/vue-app/files/src/utils/base64ToFile.js +27 -27
  180. package/templates/vue-app/files/src/utils/clipboard.js +36 -36
  181. package/templates/vue-app/files/src/utils/datetime.js +289 -289
  182. package/templates/vue-app/files/src/utils/getBlobFile.js +10 -10
  183. package/templates/vue-app/files/src/utils/getTime.js +29 -29
  184. package/templates/vue-app/files/src/utils/index.js +520 -520
  185. package/templates/vue-app/files/src/utils/permission.js +29 -29
  186. package/templates/vue-app/files/src/utils/pinyin.js +450 -450
  187. package/templates/vue-app/files/src/utils/request.js +139 -139
  188. package/templates/vue-app/files/src/utils/rsaEncrypt.js +37 -37
  189. package/templates/vue-app/files/src/utils/shortcuts.js +210 -210
  190. package/templates/vue-app/files/src/utils/upload.js +12 -12
  191. package/templates/vue-app/files/src/utils/validate.js +262 -262
  192. package/templates/vue-app/files/src/views/components/Echarts.vue +124 -124
  193. package/templates/vue-app/files/src/views/components/Editor.vue +75 -75
  194. package/templates/vue-app/files/src/views/components/MarkDown.vue +44 -44
  195. package/templates/vue-app/files/src/views/components/UVideo.vue +37 -37
  196. package/templates/vue-app/files/src/views/components/YamlEdit.vue +206 -206
  197. package/templates/vue-app/files/src/views/components/camera/camera.vue +115 -115
  198. package/templates/vue-app/files/src/views/components/camera/cameraTest.vue +158 -158
  199. package/templates/vue-app/files/src/views/components/excel/upload-excel.vue +41 -41
  200. package/templates/vue-app/files/src/views/components/icons/element-icons.js +74 -74
  201. package/templates/vue-app/files/src/views/components/icons/index.vue +106 -106
  202. package/templates/vue-app/files/src/views/components/icons/svg-icons.js +10 -10
  203. package/templates/vue-app/files/src/views/components/scroll/index.vue +107 -107
  204. package/templates/vue-app/files/src/views/components/scrollFull/index.vue +99 -99
  205. package/templates/vue-app/files/src/views/dashboard/LineChart.vue +138 -138
  206. package/templates/vue-app/files/src/views/dashboard/PanelGroup.vue +173 -173
  207. package/templates/vue-app/files/src/views/dashboard/mixins/resize.js +57 -57
  208. package/templates/vue-app/files/src/views/dataArchive/delTable.vue +354 -354
  209. package/templates/vue-app/files/src/views/dataArchive/exportDetail.vue +121 -121
  210. package/templates/vue-app/files/src/views/dataArchive/exportList.vue +160 -160
  211. package/templates/vue-app/files/src/views/dataArchive/index.vue +2104 -2104
  212. package/templates/vue-app/files/src/views/features/401.vue +83 -83
  213. package/templates/vue-app/files/src/views/features/404.vue +226 -226
  214. package/templates/vue-app/files/src/views/features/redirect.vue +12 -12
  215. package/templates/vue-app/files/src/views/generator/config.vue +348 -348
  216. package/templates/vue-app/files/src/views/generator/index.vue +143 -143
  217. package/templates/vue-app/files/src/views/generator/preview.vue +39 -39
  218. package/templates/vue-app/files/src/views/home.vue +80 -80
  219. package/templates/vue-app/files/src/views/indexManagement/index.vue +422 -422
  220. package/templates/vue-app/files/src/views/indexManagement/other.vue +286 -286
  221. package/templates/vue-app/files/src/views/institutionMonitor/components/LineChart.vue +191 -191
  222. package/templates/vue-app/files/src/views/institutionMonitor/index.scss +339 -339
  223. package/templates/vue-app/files/src/views/institutionMonitor/index.vue +1385 -1385
  224. package/templates/vue-app/files/src/views/institutionMonitor/mixins/resize.js +57 -57
  225. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/checkProjectCode.vue +267 -267
  226. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/imageAbnormalMonitor.vue +361 -361
  227. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/index.vue +686 -686
  228. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/leakageAnomaly.vue +270 -270
  229. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/moveMonitore.vue +114 -114
  230. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/qualityMonitore.vue +338 -338
  231. package/templates/vue-app/files/src/views/institutionSet/cloudSet.vue +534 -534
  232. package/templates/vue-app/files/src/views/institutionSet/index.vue +2550 -2550
  233. package/templates/vue-app/files/src/views/login.vue +243 -243
  234. package/templates/vue-app/files/src/views/qualityLogin.vue +280 -280
  235. package/templates/vue-app/files/src/views/selfStatistics/components/LineChart.vue +296 -296
  236. package/templates/vue-app/files/src/views/selfStatistics/hospitalDetail/index.vue +533 -533
  237. package/templates/vue-app/files/src/views/selfStatistics/index.scss +447 -447
  238. package/templates/vue-app/files/src/views/selfStatistics/index.vue +903 -903
  239. package/templates/vue-app/files/src/views/selfStatistics/mixins/resize.js +57 -57
  240. package/templates/vue-app/files/src/views/selfStatistics/monitorDetail/index.vue +285 -285
  241. package/templates/vue-app/files/src/views/selfStatistics/offlineDetail/index.vue +104 -104
  242. package/templates/vue-app/files/src/views/selfStatistics/selfActiveDetail/index.vue +104 -104
  243. package/templates/vue-app/files/src/views/selfStatistics/selfMonitorDetail/index.vue +420 -420
  244. package/templates/vue-app/files/src/views/selfStatistics/setWaterMark/setWaterMark.js +68 -68
  245. package/templates/vue-app/files/src/views/selfStatistics/setWaterMark/waterMark.vue +69 -69
  246. package/templates/vue-app/files/src/views/system/dept/index.vue +144 -144
  247. package/templates/vue-app/files/src/views/system/dict/dictDetail.vue +146 -146
  248. package/templates/vue-app/files/src/views/system/dict/index.vue +159 -159
  249. package/templates/vue-app/files/src/views/system/examModality/index.vue +174 -174
  250. package/templates/vue-app/files/src/views/system/examPart/index.vue +184 -184
  251. package/templates/vue-app/files/src/views/system/examProject/index.vue +321 -321
  252. package/templates/vue-app/files/src/views/system/examine/index.vue +66 -66
  253. package/templates/vue-app/files/src/views/system/job/index.vue +119 -119
  254. package/templates/vue-app/files/src/views/system/job/module/form.vue +72 -72
  255. package/templates/vue-app/files/src/views/system/job/module/header.vue +48 -48
  256. package/templates/vue-app/files/src/views/system/menu/index.vue +327 -327
  257. package/templates/vue-app/files/src/views/system/model/index.vue +285 -285
  258. package/templates/vue-app/files/src/views/system/role/index.vue +434 -434
  259. package/templates/vue-app/files/src/views/system/sysSet/index.vue +84 -84
  260. package/templates/vue-app/files/src/views/system/timing/index.vue +289 -289
  261. package/templates/vue-app/files/src/views/system/timing/log.vue +143 -143
  262. package/templates/vue-app/files/src/views/system/user/admin.vue +414 -414
  263. package/templates/vue-app/files/src/views/system/user/center/updateEmail.vue +146 -146
  264. package/templates/vue-app/files/src/views/system/user/center/updatePass.vue +168 -168
  265. package/templates/vue-app/files/src/views/system/user/center.vue +140 -140
  266. package/templates/vue-app/files/src/views/system/user/index.vue +972 -972
  267. package/templates/vue-app/files/src/views/systemSet/role/index.vue +314 -314
  268. package/templates/vue-app/files/src/views/systemSet/user/admin.vue +414 -414
  269. package/templates/vue-app/files/src/views/systemSet/user/center/updateEmail.vue +146 -146
  270. package/templates/vue-app/files/src/views/systemSet/user/center/updatePass.vue +115 -115
  271. package/templates/vue-app/files/src/views/systemSet/user/center.vue +351 -351
  272. package/templates/vue-app/files/src/views/systemSet/user/index.vue +928 -928
  273. package/templates/vue-app/files/src/views/tools/aliPay/config.vue +102 -102
  274. package/templates/vue-app/files/src/views/tools/aliPay/index.vue +48 -48
  275. package/templates/vue-app/files/src/views/tools/aliPay/toPay.vue +91 -91
  276. package/templates/vue-app/files/src/views/tools/email/config.vue +91 -91
  277. package/templates/vue-app/files/src/views/tools/email/index.vue +42 -42
  278. package/templates/vue-app/files/src/views/tools/email/send.vue +159 -159
  279. package/templates/vue-app/files/src/views/tools/storage/index.vue +35 -35
  280. package/templates/vue-app/files/src/views/tools/storage/local/index.vue +207 -207
  281. package/templates/vue-app/files/src/views/tools/storage/qiniu/form.vue +108 -108
  282. package/templates/vue-app/files/src/views/tools/storage/qiniu/index.vue +241 -241
  283. package/templates/vue-app/files/src/views/tools/swagger/index.vue +14 -14
  284. package/templates/vue-app/files/vue.config.js +173 -173
  285. 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>