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,275 @@
1
+ <template>
2
+ <a-drawer
3
+ title="设备类型配置生成"
4
+ placement="right"
5
+ :width="isMobile ? screenWidth : screenWidth * 0.85"
6
+ :visible="visible"
7
+ @close="onClose"
8
+ >
9
+ <a-row :gutter="24">
10
+ <a-col :xl="12" :lg="12" :md="12" :sm="24" :xs="24">
11
+ <div class="page-header-index-wide">
12
+ <a-card :bordered="false">
13
+ <div slot="title">
14
+ <div v-show="changeflag" >
15
+ <a-button v-show="treeData.length === 0" @click="showModal('eventAddRoot')">添加根节点</a-button>
16
+ <a-divider v-show="treeData.length === 0" type="vertical" />
17
+ <a-button v-show="treeData.length > 0" @click="showModal('eventAddSame')">添加同级</a-button>
18
+ <a-divider v-show="treeData.length > 0" type="vertical" />
19
+ <a-button v-show="treeData.length > 0" @click="showModal('eventAddSub')">添加下级</a-button>
20
+ <a-divider v-show="treeData.length > 0" type="vertical" />
21
+ <a-button v-show="treeData.length > 0" @click="showModal('eventModify')">修改</a-button>
22
+ <a-divider v-show="treeData.length > 0" type="vertical" />
23
+ <a-button v-show="treeData.length > 0" @click="eventDelete">删除</a-button>
24
+ </div>
25
+ </div>
26
+ <a-tree
27
+ :tree-data="treeData"
28
+ @select="onEventTreeNodeSelected"
29
+ :defaultExpandAll="true"
30
+ :selectedKeys.sync="selectKeys"
31
+ showLine >
32
+ <template slot="custom" slot-scope="item">
33
+ <div style="position: relative;float:left;">
34
+ {{ item.title }}
35
+ </div>
36
+ <div v-show="item.visibleModel" style="position: absolute;height:25px;top: 3%;left:3.8%" >
37
+ <a-input-group compact>
38
+ <a-input type="text" style="width: 30%" placeholder="名称" ref="myInput" v-model="nowchangetitle" />
39
+ <a-input type="text" style="width: 30%" placeholder="值" ref="myInput" v-model="nowchangevalue" />
40
+ <a-button
41
+ @click="handleOk(item)"
42
+ type="link">
43
+ 保存
44
+ </a-button>
45
+ <a-divider type="vertical" />
46
+ <a-button
47
+ @click="handleCancel(item)"
48
+ type="link"
49
+ >取消</a-button>
50
+ </a-input-group>
51
+ </div>
52
+ </template>
53
+ </a-tree>
54
+ </a-card>
55
+ </div>
56
+ </a-col>
57
+ <a-col :xl="12" :lg="12" :md="12" :sm="24" :xs="24">
58
+ <a-card :bordered="false" title="预览" size="small" style="overflow: auto">
59
+ <json-viewer :copyable="{copyText: '复制', copiedText: '已复制'}" :value="treeData" :expand-depth="parseInt('100')" style="overflow: auto;max-height: 440px"></json-viewer>
60
+ </a-card>
61
+ </a-col>
62
+ </a-row>
63
+ </a-drawer>
64
+ </template>
65
+
66
+ <script>
67
+
68
+ import { mapState } from 'vuex'
69
+ import JsonViewer from 'vue-json-viewer'
70
+
71
+ export default {
72
+ name: 'LogDetailsView',
73
+ data () {
74
+ return {
75
+ // 页面宽度
76
+ screenWidth: document.documentElement.clientWidth,
77
+ selectKeys: [],
78
+ treeData: [],
79
+ eventSelectedNode: null,
80
+ // 当前操作类型
81
+ operate: '',
82
+ // 新建节点中的值
83
+ nowchangetitle: '',
84
+ // 新建节点中的值
85
+ nowchangevalue: '',
86
+ // 操作按钮显示控制
87
+ changeflag: true
88
+ }
89
+ },
90
+ props: {
91
+ visible: {
92
+ type: Boolean,
93
+ default: () => {
94
+ return false
95
+ }
96
+ }
97
+ },
98
+ components: {
99
+ JsonViewer
100
+ },
101
+ methods: {
102
+ showModal (operate) {
103
+ if (!this.eventSelectedNode && this.treeData.length > 0) {
104
+ this.$message.warning('请选择节点后进行操作')
105
+ return
106
+ }
107
+ if (operate === 'eventAddSame' && this.eventSelectedNode && !this.eventSelectedNode.$parent.dataRef && this.treeData.length > 0) {
108
+ this.$message.warning('不能给根节点添加同级')
109
+ return
110
+ }
111
+ this.changeflag = false
112
+ this.operate = operate
113
+ switch (this.operate) {
114
+ case 'eventAddRoot':
115
+ this.eventAddRoot()
116
+ break
117
+ case 'eventAddSame':
118
+ this.eventAddSame()
119
+ break
120
+ case 'eventAddSub':
121
+ this.eventAddSub()
122
+ break
123
+ case 'eventModify':
124
+ this.nowchangetitle = this.eventSelectedNode.dataRef.title
125
+ this.nowchangevalue = this.eventSelectedNode.dataRef.value
126
+ this.setvisibleModel(true, 'visibleModel')
127
+ break
128
+ default:
129
+ this.$message.warning('未获取到操作指令')
130
+ }
131
+ },
132
+ handleOk (item) {
133
+ if (this.operate === 'eventModify') {
134
+ this.eventModify()
135
+ } else {
136
+ this.eventSelectedNode.dataRef.title = this.nowchangetitle
137
+ this.eventSelectedNode.dataRef.value = this.nowchangevalue
138
+ }
139
+ this.setvisibleModel(false, 'visibleModel')
140
+ this.clearnodename()
141
+ },
142
+ setvisibleModel (flag, value) {
143
+ const dataRef = this.eventSelectedNode.dataRef
144
+ this.$set(dataRef, value, flag)
145
+ },
146
+ handleCancel (item) {
147
+ if (this.operate === 'eventModify') {
148
+ this.setvisibleModel(false, 'visibleModel')
149
+ } else if (this.operate === 'eventAddRoot') {
150
+ this.treeData = []
151
+ } else {
152
+ this.searchitem(item, this.treeData)
153
+ }
154
+ this.clearnodename()
155
+ },
156
+ searchitem (option, arr, type = 'delete') {
157
+ // 递归删除树中某个节点
158
+ for (let s = 0; s < arr.length; s++) {
159
+ if (arr[s].key === option.key) {
160
+ if (type === 'delete') {
161
+ arr.splice(s, 1)
162
+ }
163
+ break
164
+ } else if (arr[s].children && arr[s].children.length > 0) { // 递归条件
165
+ this.searchitem(option, arr[s].children)
166
+ } else {
167
+ continue
168
+ }
169
+ }
170
+ },
171
+ clearnodename () {
172
+ this.operate = ''
173
+ this.nowchangetitle = ''
174
+ this.nowchangevalue = ''
175
+ this.changeflag = true
176
+ },
177
+ onClose () {
178
+ this.$emit('update:visible', false)
179
+ },
180
+ onEventTreeNodeSelected (seleteKeys, e) {
181
+ if (e.selected) {
182
+ this.eventSelectedNode = e.node
183
+ return
184
+ }
185
+ this.eventSelectedNode = null
186
+ },
187
+ eventAddRoot () {
188
+ this.$set(this.treeData, 'children', [])
189
+ this.treeData.push({
190
+ title: '',
191
+ value: '',
192
+ key: new Date().getTime(),
193
+ scopedSlots: { title: 'custom' },
194
+ visibleModel: true
195
+ })
196
+ },
197
+ eventAddSame () {
198
+ // 查找父级
199
+ const dataRef = this.eventSelectedNode.$parent.dataRef
200
+ if (!dataRef.children) {
201
+ this.$set(dataRef, 'children', [])
202
+ }
203
+ dataRef.children.push({
204
+ title: '',
205
+ value: '',
206
+ key: new Date().getTime(),
207
+ scopedSlots: { title: 'custom' },
208
+ visibleModel: true
209
+ })
210
+ },
211
+ eventAddSub () {
212
+ const dataRef = this.eventSelectedNode.dataRef
213
+ if (!dataRef.children) {
214
+ this.$set(dataRef, 'children', [])
215
+ }
216
+ this.eventSelectedNode.vcTree.$data._expandedKeys.push(dataRef.key)
217
+ dataRef.children.push({
218
+ title: '',
219
+ value: '',
220
+ key: new Date().getTime(),
221
+ scopedSlots: { title: 'custom' },
222
+ children: [],
223
+ visibleModel: true
224
+ })
225
+ },
226
+ eventModify () {
227
+ const dataRef = this.eventSelectedNode.dataRef
228
+ // this.$set(dataRef, 'children', [])
229
+ dataRef.title = this.nowchangetitle
230
+ dataRef.value = this.nowchangevalue
231
+ },
232
+ eventDelete () {
233
+ if (!this.eventSelectedNode.$parent.dataRef) {
234
+ this.treeData = []
235
+ return
236
+ }
237
+ const parentDataRef = this.eventSelectedNode.$parent.dataRef
238
+ // 判断是否是顶层
239
+ const children = parentDataRef.children
240
+ const currentDataRef = this.eventSelectedNode.dataRef
241
+ const index = children.indexOf(currentDataRef)
242
+ children.splice(index, 1)
243
+ },
244
+ onSelect (selectedKeys, info) {
245
+ console.log('selected', selectedKeys, info)
246
+ }
247
+ },
248
+ computed: {
249
+ ...mapState('setting', ['isMobile'])
250
+ }
251
+ }
252
+ </script>
253
+ <style lang="less" scoped>
254
+ .ant-tree-title {
255
+ width: 100%;
256
+ }
257
+ .title {
258
+ float: left;
259
+ }
260
+ .ant-card-body {
261
+ :global {
262
+ .ant-tree {
263
+ line-height: 3;
264
+ li {
265
+ position: relative;
266
+ }
267
+ }
268
+ }
269
+ }
270
+ .ant-card-body .but_type {
271
+ float: right;
272
+ position: absolute;
273
+ right: 40px;
274
+ }
275
+ </style>
@@ -0,0 +1,323 @@
1
+ <template>
2
+ <a-modal
3
+ :title="businessTitle"
4
+ :visible="visible"
5
+ :width="1000"
6
+ @cancel="onClose"
7
+ okText="提交"
8
+ :confirm-loading="loading"
9
+ :zIndex="1001"
10
+ @ok="onSubmit">
11
+ <div class="table-page-search-wrapper">
12
+ <a-form-model
13
+ v-if="loaded"
14
+ ref="selectForm"
15
+ :model="form"
16
+ :rules="rules">
17
+ <a-row :gutter="16">
18
+ <x-form-item
19
+ v-for="(item, index) in realJsonData"
20
+ mode="新增/修改"
21
+ :attr="item"
22
+ :form="form"
23
+ :key="index"
24
+ :disabled="itemDisabled(item)"
25
+ :xl="12"
26
+ :xxl="8"
27
+ />
28
+ <div v-for="group in realJsonSelectsData" :key="group[0].group">
29
+ <x-form-col v-for="groupItem in group" :key="groupItem.group + groupItem.groupIndex" :xl="12" :xxl="8">
30
+ <a-form-model-item :label="groupItem.name" :disabled="itemDisabled(groupItem)">
31
+ <a-select v-model="form[groupItem.model]" :disabled="itemDisabledPlus(groupItem.group,groupItem.groupIndex)" :allowClear="true" @change="selectsItemCheck(groupItem.group,groupItem.groupIndex,form[groupItem.model],group)" placeholder="请选择">
32
+ <template v-for="option in SelectsArray[groupItem.group][groupItem.groupIndex]">
33
+ <a-select-option :key="option.label" :value="option.value">
34
+ {{ option.label }}
35
+ </a-select-option>
36
+ </template>
37
+ </a-select>
38
+ </a-form-model-item>
39
+ </x-form-col>
40
+ </div>
41
+ </a-row>
42
+ </a-form-model>
43
+ </div>
44
+ </a-modal>
45
+ </template>
46
+ <script>
47
+ import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
48
+ import { formatDate } from '@vue2-client/utils/util'
49
+ import { mapState } from 'vuex'
50
+ import { post } from '@vue2-client/services/api/restTools'
51
+
52
+ export default {
53
+ name: 'XAddForm',
54
+ components: {
55
+ XFormItem
56
+ },
57
+ data () {
58
+ return {
59
+ // 内容加载是否完成
60
+ loaded: false,
61
+ // 表单Model
62
+ form: undefined,
63
+ // 多层下拉框组 数据储存
64
+ SelectsArray: {},
65
+ // 多层下拉框组 各组数量
66
+ SelectsNumber: {},
67
+ // 校验
68
+ rules: {},
69
+ // 图标样式
70
+ iconStyle: {
71
+ position: 'relative',
72
+ top: '1px'
73
+ }
74
+ }
75
+ },
76
+ computed: {
77
+ // 过滤出用于新增/修改场景的表单项
78
+ realJsonData: function () {
79
+ return this.jsonData.filter(function (item) {
80
+ return item.addOrEdit && item.addOrEdit !== 'no' && item.addOrEdit !== 'silenceAdd' && !item.group
81
+ })
82
+ },
83
+ // 过滤出多个下拉框分组级联得数据
84
+ realJsonSelectsData: function () {
85
+ const Selectsata = this.jsonData.filter(item => !item.isOnlyAddOrEdit && item.group)
86
+ const groupName = [...new Set(Selectsata.map(item => item.group))]
87
+ // 初始化数据组
88
+ groupName.forEach(item => {
89
+ this.SelectsArray[item] = []
90
+ })
91
+ return groupName.map(groupName => {
92
+ const SelectsItem = Selectsata.filter(item => {
93
+ if (item.groupIndex === 1) {
94
+ if (item.keyName.substring(0, 6) === 'logic@') {
95
+ // 请求logic
96
+ post('/webmeterapi/' + item.keyName.substring(6), {}).then(res => {
97
+ this.SelectsArray[item.group][item.groupIndex] = res
98
+ })
99
+ } else {
100
+ this.SelectsArray[item.group][item.groupIndex] = JSON.parse(item.keyName)
101
+ }
102
+ }
103
+ return item.group === groupName
104
+ }
105
+ )
106
+ this.SelectsNumber[groupName] = SelectsItem.length ? SelectsItem.length : 0
107
+ return SelectsItem
108
+ })
109
+ },
110
+ // 过滤出用于静默新增场景的表单项
111
+ silenceAddJsonData: function () {
112
+ return this.jsonData.filter(function (item) {
113
+ return item.addOrEdit === 'silenceAdd'
114
+ })
115
+ },
116
+ ...mapState('account', { currUser: 'user' })
117
+ },
118
+ props: {
119
+ jsonData: {
120
+ type: Array,
121
+ default: () => {
122
+ return []
123
+ }
124
+ },
125
+ // 是否显示模态框
126
+ visible: {
127
+ type: Boolean,
128
+ default: () => {
129
+ return false
130
+ }
131
+ },
132
+ // 业务类型
133
+ businessType: {
134
+ type: String,
135
+ default: ''
136
+ },
137
+ // 业务标题
138
+ businessTitle: {
139
+ type: String,
140
+ default: ''
141
+ },
142
+ // 修改操作前查询出的业务数据
143
+ modifyModelData: {
144
+ type: Object,
145
+ default: () => {
146
+ return {}
147
+ }
148
+ },
149
+ // 新增或修改业务是否执行中
150
+ loading: {
151
+ type: Boolean,
152
+ default: () => {
153
+ return false
154
+ }
155
+ },
156
+ // 固定新增表单
157
+ fixedAddForm: {
158
+ type: Object,
159
+ default: () => {
160
+ return {}
161
+ }
162
+ }
163
+ },
164
+ watch: {
165
+ visible (rel) {
166
+ if (rel) {
167
+ this.formItemLoad()
168
+ }
169
+ }
170
+ },
171
+ mounted () {
172
+ this.formItemLoad()
173
+ },
174
+ methods: {
175
+ selectsItemCheck (groupName, index, value, group) {
176
+ const tem = { }
177
+ // 获取当前下拉框子下拉框的数据
178
+ this.SelectsArray[groupName][index + 1] = this.SelectsArray[groupName][index].filter(item => item.value === value)[0].children
179
+ // 清空子下拉框的子们的数据
180
+ for (let i = index; i < this.SelectsNumber[groupName]; i++) {
181
+ tem[group[i].model] = undefined
182
+ }
183
+ this.form = Object.assign({}, this.form, tem)
184
+ // 清空子下拉框的子们的数据源
185
+ for (let i = index + 2; i <= this.SelectsNumber[groupName]; i++) {
186
+ this.SelectsArray[groupName][i] = []
187
+ }
188
+ },
189
+ formItemLoad () {
190
+ const formData = Object.assign({}, this.fixedAddForm)
191
+ for (let i = 0; i < this.realJsonData.length; i++) {
192
+ const item = this.realJsonData[i]
193
+ formData[item.model] = undefined
194
+ // 处理表单校验情况
195
+ if (item.rule) {
196
+ this.rules[item.model] = []
197
+ const required = item.rule.required ? item.rule.required === true || item.rule.required === 'true' : false
198
+ let trigger
199
+ let message
200
+ if (required) {
201
+ switch (item.type) {
202
+ case 'select':
203
+ message = '请选择' + item.name
204
+ trigger = 'change'
205
+ break
206
+ default:
207
+ message = '请输入' + item.name
208
+ trigger = 'blur'
209
+ }
210
+ this.rules[item.model].push({
211
+ required: true,
212
+ message: message,
213
+ trigger: trigger
214
+ })
215
+ }
216
+
217
+ switch (item.rule.type) {
218
+ case 'number':
219
+ case 'integer':
220
+ case 'float':
221
+ let defaultValue
222
+ let message
223
+ switch (item.rule.type) {
224
+ case 'number':
225
+ message = '数字'
226
+ defaultValue = 0
227
+ break
228
+ case 'integer':
229
+ message = '整数'
230
+ defaultValue = 0
231
+ break
232
+ case 'float':
233
+ message = '小数'
234
+ defaultValue = 0.0
235
+ break
236
+ }
237
+ this.rules[item.model].push({
238
+ type: item.rule.type,
239
+ message: item.name + '必须为' + message,
240
+ transform: (value) => {
241
+ if (value && value.length !== 0) {
242
+ return Number(value)
243
+ } else {
244
+ return defaultValue
245
+ }
246
+ },
247
+ trigger: 'blur'
248
+ })
249
+ break
250
+ }
251
+ }
252
+ }
253
+ this.form = formData
254
+ if (Object.keys(this.modifyModelData).length > 0) {
255
+ this.getModifyModelData()
256
+ }
257
+ this.loaded = true
258
+ },
259
+ itemDisabled (value) {
260
+ return (this.businessType === '新增' && value.addOrEdit === 'edit') ||
261
+ (this.businessType === '修改' && value.addOrEdit === 'add')
262
+ },
263
+ itemDisabledPlus (group, index) {
264
+ return (!this.SelectsArray[group][index]) || (this.SelectsArray[group][index] && this.SelectsArray[group][index].length === 0)
265
+ },
266
+ resetForm () {
267
+ this.$refs.selectForm.resetFields()
268
+ },
269
+ async onSubmit () {
270
+ this.$refs.selectForm.validate(async valid => {
271
+ for (const key of Object.keys(this.form)) {
272
+ if (this.form[key] === null || this.form[key] === '') {
273
+ this.form[key] = undefined
274
+ }
275
+ }
276
+ const requestParameters = Object.assign({}, this.form)
277
+ // 追加静默新增字段
278
+ if (this.businessType === '新增') {
279
+ for (const item of this.silenceAddJsonData) {
280
+ switch (item.silencePurpose) {
281
+ case 'createTime':
282
+ requestParameters[item.model] = formatDate('now')
283
+ break
284
+ case 'operator':
285
+ requestParameters[item.model] = this.currUser.name
286
+ break
287
+ case 'orgId':
288
+ requestParameters[item.model] = this.currUser.orgid
289
+ break
290
+ }
291
+ }
292
+ // 通过请求追加静默新增:自定义字段
293
+ for (const item of this.silenceAddJsonData.filter((item) => item.silencePurpose === 'customize')) {
294
+ requestParameters[item.model] = await this.getSilenceSource(item.silenceSource, requestParameters)
295
+ }
296
+ }
297
+ const data = {
298
+ valid: valid,
299
+ form: requestParameters
300
+ }
301
+ this.$emit('onSubmit', data)
302
+ })
303
+ },
304
+ async getSilenceSource (silenceSource, requestParameters) {
305
+ const result = await post('/webmeterapi/' + silenceSource, requestParameters)
306
+ return result
307
+ },
308
+ getModifyModelData () {
309
+ for (let i = 0; i < this.realJsonData.length; i++) {
310
+ const item = this.realJsonData[i]
311
+ if (this.modifyModelData[item.model] || this.modifyModelData[item.model] === 0) {
312
+ this.form[item.model] = this.modifyModelData[item.model] + ''
313
+ } else {
314
+ this.form[item.model] = undefined
315
+ }
316
+ }
317
+ },
318
+ onClose () {
319
+ this.$emit('update:visible', false)
320
+ }
321
+ }
322
+ }
323
+ </script>
@@ -0,0 +1,3 @@
1
+ import XAddForm from './XAddForm'
2
+
3
+ export default XAddForm
@@ -0,0 +1,60 @@
1
+ # XAddForm
2
+
3
+ 动态新增/修改表单控件,根据JSON配置生成一个完整的可供新增/修改数据的动态表单
4
+
5
+
6
+ ## 何时使用
7
+
8
+ 当需要一个可供新增/修改数据的动态生成的表单时
9
+
10
+
11
+ 引用方式:
12
+
13
+ ```javascript
14
+ import XAddForm from '@vue2-client/base-client/components/XAddForm/XAddForm'
15
+
16
+ export default {
17
+ components: {
18
+ XAddForm
19
+ }
20
+ }
21
+ ```
22
+
23
+
24
+
25
+ ## 代码演示
26
+
27
+ ```html
28
+ <x-add-form
29
+ :business-title="businessTitle"
30
+ :business-type="businessType"
31
+ :visible.sync="modelVisible"
32
+ :json-data="formItems"
33
+ :modify-model-data="modifyModelData"
34
+ :loading="loading"
35
+ @onSubmit="onAddOrModify">
36
+ </x-add-form>
37
+ ```
38
+
39
+ ## API
40
+
41
+ | 参数 | 说明 | 类型 | 默认值 |
42
+ |-----------------|--------------------------|---------|-------|
43
+ | businessTitle | 业务标题 | String | '' |
44
+ | businessType | 业务类型 | String | '' |
45
+ | visible | 是否显示模态框 | Boolean | false |
46
+ | jsonData | JSON配置,根据[工具>查询配置生成]功能生成 | Object | {} |
47
+ | modifyModelData | 修改操作前查询出的业务数据 | Object | {} |
48
+ | loading | 新增或修改业务是否执行中 | Boolean | false |
49
+ | fixedAddForm | 固定新增表单,会和新增表单合并 | Object | {} |
50
+ | @onSubmit | 表单的提交事件 | event | - |
51
+
52
+ ## 例子1
53
+ ----
54
+ 参考XFormTable组件
55
+ ```
56
+
57
+ 注意事项
58
+ ----
59
+
60
+ > 本组件已经实现了自适应布局,在不同分辨率下的设备均可得到基本理想的展示效果