vue2-client 0.1.1 → 1.2.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 (394) 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 +56 -36
  7. package/babel.config.js +14 -5
  8. package/docs/index.md +29 -0
  9. package/index.js +28 -35
  10. package/jest.config.js +3 -0
  11. package/package.json +68 -22
  12. package/public/index.html +27 -17
  13. package/src/App.vue +93 -0
  14. package/src/assets/img/alipay.png +0 -0
  15. package/src/assets/img/defect.png +0 -0
  16. package/src/assets/img/error.png +0 -0
  17. package/src/assets/img/logo.png +0 -0
  18. package/src/assets/img/preview-nine.png +0 -0
  19. package/src/assets/img/preview.png +0 -0
  20. package/src/assets/img/success.png +0 -0
  21. package/src/assets/img/success1.png +0 -0
  22. package/src/assets/img/wechatpay.png +0 -0
  23. package/src/base-client/all.js +57 -0
  24. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +1159 -0
  25. package/src/base-client/components/common/CreateQuery/index.js +3 -0
  26. package/src/base-client/components/common/CreateQuery/index.md +42 -0
  27. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +540 -0
  28. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -0
  29. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -0
  30. package/src/{components → base-client/components/common}/CustomColumnsDrawer/CustomColumnsDrawer.vue +21 -15
  31. package/src/{components → base-client/components/common}/CustomColumnsDrawer/index.js +0 -0
  32. package/src/{components → base-client/components/common}/CustomColumnsDrawer/index.md +46 -46
  33. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +150 -0
  34. package/src/base-client/components/common/FormGroupEdit/index.js +3 -0
  35. package/src/base-client/components/common/FormGroupEdit/index.md +43 -0
  36. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +163 -0
  37. package/src/base-client/components/common/FormGroupQuery/index.js +3 -0
  38. package/src/base-client/components/common/FormGroupQuery/index.md +43 -0
  39. package/src/base-client/components/common/JSONToTree/index.js +3 -0
  40. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -0
  41. package/src/base-client/components/common/XAddForm/XAddForm.vue +323 -0
  42. package/src/base-client/components/common/XAddForm/index.js +3 -0
  43. package/src/base-client/components/common/XAddForm/index.md +60 -0
  44. package/src/base-client/components/common/XBadge/XBadge.vue +61 -0
  45. package/src/base-client/components/common/XBadge/index.js +3 -0
  46. package/src/base-client/components/common/XBadge/index.md +39 -0
  47. package/src/base-client/components/common/XCard/XCard.vue +59 -0
  48. package/src/base-client/components/common/XCard/index.js +3 -0
  49. package/src/base-client/components/common/XCard/index.md +43 -0
  50. package/src/base-client/components/common/XForm/XForm.vue +275 -0
  51. package/src/base-client/components/common/XForm/XFormItem.vue +217 -0
  52. package/src/base-client/components/common/XForm/index.js +3 -0
  53. package/src/base-client/components/common/XForm/index.md +196 -0
  54. package/src/{components/FormItem/FormItem.vue → base-client/components/common/XFormCol/XFormCol.vue} +16 -14
  55. package/src/base-client/components/common/XFormCol/index.js +3 -0
  56. package/src/{components/FormItem → base-client/components/common/XFormCol}/index.md +35 -35
  57. package/src/base-client/components/common/XFormTable/XFormTable.vue +405 -0
  58. package/src/base-client/components/common/XFormTable/index.js +3 -0
  59. package/src/base-client/components/common/XFormTable/index.md +89 -0
  60. package/src/base-client/components/common/XTable/XTable.vue +262 -0
  61. package/src/base-client/components/common/XTable/index.js +3 -0
  62. package/src/base-client/components/common/XTable/index.md +255 -0
  63. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +105 -0
  64. package/src/base-client/components/common/XTreeOne/index.js +3 -0
  65. package/src/base-client/components/iot/CustomerDetailsView/CustomerDetailsView.vue +226 -0
  66. package/src/base-client/components/iot/CustomerDetailsView/index.js +3 -0
  67. package/src/base-client/components/iot/CustomerDetailsView/index.md +41 -0
  68. package/src/base-client/components/iot/DataAnalysisUser/DataAnalysisUser.vue +127 -0
  69. package/src/base-client/components/iot/DataAnalysisUser/index.js +3 -0
  70. package/src/base-client/components/iot/DataAnalysisView/DataAnalysisView.vue +250 -0
  71. package/src/base-client/components/iot/DataAnalysisView/index.js +3 -0
  72. package/src/base-client/components/iot/DataAnalysisViewGD/DataAnalysisViewGD.vue +548 -0
  73. package/src/base-client/components/iot/DataAnalysisViewGD/WindowTemplate/WindowInfotemp.vue +99 -0
  74. package/src/base-client/components/iot/DataAnalysisViewGD/WindowTemplate/index.js +3 -0
  75. package/src/base-client/components/iot/DataAnalysisViewGD/index.js +3 -0
  76. package/src/base-client/components/iot/DeviceBrandDetailsView/DeviceBrandDetailsView.vue +453 -0
  77. package/src/base-client/components/iot/DeviceBrandDetailsView/index.js +3 -0
  78. package/src/base-client/components/iot/DeviceDetailsView/DeviceDetailsView.vue +231 -0
  79. package/src/base-client/components/iot/DeviceDetailsView/index.js +3 -0
  80. package/src/base-client/components/iot/DeviceDetailsView/index.md +43 -0
  81. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsCount.vue +330 -0
  82. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsException.vue +57 -0
  83. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstruct.vue +122 -0
  84. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstructOperate.vue +122 -0
  85. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsMain.vue +225 -0
  86. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsRead.vue +135 -0
  87. package/src/base-client/components/iot/DeviceDetailsView/part/index.js +8 -0
  88. package/src/base-client/components/iot/DeviceTypeDetailsView/DeviceTypeDetailsView.vue +277 -0
  89. package/src/base-client/components/iot/DeviceTypeDetailsView/index.js +3 -0
  90. package/src/base-client/components/iot/InstructDetailsView/InstructDetailsView.vue +472 -0
  91. package/src/{components → base-client/components/iot}/InstructDetailsView/index.js +0 -0
  92. package/src/base-client/components/iot/InstructDetailsView/index.md +45 -0
  93. package/src/base-client/components/iot/LogDetailsView/LogDetailsView.vue +380 -0
  94. package/src/base-client/components/iot/LogDetailsView/index.js +3 -0
  95. package/src/base-client/components/iot/LogDetailsView/index.md +43 -0
  96. package/src/base-client/components/iot/MeterDetailsView/MeterDetailsView.vue +360 -0
  97. package/src/{components → base-client/components/iot}/MeterDetailsView/index.js +0 -0
  98. package/src/base-client/components/iot/MeterDetailsView/index.md +43 -0
  99. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsCount.vue +335 -381
  100. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsException.vue +185 -204
  101. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsHandPlan.vue +292 -320
  102. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsInstruct.vue +237 -278
  103. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsMain.vue +257 -247
  104. package/src/{components → base-client/components/iot}/MeterDetailsView/part/MeterDetailsSellGas.vue +190 -211
  105. package/src/base-client/components/iot/MeterDetailsView/part/index.js +9 -0
  106. package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +723 -0
  107. package/src/base-client/components/iot/WebmeterAnalysisView/index.js +3 -0
  108. package/src/base-client/components/iot/WebmeterAnalysisView/index.md +48 -0
  109. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -0
  110. package/src/base-client/components/system/DictionaryDetailsView/index.js +3 -0
  111. package/src/base-client/components/system/DictionaryDetailsView/index.md +41 -0
  112. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +248 -0
  113. package/src/base-client/components/system/QueryParamsDetailsView/index.js +3 -0
  114. package/src/base-client/components/ticket/EmployeeDetailsView/EmployeeDetailsView.vue +406 -0
  115. package/src/base-client/components/ticket/EmployeeDetailsView/index.js +3 -0
  116. package/src/base-client/components/ticket/EmployeeDetailsView/index.md +28 -0
  117. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +486 -0
  118. package/src/base-client/components/ticket/TicketDetailsView/index.js +3 -0
  119. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -0
  120. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +184 -0
  121. package/src/base-client/components/ticket/TicketDetailsView/part/index.js +3 -0
  122. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +303 -0
  123. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.js +3 -0
  124. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -0
  125. package/src/base-client/plugins/AppData.js +69 -0
  126. package/src/{plugins → base-client/plugins}/Config.js +1 -1
  127. package/src/base-client/plugins/GetLoginInfoService.js +221 -0
  128. package/src/{plugins → base-client/plugins}/PagedList.js +0 -0
  129. package/src/base-client/plugins/authority-plugin.js +167 -0
  130. package/src/base-client/plugins/i18n-extend.js +32 -0
  131. package/src/base-client/plugins/index.js +21 -0
  132. package/src/{plugins → base-client/plugins}/moment.js +8 -8
  133. package/src/base-client/plugins/tabs-page-plugin.js +38 -0
  134. package/src/bootstrap.js +27 -0
  135. package/src/components/Charts/Bar.vue +62 -0
  136. package/src/components/Charts/ChartCard.vue +120 -0
  137. package/src/components/Charts/DataUserOrderSituation.vue +77 -0
  138. package/src/components/Charts/DataUserReporting.vue +74 -0
  139. package/src/components/Charts/DataUserSituation.vue +107 -0
  140. package/src/components/Charts/Liquid.vue +67 -0
  141. package/src/components/Charts/MiniArea.vue +39 -0
  142. package/src/components/Charts/MiniBar.vue +39 -0
  143. package/src/components/Charts/MiniProgress.vue +75 -0
  144. package/src/components/Charts/MiniSmoothArea.vue +40 -0
  145. package/src/components/Charts/Radar.vue +68 -0
  146. package/src/components/Charts/RankList.vue +77 -0
  147. package/src/components/Charts/TagCloud.vue +113 -0
  148. package/src/components/Charts/TransferBar.vue +64 -0
  149. package/src/components/Charts/Trend.vue +82 -0
  150. package/src/components/Charts/chart.less +13 -0
  151. package/src/components/Charts/smooth.area.less +14 -0
  152. package/src/components/Ellipsis/Ellipsis.vue +64 -0
  153. package/src/components/Ellipsis/index.js +3 -0
  154. package/src/components/Ellipsis/index.md +38 -0
  155. package/src/components/NumberInfo/NumberInfo.vue +54 -0
  156. package/src/components/NumberInfo/index.js +3 -0
  157. package/src/components/NumberInfo/index.less +55 -0
  158. package/src/components/NumberInfo/index.md +43 -0
  159. package/src/components/STable/README.md +341 -0
  160. package/src/components/STable/index.js +316 -0
  161. package/src/components/Trend/Trend.vue +41 -0
  162. package/src/components/Trend/index.js +3 -0
  163. package/src/components/Trend/index.less +42 -0
  164. package/src/components/Trend/index.md +45 -0
  165. package/src/components/_util/util.js +46 -0
  166. package/src/components/cache/AKeepAlive.js +172 -0
  167. package/src/components/card/ChartCard.vue +79 -0
  168. package/src/components/chart/Bar.vue +60 -0
  169. package/src/components/chart/MiniArea.vue +67 -0
  170. package/src/components/chart/MiniBar.vue +59 -0
  171. package/src/components/chart/MiniProgress.vue +57 -0
  172. package/src/components/chart/Radar.vue +80 -0
  173. package/src/components/chart/RankingList.vue +60 -0
  174. package/src/components/chart/Trend.vue +79 -0
  175. package/src/components/chart/index.less +9 -0
  176. package/src/components/checkbox/ColorCheckbox.vue +157 -0
  177. package/src/components/checkbox/ImgCheckbox.vue +163 -0
  178. package/src/components/checkbox/index.js +7 -0
  179. package/src/components/dataAnalysisView/UserData.vue +61 -0
  180. package/src/components/exception/ExceptionPage.vue +70 -0
  181. package/src/components/exception/typeConfig.js +19 -0
  182. package/src/components/form/FormRow.vue +52 -0
  183. package/src/components/index.js +36 -0
  184. package/src/components/index.less +6 -0
  185. package/src/components/input/IInput.vue +66 -0
  186. package/src/components/menu/Contextmenu.vue +84 -0
  187. package/src/components/menu/SideMenu.vue +62 -0
  188. package/src/components/menu/index.less +38 -0
  189. package/src/components/menu/menu.js +273 -0
  190. package/src/components/page/header/PageHeader.vue +64 -0
  191. package/src/components/page/header/index.less +40 -0
  192. package/src/components/result/Result.vue +77 -0
  193. package/src/components/setting/Setting.vue +237 -0
  194. package/src/components/setting/SettingItem.vue +26 -0
  195. package/src/components/setting/i18n.js +117 -0
  196. package/src/components/table/StandardTable.vue +142 -0
  197. package/src/components/table/advance/ActionColumns.vue +158 -0
  198. package/src/components/table/advance/ActionSize.vue +45 -0
  199. package/src/components/table/advance/AdvanceTable.vue +275 -0
  200. package/src/components/table/advance/SearchArea.vue +355 -0
  201. package/src/components/table/advance/index.js +2 -0
  202. package/src/components/table/api/ApiTable.vue +50 -0
  203. package/src/components/task/TaskGroup.vue +80 -0
  204. package/src/components/task/TaskItem.vue +26 -0
  205. package/src/components/tool/AStepItem.vue +60 -0
  206. package/src/components/tool/AvatarList.vue +69 -0
  207. package/src/components/tool/DetailList.vue +157 -0
  208. package/src/components/tool/Drawer.vue +142 -0
  209. package/src/components/tool/FooterToolBar.vue +30 -0
  210. package/src/components/tool/HeadInfo.vue +35 -0
  211. package/src/components/tool/TagSelect.vue +83 -0
  212. package/src/components/tool/TagSelectOption.vue +33 -0
  213. package/src/components/transition/PageToggleTransition.vue +97 -0
  214. package/src/config/config.js +13 -0
  215. package/src/config/default/admin.config.js +18 -0
  216. package/src/config/default/animate.config.js +21 -0
  217. package/src/config/default/antd.config.js +84 -0
  218. package/src/config/default/index.js +6 -0
  219. package/src/config/default/setting.config.js +33 -0
  220. package/src/config/index.js +6 -0
  221. package/src/config/replacer/index.js +10 -0
  222. package/src/config/replacer/resolve.config.js +67 -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 +15 -7
  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/guards.js +104 -0
  297. package/src/router/i18n.js +57 -0
  298. package/src/router/index.js +27 -0
  299. package/src/services/api/CustomerDetailsViewApi.js +6 -0
  300. package/src/services/api/DeviceBrandDetailsViewApi.js +14 -0
  301. package/src/services/api/DeviceDetailsViewApi.js +10 -0
  302. package/src/services/api/DeviceTypeDetailsViewApi.js +6 -0
  303. package/src/services/api/DictionaryDetailsViewApi.js +6 -0
  304. package/src/services/api/EmployeeDetailsViewApi.js +16 -0
  305. package/src/services/api/FormGroupEditApi.js +6 -0
  306. package/src/services/api/InstructDetailsViewApi.js +12 -0
  307. package/src/services/api/LogDetailsViewApi.js +10 -0
  308. package/src/services/api/MeterDetailsViewApi.js +24 -0
  309. package/src/services/api/QueryParamsDetailsViewApi.js +6 -0
  310. package/src/services/api/TicketDetailsViewApi.js +30 -0
  311. package/src/services/api/WebmeterAnalysisViewApi.js +30 -0
  312. package/src/services/api/common.js +39 -0
  313. package/src/services/api/iot.js +7 -0
  314. package/src/services/api/manage.js +12 -0
  315. package/src/services/api/restTools.js +23 -0
  316. package/src/services/api/service.js +12 -0
  317. package/src/services/api.js +11 -0
  318. package/src/services/dataSource.js +12 -0
  319. package/src/services/index.js +7 -0
  320. package/src/services/user.js +34 -0
  321. package/src/store/index.js +5 -0
  322. package/src/store/modules/account.js +103 -0
  323. package/src/store/modules/index.js +4 -0
  324. package/src/store/modules/setting.js +114 -0
  325. package/src/store/mutation-types.js +1 -0
  326. package/src/theme/antd/ant-menu.less +3 -0
  327. package/src/theme/antd/ant-message.less +3 -0
  328. package/src/theme/antd/ant-table.less +22 -0
  329. package/src/theme/antd/ant-time-picker.less +3 -0
  330. package/src/theme/antd/index.less +4 -0
  331. package/src/theme/default/color.less +43 -0
  332. package/src/theme/default/index.less +3 -0
  333. package/src/theme/default/nprogress.less +76 -0
  334. package/src/theme/default/style.less +33 -0
  335. package/src/theme/global.less +130 -0
  336. package/src/theme/index.less +5 -0
  337. package/src/theme/reportTable.less +58 -0
  338. package/src/theme/theme.less +1 -0
  339. package/src/utils/Objects.js +25 -0
  340. package/src/utils/authority-utils.js +85 -0
  341. package/src/utils/axios-interceptors.js +82 -0
  342. package/src/utils/colors.js +103 -0
  343. package/src/utils/excel/Blob.js +181 -0
  344. package/src/utils/excel/Export2Excel.js +142 -0
  345. package/src/utils/filter.js +21 -0
  346. package/src/utils/formatter.js +68 -0
  347. package/src/utils/i18n.js +80 -0
  348. package/src/utils/indexedDB.js +146 -0
  349. package/src/utils/request.js +197 -0
  350. package/src/utils/routerUtil.js +353 -0
  351. package/src/utils/theme-color-replacer-extend.js +92 -0
  352. package/src/utils/themeUtil.js +102 -0
  353. package/src/utils/util.js +134 -0
  354. package/tests/unit/ReportTable.spec.js +15 -0
  355. package/vue.config.js +153 -0
  356. package/webpack.config.js +12 -0
  357. package/src/api/business.js +0 -30
  358. package/src/api/common.js +0 -6
  359. package/src/assets/logo.png +0 -0
  360. package/src/components/Criteria/Criteria.vue +0 -191
  361. package/src/components/Criteria/CriteriaPaged.vue +0 -50
  362. package/src/components/Criteria/index.js +0 -7
  363. package/src/components/Criteria/index.md +0 -120
  364. package/src/components/DataGrid/DataGrid.vue +0 -206
  365. package/src/components/DataGrid/index.js +0 -3
  366. package/src/components/DataGrid/index.md +0 -195
  367. package/src/components/ExportExcel/ExportExcel.vue +0 -246
  368. package/src/components/ExportExcel/index.js +0 -3
  369. package/src/components/ExportExcel/index.md +0 -76
  370. package/src/components/FormItem/index.js +0 -3
  371. package/src/components/InstructDetailsView/InstructDetailsView.vue +0 -518
  372. package/src/components/InstructDetailsView/index.md +0 -40
  373. package/src/components/MetaAnalysis/MetaAnalysis.vue +0 -183
  374. package/src/components/MetaAnalysis/demo/A.vue +0 -31
  375. package/src/components/MetaAnalysis/demo/B.vue +0 -31
  376. package/src/components/MetaAnalysis/demo/C.vue +0 -31
  377. package/src/components/MetaAnalysis/demo/MetaTest.vue +0 -44
  378. package/src/components/MetaAnalysis/index.js +0 -3
  379. package/src/components/MetaAnalysis/index.md +0 -255
  380. package/src/components/MeterDetailsView/MeterDetailsView.vue +0 -317
  381. package/src/components/MeterDetailsView/index.md +0 -40
  382. package/src/components/MeterDetailsView/part/index.js +0 -9
  383. package/src/components/ModalView/Modal.vue +0 -100
  384. package/src/components/ModalView/index.js +0 -3
  385. package/src/components/WCriteria/WCriteria.vue +0 -191
  386. package/src/components/WCriteria/WCriteriaPaged.vue +0 -95
  387. package/src/components/WCriteria/index.js +0 -7
  388. package/src/components/WCriteria/index.md +0 -120
  389. package/src/components/WTable/WTable.vue +0 -216
  390. package/src/components/WTable/index.js +0 -3
  391. package/src/components/WTable/index.md +0 -195
  392. package/src/plugins/AppData.js +0 -39
  393. package/src/plugins/GetLoginInfoService.js +0 -475
  394. package/src/plugins/MessageBox.js +0 -15
@@ -0,0 +1,190 @@
1
+ <template>
2
+ <div :class="['tabs-head', layout, pageWidth]">
3
+ <a-tabs
4
+ type="editable-card"
5
+ :class="['tabs-container', layout, pageWidth, {'affixed' : affixed, 'fixed-header' : fixedHeader, 'collapsed' : adminLayout.collapsed}]"
6
+ :active-key="active"
7
+ :hide-add="true"
8
+ >
9
+ <a-tooltip placement="left" :title="lockTitle" slot="tabBarExtraContent">
10
+ <a-icon
11
+ theme="filled"
12
+ @click="onLockClick"
13
+ class="header-lock"
14
+ :type="fixedTabs ? 'lock' : 'unlock'"
15
+ />
16
+ </a-tooltip>
17
+ <a-tab-pane v-for="page in pageList" :key="page.path">
18
+ <div slot="tab" class="tab" @contextmenu="e => onContextmenu(page.path, e)">
19
+ <a-icon @click="onRefresh(page)" :class="['icon-sync', {'hide': page.path !== active && !page.loading}]" :type="page.loading ? 'loading' : 'sync'" />
20
+ <div class="title" @click="onTabClick(page.path)" >{{ pageName(page) }}</div>
21
+ <a-icon v-if="!page.unclose" @click="onClose(page.path)" class="icon-close" type="close"/>
22
+ </div>
23
+ </a-tab-pane>
24
+ </a-tabs>
25
+ <div v-if="affixed" class="virtual-tabs"></div>
26
+ </div>
27
+ </template>
28
+
29
+ <script>
30
+ import { mapState, mapMutations } from 'vuex'
31
+ import { getI18nKey } from '@vue2-client/utils/routerUtil'
32
+
33
+ export default {
34
+ name: 'TabsHead',
35
+ i18n: {
36
+ messages: {
37
+ CN: {
38
+ lock: '点击锁定页签头',
39
+ unlock: '点击解除锁定'
40
+ },
41
+ HK: {
42
+ lock: '點擊鎖定頁簽頭',
43
+ unlock: '點擊解除鎖定'
44
+ },
45
+ US: {
46
+ lock: 'click to lock the tabs head',
47
+ unlock: 'click to unlock'
48
+ }
49
+ }
50
+ },
51
+ props: {
52
+ // eslint-disable-next-line vue/require-default-prop
53
+ pageList: Array,
54
+ // eslint-disable-next-line vue/require-default-prop
55
+ active: String,
56
+ fixed: Boolean
57
+ },
58
+ data () {
59
+ return {
60
+ affixed: false
61
+ }
62
+ },
63
+ inject: ['adminLayout'],
64
+ created () {
65
+ this.affixed = this.fixedTabs
66
+ },
67
+ computed: {
68
+ ...mapState('setting', ['layout', 'pageWidth', 'fixedHeader', 'fixedTabs', 'customTitles']),
69
+ lockTitle () {
70
+ return this.$t(this.fixedTabs ? 'unlock' : 'lock')
71
+ }
72
+ },
73
+ methods: {
74
+ ...mapMutations('setting', ['setFixedTabs']),
75
+ onLockClick () {
76
+ this.setFixedTabs(!this.fixedTabs)
77
+ if (this.fixedTabs) {
78
+ setTimeout(() => {
79
+ this.affixed = true
80
+ }, 200)
81
+ } else {
82
+ this.affixed = false
83
+ }
84
+ },
85
+ onTabClick (key) {
86
+ if (this.active !== key) {
87
+ this.$emit('change', key)
88
+ }
89
+ },
90
+ onClose (key) {
91
+ this.$emit('close', key)
92
+ },
93
+ onRefresh (page) {
94
+ this.$emit('refresh', page.path, page)
95
+ },
96
+ onContextmenu (pageKey, e) {
97
+ this.$emit('contextmenu', pageKey, e)
98
+ },
99
+ pageName (page) {
100
+ const pagePath = page.fullPath.split('?')[0]
101
+ const custom = this.customTitles.find(item => item.path === pagePath)
102
+ return (custom && custom.title) || page.title || this.$t(getI18nKey(page.keyPath))
103
+ }
104
+ }
105
+ }
106
+ </script>
107
+
108
+ <style scoped lang="less">
109
+ .tab{
110
+ margin: 0 -16px;
111
+ padding: 0 16px;
112
+ font-size: 14px;
113
+ user-select: none;
114
+ transition: all 0.2s;
115
+ .title{
116
+ display: inline-block;
117
+ height: 100%;
118
+ }
119
+ .icon-close{
120
+ font-size: 12px;
121
+ margin-left: 6px;
122
+ margin-right: -4px !important;
123
+ color: @text-color-second;
124
+ &:hover{
125
+ color: @text-color;
126
+ }
127
+ }
128
+ .icon-sync{
129
+ margin-left: -4px;
130
+ color: @primary-4;
131
+ transition: all 0.3s ease-in-out;
132
+ &:hover{
133
+ color: @primary-color;
134
+ }
135
+ font-size: 14px;
136
+ &.hide{
137
+ font-size: 0;
138
+ }
139
+ }
140
+ }
141
+ .tabs-head{
142
+ margin: 0 auto;
143
+ &.head.fixed{
144
+ width: 1400px;
145
+ }
146
+ }
147
+ .tabs-container{
148
+ margin: -16px auto 8px;
149
+ transition: top,left 0.2s;
150
+ .header-lock{
151
+ font-size: 18px;
152
+ cursor: pointer;
153
+ color: @primary-3;
154
+ &:hover{
155
+ color: @primary-color;
156
+ }
157
+ }
158
+ &.affixed{
159
+ margin: 0 auto;
160
+ top: 0px;
161
+ padding: 8px 24px 0;
162
+ position: fixed;
163
+ height: 48px;
164
+ z-index: 1;
165
+ background-color: @layout-body-background;
166
+ &.side,&.mix{
167
+ right: 0;
168
+ left: 256px;
169
+ &.collapsed{
170
+ left: 80px;
171
+ }
172
+ }
173
+ &.head{
174
+ width: inherit;
175
+ padding: 8px 0 0;
176
+ &.fluid{
177
+ left: 0;
178
+ right: 0;
179
+ padding: 8px 24px 0;
180
+ }
181
+ }
182
+ &.fixed-header{
183
+ top: 64px;
184
+ }
185
+ }
186
+ }
187
+ .virtual-tabs{
188
+ height: 48px;
189
+ }
190
+ </style>
@@ -0,0 +1,355 @@
1
+ <template>
2
+ <admin-layout>
3
+ <contextmenu :itemList="menuItemList" :visible.sync="menuVisible" @select="onMenuSelect" />
4
+ <tabs-head
5
+ v-if="multiPage"
6
+ :active="activePage"
7
+ :page-list="pageList"
8
+ @change="changePage"
9
+ @close="remove"
10
+ @refresh="refresh"
11
+ @contextmenu="onContextmenu"
12
+ />
13
+ <div :class="['tabs-view-content', layout, pageWidth]" :style="`margin-top: ${multiPage ? -24 : 0}px`">
14
+ <page-toggle-transition v-show="!$route.meta.singlePage" :disabled="animate.disabled" :animate="animate.name" :direction="animate.direction">
15
+ <a-keep-alive :exclude-keys="excludeKeys" v-if="multiPage && cachePage" v-model="clearCaches">
16
+ <router-view v-if="!refreshing" ref="tabContent" :key="$route.path" />
17
+ </a-keep-alive>
18
+ <router-view ref="tabContent" v-else-if="!refreshing" />
19
+ </page-toggle-transition>
20
+ <div v-show="$route.meta.singlePage && this.single.length > 0">
21
+ <template v-for="page in single">
22
+ <single-page-view v-show="page.meta.singlePage === $route.meta.singlePage" :single-page-url="{url:page.meta.singlePage}" :key="page.meta.singlePage"></single-page-view>
23
+ </template>
24
+ </div>
25
+ </div>
26
+ </admin-layout>
27
+ </template>
28
+
29
+ <script>
30
+ import AdminLayout from '@vue2-client/layouts/AdminLayout'
31
+ import Contextmenu from '@vue2-client/components/menu/Contextmenu'
32
+ import PageToggleTransition from '@vue2-client/components/transition/PageToggleTransition'
33
+ import { mapState, mapMutations } from 'vuex'
34
+ import { getI18nKey } from '@vue2-client/utils/routerUtil'
35
+ import AKeepAlive from '@vue2-client/components/cache/AKeepAlive'
36
+ import TabsHead from '@vue2-client/layouts/tabs/TabsHead'
37
+ import SinglePageView from '../SinglePageView'
38
+
39
+ export default {
40
+ name: 'TabsView',
41
+ i18n: require('./i18n'),
42
+ components: { SinglePageView, TabsHead, PageToggleTransition, Contextmenu, AdminLayout, AKeepAlive },
43
+ data () {
44
+ return {
45
+ clearCaches: [],
46
+ pageList: [],
47
+ activePage: '',
48
+ menuVisible: false,
49
+ refreshing: false,
50
+ allSinglePages: [],
51
+ excludeKeys: []
52
+ }
53
+ },
54
+ computed: {
55
+ ...mapState('setting', ['multiPage', 'cachePage', 'animate', 'layout', 'pageWidth']),
56
+ ...mapState('account', ['single']),
57
+ menuItemList () {
58
+ return [
59
+ { key: '1', icon: 'vertical-right', text: this.$t('closeLeft') },
60
+ { key: '2', icon: 'vertical-left', text: this.$t('closeRight') },
61
+ { key: '3', icon: 'close', text: this.$t('closeOthers') },
62
+ { key: '4', icon: 'sync', text: this.$t('refresh') }
63
+ ]
64
+ },
65
+ tabsOffset () {
66
+ return this.multiPage ? 24 : 0
67
+ }
68
+ },
69
+ created () {
70
+ this.loadCacheConfig(this.$router?.options?.routes)
71
+ this.loadCachedTabs()
72
+ const route = this.$route
73
+ if (this.pageList.findIndex(item => item.path === route.path) === -1) {
74
+ this.pageList.push(this.createPage(route))
75
+ }
76
+ this.activePage = route.path
77
+ if (this.multiPage) {
78
+ this.$nextTick(() => {
79
+ this.setCachedKey(route)
80
+ })
81
+ this.addListener()
82
+ }
83
+ },
84
+ mounted () {
85
+ this.correctPageMinHeight(-this.tabsOffset)
86
+ },
87
+ beforeDestroy () {
88
+ this.removeListener()
89
+ this.correctPageMinHeight(this.tabsOffset)
90
+ },
91
+ watch: {
92
+ '$router.options.routes': function (val) {
93
+ this.excludeKeys = []
94
+ this.loadCacheConfig(val)
95
+ },
96
+ '$route': function (newRoute) {
97
+ this.activePage = newRoute.path
98
+ const page = this.pageList.find(item => item.path === newRoute.path)
99
+ if (!this.multiPage) {
100
+ this.pageList = [this.createPage(newRoute)]
101
+ } else if (page) {
102
+ page.fullPath = newRoute.fullPath
103
+ } else if (!page) {
104
+ this.pageList.push(this.createPage(newRoute))
105
+ }
106
+ if (this.multiPage) {
107
+ this.$nextTick(() => {
108
+ this.setCachedKey(newRoute)
109
+ })
110
+ }
111
+ },
112
+ 'multiPage': function (newVal) {
113
+ if (!newVal) {
114
+ this.pageList = [this.createPage(this.$route)]
115
+ this.removeListener()
116
+ } else {
117
+ this.addListener()
118
+ }
119
+ },
120
+ tabsOffset (newVal, oldVal) {
121
+ this.correctPageMinHeight(oldVal - newVal)
122
+ }
123
+ },
124
+ methods: {
125
+ changePage (key) {
126
+ this.activePage = key
127
+ const page = this.pageList.find(item => item.path === key)
128
+ this.$router.push(page.fullPath)
129
+ },
130
+ remove (key, next) {
131
+ this.setSingle({ path: key, delete: true })
132
+ if (this.pageList.length === 1) {
133
+ return this.$message.warning(this.$t('warn'))
134
+ }
135
+ // 清除缓存
136
+ let index = this.pageList.findIndex(item => item.path === key)
137
+ this.clearCaches = this.pageList.splice(index, 1).map(page => page.cachedKey)
138
+ if (next) {
139
+ this.$router.push(next)
140
+ } else if (key === this.activePage) {
141
+ index = index >= this.pageList.length ? this.pageList.length - 1 : index
142
+ this.activePage = this.pageList[index].path
143
+ this.$router.push(this.activePage)
144
+ }
145
+ },
146
+ refresh (key, page) {
147
+ page = page || this.pageList.find(item => item.path === key)
148
+ page.loading = true
149
+ this.clearCache(page)
150
+ if (key === this.activePage) {
151
+ // eslint-disable-next-line no-return-assign
152
+ this.reloadContent(() => page.loading = false)
153
+ } else {
154
+ // 其实刷新很快,加这个延迟纯粹为了 loading 状态多展示一会儿,让用户感知刷新这一过程
155
+ // eslint-disable-next-line no-return-assign
156
+ setTimeout(() => page.loading = false, 500)
157
+ }
158
+ },
159
+ onContextmenu (pageKey, e) {
160
+ if (pageKey) {
161
+ e.preventDefault()
162
+ e.meta = pageKey
163
+ this.menuVisible = true
164
+ }
165
+ },
166
+ onMenuSelect (key, target, pageKey) {
167
+ switch (key) {
168
+ case '1': this.closeLeft(pageKey); break
169
+ case '2': this.closeRight(pageKey); break
170
+ case '3': this.closeOthers(pageKey); break
171
+ case '4': this.refresh(pageKey); break
172
+ default: break
173
+ }
174
+ },
175
+ closeOthers (pageKey) {
176
+ // 清除缓存
177
+ const clearPages = this.pageList.filter(item => item.path !== pageKey && !item.unclose)
178
+ this.clearCaches = clearPages.map(item => item.cachedKey)
179
+ this.pageList = this.pageList.filter(item => !clearPages.includes(item))
180
+ // 判断跳转
181
+ if (this.activePage != pageKey) {
182
+ this.activePage = pageKey
183
+ this.$router.push(this.activePage)
184
+ }
185
+ },
186
+ closeLeft (pageKey) {
187
+ const index = this.pageList.findIndex(item => item.path === pageKey)
188
+ // 清除缓存
189
+ const clearPages = this.pageList.filter((item, i) => i < index && !item.unclose)
190
+ this.clearCaches = clearPages.map(item => item.cachedKey)
191
+ this.pageList = this.pageList.filter(item => !clearPages.includes(item))
192
+ // 判断跳转
193
+ if (!this.pageList.find(item => item.path === this.activePage)) {
194
+ this.activePage = pageKey
195
+ this.$router.push(this.activePage)
196
+ }
197
+ },
198
+ closeRight (pageKey) {
199
+ // 清除缓存
200
+ const index = this.pageList.findIndex(item => item.path === pageKey)
201
+ const clearPages = this.pageList.filter((item, i) => i > index && !item.unclose)
202
+ this.clearCaches = clearPages.map(item => item.cachedKey)
203
+ this.pageList = this.pageList.filter(item => !clearPages.includes(item))
204
+ // 判断跳转
205
+ if (!this.pageList.find(item => item.path === this.activePage)) {
206
+ this.activePage = pageKey
207
+ this.$router.push(this.activePage)
208
+ }
209
+ },
210
+ clearCache (page) {
211
+ page._init_ = false
212
+ this.clearCaches = [page.cachedKey]
213
+ },
214
+ reloadContent (onLoaded) {
215
+ this.refreshing = true
216
+ setTimeout(() => {
217
+ this.refreshing = false
218
+ this.$nextTick(() => {
219
+ this.setCachedKey(this.$route)
220
+ if (typeof onLoaded === 'function') {
221
+ onLoaded.apply(this, [])
222
+ }
223
+ })
224
+ }, 200)
225
+ },
226
+ pageName (page) {
227
+ return this.$t(getI18nKey(page.keyPath))
228
+ },
229
+ /**
230
+ * 添加监听器
231
+ */
232
+ addListener () {
233
+ window.addEventListener('page:close', this.closePageListener)
234
+ window.addEventListener('page:refresh', this.refreshPageListener)
235
+ window.addEventListener('unload', this.unloadListener)
236
+ },
237
+ /**
238
+ * 移出监听器
239
+ */
240
+ removeListener () {
241
+ window.removeEventListener('page:close', this.closePageListener)
242
+ window.removeEventListener('page:refresh', this.refreshPageListener)
243
+ window.removeEventListener('unload', this.unloadListener)
244
+ },
245
+ /**
246
+ * 页签关闭事件监听
247
+ * @param event 页签关闭事件
248
+ */
249
+ closePageListener (event) {
250
+ const { closeRoute, nextRoute } = event.detail
251
+ const closePath = typeof closeRoute === 'string' ? closeRoute : closeRoute.path
252
+ const path = closePath && closePath.split('?')[0]
253
+ this.remove(path, nextRoute)
254
+ },
255
+ /**
256
+ * 页面刷新事件监听
257
+ * @param event 页签关闭事件
258
+ */
259
+ refreshPageListener (event) {
260
+ const { pageKey } = event.detail
261
+ const path = pageKey && pageKey.split('?')[0]
262
+ this.refresh(path)
263
+ },
264
+ /**
265
+ * 页面 unload 事件监听器,添加页签到 session 缓存,用于刷新时保留页签
266
+ */
267
+ unloadListener () {
268
+ const tabs = this.pageList.map(item => ({ ...item, _init_: false }))
269
+ sessionStorage.setItem(process.env.VUE_APP_TBAS_KEY, JSON.stringify(tabs))
270
+ },
271
+ createPage (route) {
272
+ return {
273
+ keyPath: route.matched[route.matched.length - 1].path,
274
+ fullPath: route.fullPath,
275
+ loading: false,
276
+ path: route.path,
277
+ title: route.meta && route.meta.page && route.meta.page.title,
278
+ unclose: route.meta && route.meta.page && (route.meta.page.closable === false)
279
+ }
280
+ },
281
+ /**
282
+ * 设置页面缓存的key
283
+ * @param route 页面对应的路由
284
+ */
285
+ setCachedKey (route) {
286
+ const page = this.pageList.find(item => item.path === route.path)
287
+ page.unclose = route.meta && route.meta.page && (route.meta.page.closable === false)
288
+ if (!page._init_) {
289
+ const vnode = this.$refs.tabContent.$vnode
290
+ page.cachedKey = vnode.key + vnode.componentOptions.Ctor.cid
291
+ page._init_ = true
292
+ }
293
+ },
294
+ /**
295
+ * 加载缓存的 tabs
296
+ */
297
+ loadCachedTabs () {
298
+ const cachedTabsStr = sessionStorage.getItem(process.env.VUE_APP_TBAS_KEY)
299
+ if (cachedTabsStr) {
300
+ try {
301
+ // 加载缓存的单页面
302
+ const allCachedPath = JSON.parse(cachedTabsStr).map(str => { return str.fullPath })
303
+ this.allSinglePages.map(item => {
304
+ if (allCachedPath.includes(item.fullPath)) {
305
+ // 如果缓存中有单页面 加载到 state.single
306
+ this.setSingle(item)
307
+ }
308
+ })
309
+ const cachedTabs = JSON.parse(cachedTabsStr)
310
+ if (cachedTabs.length > 0) {
311
+ this.pageList = cachedTabs
312
+ }
313
+ } catch (e) {
314
+ console.warn('failed to load cached tabs, got exception:', e)
315
+ } finally {
316
+ sessionStorage.removeItem(process.env.VUE_APP_TBAS_KEY)
317
+ }
318
+ }
319
+ },
320
+ loadCacheConfig (routes, pCache = true) {
321
+ routes.forEach(item => {
322
+ const cacheAble = item.meta?.page?.cacheAble ?? pCache ?? true
323
+ if (item.meta && item.meta.singlePage) {
324
+ // 找到所有单页面添加到 allSinglePages 中
325
+ this.allSinglePages.push(item)
326
+ }
327
+ if (!cacheAble) {
328
+ this.excludeKeys.push(new RegExp(`${item.path}\\d+$`))
329
+ }
330
+ if (item.children) {
331
+ this.loadCacheConfig(item.children, cacheAble)
332
+ }
333
+ })
334
+ },
335
+ ...mapMutations('setting', ['correctPageMinHeight']),
336
+ ...mapMutations('account', ['setSingle'])
337
+ }
338
+ }
339
+ </script>
340
+
341
+ <style scoped lang="less">
342
+ .tabs-view{
343
+ margin: -16px auto 8px;
344
+ &.head.fixed{
345
+ max-width: 1400px;
346
+ }
347
+ }
348
+ .tabs-view-content{
349
+ position: relative;
350
+ &.head.fixed{
351
+ width: 1400px;
352
+ margin: 0 auto;
353
+ }
354
+ }
355
+ </style>
@@ -0,0 +1,25 @@
1
+ module.exports = {
2
+ messages: {
3
+ CN: {
4
+ closeLeft: '关闭左侧',
5
+ closeRight: '关闭右侧',
6
+ closeOthers: '关闭其它',
7
+ refresh: '刷新页面',
8
+ warn: '这是最后一页,不能再关闭了'
9
+ },
10
+ HK: {
11
+ closeLeft: '關閉左側',
12
+ closeRight: '關閉右側',
13
+ closeOthers: '關閉其它',
14
+ refresh: '刷新頁面',
15
+ warn: '這是最後一頁,不能再關閉了'
16
+ },
17
+ US: {
18
+ closeLeft: 'close left',
19
+ closeRight: 'close right',
20
+ closeOthers: 'close others',
21
+ refresh: 'refresh the page',
22
+ warn: 'This is the last page, you can\'t close it'
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,2 @@
1
+ import TabsView from './TabsView'
2
+ export default TabsView
package/src/main.js CHANGED
@@ -1,12 +1,20 @@
1
1
  import Vue from 'vue'
2
- // import App from './App.vue'
3
- import Antd from 'ant-design-vue';
4
- import 'ant-design-vue/dist/antd.css';
5
- import 'index'
6
- Vue.config.productionTip = false
2
+ import App from './App.vue'
3
+ import Router from 'vue-router'
4
+ import Vuex from 'vuex'
5
+ import '@vue2-client/mock'
6
+ import { routerOptions, modules, i18n, message, bootstrap } from '../index'
7
7
 
8
- Vue.use(Antd);
8
+ Vue.use(Router)
9
+ Vue.use(Vuex)
10
+ // 创建router store
11
+ const store = new Vuex.Store({ modules })
12
+ const router = new Router(routerOptions)
9
13
 
14
+ bootstrap({ router, store, i18n, message })
10
15
  new Vue({
11
- render: h => h(App),
16
+ router,
17
+ store,
18
+ i18n,
19
+ render: h => h(App)
12
20
  }).$mount('#app')
@@ -0,0 +1,32 @@
1
+ import { users, groups } from './index'
2
+
3
+ const events = [
4
+ {
5
+ type: 0,
6
+ event: '八月迭代'
7
+ },
8
+ {
9
+ type: 1,
10
+ event: '留言'
11
+ },
12
+ {
13
+ type: 2,
14
+ event: '项目进展'
15
+ }
16
+ ]
17
+
18
+ const activities = users.map((user, index) => {
19
+ return {
20
+ user: Object.assign({}, user, { group: groups[user.groupId] }),
21
+ activity: events[index % events.length],
22
+ template: ''
23
+ }
24
+ })
25
+
26
+ const templates = [
27
+ (user, activity) => { return `${user.name} 在 <a >${user.group}</a> 新建项目 <a>${activity.event}</a>` },
28
+ (user, activity) => { return `${user.name} 在 <a >${user.group}</a> 发布了 <a>${activity.event}</a>` },
29
+ (user, activity) => { return `${user.name} 将 <a >${activity.event}</a> 更新至已发布状态` }
30
+ ]
31
+
32
+ export { activities, templates }