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,341 @@
1
+ Table 重封装组件说明
2
+ ====
3
+
4
+
5
+ 封装说明
6
+ ----
7
+
8
+ > 基础的使用方式与 API 与 [官方版(Table)](https://vuecomponent.github.io/ant-design-vue/components/table-cn/) 本一致,在其基础上,封装了加载数据的方法。
9
+ >
10
+ > 你无需在你是用表格的页面进行分页逻辑处理,仅需向 Table 组件传递绑定 `:data="Promise"` 对象即可
11
+
12
+ 该 `table` 由 [@Saraka](https://github.com/saraka-tsukai) 完成封装
13
+
14
+
15
+ 例子1
16
+ ----
17
+ (基础使用)
18
+
19
+ ```vue
20
+
21
+ <template>
22
+ <s-table
23
+ ref="table"
24
+ size="default"
25
+ :rowKey="(record) => record.data.id"
26
+ :columns="columns"
27
+ :data="loadData"
28
+ :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
29
+ >
30
+ </s-table>
31
+ </template>
32
+
33
+ <script>
34
+ import STable from '@/components'
35
+
36
+ export default {
37
+ components: {
38
+ STable
39
+ },
40
+ data() {
41
+ return {
42
+ columns: [
43
+ {
44
+ title: '规则编号',
45
+ dataIndex: 'no'
46
+ },
47
+ {
48
+ title: '描述',
49
+ dataIndex: 'description'
50
+ },
51
+ {
52
+ title: '服务调用次数',
53
+ dataIndex: 'callNo',
54
+ sorter: true,
55
+ needTotal: true,
56
+ customRender: (text) => text + ' 次'
57
+ },
58
+ {
59
+ title: '状态',
60
+ dataIndex: 'status',
61
+ needTotal: true
62
+ },
63
+ {
64
+ title: '更新时间',
65
+ dataIndex: 'updatedAt',
66
+ sorter: true
67
+ }
68
+ ],
69
+ // 查询条件参数
70
+ queryParam: {},
71
+ // 加载数据方法 必须为 Promise 对象
72
+ loadData: parameter => {
73
+ return this.$http.get('/service', {
74
+ params: Object.assign(parameter, this.queryParam)
75
+ }).then(res => {
76
+ return res.result
77
+ })
78
+ },
79
+ selectedRowKeys: [],
80
+ selectedRows: []
81
+ }
82
+ },
83
+ methods: {
84
+ onSelectChange (selectedRowKeys, selectedRows) {
85
+ this.selectedRowKeys = selectedRowKeys
86
+ this.selectedRows = selectedRows
87
+ }
88
+ }
89
+ }
90
+ </script>
91
+
92
+ ```
93
+
94
+
95
+
96
+ 例子2
97
+ ----
98
+
99
+ (简单的表格,最后一列是各种操作)
100
+
101
+ ```vue
102
+ <template>
103
+ <s-table
104
+ ref="table"
105
+ size="default"
106
+ :columns="columns"
107
+ :data="loadData"
108
+ >
109
+ <span slot="action" slot-scope="text, record">
110
+ <a>编辑</a>
111
+ <a-divider type="vertical"/>
112
+ <a-dropdown>
113
+ <a class="ant-dropdown-link">
114
+ 更多 <a-icon type="down"/>
115
+ </a>
116
+ <a-menu slot="overlay">
117
+ <a-menu-item>
118
+ <a href="javascript:;">1st menu item</a>
119
+ </a-menu-item>
120
+ <a-menu-item>
121
+ <a href="javascript:;">2nd menu item</a>
122
+ </a-menu-item>
123
+ <a-menu-item>
124
+ <a href="javascript:;">3rd menu item</a>
125
+ </a-menu-item>
126
+ </a-menu>
127
+ </a-dropdown>
128
+ </span>
129
+ </s-table>
130
+ </template>
131
+
132
+ <script>
133
+ import STable from '@/components/table/'
134
+
135
+ export default {
136
+ components: {
137
+ STable
138
+ },
139
+ data() {
140
+ return {
141
+ columns: [
142
+ {
143
+ title: '规则编号',
144
+ dataIndex: 'no'
145
+ },
146
+ {
147
+ title: '描述',
148
+ dataIndex: 'description'
149
+ },
150
+ {
151
+ title: '服务调用次数',
152
+ dataIndex: 'callNo',
153
+ },
154
+ {
155
+ title: '状态',
156
+ dataIndex: 'status',
157
+ },
158
+ {
159
+ title: '更新时间',
160
+ dataIndex: 'updatedAt',
161
+ },
162
+ {
163
+ table: '操作',
164
+ dataIndex: 'action',
165
+ scopedSlots: {customRender: 'action'},
166
+ }
167
+ ],
168
+ // 查询条件参数
169
+ queryParam: {},
170
+ // 加载数据方法 必须为 Promise 对象
171
+ loadData: parameter => {
172
+ return this.$http.get('/service', {
173
+ params: Object.assign(parameter, this.queryParam)
174
+ }).then(res => {
175
+ return res.result
176
+ })
177
+ },
178
+ }
179
+ },
180
+ methods: {
181
+ edit(row) {
182
+ // axios 发送数据到后端 修改数据成功后
183
+ // 调用 refresh() 重新加载列表数据
184
+ // 这里 setTimeout 模拟发起请求的网络延迟..
185
+ setTimeout(() => {
186
+ this.$refs.table.refresh() // refresh() 不传参默认值 false 不刷新到分页第一页
187
+ }, 1500)
188
+
189
+ }
190
+ }
191
+ }
192
+ </script>
193
+ ```
194
+
195
+
196
+
197
+ 内置方法
198
+ ----
199
+
200
+ 通过 `this.$refs.table` 调用
201
+
202
+ `this.$refs.table.refresh(true)` 刷新列表 (用户新增/修改数据后,重载列表数据)
203
+
204
+ > 注意:要调用 `refresh(bool)` 需要给表格组件设定 `ref` 值
205
+ >
206
+ > `refresh()` 方法可以传一个 `bool` 值,当有传值 或值为 `true` 时,则刷新时会强制刷新到第一页(常用户页面 搜索 按钮进行搜索时,结果从第一页开始分页)
207
+
208
+
209
+ 内置属性
210
+ ----
211
+ > 除去 `a-table` 自带属性外,还而外提供了一些额外属性属性
212
+
213
+
214
+ | 属性 | 说明 | 类型 | 默认值 |
215
+ | -------------- | ----------------------------------------------- | ----------------- | ------ |
216
+ | alert | 设置是否显示表格信息栏 | [object, boolean] | null |
217
+ | showPagination | 显示分页选择器,可传 'auto' \| boolean | [string, boolean] | 'auto' |
218
+ | data | 加载数据方法 必须为 `Promise` 对象 **必须绑定** | Promise | - |
219
+
220
+
221
+ `alert` 属性对象:
222
+
223
+ ```javascript
224
+ alert: {
225
+ show: Boolean,
226
+ clear: [Function, Boolean]
227
+ }
228
+ ```
229
+
230
+ 注意事项
231
+ ----
232
+
233
+ > 你可能需要为了与后端提供的接口返回结果一致而去修改以下代码:
234
+ > (需要注意的是,这里的修改是全局性的,意味着整个项目所有使用该 table 组件都需要遵守这个返回结果定义的字段。)
235
+ >
236
+ > 文档中的结构有可能由于组件 bug 进行修正而改动。实际修改请以当时最新版本为准
237
+
238
+ 修改 `@/components/table/index.js` 第 156 行起
239
+
240
+
241
+
242
+ ```javascript
243
+ result.then(r => {
244
+ this.localPagination = this.showPagination && Object.assign({}, this.localPagination, {
245
+ current: r.pageNo, // 返回结果中的当前分页数
246
+ total: r.totalCount, // 返回结果中的总记录数
247
+ showSizeChanger: this.showSizeChanger,
248
+ pageSize: (pagination && pagination.pageSize) ||
249
+ this.localPagination.pageSize
250
+ }) || false
251
+ // 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页
252
+ if (r.data.length === 0 && this.showPagination && this.localPagination.current > 1) {
253
+ this.localPagination.current--
254
+ this.loadData()
255
+ return
256
+ }
257
+
258
+ // 这里用于判断接口是否有返回 r.totalCount 且 this.showPagination = true 且 pageNo 和 pageSize 存在 且 totalCount 小于等于 pageNo * pageSize 的大小
259
+ // 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能
260
+ try {
261
+ if ((['auto', true].includes(this.showPagination) && r.totalCount <= (r.pageNo * this.localPagination.pageSize))) {
262
+ this.localPagination.hideOnSinglePage = true
263
+ }
264
+ } catch (e) {
265
+ this.localPagination = false
266
+ }
267
+ console.log('loadData -> this.localPagination', this.localPagination)
268
+ this.localDataSource = r.data // 返回结果中的数组数据
269
+ this.localLoading = false
270
+ })
271
+ ```
272
+ 返回 JSON 例子:
273
+ ```json
274
+ {
275
+ "message": "",
276
+ "result": {
277
+ "data": [{
278
+ id: 1,
279
+ cover: 'https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png',
280
+ title: 'Alipay',
281
+ description: '那是一种内在的东西, 他们到达不了,也无法触及的',
282
+ status: 1,
283
+ updatedAt: '2018-07-26 00:00:00'
284
+ },
285
+ {
286
+ id: 2,
287
+ cover: 'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png',
288
+ title: 'Angular',
289
+ description: '希望是一个好东西,也许是最好的,好东西是不会消亡的',
290
+ status: 1,
291
+ updatedAt: '2018-07-26 00:00:00'
292
+ },
293
+ {
294
+ id: 3,
295
+ cover: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png',
296
+ title: 'Ant Design',
297
+ description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆',
298
+ status: 1,
299
+ updatedAt: '2018-07-26 00:00:00'
300
+ },
301
+ {
302
+ id: 4,
303
+ cover: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png',
304
+ title: 'Ant Design Pro',
305
+ description: '那时候我只会想自己想要什么,从不想自己拥有什么',
306
+ status: 1,
307
+ updatedAt: '2018-07-26 00:00:00'
308
+ },
309
+ {
310
+ id: 5,
311
+ cover: 'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png',
312
+ title: 'Bootstrap',
313
+ description: '凛冬将至',
314
+ status: 1,
315
+ updatedAt: '2018-07-26 00:00:00'
316
+ },
317
+ {
318
+ id: 6,
319
+ cover: 'https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png',
320
+ title: 'Vue',
321
+ description: '生命就像一盒巧克力,结果往往出人意料',
322
+ status: 1,
323
+ updatedAt: '2018-07-26 00:00:00'
324
+ }
325
+ ],
326
+ "pageSize": 10,
327
+ "pageNo": 0,
328
+ "totalPage": 6,
329
+ "totalCount": 57
330
+ },
331
+ "status": 200,
332
+ "timestamp": 1534955098193
333
+ }
334
+ ```
335
+
336
+
337
+
338
+ 更新时间
339
+ ----
340
+
341
+ 该文档最后更新于: 2019-06-23 PM 17:19
@@ -0,0 +1,316 @@
1
+ import T from 'ant-design-vue/es/table/Table'
2
+ import get from 'lodash.get'
3
+
4
+ export default {
5
+ data () {
6
+ return {
7
+ needTotalList: [],
8
+
9
+ selectedRows: [],
10
+ selectedRowKeys: [],
11
+
12
+ localLoading: false,
13
+ localDataSource: [],
14
+ localPagination: Object.assign({}, this.pagination)
15
+ }
16
+ },
17
+ props: Object.assign({}, T.props, {
18
+ rowKey: {
19
+ type: [String, Function],
20
+ default: 'key'
21
+ },
22
+ data: {
23
+ type: Function,
24
+ required: true
25
+ },
26
+ pageNum: {
27
+ type: Number,
28
+ default: 1
29
+ },
30
+ pageSize: {
31
+ type: Number,
32
+ default: 10
33
+ },
34
+ showSizeChanger: {
35
+ type: Boolean,
36
+ default: true
37
+ },
38
+ size: {
39
+ type: String,
40
+ default: 'default'
41
+ },
42
+ /**
43
+ * alert: {
44
+ * show: true,
45
+ * clear: Function
46
+ * }
47
+ */
48
+ alert: {
49
+ type: [Object, Boolean],
50
+ default: null
51
+ },
52
+ rowSelection: {
53
+ type: Object,
54
+ default: null
55
+ },
56
+ /** @Deprecated */
57
+ showAlertInfo: {
58
+ type: Boolean,
59
+ default: false
60
+ },
61
+ showPagination: {
62
+ type: String | Boolean,
63
+ default: 'auto'
64
+ },
65
+ /**
66
+ * enable page URI mode
67
+ *
68
+ * e.g:
69
+ * /users/1
70
+ * /users/2
71
+ * /users/3?queryParam=test
72
+ * ...
73
+ */
74
+ pageURI: {
75
+ type: Boolean,
76
+ default: false
77
+ }
78
+ }),
79
+ watch: {
80
+ 'localPagination.current' (val) {
81
+ this.pageURI && this.$router.push({
82
+ ...this.$route,
83
+ name: this.$route.name,
84
+ params: Object.assign({}, this.$route.params, {
85
+ pageNo: val
86
+ })
87
+ })
88
+ // change pagination, reset total data
89
+ this.needTotalList = this.initTotalList(this.columns)
90
+ this.selectedRowKeys = []
91
+ this.selectedRows = []
92
+ },
93
+ pageNum (val) {
94
+ Object.assign(this.localPagination, {
95
+ current: val
96
+ })
97
+ },
98
+ pageSize (val) {
99
+ Object.assign(this.localPagination, {
100
+ pageSize: val
101
+ })
102
+ },
103
+ showSizeChanger (val) {
104
+ Object.assign(this.localPagination, {
105
+ showSizeChanger: val
106
+ })
107
+ }
108
+ },
109
+ created () {
110
+ const { pageNo } = this.$route.params
111
+ const localPageNum = this.pageURI && (pageNo && parseInt(pageNo)) || this.pageNum
112
+ this.localPagination = ['auto', true].includes(this.showPagination) && Object.assign({}, this.localPagination, {
113
+ current: localPageNum,
114
+ pageSize: this.pageSize,
115
+ showSizeChanger: this.showSizeChanger
116
+ }) || false
117
+ this.needTotalList = this.initTotalList(this.columns)
118
+ this.loadData()
119
+ },
120
+ methods: {
121
+ /**
122
+ * 表格重新加载方法
123
+ * 如果参数为 true, 则强制刷新到第一页
124
+ * @param Boolean bool
125
+ */
126
+ refresh (bool = false) {
127
+ bool && (this.localPagination = Object.assign({}, {
128
+ current: 1, pageSize: this.pageSize
129
+ }))
130
+ this.loadData()
131
+ },
132
+ /**
133
+ * 加载数据方法
134
+ * @param {Object} pagination 分页选项器
135
+ * @param {Object} filters 过滤条件
136
+ * @param {Object} sorter 排序条件
137
+ */
138
+ loadData (pagination, filters, sorter) {
139
+ this.localLoading = true
140
+ const parameter = Object.assign({
141
+ pageNo: (pagination && pagination.current) ||
142
+ this.showPagination && this.localPagination.current || this.pageNum,
143
+ pageSize: (pagination && pagination.pageSize) ||
144
+ this.showPagination && this.localPagination.pageSize || this.pageSize
145
+ },
146
+ (sorter && sorter.field && {
147
+ sortField: sorter.field
148
+ }) || {},
149
+ (sorter && sorter.order && {
150
+ sortOrder: sorter.order
151
+ }) || {}, {
152
+ ...filters
153
+ }
154
+ )
155
+ const result = this.data(parameter)
156
+ // 对接自己的通用数据接口需要修改下方代码中的 r.pageNo, r.totalCount, r.data
157
+ // eslint-disable-next-line
158
+ if ((typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function') {
159
+ result.then(r => {
160
+ this.localPagination = this.showPagination && Object.assign({}, this.localPagination, {
161
+ current: r.pageNo, // 返回结果中的当前分页数
162
+ total: r.totalCount, // 返回结果中的总记录数
163
+ showSizeChanger: this.showSizeChanger,
164
+ showTotal: (total, range) => range[0] === range[1] ? `第 ${range[0]} / 共 ${total} 条, 合计 ${r.totalPage} 页` : `第 ${range[0]} ~ ${range[1]} / 共 ${total} 条, 合计 ${r.totalPage} 页`,
165
+ pageSize: (pagination && pagination.pageSize) || this.localPagination.pageSize
166
+ }) || false
167
+ // 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页
168
+ if (r.data.length === 0 && this.showPagination && this.localPagination.current > 1) {
169
+ this.localPagination.current--
170
+ this.loadData()
171
+ return
172
+ }
173
+
174
+ // 这里用于判断接口是否有返回 r.totalCount 且 this.showPagination = true 且 pageNo 和 pageSize 存在 且 totalCount 小于等于 pageNo * pageSize 的大小
175
+ // 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能
176
+ try {
177
+ if ((['auto', true].includes(this.showPagination) && r.totalCount <= (r.pageNo * this.localPagination.pageSize))) {
178
+ this.localPagination.hideOnSinglePage = true
179
+ }
180
+ } catch (e) {
181
+ this.localPagination = false
182
+ }
183
+ this.localDataSource = r.data // 返回结果中的数组数据
184
+ this.localLoading = false
185
+ })
186
+ }
187
+ },
188
+ initTotalList (columns) {
189
+ const totalList = []
190
+ columns && columns instanceof Array && columns.forEach(column => {
191
+ if (column.needTotal) {
192
+ totalList.push({
193
+ ...column,
194
+ total: 0
195
+ })
196
+ }
197
+ })
198
+ return totalList
199
+ },
200
+ /**
201
+ * 用于更新已选中的列表数据 total 统计
202
+ * @param selectedRowKeys
203
+ * @param selectedRows
204
+ */
205
+ updateSelect (selectedRowKeys, selectedRows) {
206
+ this.selectedRows = selectedRows
207
+ this.selectedRowKeys = selectedRowKeys
208
+ const list = this.needTotalList
209
+ this.needTotalList = list.map(item => {
210
+ return {
211
+ ...item,
212
+ total: selectedRows.reduce((sum, val) => {
213
+ const total = sum + parseInt(get(val, item.dataIndex))
214
+ return isNaN(total) ? 0 : total
215
+ }, 0)
216
+ }
217
+ })
218
+ },
219
+ /**
220
+ * 清空 table 已选中项
221
+ */
222
+ clearSelected () {
223
+ if (this.rowSelection) {
224
+ this.rowSelection.onChange([], [])
225
+ this.updateSelect([], [])
226
+ }
227
+ },
228
+ /**
229
+ * 处理交给 table 使用者去处理 clear 事件时,内部选中统计同时调用
230
+ * @param callback
231
+ * @returns {*}
232
+ */
233
+ renderClear (callback) {
234
+ if (this.selectedRowKeys.length <= 0) return null
235
+ return (
236
+ <a style="margin-left: 24px" onClick={() => {
237
+ callback()
238
+ this.clearSelected()
239
+ }}>清空</a>
240
+ )
241
+ },
242
+ renderAlert () {
243
+ // 绘制统计列数据
244
+ const needTotalItems = this.needTotalList.map((item) => {
245
+ return (<span style="margin-right: 12px">
246
+ {item.title}总计 <a style="font-weight: 600">{!item.customRender ? item.total : item.customRender(item.total)}</a>
247
+ </span>)
248
+ })
249
+
250
+ // 绘制 清空 按钮
251
+ const clearItem = (typeof this.alert.clear === 'boolean' && this.alert.clear) ? (
252
+ this.renderClear(this.clearSelected)
253
+ ) : (this.alert !== null && typeof this.alert.clear === 'function') ? (
254
+ this.renderClear(this.alert.clear)
255
+ ) : null
256
+
257
+ // 绘制 alert 组件
258
+ return (
259
+ <a-alert showIcon={true} style="margin-bottom: 16px">
260
+ <template slot="message">
261
+ <span style="margin-right: 12px">已选择: <a style="font-weight: 600">{this.selectedRows.length}</a></span>
262
+ {needTotalItems}
263
+ {clearItem}
264
+ </template>
265
+ </a-alert>
266
+ )
267
+ }
268
+ },
269
+
270
+ render () {
271
+ const props = {}
272
+ const localKeys = Object.keys(this.$data)
273
+ const showAlert = (typeof this.alert === 'object' && this.alert !== null && this.alert.show) && typeof this.rowSelection.selectedRowKeys !== 'undefined' || this.alert
274
+
275
+ Object.keys(T.props).forEach(k => {
276
+ const localKey = `local${k.substring(0, 1).toUpperCase()}${k.substring(1)}`
277
+ if (localKeys.includes(localKey)) {
278
+ props[k] = this[localKey]
279
+ return props[k]
280
+ }
281
+ if (k === 'rowSelection') {
282
+ if (showAlert && this.rowSelection) {
283
+ // 如果需要使用alert,则重新绑定 rowSelection 事件
284
+ props[k] = {
285
+ ...this.rowSelection,
286
+ selectedRows: this.selectedRows,
287
+ selectedRowKeys: this.selectedRowKeys,
288
+ onChange: (selectedRowKeys, selectedRows) => {
289
+ this.updateSelect(selectedRowKeys, selectedRows)
290
+ typeof this[k].onChange !== 'undefined' && this[k].onChange(selectedRowKeys, selectedRows)
291
+ }
292
+ }
293
+ return props[k]
294
+ } else if (!this.rowSelection) {
295
+ // 如果没打算开启 rowSelection 则清空默认的选择项
296
+ props[k] = null
297
+ return props[k]
298
+ }
299
+ }
300
+ this[k] && (props[k] = this[k])
301
+ return props[k]
302
+ })
303
+ const table = (
304
+ <a-table {...{ props, scopedSlots: { ...this.$scopedSlots } }} onChange={this.loadData} onExpand={ (expanded, record) => { this.$emit('expand', expanded, record) } }>
305
+ { Object.keys(this.$slots).map(name => (<template slot={name}>{this.$slots[name]}</template>)) }
306
+ </a-table>
307
+ )
308
+
309
+ return (
310
+ <div class="table-wrapper">
311
+ { showAlert ? this.renderAlert() : null }
312
+ { table }
313
+ </div>
314
+ )
315
+ }
316
+ }
@@ -0,0 +1,41 @@
1
+ <template>
2
+ <div :class="[prefixCls, reverseColor && 'reverse-color' ]">
3
+ <span>
4
+ <slot name="term"></slot>
5
+ <span class="item-text">
6
+ <slot></slot>
7
+ </span>
8
+ </span>
9
+ <span :class="[flag]"><a-icon :type="`caret-${flag}`"/></span>
10
+ </div>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ name: 'Trend',
16
+ props: {
17
+ prefixCls: {
18
+ type: String,
19
+ default: 'ant-pro-trend'
20
+ },
21
+ /**
22
+ * 上升下降标识:up|down
23
+ */
24
+ flag: {
25
+ type: String,
26
+ required: true
27
+ },
28
+ /**
29
+ * 颜色反转
30
+ */
31
+ reverseColor: {
32
+ type: Boolean,
33
+ default: false
34
+ }
35
+ }
36
+ }
37
+ </script>
38
+
39
+ <style lang="less" scoped>
40
+ @import "index";
41
+ </style>
@@ -0,0 +1,3 @@
1
+ import Trend from './Trend.vue'
2
+
3
+ export default Trend