vue2-client 1.16.62 → 1.16.63

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 (328) hide show
  1. package/.claude/settings.local.json +21 -16
  2. package/.cursorrules +19 -19
  3. package/.env.apply +19 -19
  4. package/.env.gaslink +19 -19
  5. package/.env.his +19 -19
  6. package/.env.liuli +20 -20
  7. package/.env.scada +19 -19
  8. package/.eslintrc.js +90 -90
  9. package/.serena/project.yml +67 -0
  10. package/CHANGELOG.md +824 -824
  11. package/CLAUDE.md +98 -90
  12. package/Components.md +60 -60
  13. package/docs/LowCode/lowcode.md +155 -155
  14. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  15. package/docs/index.md +30 -30
  16. package/index.js +31 -31
  17. package/jest-transform-stub.js +8 -8
  18. package/jest.setup.js +7 -7
  19. package/jsconfig.json +19 -19
  20. package/package.json +2 -2
  21. package/public/his/editor/editor.html +51 -51
  22. package/public/his/editor/mock/bind_data.html +779 -779
  23. package/public/his/editor/mock/data_table.html +40 -40
  24. package/public/his/editor/mock/sign.html +75 -75
  25. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  26. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  27. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  28. package/public/his/editor/vender/date97/calendar.js +4 -4
  29. package/public/his/editor/vender/date97/lang/en.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  31. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  32. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  33. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  34. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  35. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  36. package/public/his/editor/vender/diff.js +1627 -1627
  37. package/public/his/editor/vender/editor.js +1 -1
  38. package/public/his/editor/vender/fabric.js +31187 -31187
  39. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  40. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  41. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  42. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  43. package/public/his/editor/vender/mui/mui.min.css +4 -4
  44. package/public/his/editor/vender/mui/mui.min.js +5 -5
  45. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  46. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  47. package/public/his/editor/vender/qrcode.js +7 -7
  48. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  49. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  50. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  51. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  52. package/public/his/editor/vender/validator.js +5094 -5094
  53. package/public/his/editor/vender/weui/weui.css +5659 -5659
  54. package/public/his/editor/vender/weui/weui.min.css +4 -4
  55. package/public/his/editor/vender/weui/weui.min.js +11 -11
  56. package/src/assets/img/querySlotDemo.svg +15 -15
  57. package/src/assets/svg/badtwo.svg +1 -1
  58. package/src/assets/svg/goodtwo.svg +1 -1
  59. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  60. package/src/base-client/components/AI/demo.vue +31 -31
  61. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  62. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  63. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  64. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  65. package/src/base-client/components/common/CitySelect/index.js +3 -3
  66. package/src/base-client/components/common/CitySelect/index.md +109 -109
  67. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  68. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  69. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  70. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  71. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  72. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  73. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  74. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  75. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  76. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  77. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  78. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  79. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  80. package/src/base-client/components/common/HIS/demo.vue +61 -61
  81. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  82. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  83. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  84. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  85. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  86. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  88. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  89. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  90. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  95. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  96. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  97. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  98. package/src/base-client/components/common/Recording/index.js +3 -3
  99. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  100. package/src/base-client/components/common/Tree/index.js +2 -2
  101. package/src/base-client/components/common/Upload/Upload.vue +334 -334
  102. package/src/base-client/components/common/Upload/index.js +3 -3
  103. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  104. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  105. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  106. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  107. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  108. package/src/base-client/components/common/XAddReport/index.js +3 -3
  109. package/src/base-client/components/common/XAddReport/index.md +56 -56
  110. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  111. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  112. package/src/base-client/components/common/XButtons/index.js +3 -3
  113. package/src/base-client/components/common/XButtons/index.md +61 -61
  114. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  115. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  116. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  117. package/src/base-client/components/common/XDataCard/index.js +3 -3
  118. package/src/base-client/components/common/XDataCard/index.md +1 -1
  119. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  120. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  121. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  122. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  123. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  124. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  125. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  126. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  127. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  128. package/src/base-client/components/common/XForm/index.md +178 -178
  129. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  130. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  131. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  132. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  133. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  134. package/src/base-client/components/common/XFormTable/index.md +92 -92
  135. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  136. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  137. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  138. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  139. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  140. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  141. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  142. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  143. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  144. package/src/base-client/components/common/XPrint/index.vue +97 -97
  145. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  146. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  147. package/src/base-client/components/common/XReport/index.js +3 -3
  148. package/src/base-client/components/common/XReport/print.js +186 -186
  149. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  150. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +1 -1
  151. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +19 -5
  152. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  153. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  154. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  155. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  156. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  157. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  158. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  159. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  160. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  161. package/src/base-client/components/common/XStepView/index.js +3 -3
  162. package/src/base-client/components/common/XStepView/index.md +31 -31
  163. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  164. package/src/base-client/components/common/XTab/index.js +3 -3
  165. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  166. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  167. package/src/base-client/components/common/XTable/index.md +255 -255
  168. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  169. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  170. package/src/base-client/components/common/XTree/index.js +3 -3
  171. package/src/base-client/components/common/XTree/index.md +36 -36
  172. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  173. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  174. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  175. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  176. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -146
  177. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  178. package/src/base-client/components/index.js +51 -51
  179. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  180. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  181. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  182. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  183. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  184. package/src/base-client/plugins/Config.js +19 -19
  185. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  186. package/src/base-client/plugins/Recording.js +258 -258
  187. package/src/base-client/plugins/index.js +23 -23
  188. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  189. package/src/components/Charts/Bar.vue +62 -62
  190. package/src/components/Charts/ChartCard.vue +134 -134
  191. package/src/components/Charts/Liquid.vue +67 -67
  192. package/src/components/Charts/MiniArea.vue +39 -39
  193. package/src/components/Charts/MiniBar.vue +39 -39
  194. package/src/components/Charts/MiniProgress.vue +75 -75
  195. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  196. package/src/components/Charts/Radar.vue +68 -68
  197. package/src/components/Charts/RankList.vue +77 -77
  198. package/src/components/Charts/TagCloud.vue +113 -113
  199. package/src/components/Charts/TransferBar.vue +64 -64
  200. package/src/components/Charts/Trend.vue +82 -82
  201. package/src/components/Charts/chart.less +12 -12
  202. package/src/components/Charts/smooth.area.less +13 -13
  203. package/src/components/CodeMirror/inedx.vue +118 -118
  204. package/src/components/CodeMirror/setting.js +40 -40
  205. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  206. package/src/components/NumberInfo/index.js +3 -3
  207. package/src/components/NumberInfo/index.less +54 -54
  208. package/src/components/NumberInfo/index.md +43 -43
  209. package/src/components/card/ChartCard.vue +79 -79
  210. package/src/components/chart/Bar.vue +60 -60
  211. package/src/components/chart/MiniArea.vue +67 -67
  212. package/src/components/chart/MiniBar.vue +59 -59
  213. package/src/components/chart/MiniProgress.vue +57 -57
  214. package/src/components/chart/Radar.vue +80 -80
  215. package/src/components/chart/RankingList.vue +60 -60
  216. package/src/components/chart/Trend.vue +79 -79
  217. package/src/components/chart/index.less +9 -9
  218. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  219. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  220. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  221. package/src/components/checkbox/index.js +9 -9
  222. package/src/components/exception/ExceptionPage.vue +70 -70
  223. package/src/components/g2Charts/constants.js +202 -202
  224. package/src/components/g2Charts/demo.vue +808 -808
  225. package/src/components/g2Charts/designer.vue +228 -228
  226. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  227. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  228. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  229. package/src/components/g2Charts/index.vue +397 -397
  230. package/src/components/index.js +36 -36
  231. package/src/components/input/IInput.vue +66 -66
  232. package/src/components/menu/SideMenu.vue +75 -75
  233. package/src/components/menu/menu.js +273 -273
  234. package/src/components/setting/Setting.vue +234 -234
  235. package/src/components/tool/AStepItem.vue +60 -60
  236. package/src/config/CreateQueryConfig.js +325 -325
  237. package/src/config/default/antd.config.js +89 -89
  238. package/src/config/default/setting.config.js +55 -55
  239. package/src/font-style/font.css +60 -60
  240. package/src/layouts/CommonLayout.vue +56 -56
  241. package/src/layouts/PageLayout.vue +151 -151
  242. package/src/layouts/SinglePageView.vue +136 -136
  243. package/src/layouts/header/AdminHeader.vue +132 -132
  244. package/src/layouts/header/HeaderNotice.vue +177 -177
  245. package/src/layouts/header/InstitutionDetail.vue +181 -181
  246. package/src/layouts/tabs/TabsHead.vue +189 -189
  247. package/src/lib.js +1 -1
  248. package/src/mock/extend/index.js +84 -84
  249. package/src/mock/goods/index.js +108 -108
  250. package/src/pages/DefaultExample/index.vue +77 -77
  251. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  252. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  253. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  254. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  255. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  256. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  257. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  258. package/src/pages/DynamicStatistics/index.vue +282 -282
  259. package/src/pages/Example/childIndex.vue +15 -15
  260. package/src/pages/Example/index.vue +30 -30
  261. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  262. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  263. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  264. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  265. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  266. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  267. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  268. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  269. package/src/pages/Recording/index.vue +77 -77
  270. package/src/pages/ServiceReview/index.vue +284 -284
  271. package/src/pages/SubExample/index.vue +26 -26
  272. package/src/pages/WorkflowDetail/WorkFlowDemo3.vue +203 -203
  273. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  274. package/src/pages/XReportView/index.vue +64 -64
  275. package/src/pages/XTreeOneProExample/index.vue +67 -67
  276. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  277. package/src/pages/login/Login.vue +379 -379
  278. package/src/pages/login/LoginV3.vue +389 -389
  279. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  280. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  281. package/src/pages/report/ReportTable.js +124 -124
  282. package/src/pages/resourceManage/orgListManage.vue +98 -98
  283. package/src/pages/system/dictionary/index.vue +44 -44
  284. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  285. package/src/pages/system/monitor/operLog/index.vue +37 -37
  286. package/src/pages/system/settings/modifyPassword.vue +117 -117
  287. package/src/pages/system/ticket/index.vue +480 -480
  288. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  289. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  290. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  291. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  292. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  293. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  294. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  295. package/src/plugins/EventLogPlugin.js +33 -33
  296. package/src/plugins/FindParentsData.js +17 -17
  297. package/src/router/async/config.async.js +35 -35
  298. package/src/router/async/router.map.js +2 -1
  299. package/src/router/index.js +27 -27
  300. package/src/services/DataModel.js +30 -30
  301. package/src/services/LodopFuncs.js +137 -137
  302. package/src/services/api/TicketDetailsViewApi.js +46 -46
  303. package/src/services/api/cas.js +79 -79
  304. package/src/services/api/entity.js +18 -18
  305. package/src/services/api/index.js +17 -17
  306. package/src/store/modules/account.js +115 -115
  307. package/src/store/modules/index.js +5 -5
  308. package/src/store/modules/lowCode.js +33 -33
  309. package/src/store/modules/setting.js +119 -119
  310. package/src/theme/default/style.less +58 -58
  311. package/src/utils/authority-utils.js +85 -85
  312. package/src/utils/errorCode.js +6 -6
  313. package/src/utils/formatter.js +74 -74
  314. package/src/utils/htmlToPDF.js +108 -108
  315. package/src/utils/htmlToPDFApi.js +5 -5
  316. package/src/utils/login.js +188 -188
  317. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  318. package/src/utils/lowcode/lowcodeLog.js +29 -29
  319. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  320. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  321. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  322. package/src/utils/map-utils.js +47 -47
  323. package/src/utils/reg.js +95 -95
  324. package/src/utils/runEvalFunction.js +14 -14
  325. package/src/utils/theme-color-replacer-extend.js +92 -92
  326. package/src/utils/util.js +329 -329
  327. package/src/utils/waterMark.js +31 -31
  328. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,228 +1,228 @@
1
- <script setup>
2
- import g2Charts from './index.vue'
3
- import { computed, defineProps, onMounted, provide, ref, watch } from 'vue'
4
- import { chartsTools, tabList, } from './constants'
5
- import DesignerBaseConfig from '@vue2-client/components/g2Charts/designerBaseConfig.vue'
6
- import DesignerDataConfig from '@vue2-client/components/g2Charts/designerDataConfig.vue'
7
- import DesignerStyleConfig from '@vue2-client/components/g2Charts/designerStyleConfig.vue'
8
- import { parseConfig } from '@vue2-client/services/api/common'
9
-
10
- // 定义props 传参
11
- defineProps({
12
- height: {
13
- type: String,
14
- default: '500px'
15
- },
16
- isDev: {
17
- type: Boolean,
18
- default: false
19
- }
20
- })
21
-
22
- const key = ref('类型与数据')
23
-
24
- const g2ChartsRef = ref(null)
25
-
26
- // 添加默认配置对象
27
- const defaultConfig = {
28
- type: 'line',
29
- title: '',
30
- description: '',
31
- chartsTools: [],
32
- dataSource: 'curCrud',
33
- crudConfigName: undefined,
34
- logicName: undefined,
35
- xField: undefined,
36
- xFieldSortBy: 'value',
37
- xFieldSortType: 'asc',
38
- yFieldType: 'sum',
39
- yField: [{
40
- field: undefined,
41
- mold: 'sum'
42
- }],
43
- Group: false,
44
- groupField: undefined,
45
- colorIndex: 0,
46
- }
47
-
48
- // 修改配置初始化
49
- const config = ref({ ...defaultConfig })
50
-
51
- const fieldColumn = ref([])
52
- // 可以使用的字段应该是过滤掉 横轴字段/y轴字段/分组字段的数据
53
- const fieldColumnOptions = computed(() => {
54
- return fieldColumn.value.filter(item => {
55
- return !['xField', 'yField', 'GroupField'].includes(item.value)
56
- })
57
- })
58
-
59
- const onTabChange = (newKey) => {
60
- key.value = newKey
61
- }
62
-
63
- const filteredChartsTools = computed(() => {
64
- return chartsTools.filter(item => item.match.includes(config.value.type))
65
- })
66
-
67
- const configTypeChange = (value) => {
68
- config.value.type = value[0]
69
- // 工具默认全部选中
70
- config.value.chartsTools = filteredChartsTools.value.map(item => item.value)
71
- // 圆饼图
72
- if (value[0] === 'pie') {
73
- if (config.value.yField?.length > 1) {
74
- config.value.yField = [config.value.yField[0]]
75
- }
76
- // 清除分组配置
77
- config.value.Group = false
78
- config.value.groupField = undefined
79
- }
80
- }
81
- /**
82
- *
83
- * @param _config 现有的配置
84
- * @param curdColumn curd 查询配置的字段集合
85
- * @param curdConfig 编辑curd时,临时配置
86
- * @param systemName curd配置所属的命名空间
87
- */
88
- // 修改 init 方法,添加验证
89
- const init = async ({ config: _config = {}, curdColumn = [], curdConfig }) => {
90
- config.value = Object.assign(config.value, _config)
91
- // 编辑表单预览时,需要将配置内容解析后使用
92
- if (curdConfig) {
93
- config.value.queryParams = await parseConfig(curdConfig, 'CRUD_FORM')
94
- }
95
- configTypeChange([config.value.type])
96
- const uniqueKeys = new Set()
97
- fieldColumn.value = curdColumn
98
- .filter(item => {
99
- if (uniqueKeys.has(item.key)) {
100
- return false
101
- } else {
102
- uniqueKeys.add(item.key)
103
- return true
104
- }
105
- })
106
- .map(item => ({
107
- label: item.title,
108
- value: item.key,
109
- }))
110
-
111
- // 直接调用图表初始化,验证逻辑由图表组件处理
112
- g2ChartsRef.value?.init(config.value, {})
113
- }
114
-
115
- // 添加重置方法
116
- const resetConfig = () => {
117
- config.value = { ...defaultConfig }
118
- }
119
-
120
- // 添加防抖函数
121
- const debounce = (fn, delay) => {
122
- let timer = null
123
- return function (...args) {
124
- if (timer) clearTimeout(timer)
125
- timer = setTimeout(() => {
126
- fn.apply(this, args)
127
- }, delay)
128
- }
129
- }
130
-
131
- // 创建防抖后的初始化函数
132
- const debouncedInit = debounce((config) => {
133
- g2ChartsRef.value?.init(config, {})
134
- }, 300)
135
-
136
- // 修改 watch 逻辑, 使用防抖
137
- watch(
138
- () => {
139
- const { title, description, ...rest } = config.value
140
- return rest
141
- },
142
- () => {
143
- console.log('Config changed, updating chart...')
144
- debouncedInit(config.value)
145
- },
146
- {
147
- deep: true,
148
- immediate: false
149
- }
150
- )
151
-
152
- onMounted(() => {
153
- // init({})
154
- })
155
-
156
- provide('filteredChartsTools', filteredChartsTools)
157
- provide('fieldColumnOptions', fieldColumnOptions)
158
- provide('configTypeChange', configTypeChange)
159
- provide('config', config)
160
- defineExpose({ init, config, resetConfig })
161
- </script>
162
-
163
- <template>
164
- <a-row>
165
- <a-col :span="16">
166
- <a-card
167
- :tab-list="[{key:'演示效果',tab:'演示效果'}]"
168
- :body-style="{maxHeight:height,height:height}">
169
- <div class="custom-chart-title" v-if="config.title">{{ config.title }}</div>
170
- <div class="custom-chart-desc" v-if="config.description">{{ config.description }}</div>
171
- <g2Charts ref="g2ChartsRef" :isDev="isDev"></g2Charts>
172
- </a-card>
173
- </a-col>
174
- <a-col :span="8">
175
- <a-card
176
- :tab-list="tabList"
177
- :active-tab-key="key"
178
- @tabChange="onTabChange"
179
- :body-style="{maxHeight:height,overflowY: 'scroll'}">
180
- <a-form-model layout="vertical">
181
- <template v-if="key === '类型与数据'">
182
- <designer-base-config/>
183
- <a-divider/>
184
- <designer-data-config/>
185
- </template>
186
- <designer-style-config v-else/>
187
- </a-form-model>
188
- </a-card>
189
- </a-col>
190
- </a-row>
191
- </template>
192
- <style lang="less" scoped>
193
-
194
- .custom-chart-title {
195
- font-size: 16px;
196
- font-weight: 700;
197
- margin-bottom: 8px;
198
- }
199
-
200
- .custom-chart-desc {
201
- font-size: 12px;
202
- color: rgba(0, 0, 0, .45);
203
- margin-bottom: 16px;
204
- }
205
-
206
- :deep(.ant-select-selection__rendered) {
207
- display: flex;
208
- align-items: center;
209
- }
210
-
211
- :deep(.ant-form-vertical .ant-form-item ) {
212
- margin-bottom: 12px !important;
213
- }
214
-
215
- :deep(.ant-divider-horizontal) {
216
- margin: 12px 0;
217
- }
218
-
219
- .formModelVertical {
220
- // 向左偏移1px
221
- margin-left: -1px;
222
- }
223
-
224
- .colorBtn {
225
- width: 1.5rem;
226
- height: 1rem;
227
- }
228
- </style>
1
+ <script setup>
2
+ import g2Charts from './index.vue'
3
+ import { computed, defineProps, onMounted, provide, ref, watch } from 'vue'
4
+ import { chartsTools, tabList, } from './constants'
5
+ import DesignerBaseConfig from '@vue2-client/components/g2Charts/designerBaseConfig.vue'
6
+ import DesignerDataConfig from '@vue2-client/components/g2Charts/designerDataConfig.vue'
7
+ import DesignerStyleConfig from '@vue2-client/components/g2Charts/designerStyleConfig.vue'
8
+ import { parseConfig } from '@vue2-client/services/api/common'
9
+
10
+ // 定义props 传参
11
+ defineProps({
12
+ height: {
13
+ type: String,
14
+ default: '500px'
15
+ },
16
+ isDev: {
17
+ type: Boolean,
18
+ default: false
19
+ }
20
+ })
21
+
22
+ const key = ref('类型与数据')
23
+
24
+ const g2ChartsRef = ref(null)
25
+
26
+ // 添加默认配置对象
27
+ const defaultConfig = {
28
+ type: 'line',
29
+ title: '',
30
+ description: '',
31
+ chartsTools: [],
32
+ dataSource: 'curCrud',
33
+ crudConfigName: undefined,
34
+ logicName: undefined,
35
+ xField: undefined,
36
+ xFieldSortBy: 'value',
37
+ xFieldSortType: 'asc',
38
+ yFieldType: 'sum',
39
+ yField: [{
40
+ field: undefined,
41
+ mold: 'sum'
42
+ }],
43
+ Group: false,
44
+ groupField: undefined,
45
+ colorIndex: 0,
46
+ }
47
+
48
+ // 修改配置初始化
49
+ const config = ref({ ...defaultConfig })
50
+
51
+ const fieldColumn = ref([])
52
+ // 可以使用的字段应该是过滤掉 横轴字段/y轴字段/分组字段的数据
53
+ const fieldColumnOptions = computed(() => {
54
+ return fieldColumn.value.filter(item => {
55
+ return !['xField', 'yField', 'GroupField'].includes(item.value)
56
+ })
57
+ })
58
+
59
+ const onTabChange = (newKey) => {
60
+ key.value = newKey
61
+ }
62
+
63
+ const filteredChartsTools = computed(() => {
64
+ return chartsTools.filter(item => item.match.includes(config.value.type))
65
+ })
66
+
67
+ const configTypeChange = (value) => {
68
+ config.value.type = value[0]
69
+ // 工具默认全部选中
70
+ config.value.chartsTools = filteredChartsTools.value.map(item => item.value)
71
+ // 圆饼图
72
+ if (value[0] === 'pie') {
73
+ if (config.value.yField?.length > 1) {
74
+ config.value.yField = [config.value.yField[0]]
75
+ }
76
+ // 清除分组配置
77
+ config.value.Group = false
78
+ config.value.groupField = undefined
79
+ }
80
+ }
81
+ /**
82
+ *
83
+ * @param _config 现有的配置
84
+ * @param curdColumn curd 查询配置的字段集合
85
+ * @param curdConfig 编辑curd时,临时配置
86
+ * @param systemName curd配置所属的命名空间
87
+ */
88
+ // 修改 init 方法,添加验证
89
+ const init = async ({ config: _config = {}, curdColumn = [], curdConfig }) => {
90
+ config.value = Object.assign(config.value, _config)
91
+ // 编辑表单预览时,需要将配置内容解析后使用
92
+ if (curdConfig) {
93
+ config.value.queryParams = await parseConfig(curdConfig, 'CRUD_FORM')
94
+ }
95
+ configTypeChange([config.value.type])
96
+ const uniqueKeys = new Set()
97
+ fieldColumn.value = curdColumn
98
+ .filter(item => {
99
+ if (uniqueKeys.has(item.key)) {
100
+ return false
101
+ } else {
102
+ uniqueKeys.add(item.key)
103
+ return true
104
+ }
105
+ })
106
+ .map(item => ({
107
+ label: item.title,
108
+ value: item.key,
109
+ }))
110
+
111
+ // 直接调用图表初始化,验证逻辑由图表组件处理
112
+ g2ChartsRef.value?.init(config.value, {})
113
+ }
114
+
115
+ // 添加重置方法
116
+ const resetConfig = () => {
117
+ config.value = { ...defaultConfig }
118
+ }
119
+
120
+ // 添加防抖函数
121
+ const debounce = (fn, delay) => {
122
+ let timer = null
123
+ return function (...args) {
124
+ if (timer) clearTimeout(timer)
125
+ timer = setTimeout(() => {
126
+ fn.apply(this, args)
127
+ }, delay)
128
+ }
129
+ }
130
+
131
+ // 创建防抖后的初始化函数
132
+ const debouncedInit = debounce((config) => {
133
+ g2ChartsRef.value?.init(config, {})
134
+ }, 300)
135
+
136
+ // 修改 watch 逻辑, 使用防抖
137
+ watch(
138
+ () => {
139
+ const { title, description, ...rest } = config.value
140
+ return rest
141
+ },
142
+ () => {
143
+ console.log('Config changed, updating chart...')
144
+ debouncedInit(config.value)
145
+ },
146
+ {
147
+ deep: true,
148
+ immediate: false
149
+ }
150
+ )
151
+
152
+ onMounted(() => {
153
+ // init({})
154
+ })
155
+
156
+ provide('filteredChartsTools', filteredChartsTools)
157
+ provide('fieldColumnOptions', fieldColumnOptions)
158
+ provide('configTypeChange', configTypeChange)
159
+ provide('config', config)
160
+ defineExpose({ init, config, resetConfig })
161
+ </script>
162
+
163
+ <template>
164
+ <a-row>
165
+ <a-col :span="16">
166
+ <a-card
167
+ :tab-list="[{key:'演示效果',tab:'演示效果'}]"
168
+ :body-style="{maxHeight:height,height:height}">
169
+ <div class="custom-chart-title" v-if="config.title">{{ config.title }}</div>
170
+ <div class="custom-chart-desc" v-if="config.description">{{ config.description }}</div>
171
+ <g2Charts ref="g2ChartsRef" :isDev="isDev"></g2Charts>
172
+ </a-card>
173
+ </a-col>
174
+ <a-col :span="8">
175
+ <a-card
176
+ :tab-list="tabList"
177
+ :active-tab-key="key"
178
+ @tabChange="onTabChange"
179
+ :body-style="{maxHeight:height,overflowY: 'scroll'}">
180
+ <a-form-model layout="vertical">
181
+ <template v-if="key === '类型与数据'">
182
+ <designer-base-config/>
183
+ <a-divider/>
184
+ <designer-data-config/>
185
+ </template>
186
+ <designer-style-config v-else/>
187
+ </a-form-model>
188
+ </a-card>
189
+ </a-col>
190
+ </a-row>
191
+ </template>
192
+ <style lang="less" scoped>
193
+
194
+ .custom-chart-title {
195
+ font-size: 16px;
196
+ font-weight: 700;
197
+ margin-bottom: 8px;
198
+ }
199
+
200
+ .custom-chart-desc {
201
+ font-size: 12px;
202
+ color: rgba(0, 0, 0, .45);
203
+ margin-bottom: 16px;
204
+ }
205
+
206
+ :deep(.ant-select-selection__rendered) {
207
+ display: flex;
208
+ align-items: center;
209
+ }
210
+
211
+ :deep(.ant-form-vertical .ant-form-item ) {
212
+ margin-bottom: 12px !important;
213
+ }
214
+
215
+ :deep(.ant-divider-horizontal) {
216
+ margin: 12px 0;
217
+ }
218
+
219
+ .formModelVertical {
220
+ // 向左偏移1px
221
+ margin-left: -1px;
222
+ }
223
+
224
+ .colorBtn {
225
+ width: 1.5rem;
226
+ height: 1rem;
227
+ }
228
+ </style>
@@ -1,61 +1,61 @@
1
- <script setup>
2
- import { chartTypes, colorItems, dataSourceOptions } from '@vue2-client/components/g2Charts/constants'
3
- import { ImgCheckboxGroup } from '@vue2-client/components/checkbox'
4
- import XTagGroup from '@vue2-client/base-client/components/common/XTagGroup/index.vue'
5
- import { inject } from 'vue'
6
-
7
- const config = inject('config')
8
- const configTypeChange = inject('configTypeChange')
9
- const filteredChartsTools = inject('filteredChartsTools')
10
-
11
- </script>
12
-
13
- <template>
14
- <div>
15
- <a-form-model-item label="图表名称">
16
- <a-input v-model="config.title" placeholder="图表名称"></a-input>
17
- </a-form-model-item>
18
- <a-form-model-item label="图表描述">
19
- <a-input v-model="config.description" placeholder="图表描述"></a-input>
20
- </a-form-model-item>
21
- <a-form-model-item label="图表类型">
22
- <img-checkbox-group
23
- :default-values="[config.type || undefined]"
24
- @change="configTypeChange"
25
- :options="chartTypes"/>
26
- </a-form-model-item>
27
- <a-form-model-item label="数据源">
28
- <a-select v-model="config.dataSource" :options="dataSourceOptions" placeholder="选择数据源"/>
29
- </a-form-model-item>
30
- <a-form-model-item label="图表选项">
31
- <a-checkbox-group
32
- :defaultChecked="true"
33
- name="chartsTools"
34
- style="width: 100%"
35
- v-model="config.chartsTools">
36
- <a-row>
37
- <a-col :span="8" v-for="(item,index) in filteredChartsTools" :key="index">
38
- <a-checkbox :value="item.value">
39
- {{ item.label }}
40
- </a-checkbox>
41
- </a-col>
42
- </a-row>
43
- </a-checkbox-group>
44
- </a-form-model-item>
45
- <a-form-model-item label="主题色">
46
- <a-select
47
- v-model="config.colorIndex"
48
- style="width: 100%"
49
- placeholder="选择主题色"
50
- >
51
- <a-select-option :value="index" :key="index" v-for="(colorItem,index) in colorItems">
52
- <x-tag-group :options="colorItem"/>
53
- </a-select-option>
54
- </a-select>
55
- </a-form-model-item>
56
- </div>
57
- </template>
58
-
59
- <style scoped lang="less">
60
-
61
- </style>
1
+ <script setup>
2
+ import { chartTypes, colorItems, dataSourceOptions } from '@vue2-client/components/g2Charts/constants'
3
+ import { ImgCheckboxGroup } from '@vue2-client/components/checkbox'
4
+ import XTagGroup from '@vue2-client/base-client/components/common/XTagGroup/index.vue'
5
+ import { inject } from 'vue'
6
+
7
+ const config = inject('config')
8
+ const configTypeChange = inject('configTypeChange')
9
+ const filteredChartsTools = inject('filteredChartsTools')
10
+
11
+ </script>
12
+
13
+ <template>
14
+ <div>
15
+ <a-form-model-item label="图表名称">
16
+ <a-input v-model="config.title" placeholder="图表名称"></a-input>
17
+ </a-form-model-item>
18
+ <a-form-model-item label="图表描述">
19
+ <a-input v-model="config.description" placeholder="图表描述"></a-input>
20
+ </a-form-model-item>
21
+ <a-form-model-item label="图表类型">
22
+ <img-checkbox-group
23
+ :default-values="[config.type || undefined]"
24
+ @change="configTypeChange"
25
+ :options="chartTypes"/>
26
+ </a-form-model-item>
27
+ <a-form-model-item label="数据源">
28
+ <a-select v-model="config.dataSource" :options="dataSourceOptions" placeholder="选择数据源"/>
29
+ </a-form-model-item>
30
+ <a-form-model-item label="图表选项">
31
+ <a-checkbox-group
32
+ :defaultChecked="true"
33
+ name="chartsTools"
34
+ style="width: 100%"
35
+ v-model="config.chartsTools">
36
+ <a-row>
37
+ <a-col :span="8" v-for="(item,index) in filteredChartsTools" :key="index">
38
+ <a-checkbox :value="item.value">
39
+ {{ item.label }}
40
+ </a-checkbox>
41
+ </a-col>
42
+ </a-row>
43
+ </a-checkbox-group>
44
+ </a-form-model-item>
45
+ <a-form-model-item label="主题色">
46
+ <a-select
47
+ v-model="config.colorIndex"
48
+ style="width: 100%"
49
+ placeholder="选择主题色"
50
+ >
51
+ <a-select-option :value="index" :key="index" v-for="(colorItem,index) in colorItems">
52
+ <x-tag-group :options="colorItem"/>
53
+ </a-select-option>
54
+ </a-select>
55
+ </a-form-model-item>
56
+ </div>
57
+ </template>
58
+
59
+ <style scoped lang="less">
60
+
61
+ </style>