vue2-client 0.1.1 → 1.0.0

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 (395) hide show
  1. package/.editorconfig +9 -0
  2. package/.env +14 -0
  3. package/.env.development +1 -0
  4. package/.eslintrc.js +81 -0
  5. package/.eslintrc.json +5 -0
  6. package/README.md +46 -36
  7. package/babel.config.js +11 -2
  8. package/docs/index.md +29 -0
  9. package/jest.config.js +3 -0
  10. package/package.json +68 -22
  11. package/public/index.html +13 -3
  12. package/src/App.vue +93 -0
  13. package/src/assets/img/alipay.png +0 -0
  14. package/src/assets/img/defect.png +0 -0
  15. package/src/assets/img/error.png +0 -0
  16. package/src/assets/img/logo.png +0 -0
  17. package/src/assets/img/preview-nine.png +0 -0
  18. package/src/assets/img/preview.png +0 -0
  19. package/src/assets/img/success.png +0 -0
  20. package/src/assets/img/success1.png +0 -0
  21. package/src/assets/img/wechatpay.png +0 -0
  22. package/src/base-client/all.js +57 -0
  23. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +1159 -0
  24. package/src/base-client/components/common/CreateQuery/index.js +3 -0
  25. package/src/base-client/components/common/CreateQuery/index.md +42 -0
  26. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +540 -0
  27. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -0
  28. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -0
  29. package/src/{components → base-client/components/common}/CustomColumnsDrawer/CustomColumnsDrawer.vue +21 -15
  30. package/src/{components → base-client/components/common}/CustomColumnsDrawer/index.js +0 -0
  31. package/src/{components → base-client/components/common}/CustomColumnsDrawer/index.md +0 -0
  32. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +150 -0
  33. package/src/base-client/components/common/FormGroupEdit/index.js +3 -0
  34. package/src/base-client/components/common/FormGroupEdit/index.md +43 -0
  35. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +163 -0
  36. package/src/base-client/components/common/FormGroupQuery/index.js +3 -0
  37. package/src/base-client/components/common/FormGroupQuery/index.md +43 -0
  38. package/src/base-client/components/common/JSONToTree/index.js +3 -0
  39. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -0
  40. package/src/base-client/components/common/XAddForm/XAddForm.vue +323 -0
  41. package/src/base-client/components/common/XAddForm/index.js +3 -0
  42. package/src/base-client/components/common/XAddForm/index.md +60 -0
  43. package/src/base-client/components/common/XBadge/XBadge.vue +61 -0
  44. package/src/base-client/components/common/XBadge/index.js +3 -0
  45. package/src/base-client/components/common/XBadge/index.md +39 -0
  46. package/src/base-client/components/common/XCard/XCard.vue +59 -0
  47. package/src/base-client/components/common/XCard/index.js +3 -0
  48. package/src/base-client/components/common/XCard/index.md +43 -0
  49. package/src/base-client/components/common/XForm/XForm.vue +275 -0
  50. package/src/base-client/components/common/XForm/XFormItem.vue +217 -0
  51. package/src/base-client/components/common/XForm/index.js +3 -0
  52. package/src/base-client/components/common/XForm/index.md +196 -0
  53. package/src/{components/FormItem/FormItem.vue → base-client/components/common/XFormCol/XFormCol.vue} +16 -14
  54. package/src/base-client/components/common/XFormCol/index.js +3 -0
  55. package/src/{components/FormItem → base-client/components/common/XFormCol}/index.md +2 -2
  56. package/src/base-client/components/common/XFormTable/XFormTable.vue +405 -0
  57. package/src/base-client/components/common/XFormTable/index.js +3 -0
  58. package/src/base-client/components/common/XFormTable/index.md +89 -0
  59. package/src/base-client/components/common/XTable/XTable.vue +262 -0
  60. package/src/base-client/components/common/XTable/index.js +3 -0
  61. package/src/base-client/components/common/XTable/index.md +255 -0
  62. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +105 -0
  63. package/src/base-client/components/common/XTreeOne/index.js +3 -0
  64. package/src/base-client/components/iot/CustomerDetailsView/CustomerDetailsView.vue +226 -0
  65. package/src/base-client/components/iot/CustomerDetailsView/index.js +3 -0
  66. package/src/base-client/components/iot/CustomerDetailsView/index.md +41 -0
  67. package/src/base-client/components/iot/DataAnalysisUser/DataAnalysisUser.vue +127 -0
  68. package/src/base-client/components/iot/DataAnalysisUser/index.js +3 -0
  69. package/src/base-client/components/iot/DataAnalysisView/DataAnalysisView.vue +250 -0
  70. package/src/base-client/components/iot/DataAnalysisView/index.js +3 -0
  71. package/src/base-client/components/iot/DataAnalysisViewGD/DataAnalysisViewGD.vue +548 -0
  72. package/src/base-client/components/iot/DataAnalysisViewGD/WindowTemplate/WindowInfotemp.vue +99 -0
  73. package/src/base-client/components/iot/DataAnalysisViewGD/WindowTemplate/index.js +3 -0
  74. package/src/base-client/components/iot/DataAnalysisViewGD/index.js +3 -0
  75. package/src/base-client/components/iot/DeviceBrandDetailsView/DeviceBrandDetailsView.vue +453 -0
  76. package/src/base-client/components/iot/DeviceBrandDetailsView/index.js +3 -0
  77. package/src/base-client/components/iot/DeviceDetailsView/DeviceDetailsView.vue +231 -0
  78. package/src/base-client/components/iot/DeviceDetailsView/index.js +3 -0
  79. package/src/base-client/components/iot/DeviceDetailsView/index.md +43 -0
  80. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsCount.vue +330 -0
  81. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsException.vue +57 -0
  82. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstruct.vue +122 -0
  83. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstructOperate.vue +122 -0
  84. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsMain.vue +225 -0
  85. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsRead.vue +135 -0
  86. package/src/base-client/components/iot/DeviceDetailsView/part/index.js +8 -0
  87. package/src/base-client/components/iot/DeviceTypeDetailsView/DeviceTypeDetailsView.vue +277 -0
  88. package/src/base-client/components/iot/DeviceTypeDetailsView/index.js +3 -0
  89. package/src/base-client/components/iot/InstructDetailsView/InstructDetailsView.vue +472 -0
  90. package/src/{components → base-client/components/iot}/InstructDetailsView/index.js +0 -0
  91. package/src/base-client/components/iot/InstructDetailsView/index.md +45 -0
  92. package/src/base-client/components/iot/LogDetailsView/LogDetailsView.vue +380 -0
  93. package/src/base-client/components/iot/LogDetailsView/index.js +3 -0
  94. package/src/base-client/components/iot/LogDetailsView/index.md +43 -0
  95. package/src/base-client/components/iot/MeterDetailsView/MeterDetailsView.vue +360 -0
  96. package/src/{components → base-client/components/iot}/MeterDetailsView/index.js +0 -0
  97. package/src/base-client/components/iot/MeterDetailsView/index.md +43 -0
  98. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsCount.vue +335 -381
  99. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsException.vue +185 -204
  100. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsHandPlan.vue +292 -320
  101. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsInstruct.vue +237 -278
  102. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsMain.vue +257 -247
  103. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsSellGas.vue +190 -211
  104. package/src/base-client/components/iot/MeterDetailsView/part/index.js +9 -0
  105. package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +723 -0
  106. package/src/base-client/components/iot/WebmeterAnalysisView/index.js +3 -0
  107. package/src/base-client/components/iot/WebmeterAnalysisView/index.md +48 -0
  108. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -0
  109. package/src/base-client/components/system/DictionaryDetailsView/index.js +3 -0
  110. package/src/base-client/components/system/DictionaryDetailsView/index.md +41 -0
  111. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +248 -0
  112. package/src/base-client/components/system/QueryParamsDetailsView/index.js +3 -0
  113. package/src/base-client/components/ticket/EmployeeDetailsView/EmployeeDetailsView.vue +406 -0
  114. package/src/base-client/components/ticket/EmployeeDetailsView/index.js +3 -0
  115. package/src/base-client/components/ticket/EmployeeDetailsView/index.md +28 -0
  116. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +486 -0
  117. package/src/base-client/components/ticket/TicketDetailsView/index.js +3 -0
  118. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -0
  119. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +184 -0
  120. package/src/base-client/components/ticket/TicketDetailsView/part/index.js +3 -0
  121. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +303 -0
  122. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.js +3 -0
  123. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -0
  124. package/src/base-client/plugins/AppData.js +69 -0
  125. package/src/{plugins → base-client/plugins}/Config.js +1 -1
  126. package/src/base-client/plugins/GetLoginInfoService.js +222 -0
  127. package/src/{plugins → base-client/plugins}/PagedList.js +0 -0
  128. package/src/base-client/plugins/authority-plugin.js +167 -0
  129. package/src/base-client/plugins/i18n-extend.js +32 -0
  130. package/src/base-client/plugins/index.js +21 -0
  131. package/src/{plugins → base-client/plugins}/moment.js +8 -8
  132. package/src/base-client/plugins/tabs-page-plugin.js +38 -0
  133. package/src/bootstrap.js +25 -0
  134. package/src/components/Charts/Bar.vue +62 -0
  135. package/src/components/Charts/ChartCard.vue +120 -0
  136. package/src/components/Charts/DataUserOrderSituation.vue +77 -0
  137. package/src/components/Charts/DataUserReporting.vue +74 -0
  138. package/src/components/Charts/DataUserSituation.vue +107 -0
  139. package/src/components/Charts/Liquid.vue +67 -0
  140. package/src/components/Charts/MiniArea.vue +39 -0
  141. package/src/components/Charts/MiniBar.vue +39 -0
  142. package/src/components/Charts/MiniProgress.vue +75 -0
  143. package/src/components/Charts/MiniSmoothArea.vue +40 -0
  144. package/src/components/Charts/Radar.vue +68 -0
  145. package/src/components/Charts/RankList.vue +77 -0
  146. package/src/components/Charts/TagCloud.vue +113 -0
  147. package/src/components/Charts/TransferBar.vue +64 -0
  148. package/src/components/Charts/Trend.vue +82 -0
  149. package/src/components/Charts/chart.less +13 -0
  150. package/src/components/Charts/smooth.area.less +14 -0
  151. package/src/components/Ellipsis/Ellipsis.vue +64 -0
  152. package/src/components/Ellipsis/index.js +3 -0
  153. package/src/components/Ellipsis/index.md +38 -0
  154. package/src/components/NumberInfo/NumberInfo.vue +54 -0
  155. package/src/components/NumberInfo/index.js +3 -0
  156. package/src/components/NumberInfo/index.less +55 -0
  157. package/src/components/NumberInfo/index.md +43 -0
  158. package/src/components/STable/README.md +341 -0
  159. package/src/components/STable/index.js +316 -0
  160. package/src/components/Trend/Trend.vue +41 -0
  161. package/src/components/Trend/index.js +3 -0
  162. package/src/components/Trend/index.less +42 -0
  163. package/src/components/Trend/index.md +45 -0
  164. package/src/components/_util/util.js +46 -0
  165. package/src/components/cache/AKeepAlive.js +172 -0
  166. package/src/components/card/ChartCard.vue +79 -0
  167. package/src/components/chart/Bar.vue +60 -0
  168. package/src/components/chart/MiniArea.vue +67 -0
  169. package/src/components/chart/MiniBar.vue +59 -0
  170. package/src/components/chart/MiniProgress.vue +57 -0
  171. package/src/components/chart/Radar.vue +80 -0
  172. package/src/components/chart/RankingList.vue +60 -0
  173. package/src/components/chart/Trend.vue +79 -0
  174. package/src/components/chart/index.less +9 -0
  175. package/src/components/checkbox/ColorCheckbox.vue +157 -0
  176. package/src/components/checkbox/ImgCheckbox.vue +163 -0
  177. package/src/components/checkbox/index.js +7 -0
  178. package/src/components/dataAnalysisView/UserData.vue +61 -0
  179. package/src/components/exception/ExceptionPage.vue +70 -0
  180. package/src/components/exception/typeConfig.js +19 -0
  181. package/src/components/form/FormRow.vue +52 -0
  182. package/src/components/index.js +36 -0
  183. package/src/components/index.less +6 -0
  184. package/src/components/input/IInput.vue +66 -0
  185. package/src/components/menu/Contextmenu.vue +84 -0
  186. package/src/components/menu/SideMenu.vue +62 -0
  187. package/src/components/menu/index.less +38 -0
  188. package/src/components/menu/menu.js +273 -0
  189. package/src/components/page/header/PageHeader.vue +64 -0
  190. package/src/components/page/header/index.less +40 -0
  191. package/src/components/result/Result.vue +77 -0
  192. package/src/components/setting/Setting.vue +237 -0
  193. package/src/components/setting/SettingItem.vue +26 -0
  194. package/src/components/setting/i18n.js +117 -0
  195. package/src/components/table/StandardTable.vue +142 -0
  196. package/src/components/table/advance/ActionColumns.vue +158 -0
  197. package/src/components/table/advance/ActionSize.vue +45 -0
  198. package/src/components/table/advance/AdvanceTable.vue +275 -0
  199. package/src/components/table/advance/SearchArea.vue +355 -0
  200. package/src/components/table/advance/index.js +2 -0
  201. package/src/components/table/api/ApiTable.vue +50 -0
  202. package/src/components/task/TaskGroup.vue +80 -0
  203. package/src/components/task/TaskItem.vue +26 -0
  204. package/src/components/tool/AStepItem.vue +60 -0
  205. package/src/components/tool/AvatarList.vue +69 -0
  206. package/src/components/tool/DetailList.vue +157 -0
  207. package/src/components/tool/Drawer.vue +142 -0
  208. package/src/components/tool/FooterToolBar.vue +30 -0
  209. package/src/components/tool/HeadInfo.vue +35 -0
  210. package/src/components/tool/TagSelect.vue +83 -0
  211. package/src/components/tool/TagSelectOption.vue +33 -0
  212. package/src/components/transition/PageToggleTransition.vue +97 -0
  213. package/src/config/config.js +13 -0
  214. package/src/config/default/admin.config.js +18 -0
  215. package/src/config/default/animate.config.js +21 -0
  216. package/src/config/default/antd.config.js +84 -0
  217. package/src/config/default/index.js +6 -0
  218. package/src/config/default/setting.config.js +33 -0
  219. package/src/config/index.js +6 -0
  220. package/src/config/replacer/index.js +10 -0
  221. package/src/config/replacer/resolve.config.js +67 -0
  222. package/src/index.js +29 -0
  223. package/src/layouts/AdminLayout.vue +174 -0
  224. package/src/layouts/BlankView.vue +22 -0
  225. package/src/layouts/CommonLayout.vue +42 -0
  226. package/src/layouts/ComponentLayoutOne.vue +47 -0
  227. package/src/layouts/PageLayout.vue +151 -0
  228. package/src/layouts/PageView.vue +55 -0
  229. package/src/layouts/SinglePageView.vue +74 -0
  230. package/src/layouts/footer/PageFooter.vue +46 -0
  231. package/src/layouts/header/AdminHeader.vue +109 -0
  232. package/src/layouts/header/HeaderAvatar.vue +60 -0
  233. package/src/layouts/header/HeaderNotice.vue +97 -0
  234. package/src/layouts/header/HeaderSearch.vue +67 -0
  235. package/src/layouts/header/index.less +92 -0
  236. package/src/layouts/tabs/TabsHead.vue +190 -0
  237. package/src/layouts/tabs/TabsView.vue +355 -0
  238. package/src/layouts/tabs/i18n.js +25 -0
  239. package/src/layouts/tabs/index.js +2 -0
  240. package/src/main.js +8 -8
  241. package/src/mock/common/activityData.js +32 -0
  242. package/src/mock/common/index.js +89 -0
  243. package/src/mock/common/reportData.js +20 -0
  244. package/src/mock/common/tableData.js +118 -0
  245. package/src/mock/extend/index.js +83 -0
  246. package/src/mock/goods/index.js +108 -0
  247. package/src/mock/index.js +12 -0
  248. package/src/mock/project/index.js +17 -0
  249. package/src/mock/user/current.js +13 -0
  250. package/src/mock/user/login.js +39 -0
  251. package/src/mock/user/routes.js +61 -0
  252. package/src/mock/workplace/index.js +15 -0
  253. package/src/pages/exception/403.vue +25 -0
  254. package/src/pages/exception/404.vue +25 -0
  255. package/src/pages/exception/500.vue +25 -0
  256. package/src/pages/login/Login.vue +194 -0
  257. package/src/pages/login/index.js +2 -0
  258. package/src/pages/report/ReportTable.js +125 -0
  259. package/src/pages/report/ReportTableHome.vue +28 -0
  260. package/src/pages/resourceManage/resourceManageMain.vue +55 -0
  261. package/src/pages/system/applyInstallView/Core.vue +570 -0
  262. package/src/pages/system/applyInstallView/LFComponents/AddPanel.vue +52 -0
  263. package/src/pages/system/applyInstallView/LFComponents/Control.vue +78 -0
  264. package/src/pages/system/applyInstallView/LFComponents/DataDialog.vue +24 -0
  265. package/src/pages/system/applyInstallView/LFComponents/NodePanel.vue +103 -0
  266. package/src/pages/system/applyInstallView/PropertySetting/Base.vue +124 -0
  267. package/src/pages/system/applyInstallView/PropertySetting/CommonProperty.vue +104 -0
  268. package/src/pages/system/applyInstallView/PropertySetting/PropertyDialog.vue +43 -0
  269. package/src/pages/system/applyInstallView/background/base.png +0 -0
  270. package/src/pages/system/applyInstallView/background/click.png +0 -0
  271. package/src/pages/system/applyInstallView/background/download.png +0 -0
  272. package/src/pages/system/applyInstallView/background/end.png +0 -0
  273. package/src/pages/system/applyInstallView/background/push.png +0 -0
  274. package/src/pages/system/applyInstallView/background/start.png +0 -0
  275. package/src/pages/system/applyInstallView/background/step.png +0 -0
  276. package/src/pages/system/applyInstallView/background/time.png +0 -0
  277. package/src/pages/system/applyInstallView/config.js +22 -0
  278. package/src/pages/system/applyInstallView/data.json +1284 -0
  279. package/src/pages/system/applyInstallView/index.vue +34 -0
  280. package/src/pages/system/applyInstallView/registerNode/Connect.vue +43 -0
  281. package/src/pages/system/applyInstallView/registerNode/index.js +16 -0
  282. package/src/pages/system/applyInstallView/registerNode/registerBackEdge.js +44 -0
  283. package/src/pages/system/applyInstallView/registerNode/registerBase.js +139 -0
  284. package/src/pages/system/applyInstallView/registerNode/registerConnect.js +60 -0
  285. package/src/pages/system/applyInstallView/registerNode/registerDownload.js +92 -0
  286. package/src/pages/system/applyInstallView/registerNode/registerEnd.js +110 -0
  287. package/src/pages/system/applyInstallView/registerNode/registerPolyline.js +14 -0
  288. package/src/pages/system/applyInstallView/registerNode/registerPush.js +127 -0
  289. package/src/pages/system/applyInstallView/registerNode/registerStart.js +105 -0
  290. package/src/pages/system/applyInstallView/registerNode/registerStep.js +209 -0
  291. package/src/pages/system/applyInstallView/registerNode/registerTask.js +29 -0
  292. package/src/pages/system/dictionary/index.vue +41 -0
  293. package/src/pages/system/queryParams/index.vue +41 -0
  294. package/src/router/async/config.async.js +25 -0
  295. package/src/router/async/router.map.js +59 -0
  296. package/src/router/config.js +23 -0
  297. package/src/router/guards.js +104 -0
  298. package/src/router/i18n.js +57 -0
  299. package/src/router/index.js +31 -0
  300. package/src/services/api/CustomerDetailsViewApi.js +6 -0
  301. package/src/services/api/DeviceBrandDetailsViewApi.js +14 -0
  302. package/src/services/api/DeviceDetailsViewApi.js +10 -0
  303. package/src/services/api/DeviceTypeDetailsViewApi.js +6 -0
  304. package/src/services/api/DictionaryDetailsViewApi.js +6 -0
  305. package/src/services/api/EmployeeDetailsViewApi.js +16 -0
  306. package/src/services/api/FormGroupEditApi.js +6 -0
  307. package/src/services/api/InstructDetailsViewApi.js +12 -0
  308. package/src/services/api/LogDetailsViewApi.js +10 -0
  309. package/src/services/api/MeterDetailsViewApi.js +24 -0
  310. package/src/services/api/QueryParamsDetailsViewApi.js +6 -0
  311. package/src/services/api/TicketDetailsViewApi.js +30 -0
  312. package/src/services/api/WebmeterAnalysisViewApi.js +30 -0
  313. package/src/services/api/common.js +39 -0
  314. package/src/services/api/iot.js +7 -0
  315. package/src/services/api/manage.js +12 -0
  316. package/src/services/api/restTools.js +23 -0
  317. package/src/services/api/service.js +12 -0
  318. package/src/services/api.js +11 -0
  319. package/src/services/dataSource.js +12 -0
  320. package/src/services/index.js +7 -0
  321. package/src/services/user.js +34 -0
  322. package/src/store/index.js +8 -0
  323. package/src/store/modules/account.js +103 -0
  324. package/src/store/modules/index.js +4 -0
  325. package/src/store/modules/setting.js +114 -0
  326. package/src/store/mutation-types.js +1 -0
  327. package/src/theme/antd/ant-menu.less +3 -0
  328. package/src/theme/antd/ant-message.less +3 -0
  329. package/src/theme/antd/ant-table.less +22 -0
  330. package/src/theme/antd/ant-time-picker.less +3 -0
  331. package/src/theme/antd/index.less +4 -0
  332. package/src/theme/default/color.less +43 -0
  333. package/src/theme/default/index.less +3 -0
  334. package/src/theme/default/nprogress.less +76 -0
  335. package/src/theme/default/style.less +33 -0
  336. package/src/theme/global.less +130 -0
  337. package/src/theme/index.less +5 -0
  338. package/src/theme/reportTable.less +58 -0
  339. package/src/theme/theme.less +1 -0
  340. package/src/utils/Objects.js +25 -0
  341. package/src/utils/authority-utils.js +85 -0
  342. package/src/utils/axios-interceptors.js +82 -0
  343. package/src/utils/colors.js +103 -0
  344. package/src/utils/excel/Blob.js +181 -0
  345. package/src/utils/excel/Export2Excel.js +142 -0
  346. package/src/utils/filter.js +21 -0
  347. package/src/utils/formatter.js +68 -0
  348. package/src/utils/i18n.js +80 -0
  349. package/src/utils/indexedDB.js +146 -0
  350. package/src/utils/request.js +197 -0
  351. package/src/utils/routerUtil.js +353 -0
  352. package/src/utils/theme-color-replacer-extend.js +92 -0
  353. package/src/utils/themeUtil.js +102 -0
  354. package/src/utils/util.js +134 -0
  355. package/tests/unit/ReportTable.spec.js +15 -0
  356. package/vue.config.js +152 -0
  357. package/index.js +0 -35
  358. package/src/api/business.js +0 -30
  359. package/src/api/common.js +0 -6
  360. package/src/assets/logo.png +0 -0
  361. package/src/components/Criteria/Criteria.vue +0 -191
  362. package/src/components/Criteria/CriteriaPaged.vue +0 -50
  363. package/src/components/Criteria/index.js +0 -7
  364. package/src/components/Criteria/index.md +0 -120
  365. package/src/components/DataGrid/DataGrid.vue +0 -206
  366. package/src/components/DataGrid/index.js +0 -3
  367. package/src/components/DataGrid/index.md +0 -195
  368. package/src/components/ExportExcel/ExportExcel.vue +0 -246
  369. package/src/components/ExportExcel/index.js +0 -3
  370. package/src/components/ExportExcel/index.md +0 -76
  371. package/src/components/FormItem/index.js +0 -3
  372. package/src/components/InstructDetailsView/InstructDetailsView.vue +0 -518
  373. package/src/components/InstructDetailsView/index.md +0 -40
  374. package/src/components/MetaAnalysis/MetaAnalysis.vue +0 -183
  375. package/src/components/MetaAnalysis/demo/A.vue +0 -31
  376. package/src/components/MetaAnalysis/demo/B.vue +0 -31
  377. package/src/components/MetaAnalysis/demo/C.vue +0 -31
  378. package/src/components/MetaAnalysis/demo/MetaTest.vue +0 -44
  379. package/src/components/MetaAnalysis/index.js +0 -3
  380. package/src/components/MetaAnalysis/index.md +0 -255
  381. package/src/components/MeterDetailsView/MeterDetailsView.vue +0 -317
  382. package/src/components/MeterDetailsView/index.md +0 -40
  383. package/src/components/MeterDetailsView/part/index.js +0 -9
  384. package/src/components/ModalView/Modal.vue +0 -100
  385. package/src/components/ModalView/index.js +0 -3
  386. package/src/components/WCriteria/WCriteria.vue +0 -191
  387. package/src/components/WCriteria/WCriteriaPaged.vue +0 -95
  388. package/src/components/WCriteria/index.js +0 -7
  389. package/src/components/WCriteria/index.md +0 -120
  390. package/src/components/WTable/WTable.vue +0 -216
  391. package/src/components/WTable/index.js +0 -3
  392. package/src/components/WTable/index.md +0 -195
  393. package/src/plugins/AppData.js +0 -39
  394. package/src/plugins/GetLoginInfoService.js +0 -475
  395. package/src/plugins/MessageBox.js +0 -15
@@ -0,0 +1,105 @@
1
+ export default function registerStart (lf) {
2
+ lf.register('start', ({ CircleNode, CircleNodeModel, h }) => {
3
+ class StartNode extends CircleNode {
4
+ getIconShape () {
5
+ const { model } = this.props
6
+ const { stroke } = model.getNodeStyle()
7
+ const {
8
+ x,
9
+ y,
10
+ width,
11
+ height
12
+ } = model
13
+ return h(
14
+ 'svg',
15
+ {
16
+ x: x - width / 2 + 8,
17
+ y: y - height / 2 + 7,
18
+ width: 25,
19
+ height: 25,
20
+ viewBox: '0 0 1024 1024'
21
+ },
22
+ h(
23
+ 'path',
24
+ {
25
+ fill: stroke,
26
+ d: 'M380.677 176.279l390.182 225.272c85.024 49.089 85.024 171.81 0 220.899L380.677 847.721c-85.024 49.089-191.304-12.272-191.304-110.449V286.728c0-98.177 106.28-159.538 191.304-110.449z'
27
+ }
28
+ )
29
+ )
30
+ }
31
+ getShape () {
32
+ const { model } = this.props
33
+ const { x, y, r } = model
34
+ const { fill, stroke, strokeWidth } = model.getNodeStyle()
35
+ return h(
36
+ 'g',
37
+ {
38
+ },
39
+ [
40
+ h(
41
+ 'circle',
42
+ {
43
+ cx: x,
44
+ cy: y,
45
+ r,
46
+ fill,
47
+ stroke,
48
+ strokeWidth
49
+ }
50
+ ),
51
+ this.getIconShape()
52
+ ]
53
+ )
54
+ }
55
+ }
56
+ class StartModel extends CircleNodeModel {
57
+ // 自定义节点形状属性
58
+ initNodeData (data) {
59
+ data.text = {
60
+ value: (data.text && data.text.value) || '',
61
+ x: data.x,
62
+ y: data.y + 35,
63
+ dragable: false,
64
+ editable: true
65
+ }
66
+ super.initNodeData(data)
67
+ this.r = 20
68
+ }
69
+ // 自定义节点样式属性
70
+ getNodeStyle () {
71
+ const style = super.getNodeStyle()
72
+ style.stroke = '#FF7B15'
73
+ style.strokeWidth = 3
74
+ return style
75
+ }
76
+ // 自定义锚点样式
77
+ getAnchorStyle () {
78
+ const style = super.getAnchorStyle()
79
+ style.hover.r = 8
80
+ style.hover.fill = 'rgb(24, 125, 255)'
81
+ style.hover.stroke = 'rgb(24, 125, 255)'
82
+ return style
83
+ }
84
+ // 自定义节点outline
85
+ getOutlineStyle () {
86
+ const style = super.getOutlineStyle()
87
+ style.stroke = '#88f'
88
+ return style
89
+ }
90
+ getConnectedTargetRules () {
91
+ const rules = super.getConnectedTargetRules()
92
+ const notAsTarget = {
93
+ message: '起始节点不能作为连线的终点',
94
+ validate: () => false
95
+ }
96
+ rules.push(notAsTarget)
97
+ return rules
98
+ }
99
+ }
100
+ return {
101
+ view: StartNode,
102
+ model: StartModel
103
+ }
104
+ })
105
+ }
@@ -0,0 +1,209 @@
1
+ export default function registerStep (lf, clickPlus, mouseDownPlus, showPropView, showSimpleFormView) {
2
+ lf.register('step', ({ RectNode, RectNodeModel, h }) => {
3
+ class Node extends RectNode {
4
+ getIconShape () {
5
+ const { model } = this.props
6
+ const { stroke } = model.getNodeStyle()
7
+ const { x, y } = model
8
+ return h(
9
+ 'svg',
10
+ {
11
+ width: 40,
12
+ height: 40,
13
+ x: x - 20,
14
+ y: y - 20,
15
+ viewBox: '0 0 1024 1024'
16
+ },
17
+ h(
18
+ 'path',
19
+ {
20
+ fill: stroke,
21
+ d: 'M512 241.777778m-139.377778 0a139.377778 139.377778 0 1 0 278.755556 0 139.377778 139.377778 0 1 0-278.755556 0Z'
22
+ }
23
+ ),
24
+ h(
25
+ 'path',
26
+ {
27
+ fill: stroke,
28
+ d: 'M230.4 731.363556m-139.377778 0a139.377778 139.377778 0 1 0 278.755556 0 139.377778 139.377778 0 1 0-278.755556 0Z'
29
+ }
30
+ ),
31
+ h(
32
+ 'path',
33
+ {
34
+ fill: stroke,
35
+ d: 'M221.639111 500.622222l-53.816889-12.401778A351.573333 351.573333 0 0 1 512 213.560889v55.296A296.846222 296.846222 0 0 0 221.639111 500.622222zM788.48 787.114667l-43.235556-34.133334A295.822222 295.822222 0 0 0 718.620444 352.711111l38.343112-39.936a350.776889 350.776889 0 0 1 31.516444 474.339556z'
36
+ }
37
+ ),
38
+ h(
39
+ 'path',
40
+ {
41
+ fill: stroke,
42
+ d: 'M793.6 730.794667m-139.377778 0a139.377778 139.377778 0 1 0 278.755556 0 139.377778 139.377778 0 1 0-278.755556 0Z'
43
+ }
44
+ ),
45
+ h(
46
+ 'path',
47
+ {
48
+ fill: stroke,
49
+ d: 'M520.078222 921.6a353.848889 353.848889 0 0 1-306.289778-176.469333L261.688889 717.596444A297.984 297.984 0 0 0 608.028444 853.333333l16.611556 52.679111A344.974222 344.974222 0 0 1 520.078222 921.6z'
50
+ }
51
+ )
52
+ )
53
+ }
54
+ getPulsShape () {
55
+ const { model } = this.props
56
+ // 判断当前节点是否子节点
57
+ const graphData = lf.getGraphData()
58
+ const edges = graphData.edges
59
+ let hasChildNode = false
60
+ edges.some(item => {
61
+ if (item.sourceNodeId === model.id) {
62
+ hasChildNode = true
63
+ return true
64
+ }
65
+ })
66
+ if (hasChildNode) {
67
+ return
68
+ }
69
+ return h(
70
+ 'svg',
71
+ {
72
+ x: 70,
73
+ y: 20,
74
+ width: 30,
75
+ height: 30,
76
+ viewBox: '0 0 1024 1024',
77
+ class: 'time-plus',
78
+ onClick: (e) => clickPlus(e, model, [{
79
+ type: 'step',
80
+ label: '添加步骤'
81
+ }]),
82
+ onMousedown: (e) => mouseDownPlus(e, model),
83
+ onMouseUp: (e) => mouseDownPlus(e, model)
84
+ },
85
+ h(
86
+ 'path',
87
+ {
88
+ fill: '#f17611',
89
+ d: 'M512 512m-448 0a448 448 0 1 0 896 0 448 448 0 1 0-896 0Z'
90
+ }
91
+ ),
92
+ h(
93
+ 'path',
94
+ {
95
+ fill: '#ffffff',
96
+ d: 'M448 298.666667h128v426.666666h-128z'
97
+ }
98
+ ),
99
+ h(
100
+ 'path',
101
+ {
102
+ fill: '#ffffff',
103
+ d: 'M298.666667 448h426.666666v128H298.666667z'
104
+ }
105
+ )
106
+ )
107
+ }
108
+ getShape () {
109
+ const { model } = this.props
110
+ const { width, height, x, y } = model
111
+ const { fill, stroke, strokeWidth } = model.getNodeStyle()
112
+ return h(
113
+ 'g',
114
+ {
115
+ },
116
+ [
117
+ h(
118
+ 'rect',
119
+ {
120
+ x: x - (width / 2),
121
+ y: y - (height / 2),
122
+ width: width,
123
+ height: height,
124
+ fill,
125
+ stroke,
126
+ strokeWidth
127
+ }
128
+ ),
129
+ this.getIconShape(),
130
+ this.getPulsShape()
131
+ ]
132
+ )
133
+ }
134
+ }
135
+ class Model extends RectNodeModel {
136
+ constructor (data, graphModel) {
137
+ data.text = {
138
+ value: (data.text && data.text.value) || '',
139
+ x: data.x,
140
+ y: data.y + 50
141
+ }
142
+ super(data, graphModel)
143
+ // 右键菜单自由配置,也可以通过边的properties或者其他属性条件更换不同菜单
144
+ this.menu = [
145
+ {
146
+ className: 'lf-menu-delete',
147
+ text: '删除',
148
+ callback (node) {
149
+ // const comfirm = window.confirm('你确定要删除吗?')
150
+ lf.deleteNode(node.id)
151
+ }
152
+ },
153
+ {
154
+ text: '编辑文本',
155
+ className: 'lf-menu-item',
156
+ callback (node) {
157
+ lf.editText(node.id)
158
+ }
159
+ },
160
+ {
161
+ text: '编辑属性',
162
+ className: 'lf-menu-item',
163
+ callback (node) {
164
+ showPropView(node)
165
+ }
166
+ },
167
+ {
168
+ text: '编辑表单',
169
+ className: 'lf-menu-item',
170
+ callback (node) {
171
+ showSimpleFormView(node)
172
+ }
173
+ },
174
+ {
175
+ text: '复制',
176
+ className: 'lf-menu-item',
177
+ callback (node) {
178
+ lf.cloneNode(node.id)
179
+ }
180
+ }
181
+ ]
182
+ }
183
+ initNodeData (data) {
184
+ super.initNodeData(data)
185
+ this.width = 70
186
+ this.height = 70
187
+ }
188
+ // 自定义锚点样式
189
+ getAnchorStyle () {
190
+ const style = super.getAnchorStyle()
191
+ style.hover.r = 8
192
+ style.hover.fill = 'rgb(24, 125, 255)'
193
+ style.hover.stroke = 'rgb(24, 125, 255)'
194
+ return style
195
+ }
196
+ // 自定义节点样式
197
+ getNodeStyle () {
198
+ const style = super.getNodeStyle()
199
+ style.stroke = '#37ADDB'
200
+ style.strokeWidth = 3
201
+ return style
202
+ }
203
+ }
204
+ return {
205
+ view: Node,
206
+ model: Model
207
+ }
208
+ })
209
+ }
@@ -0,0 +1,29 @@
1
+ export default function registerTask (lf) {
2
+ lf.register('task', ({ RectNode, RectNodeModel, h }) => {
3
+ class View extends RectNode {
4
+ getShape () {
5
+ const { model } = this.props
6
+ const { width, height, x, y } = model
7
+ const position = {
8
+ x: x - width / 2,
9
+ y: y - height / 2
10
+ }
11
+ const style = model.getNodeStyle()
12
+ return h('rect', {
13
+ ...style,
14
+ ...position
15
+ })
16
+ }
17
+ }
18
+ class Model extends RectNodeModel {
19
+ constructor (data, graphModel) {
20
+ super(data, graphModel)
21
+ this.radius = 20
22
+ }
23
+ }
24
+ return {
25
+ view: View,
26
+ model: Model
27
+ }
28
+ })
29
+ }
@@ -0,0 +1,41 @@
1
+ <template>
2
+ <a-card :bordered="false">
3
+ <dictionary-details-view
4
+ :visible.sync="detailVisible"
5
+ :id="selectId"
6
+ v-if="selectId"
7
+ />
8
+ <x-form-table
9
+ title="字典"
10
+ :queryParamsName="queryParamsName"
11
+ @action="toDetail">
12
+ </x-form-table>
13
+ </a-card>
14
+ </template>
15
+
16
+ <script>
17
+ import XFormTable from '@/base-client/components/common/XFormTable/XFormTable'
18
+
19
+ export default {
20
+ name: 'Dictionary',
21
+ components: {
22
+ XFormTable
23
+ },
24
+ data () {
25
+ return {
26
+ // 选中的编号
27
+ selectId: undefined,
28
+ // 查询配置文件名
29
+ queryParamsName: 'dictionaryQueryParams',
30
+ // 是否显示详情抽屉
31
+ detailVisible: false
32
+ }
33
+ },
34
+ methods: {
35
+ toDetail (record, id) {
36
+ this.selectId = id + ''
37
+ this.detailVisible = true
38
+ }
39
+ }
40
+ }
41
+ </script>
@@ -0,0 +1,41 @@
1
+ <template>
2
+ <a-card :bordered="false">
3
+ <query-params-details-view
4
+ :visible.sync="detailVisible"
5
+ :id="selectId"
6
+ v-if="selectId"
7
+ />
8
+ <x-form-table
9
+ title="查询配置"
10
+ :queryParamsName="queryParamsName"
11
+ @action="toDetail">
12
+ </x-form-table>
13
+ </a-card>
14
+ </template>
15
+
16
+ <script>
17
+ import XFormTable from '@/base-client/components/common/XFormTable/XFormTable'
18
+
19
+ export default {
20
+ name: 'QueryParams',
21
+ components: {
22
+ XFormTable
23
+ },
24
+ data () {
25
+ return {
26
+ // 选中的编号
27
+ selectId: undefined,
28
+ // 查询配置文件名
29
+ queryParamsName: 'queryParams',
30
+ // 是否显示详情抽屉
31
+ detailVisible: false
32
+ }
33
+ },
34
+ methods: {
35
+ toDetail (record, id) {
36
+ this.selectId = id + ''
37
+ this.detailVisible = true
38
+ }
39
+ }
40
+ }
41
+ </script>
@@ -0,0 +1,25 @@
1
+ import routerMap from './router.map'
2
+ import { parseRoutes } from '@/utils/routerUtil'
3
+
4
+ // 异步路由配置
5
+ const routesConfig = [
6
+ 'login',
7
+ 'root',
8
+ {
9
+ router: 'exp404',
10
+ path: '*',
11
+ name: '404'
12
+ },
13
+ {
14
+ router: 'exp403',
15
+ path: '/403',
16
+ name: '403'
17
+ }
18
+ ]
19
+
20
+ const options = {
21
+ mode: 'history',
22
+ routes: parseRoutes(routesConfig, routerMap)
23
+ }
24
+
25
+ export default options
@@ -0,0 +1,59 @@
1
+ // 视图组件
2
+ const view = {
3
+ tabs: () => import('@/layouts/tabs'),
4
+ blank: () => import('@/layouts/BlankView'),
5
+ page: () => import('@/layouts/PageView'),
6
+ singlePage: () => import('@/layouts/SinglePageView')
7
+ }
8
+ // 动态路由对象定义
9
+ const routerResource = {}
10
+ // --------------------------------------基本视图组件--------------------------------------
11
+ // 空白视图
12
+ routerResource.blank = view.blank
13
+ // 单页面视图
14
+ routerResource.singlePage = view.singlePage
15
+ // --------------------------------------系统配置--------------------------------------
16
+ routerResource.system = view.blank
17
+ // 字典管理
18
+ routerResource.dictionaryManage = () => import(/* webpackChunkName: "dictionary" */ '@/pages/system/dictionary')
19
+ // 查询配置管理
20
+ routerResource.queryParamsManage = () => import(/* webpackChunkName: "queryParams" */ '@/pages/system/queryParams')
21
+ // 报装可视化
22
+ routerResource.applyInstallView = () => import(/* webpackChunkName: "applyInstallView" */ '@/pages/system/applyInstallView')
23
+ // --------------------------------------报表组件--------------------------------------
24
+ routerResource.reportTable = () => import(/* webpackChunkName: "ReportTableHome" */ '@/pages/report/ReportTableHome')
25
+ // --------------------------------------资源管理--------------------------------------
26
+ routerResource.resourceManageMain = () => import(/* webpackChunkName: "resourceManageMain" */ '@/pages/resourceManage/resourceManageMain')
27
+
28
+ // 基础路由组件注册
29
+ const routerMap = {
30
+ login: {
31
+ authority: '*',
32
+ path: '/login',
33
+ component: () => import('@/pages/login')
34
+ },
35
+ root: {
36
+ path: '/',
37
+ name: '首页',
38
+ redirect: '/login',
39
+ component: view.tabs
40
+ },
41
+ exp403: {
42
+ authority: '*',
43
+ name: 'exp403',
44
+ path: '403',
45
+ component: () => import('@/pages/exception/403')
46
+ },
47
+ exp404: {
48
+ name: 'exp404',
49
+ path: '404',
50
+ component: () => import('@/pages/exception/404')
51
+ },
52
+ exp500: {
53
+ name: 'exp500',
54
+ path: '500',
55
+ component: () => import('@/pages/exception/500')
56
+ }
57
+ }
58
+ Object.assign(routerMap, routerResource)
59
+ export default routerMap
@@ -0,0 +1,23 @@
1
+ // 路由配置
2
+ const options = {
3
+ mode: 'history',
4
+ routes: [
5
+ {
6
+ path: '/login',
7
+ name: '登录页',
8
+ component: () => import('@/pages/login')
9
+ },
10
+ {
11
+ path: '*',
12
+ name: '404',
13
+ component: () => import('@/pages/exception/404')
14
+ },
15
+ {
16
+ path: '/403',
17
+ name: '403',
18
+ component: () => import('@/pages/exception/403')
19
+ }
20
+ ]
21
+ }
22
+
23
+ export default options
@@ -0,0 +1,104 @@
1
+ import { hasAuthority } from '@/utils/authority-utils'
2
+ import { loginIgnore } from '@/router/index'
3
+ import { checkAuthorization } from '@/utils/request'
4
+ import NProgress from 'nprogress'
5
+
6
+ NProgress.configure({ showSpinner: false })
7
+
8
+ /**
9
+ * 进度条开始
10
+ * @param to
11
+ * @param form
12
+ * @param next
13
+ */
14
+ const progressStart = (to, from, next) => {
15
+ // start progress bar
16
+ if (!NProgress.isStarted()) {
17
+ NProgress.start()
18
+ }
19
+ next()
20
+ }
21
+
22
+ /**
23
+ * 登录守卫
24
+ * @param to
25
+ * @param form
26
+ * @param next
27
+ * @param options
28
+ */
29
+ const loginGuard = (to, from, next, options) => {
30
+ const { message } = options
31
+ if (!loginIgnore.includes(to) && !checkAuthorization()) {
32
+ message.warning('登录已失效,请重新登录')
33
+ next({ path: '/login' })
34
+ } else {
35
+ next()
36
+ }
37
+ }
38
+
39
+ /**
40
+ * 权限守卫
41
+ * @param to
42
+ * @param form
43
+ * @param next
44
+ * @param options
45
+ */
46
+ const authorityGuard = (to, from, next, options) => {
47
+ const { store, message } = options
48
+ const permissions = store.getters['account/permissions']
49
+ const roles = store.getters['account/roles']
50
+ if (!hasAuthority(to, permissions, roles)) {
51
+ message.warning(`对不起,您无权访问页面: ${to.fullPath},请联系管理员`)
52
+ next({ path: '/403' })
53
+ // NProgress.done()
54
+ } else {
55
+ next()
56
+ }
57
+ }
58
+
59
+ /**
60
+ * 混合导航模式下一级菜单跳转重定向
61
+ * @param to
62
+ * @param from
63
+ * @param next
64
+ * @param options
65
+ * @returns {*}
66
+ */
67
+ const redirectGuard = (to, from, next, options) => {
68
+ const { store } = options
69
+ const getFirstChild = (routes) => {
70
+ const route = routes[0]
71
+ if (!route.children || route.children.length === 0) {
72
+ return route
73
+ }
74
+ return getFirstChild(route.children)
75
+ }
76
+ if (store.state.setting.layout === 'mix') {
77
+ const firstMenu = store.getters['setting/firstMenu']
78
+ if (firstMenu.find(item => item.fullPath === to.fullPath)) {
79
+ store.commit('setting/setActivatedFirst', to.fullPath)
80
+ const subMenu = store.getters['setting/subMenu']
81
+ if (subMenu.length > 0) {
82
+ const redirect = getFirstChild(subMenu)
83
+ return next({ path: redirect.fullPath })
84
+ }
85
+ }
86
+ }
87
+ next()
88
+ }
89
+
90
+ /**
91
+ * 进度条结束
92
+ * @param to
93
+ * @param form
94
+ * @param options
95
+ */
96
+ const progressDone = () => {
97
+ // finish progress bar
98
+ NProgress.done()
99
+ }
100
+
101
+ export default {
102
+ beforeEach: [progressStart, loginGuard, authorityGuard, redirectGuard],
103
+ afterEach: [progressDone]
104
+ }
@@ -0,0 +1,57 @@
1
+ module.exports = {
2
+ messages: {
3
+ CN: {
4
+ home: { name: '首页' }
5
+ },
6
+ US: {
7
+ home: { name: 'home' }
8
+ },
9
+ HK: {
10
+ home: { name: '首頁' },
11
+ dashboard: {
12
+ name: '儀表盤',
13
+ workplace: { name: '工作台' },
14
+ analysis: { name: '分析頁' }
15
+ },
16
+ form: {
17
+ name: '表單頁',
18
+ basic: { name: '基礎表單' },
19
+ step: { name: '分步表單' },
20
+ advance: { name: '分步表單' }
21
+ },
22
+ list: {
23
+ name: '列表頁',
24
+ query: { name: '查詢表格' },
25
+ primary: { name: '標準列表' },
26
+ card: { name: '卡片列表' },
27
+ search: {
28
+ name: '搜索列表',
29
+ article: { name: '文章' },
30
+ application: { name: '應用' },
31
+ project: { name: '項目' }
32
+ }
33
+ },
34
+ details: {
35
+ name: '詳情頁',
36
+ basic: { name: '基礎詳情頁' },
37
+ advance: { name: '高級詳情頁' }
38
+ },
39
+ result: {
40
+ name: '結果頁',
41
+ success: { name: '成功' },
42
+ error: { name: '失敗' }
43
+ },
44
+ exception: {
45
+ name: '異常頁',
46
+ 404: { name: '404' },
47
+ 403: { name: '403' },
48
+ 500: { name: '500' }
49
+ },
50
+ components: {
51
+ name: '小組件',
52
+ taskCard: { name: '任務卡片' },
53
+ palette: { name: '顏色複選框' }
54
+ }
55
+ }
56
+ }
57
+ }