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
- import { initData, download } from '@/api/data';
2
- import { parseTime, downloadFile } from '@/utils/index';
3
-
4
- export default {
5
- data() {
6
- return {
7
- // 表格数据
8
- data: [],
9
- // 排序规则,默认 id 降序, 支持多字段排序 ['id,desc', 'createTime,asc']
10
- sort: ['id,desc'],
11
- // 页码
12
- page: 0,
13
- // 每页数据条数
14
- size: 10,
15
- // 总数据条数
16
- total: 0,
17
- // 请求数据的url
18
- url: '',
19
- // 查询数据的参数
20
- params: {},
21
- // 待查询的对象
22
- query: {},
23
- // 等待时间
24
- time: 50,
25
- // 是否为新增类型的表单
26
- isAdd: false,
27
- // 导出的 Loading
28
- downloadLoading: false,
29
- // 表格 Loading 属性
30
- loading: true,
31
- // 删除 Loading 属性
32
- delLoading: false,
33
- delAllLoading: false,
34
- // 弹窗属性
35
- dialog: false,
36
- // Form 表单
37
- form: {},
38
- // 重置表单
39
- resetForm: {},
40
- // 标题
41
- title: '',
42
- };
43
- },
44
- methods: {
45
- parseTime,
46
- downloadFile,
47
- async init() {
48
- if (!(await this.beforeInit())) {
49
- return;
50
- }
51
- return new Promise((resolve, reject) => {
52
- this.loading = true;
53
- // 请求数据
54
- initData(this.url, this.getQueryParame())
55
- .then(data => {
56
- this.total = data.totalElements;
57
- this.data = data.content;
58
- // time 毫秒后显示表格
59
- setTimeout(() => {
60
- this.loading = false;
61
- }, this.time);
62
- resolve(data);
63
- })
64
- .catch(err => {
65
- this.loading = false;
66
- reject(err);
67
- });
68
- });
69
- },
70
- beforeInit() {
71
- return true;
72
- },
73
- getQueryParame: function () {
74
- return {
75
- page: this.page,
76
- size: this.size,
77
- sort: this.sort,
78
- ...this.query,
79
- ...this.params,
80
- };
81
- },
82
- // 改变页码
83
- pageChange(e) {
84
- this.page = e - 1;
85
- this.init();
86
- },
87
- // 改变每页显示数
88
- sizeChange(e) {
89
- this.page = 0;
90
- this.size = e;
91
- this.init();
92
- },
93
- // 预防删除第二页最后一条数据时,或者多选删除第二页的数据时,页码错误导致请求无数据
94
- dleChangePage(size) {
95
- if (size === undefined) {
96
- size = 1;
97
- }
98
- if (this.data.length === size && this.page !== 0) {
99
- this.page = this.page - 1;
100
- }
101
- },
102
- // 查询方法
103
- toQuery() {
104
- this.page = 0;
105
- this.init();
106
- },
107
- /**
108
- * 通用的提示封装
109
- */
110
- submitSuccessNotify() {
111
- this.$notify({
112
- title: '提交成功',
113
- type: 'success',
114
- duration: 2500,
115
- });
116
- },
117
- addSuccessNotify() {
118
- this.$notify({
119
- title: '新增成功',
120
- type: 'success',
121
- duration: 2500,
122
- });
123
- },
124
- editSuccessNotify() {
125
- this.$notify({
126
- title: '编辑成功',
127
- type: 'success',
128
- duration: 2500,
129
- });
130
- },
131
- delSuccessNotify() {
132
- this.$notify({
133
- title: '删除成功',
134
- type: 'success',
135
- duration: 2500,
136
- });
137
- },
138
- notify(title, type) {
139
- this.$notify({
140
- title: title,
141
- type: type,
142
- duration: 2500,
143
- });
144
- },
145
- /**
146
- * 删除前可以调用 beforeDelMethod 做一些操作
147
- */
148
- beforeDelMethod() {
149
- return true;
150
- },
151
- /**
152
- * 通用的删除
153
- */
154
- delMethod(id) {
155
- if (!this.beforeDelMethod()) {
156
- return;
157
- }
158
- this.delLoading = true;
159
- this.crudMethod
160
- .del(id)
161
- .then(() => {
162
- this.delLoading = false;
163
- this.$refs[id].doClose();
164
- this.dleChangePage();
165
- this.delSuccessNotify();
166
- this.afterDelMethod();
167
- this.init();
168
- })
169
- .catch(() => {
170
- this.delLoading = false;
171
- this.$refs[id].doClose();
172
- });
173
- },
174
- afterDelMethod() {},
175
- /**
176
- * 多选删除提示
177
- */
178
- beforeDelAllMethod() {
179
- this.$confirm('你确定删除选中的数据吗?', '提示', {
180
- confirmButtonText: '确定',
181
- cancelButtonText: '取消',
182
- type: 'warning',
183
- }).then(() => {
184
- this.delAllMethod();
185
- });
186
- },
187
- /**
188
- * 多选删除
189
- */
190
- delAllMethod() {
191
- this.delAllLoading = true;
192
- const data = this.$refs.table.selection;
193
- const ids = [];
194
- for (let i = 0; i < data.length; i++) {
195
- ids.push(data[i].id);
196
- }
197
- this.crudMethod
198
- .delAll(ids)
199
- .then(() => {
200
- this.delAllLoading = false;
201
- this.dleChangePage(ids.length);
202
- this.init();
203
- this.$notify({
204
- title: '删除成功',
205
- type: 'success',
206
- duration: 2500,
207
- });
208
- })
209
- .catch(() => {
210
- this.delAllLoading = false;
211
- });
212
- },
213
- /**
214
- * 显示新增弹窗前可以调用该方法
215
- */
216
- beforeShowAddForm() {},
217
- /**
218
- * 显示新增弹窗
219
- */
220
- showAddFormDialog() {
221
- this.isAdd = true;
222
- this.resetForm = JSON.parse(JSON.stringify(this.form));
223
- this.beforeShowAddForm();
224
- this.dialog = true;
225
- },
226
- /**
227
- * 显示编辑弹窗前可以调用该方法
228
- */
229
- beforeShowEditForm(data) {},
230
- /**
231
- * 显示编辑弹窗
232
- */
233
- showEditFormDialog(data = '') {
234
- this.isAdd = false;
235
- if (data) {
236
- this.resetForm = JSON.parse(JSON.stringify(this.form));
237
- this.form = JSON.parse(JSON.stringify(data));
238
- }
239
- this.beforeShowEditForm(data);
240
- this.dialog = true;
241
- },
242
- /**
243
- * 新增方法
244
- */
245
- addMethod() {
246
- this.crudMethod
247
- .add(this.form)
248
- .then(() => {
249
- this.addSuccessNotify();
250
- this.loading = false;
251
- this.afterAddMethod();
252
- this.cancel();
253
- this.init();
254
- })
255
- .catch(() => {
256
- this.loading = false;
257
- this.afterAddErrorMethod();
258
- });
259
- },
260
- /**
261
- * 新增后可以调用该方法
262
- */
263
- afterAddMethod() {},
264
- /**
265
- * 新增失败后调用该方法
266
- */
267
- afterAddErrorMethod() {},
268
- /**
269
- * 通用的编辑方法
270
- */
271
- editMethod() {
272
- this.crudMethod
273
- .edit(this.form)
274
- .then(() => {
275
- this.editSuccessNotify();
276
- this.loading = false;
277
- this.afterEditMethod();
278
- this.cancel();
279
- this.init();
280
- })
281
- .catch(() => {
282
- this.loading = false;
283
- });
284
- },
285
- /**
286
- * 编辑后可以调用该方法
287
- */
288
- afterEditMethod() {},
289
- /**
290
- * 提交前可以调用该方法
291
- */
292
- beforeSubmitMethod() {
293
- return true;
294
- },
295
- /**
296
- * 提交
297
- */
298
- submitMethod() {
299
- if (!this.beforeSubmitMethod()) {
300
- return;
301
- }
302
- if (this.$refs['form']) {
303
- this.$refs['form'].validate(valid => {
304
- if (valid) {
305
- this.loading = true;
306
- if (this.isAdd) {
307
- this.addMethod();
308
- } else this.editMethod();
309
- }
310
- });
311
- }
312
- },
313
- /**
314
- * 隐藏弹窗
315
- */
316
- cancel() {
317
- this.dialog = false;
318
- if (this.$refs['form']) {
319
- this.$refs['form'].clearValidate();
320
- this.form = this.resetForm;
321
- }
322
- },
323
- /**
324
- * 获取弹窗的标题
325
- */
326
- getFormTitle() {
327
- return this.isAdd ? `新增${this.title}` : `编辑${this.title}`;
328
- },
329
- /**
330
- * 通用导出
331
- */
332
- downloadMethod() {
333
- this.beforeInit();
334
- this.downloadLoading = true;
335
- download(this.url + '/download', this.params)
336
- .then(result => {
337
- this.downloadFile(result, this.title + '数据', 'xlsx');
338
- this.downloadLoading = false;
339
- })
340
- .catch(() => {
341
- this.downloadLoading = false;
342
- });
343
- },
344
- },
345
- filters: {
346
- parseTime,
347
- },
348
- };
1
+ import { initData, download } from '@/api/data';
2
+ import { parseTime, downloadFile } from '@/utils/index';
3
+
4
+ export default {
5
+ data() {
6
+ return {
7
+ // 表格数据
8
+ data: [],
9
+ // 排序规则,默认 id 降序, 支持多字段排序 ['id,desc', 'createTime,asc']
10
+ sort: ['id,desc'],
11
+ // 页码
12
+ page: 0,
13
+ // 每页数据条数
14
+ size: 10,
15
+ // 总数据条数
16
+ total: 0,
17
+ // 请求数据的url
18
+ url: '',
19
+ // 查询数据的参数
20
+ params: {},
21
+ // 待查询的对象
22
+ query: {},
23
+ // 等待时间
24
+ time: 50,
25
+ // 是否为新增类型的表单
26
+ isAdd: false,
27
+ // 导出的 Loading
28
+ downloadLoading: false,
29
+ // 表格 Loading 属性
30
+ loading: true,
31
+ // 删除 Loading 属性
32
+ delLoading: false,
33
+ delAllLoading: false,
34
+ // 弹窗属性
35
+ dialog: false,
36
+ // Form 表单
37
+ form: {},
38
+ // 重置表单
39
+ resetForm: {},
40
+ // 标题
41
+ title: '',
42
+ };
43
+ },
44
+ methods: {
45
+ parseTime,
46
+ downloadFile,
47
+ async init() {
48
+ if (!(await this.beforeInit())) {
49
+ return;
50
+ }
51
+ return new Promise((resolve, reject) => {
52
+ this.loading = true;
53
+ // 请求数据
54
+ initData(this.url, this.getQueryParame())
55
+ .then(data => {
56
+ this.total = data.totalElements;
57
+ this.data = data.content;
58
+ // time 毫秒后显示表格
59
+ setTimeout(() => {
60
+ this.loading = false;
61
+ }, this.time);
62
+ resolve(data);
63
+ })
64
+ .catch(err => {
65
+ this.loading = false;
66
+ reject(err);
67
+ });
68
+ });
69
+ },
70
+ beforeInit() {
71
+ return true;
72
+ },
73
+ getQueryParame: function () {
74
+ return {
75
+ page: this.page,
76
+ size: this.size,
77
+ sort: this.sort,
78
+ ...this.query,
79
+ ...this.params,
80
+ };
81
+ },
82
+ // 改变页码
83
+ pageChange(e) {
84
+ this.page = e - 1;
85
+ this.init();
86
+ },
87
+ // 改变每页显示数
88
+ sizeChange(e) {
89
+ this.page = 0;
90
+ this.size = e;
91
+ this.init();
92
+ },
93
+ // 预防删除第二页最后一条数据时,或者多选删除第二页的数据时,页码错误导致请求无数据
94
+ dleChangePage(size) {
95
+ if (size === undefined) {
96
+ size = 1;
97
+ }
98
+ if (this.data.length === size && this.page !== 0) {
99
+ this.page = this.page - 1;
100
+ }
101
+ },
102
+ // 查询方法
103
+ toQuery() {
104
+ this.page = 0;
105
+ this.init();
106
+ },
107
+ /**
108
+ * 通用的提示封装
109
+ */
110
+ submitSuccessNotify() {
111
+ this.$notify({
112
+ title: '提交成功',
113
+ type: 'success',
114
+ duration: 2500,
115
+ });
116
+ },
117
+ addSuccessNotify() {
118
+ this.$notify({
119
+ title: '新增成功',
120
+ type: 'success',
121
+ duration: 2500,
122
+ });
123
+ },
124
+ editSuccessNotify() {
125
+ this.$notify({
126
+ title: '编辑成功',
127
+ type: 'success',
128
+ duration: 2500,
129
+ });
130
+ },
131
+ delSuccessNotify() {
132
+ this.$notify({
133
+ title: '删除成功',
134
+ type: 'success',
135
+ duration: 2500,
136
+ });
137
+ },
138
+ notify(title, type) {
139
+ this.$notify({
140
+ title: title,
141
+ type: type,
142
+ duration: 2500,
143
+ });
144
+ },
145
+ /**
146
+ * 删除前可以调用 beforeDelMethod 做一些操作
147
+ */
148
+ beforeDelMethod() {
149
+ return true;
150
+ },
151
+ /**
152
+ * 通用的删除
153
+ */
154
+ delMethod(id) {
155
+ if (!this.beforeDelMethod()) {
156
+ return;
157
+ }
158
+ this.delLoading = true;
159
+ this.crudMethod
160
+ .del(id)
161
+ .then(() => {
162
+ this.delLoading = false;
163
+ this.$refs[id].doClose();
164
+ this.dleChangePage();
165
+ this.delSuccessNotify();
166
+ this.afterDelMethod();
167
+ this.init();
168
+ })
169
+ .catch(() => {
170
+ this.delLoading = false;
171
+ this.$refs[id].doClose();
172
+ });
173
+ },
174
+ afterDelMethod() {},
175
+ /**
176
+ * 多选删除提示
177
+ */
178
+ beforeDelAllMethod() {
179
+ this.$confirm('你确定删除选中的数据吗?', '提示', {
180
+ confirmButtonText: '确定',
181
+ cancelButtonText: '取消',
182
+ type: 'warning',
183
+ }).then(() => {
184
+ this.delAllMethod();
185
+ });
186
+ },
187
+ /**
188
+ * 多选删除
189
+ */
190
+ delAllMethod() {
191
+ this.delAllLoading = true;
192
+ const data = this.$refs.table.selection;
193
+ const ids = [];
194
+ for (let i = 0; i < data.length; i++) {
195
+ ids.push(data[i].id);
196
+ }
197
+ this.crudMethod
198
+ .delAll(ids)
199
+ .then(() => {
200
+ this.delAllLoading = false;
201
+ this.dleChangePage(ids.length);
202
+ this.init();
203
+ this.$notify({
204
+ title: '删除成功',
205
+ type: 'success',
206
+ duration: 2500,
207
+ });
208
+ })
209
+ .catch(() => {
210
+ this.delAllLoading = false;
211
+ });
212
+ },
213
+ /**
214
+ * 显示新增弹窗前可以调用该方法
215
+ */
216
+ beforeShowAddForm() {},
217
+ /**
218
+ * 显示新增弹窗
219
+ */
220
+ showAddFormDialog() {
221
+ this.isAdd = true;
222
+ this.resetForm = JSON.parse(JSON.stringify(this.form));
223
+ this.beforeShowAddForm();
224
+ this.dialog = true;
225
+ },
226
+ /**
227
+ * 显示编辑弹窗前可以调用该方法
228
+ */
229
+ beforeShowEditForm(data) {},
230
+ /**
231
+ * 显示编辑弹窗
232
+ */
233
+ showEditFormDialog(data = '') {
234
+ this.isAdd = false;
235
+ if (data) {
236
+ this.resetForm = JSON.parse(JSON.stringify(this.form));
237
+ this.form = JSON.parse(JSON.stringify(data));
238
+ }
239
+ this.beforeShowEditForm(data);
240
+ this.dialog = true;
241
+ },
242
+ /**
243
+ * 新增方法
244
+ */
245
+ addMethod() {
246
+ this.crudMethod
247
+ .add(this.form)
248
+ .then(() => {
249
+ this.addSuccessNotify();
250
+ this.loading = false;
251
+ this.afterAddMethod();
252
+ this.cancel();
253
+ this.init();
254
+ })
255
+ .catch(() => {
256
+ this.loading = false;
257
+ this.afterAddErrorMethod();
258
+ });
259
+ },
260
+ /**
261
+ * 新增后可以调用该方法
262
+ */
263
+ afterAddMethod() {},
264
+ /**
265
+ * 新增失败后调用该方法
266
+ */
267
+ afterAddErrorMethod() {},
268
+ /**
269
+ * 通用的编辑方法
270
+ */
271
+ editMethod() {
272
+ this.crudMethod
273
+ .edit(this.form)
274
+ .then(() => {
275
+ this.editSuccessNotify();
276
+ this.loading = false;
277
+ this.afterEditMethod();
278
+ this.cancel();
279
+ this.init();
280
+ })
281
+ .catch(() => {
282
+ this.loading = false;
283
+ });
284
+ },
285
+ /**
286
+ * 编辑后可以调用该方法
287
+ */
288
+ afterEditMethod() {},
289
+ /**
290
+ * 提交前可以调用该方法
291
+ */
292
+ beforeSubmitMethod() {
293
+ return true;
294
+ },
295
+ /**
296
+ * 提交
297
+ */
298
+ submitMethod() {
299
+ if (!this.beforeSubmitMethod()) {
300
+ return;
301
+ }
302
+ if (this.$refs['form']) {
303
+ this.$refs['form'].validate(valid => {
304
+ if (valid) {
305
+ this.loading = true;
306
+ if (this.isAdd) {
307
+ this.addMethod();
308
+ } else this.editMethod();
309
+ }
310
+ });
311
+ }
312
+ },
313
+ /**
314
+ * 隐藏弹窗
315
+ */
316
+ cancel() {
317
+ this.dialog = false;
318
+ if (this.$refs['form']) {
319
+ this.$refs['form'].clearValidate();
320
+ this.form = this.resetForm;
321
+ }
322
+ },
323
+ /**
324
+ * 获取弹窗的标题
325
+ */
326
+ getFormTitle() {
327
+ return this.isAdd ? `新增${this.title}` : `编辑${this.title}`;
328
+ },
329
+ /**
330
+ * 通用导出
331
+ */
332
+ downloadMethod() {
333
+ this.beforeInit();
334
+ this.downloadLoading = true;
335
+ download(this.url + '/download', this.params)
336
+ .then(result => {
337
+ this.downloadFile(result, this.title + '数据', 'xlsx');
338
+ this.downloadLoading = false;
339
+ })
340
+ .catch(() => {
341
+ this.downloadLoading = false;
342
+ });
343
+ },
344
+ },
345
+ filters: {
346
+ parseTime,
347
+ },
348
+ };