vue2-client 1.16.23 → 1.16.25

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 (333) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.apply +19 -19
  3. package/.env.gaslink +19 -19
  4. package/.env.his +19 -19
  5. package/.env.liuli +20 -20
  6. package/.env.scada +19 -19
  7. package/.eslintrc.js +90 -90
  8. package/CHANGELOG.md +824 -824
  9. package/Components.md +60 -60
  10. package/docs/LowCode/lowcode.md +155 -155
  11. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  12. package/docs/index.md +30 -30
  13. package/index.js +31 -31
  14. package/jest-transform-stub.js +8 -8
  15. package/jest.setup.js +7 -7
  16. package/jsconfig.json +19 -19
  17. package/package.json +112 -112
  18. package/public/his/editor/editor.html +51 -51
  19. package/public/his/editor/mock/bind_data.html +779 -779
  20. package/public/his/editor/mock/data_table.html +40 -40
  21. package/public/his/editor/mock/sign.html +75 -75
  22. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  23. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  24. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  25. package/public/his/editor/vender/date97/calendar.js +4 -4
  26. package/public/his/editor/vender/date97/lang/en.js +13 -13
  27. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  28. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  29. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  30. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  31. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  32. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  33. package/public/his/editor/vender/diff.js +1627 -1627
  34. package/public/his/editor/vender/editor.js +1 -1
  35. package/public/his/editor/vender/fabric.js +31187 -31187
  36. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  37. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  38. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  39. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  40. package/public/his/editor/vender/mui/mui.min.css +4 -4
  41. package/public/his/editor/vender/mui/mui.min.js +5 -5
  42. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  43. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  44. package/public/his/editor/vender/qrcode.js +7 -7
  45. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  46. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  47. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  48. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  49. package/public/his/editor/vender/validator.js +5094 -5094
  50. package/public/his/editor/vender/weui/weui.css +5659 -5659
  51. package/public/his/editor/vender/weui/weui.min.css +4 -4
  52. package/public/his/editor/vender/weui/weui.min.js +11 -11
  53. package/src/assets/img/querySlotDemo.svg +15 -15
  54. package/src/assets/svg/badtwo.svg +1 -1
  55. package/src/assets/svg/goodtwo.svg +1 -1
  56. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  57. package/src/base-client/components/AI/demo.vue +31 -31
  58. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  59. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  60. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  61. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  62. package/src/base-client/components/common/CitySelect/CitySelect.vue +1 -1
  63. package/src/base-client/components/common/CitySelect/index.js +3 -3
  64. package/src/base-client/components/common/CitySelect/index.md +109 -109
  65. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  66. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  67. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  68. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  69. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  70. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  71. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  72. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  73. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  74. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  75. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  76. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  77. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  78. package/src/base-client/components/common/HIS/HAddNativeForm/HAddNativeForm.vue +478 -478
  79. package/src/base-client/components/common/HIS/HAddNativeForm/index.js +3 -3
  80. package/src/base-client/components/common/HIS/HButtons/HButtons.vue +365 -365
  81. package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +219 -219
  82. package/src/base-client/components/common/HIS/HTab/HTab.vue +293 -293
  83. package/src/base-client/components/common/HIS/demo.vue +54 -54
  84. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  85. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  86. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  87. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  88. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  89. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  98. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  99. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  100. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  101. package/src/base-client/components/common/Recording/index.js +3 -3
  102. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  103. package/src/base-client/components/common/Tree/index.js +2 -2
  104. package/src/base-client/components/common/Upload/index.js +3 -3
  105. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  106. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  107. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  108. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  109. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  110. package/src/base-client/components/common/XAddReport/index.js +3 -3
  111. package/src/base-client/components/common/XAddReport/index.md +56 -56
  112. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  113. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  114. package/src/base-client/components/common/XButtons/index.js +3 -3
  115. package/src/base-client/components/common/XButtons/index.md +61 -61
  116. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  117. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  118. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  119. package/src/base-client/components/common/XDataCard/index.js +3 -3
  120. package/src/base-client/components/common/XDataCard/index.md +1 -1
  121. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  122. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  123. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  124. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  125. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  126. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  127. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  128. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  129. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  130. package/src/base-client/components/common/XForm/index.md +178 -178
  131. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  132. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  133. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  134. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  135. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  136. package/src/base-client/components/common/XFormTable/index.md +92 -92
  137. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  138. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  139. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  140. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  141. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  142. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  143. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  144. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  145. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  146. package/src/base-client/components/common/XPrint/index.vue +97 -97
  147. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  148. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  149. package/src/base-client/components/common/XReport/index.js +3 -3
  150. package/src/base-client/components/common/XReport/print.js +186 -186
  151. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  152. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +813 -813
  153. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  154. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  155. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  156. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  157. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  158. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  159. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  160. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  161. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  162. package/src/base-client/components/common/XStepView/index.js +3 -3
  163. package/src/base-client/components/common/XStepView/index.md +31 -31
  164. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  165. package/src/base-client/components/common/XTab/index.js +3 -3
  166. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  167. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  168. package/src/base-client/components/common/XTable/index.md +255 -255
  169. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  170. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  171. package/src/base-client/components/common/XTree/index.js +3 -3
  172. package/src/base-client/components/common/XTree/index.md +36 -36
  173. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  174. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  175. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  176. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  177. package/src/base-client/components/his/XCharge/XCharge.vue +610 -610
  178. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  179. package/src/base-client/components/his/XSidebar/XSidebar.vue +283 -283
  180. package/src/base-client/components/his/XSimpleTable/XSimpleTable.vue +119 -119
  181. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +200 -192
  182. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +482 -482
  183. package/src/base-client/components/index.js +51 -51
  184. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  185. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  186. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  187. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  188. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  189. package/src/base-client/plugins/Config.js +19 -19
  190. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  191. package/src/base-client/plugins/Recording.js +258 -258
  192. package/src/base-client/plugins/index.js +23 -23
  193. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  194. package/src/components/Charts/Bar.vue +62 -62
  195. package/src/components/Charts/ChartCard.vue +134 -134
  196. package/src/components/Charts/Liquid.vue +67 -67
  197. package/src/components/Charts/MiniArea.vue +39 -39
  198. package/src/components/Charts/MiniBar.vue +39 -39
  199. package/src/components/Charts/MiniProgress.vue +75 -75
  200. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  201. package/src/components/Charts/Radar.vue +68 -68
  202. package/src/components/Charts/RankList.vue +77 -77
  203. package/src/components/Charts/TagCloud.vue +113 -113
  204. package/src/components/Charts/TransferBar.vue +64 -64
  205. package/src/components/Charts/Trend.vue +82 -82
  206. package/src/components/Charts/chart.less +12 -12
  207. package/src/components/Charts/smooth.area.less +13 -13
  208. package/src/components/CodeMirror/inedx.vue +118 -118
  209. package/src/components/CodeMirror/setting.js +40 -40
  210. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  211. package/src/components/NumberInfo/index.js +3 -3
  212. package/src/components/NumberInfo/index.less +54 -54
  213. package/src/components/NumberInfo/index.md +43 -43
  214. package/src/components/card/ChartCard.vue +79 -79
  215. package/src/components/chart/Bar.vue +60 -60
  216. package/src/components/chart/MiniArea.vue +67 -67
  217. package/src/components/chart/MiniBar.vue +59 -59
  218. package/src/components/chart/MiniProgress.vue +57 -57
  219. package/src/components/chart/Radar.vue +80 -80
  220. package/src/components/chart/RankingList.vue +60 -60
  221. package/src/components/chart/Trend.vue +79 -79
  222. package/src/components/chart/index.less +9 -9
  223. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  224. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  225. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  226. package/src/components/checkbox/index.js +9 -9
  227. package/src/components/exception/ExceptionPage.vue +70 -70
  228. package/src/components/g2Charts/constants.js +202 -202
  229. package/src/components/g2Charts/demo.vue +808 -808
  230. package/src/components/g2Charts/designer.vue +228 -228
  231. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  232. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  233. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  234. package/src/components/g2Charts/index.vue +397 -397
  235. package/src/components/index.js +36 -36
  236. package/src/components/input/IInput.vue +66 -66
  237. package/src/components/menu/SideMenu.vue +75 -75
  238. package/src/components/menu/menu.js +273 -273
  239. package/src/components/setting/Setting.vue +234 -234
  240. package/src/components/tool/AStepItem.vue +60 -60
  241. package/src/config/CreateQueryConfig.js +325 -325
  242. package/src/config/default/antd.config.js +89 -89
  243. package/src/config/default/setting.config.js +55 -55
  244. package/src/font-style/font.css +60 -60
  245. package/src/layouts/CommonLayout.vue +56 -56
  246. package/src/layouts/PageLayout.vue +151 -151
  247. package/src/layouts/SinglePageView.vue +136 -136
  248. package/src/layouts/header/AdminHeader.vue +132 -132
  249. package/src/layouts/header/HeaderNotice.vue +177 -177
  250. package/src/layouts/header/InstitutionDetail.vue +181 -181
  251. package/src/layouts/tabs/TabsHead.vue +189 -189
  252. package/src/lib.js +1 -1
  253. package/src/mock/extend/index.js +84 -84
  254. package/src/mock/goods/index.js +108 -108
  255. package/src/pages/DefaultExample/index.vue +77 -77
  256. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  257. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  258. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  259. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  260. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  261. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  262. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  263. package/src/pages/DynamicStatistics/index.vue +282 -282
  264. package/src/pages/Example/childIndex.vue +15 -15
  265. package/src/pages/Example/index.vue +30 -30
  266. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  267. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  268. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  269. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  270. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  271. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  272. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  273. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  274. package/src/pages/Recording/index.vue +77 -77
  275. package/src/pages/ServiceReview/index.vue +284 -284
  276. package/src/pages/SubExample/index.vue +26 -26
  277. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  278. package/src/pages/XReportView/index.vue +64 -64
  279. package/src/pages/XTreeOneProExample/index.vue +67 -67
  280. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  281. package/src/pages/login/Login.vue +379 -379
  282. package/src/pages/login/LoginV3.vue +389 -389
  283. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  284. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  285. package/src/pages/report/ReportTable.js +124 -124
  286. package/src/pages/resourceManage/orgListManage.vue +98 -98
  287. package/src/pages/system/dictionary/index.vue +44 -44
  288. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  289. package/src/pages/system/monitor/operLog/index.vue +37 -37
  290. package/src/pages/system/settings/modifyPassword.vue +117 -117
  291. package/src/pages/system/ticket/index.vue +480 -480
  292. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  293. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  294. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  295. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  296. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  297. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  298. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  299. package/src/plugins/EventLogPlugin.js +33 -33
  300. package/src/plugins/FindParentsData.js +17 -17
  301. package/src/router/async/config.async.js +35 -35
  302. package/src/router/async/router.map.js +129 -129
  303. package/src/router/index.js +27 -27
  304. package/src/services/DataModel.js +30 -30
  305. package/src/services/LodopFuncs.js +137 -137
  306. package/src/services/api/TicketDetailsViewApi.js +46 -46
  307. package/src/services/api/cas.js +79 -79
  308. package/src/services/api/common.js +346 -346
  309. package/src/services/api/entity.js +18 -18
  310. package/src/services/api/index.js +17 -17
  311. package/src/store/modules/account.js +115 -115
  312. package/src/store/modules/index.js +5 -5
  313. package/src/store/modules/lowCode.js +33 -33
  314. package/src/store/modules/setting.js +119 -119
  315. package/src/theme/default/style.less +58 -58
  316. package/src/utils/authority-utils.js +85 -85
  317. package/src/utils/errorCode.js +6 -6
  318. package/src/utils/formatter.js +74 -74
  319. package/src/utils/htmlToPDF.js +108 -108
  320. package/src/utils/htmlToPDFApi.js +5 -5
  321. package/src/utils/login.js +188 -188
  322. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  323. package/src/utils/lowcode/lowcodeLog.js +29 -29
  324. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  325. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  326. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  327. package/src/utils/map-utils.js +47 -47
  328. package/src/utils/reg.js +95 -95
  329. package/src/utils/runEvalFunction.js +14 -14
  330. package/src/utils/theme-color-replacer-extend.js +92 -92
  331. package/src/utils/util.js +329 -329
  332. package/src/utils/waterMark.js +31 -31
  333. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,397 +1,397 @@
1
- <script setup>
2
- import { Line, Column, Pie } from '@antv/g2plot'
3
- import { queryChartsData } from '@vue2-client/services/api/common'
4
- import { ref, onUnmounted, onMounted, watch } from 'vue'
5
- import { colorItems } from './constants'
6
- import { executeStrFunctionByContext } from '@vue2-client/utils/runEvalFunction'
7
-
8
- const errorMsg = ref([])
9
- const loading = ref(false)
10
- const empty = ref(false)
11
- let plot = null
12
-
13
- // 接收props中的传参
14
- const props = defineProps({
15
- config: {
16
- type: Object,
17
- default: () => {}
18
- },
19
- requestParameters: {
20
- type: Object,
21
- default: () => {}
22
- },
23
- isDev: {
24
- type: Boolean,
25
- default: false
26
- },
27
- chatsKey: {
28
- type: [String, Number],
29
- default: ''
30
- }
31
- })
32
- // 添加验证函数
33
- const validateConfig = (config, requestParameters) => {
34
- const errors = []
35
- // 基础验证
36
- if (!config.type || !config.dataSource) {
37
- errors.push('图表类型或数据源未配置')
38
- }
39
- if (!config.xField) {
40
- errors.push('请选择横轴字段')
41
- }
42
- // yFieldType 验证
43
- if (config.yFieldType === 'sum') {
44
- if (!config.yField || config.yField.length === 0) {
45
- errors.push('请至少添加一个统计字段')
46
- }
47
- if (config.yField.some((field) => !field.field)) {
48
- errors.push('存在未选择的统计字段')
49
- }
50
- }
51
- if (errors.length === 0 && config?.customFunction) {
52
- const result = executeStrFunctionByContext(this, config.customFunction, [config, requestParameters])
53
- // 判断 result 是否为数组
54
- if (Array.isArray(result)) {
55
- errors.push(...result)
56
- }
57
- }
58
- return errors
59
- }
60
-
61
- // 添加排序处理函数
62
- const sortData = (data, config) => {
63
- const { xFieldSortBy, xFieldSortType, xField, yField } = config
64
-
65
- return [...data].sort((a, b) => {
66
- let compareResult = 0
67
-
68
- switch (xFieldSortBy) {
69
- case 'xValue':
70
- // 按横轴值排序
71
- compareResult = a[xField] < b[xField] ? -1 : 1
72
- break
73
- case 'yValue':
74
- // 按纵轴值排序
75
- {
76
- const yFieldName =
77
- typeof yField === 'string' ? yField : yField?.[0]?.field
78
- compareResult = parseFloat(a[yFieldName]) - parseFloat(b[yFieldName])
79
- }
80
- break
81
- default:
82
- compareResult = a[xField] < b[xField] ? -1 : 1
83
- }
84
-
85
- // 处理排序方向
86
- return xFieldSortType === 'asc' ? compareResult : -compareResult
87
- })
88
- }
89
-
90
- // 根据类型创建对应的图表实例
91
- const createPlot = (type, container, options) => {
92
- switch (type) {
93
- case 'line':
94
- return new Line(container, options)
95
- case 'bar':
96
- return new Column(container, options)
97
- case 'pie':
98
- return new Pie(container, {
99
- ...options,
100
- // 饼图特殊配置
101
- angleField: options.yField,
102
- colorField: options.xField,
103
- })
104
- default:
105
- return new Line(container, options)
106
- }
107
- }
108
-
109
- // 修改错误边界处理
110
- const handleError = (error) => {
111
- errorMsg.value = Array.isArray(error) ? error : ['图表渲染失败']
112
- // 出错时销毁图表实例
113
- if (plot) {
114
- plot.destroy()
115
- plot = null
116
- }
117
- loading.value = false
118
- }
119
-
120
- /**
121
- * 初始化
122
- * @param config 图表配置
123
- * @param requestParameters 查询参数
124
- */
125
- const init = (config = {}, requestParameters = {}) => {
126
- try {
127
- loading.value = true
128
- empty.value = false
129
- errorMsg.value = []
130
-
131
- const errors = validateConfig(config, requestParameters)
132
- if (errors.length > 0) {
133
- handleError(errors)
134
- return
135
- }
136
-
137
- // 处理请求参数,移除循环引用
138
- const sanitizedConfig = JSON.parse(JSON.stringify({
139
- ...config,
140
- chartsConfigArray: undefined // 移除可能导致循环引用的属性
141
- }))
142
-
143
- const sanitizedParams = JSON.parse(JSON.stringify({
144
- conditionParams: {},
145
- chartsConfigArray: undefined,
146
- ...requestParameters
147
- }))
148
-
149
- // 验证通过后进行数据请求和图表渲染
150
- queryChartsData({ config: sanitizedConfig, requestParameters: sanitizedParams, preview: true }, config.serviceName, props.isDev)
151
- .then((res) => {
152
- const xField =
153
- config.dataSource === 'curCrud'
154
- ? config.xField.replace('.', '_')
155
- : config.xField
156
-
157
- const yFieldConfig = config.yField?.[0]
158
- const yField =
159
- config.dataSource === 'curCrud'
160
- ? yFieldConfig?.field.replace('.', '_')
161
- : yFieldConfig?.field
162
-
163
- // 对数据进行排序
164
- const sortedData = sortData(res, {
165
- ...config,
166
- xField,
167
- yField,
168
- })
169
-
170
- const baseOptions = {
171
- data: sortedData,
172
- xField: xField,
173
- yField: 'value',
174
- meta: {
175
- [yField]: {
176
- alias: yFieldConfig?.label || yFieldConfig?.field
177
- }
178
- },
179
- seriesField: 'series',
180
- title: {
181
- visible: true,
182
- text: config.title,
183
- },
184
- description: {
185
- visible: true,
186
- text: config.description,
187
- },
188
- // 修改图表工具的配置方式
189
- label: config.chartsTools.includes('label')
190
- ? {
191
- visible: true,
192
- autoHide: true,
193
- style: {
194
- fontSize: 12,
195
- },
196
- }
197
- : false,
198
- point: config.chartsTools.includes('point')
199
- ? {
200
- visible: true,
201
- size: 4,
202
- }
203
- : false,
204
- xAxis: config.chartsTools.includes('xyVisible')
205
- ? {
206
- visible: true,
207
- label: {
208
- offset: 12,
209
- autoRotate: true,
210
- autoHide: true,
211
- rotate: 0.3
212
- },
213
- }
214
- : {
215
- visible: false,
216
- },
217
- yAxis: config.chartsTools.includes('xyVisible')
218
- ? {
219
- visible: true,
220
- }
221
- : {
222
- visible: false,
223
- },
224
- legend: config.chartsTools.includes('legend')
225
- ? {
226
- visible: true,
227
- position: 'top-left',
228
- marker: {
229
- symbol: 'circle',
230
- },
231
- itemName: {
232
- style: {
233
- fill: '#333',
234
- }
235
- }
236
- }
237
- : false,
238
- grid: config.chartsTools.includes('grid')
239
- ? {
240
- visible: true,
241
- }
242
- : {
243
- visible: false,
244
- },
245
- forceFit: true,
246
- padding: 'auto',
247
- // 添加主题色配置
248
- color: config.colorIndex !== undefined ? colorItems[config.colorIndex].map(item => item.color) : undefined,
249
-
250
- // 为饼图特别设置颜色
251
- pieStyle: config.type === 'pie' ? {
252
- stroke: 'white',
253
- lineWidth: 1,
254
- } : undefined,
255
- theme: {
256
- colors10: config.colorIndex !== undefined ? colorItems[config.colorIndex].map(item => item.color) : undefined,
257
- },
258
- }
259
- // 如果data 超过 50 增加缩略图
260
- if (sortedData.length > 500) {
261
- baseOptions.slider = {
262
- start: 0,
263
- end: 0.2,
264
- }
265
- } else if (sortedData.length > 200) {
266
- baseOptions.slider = {
267
- start: 0,
268
- end: 0.4,
269
- }
270
- } else if (sortedData.length > 100) {
271
- baseOptions.slider = {
272
- start: 0,
273
- end: 0.6,
274
- }
275
- } else if (sortedData.length > 50) {
276
- baseOptions.slider = {
277
- start: 0,
278
- end: 0.8,
279
- }
280
- }
281
- if (config.type !== 'pie') {
282
- baseOptions.isGroup = true
283
- }
284
- if (sortedData.length === 0) {
285
- empty.value = true
286
- return
287
- }
288
- // 如果实例存在且类型相同,只更新配置
289
- if (plot && plot.constructor.name.toLowerCase() === config.type) {
290
- try {
291
- plot.update({
292
- ...baseOptions,
293
- // 其他配置保持不变
294
- ...plot.options,
295
- // 需要更新的配置
296
- data: sortedData,
297
- xField,
298
- yField: 'value',
299
- meta: baseOptions.meta
300
- })
301
- } catch (error) {
302
- handleError(error)
303
- }
304
- } else {
305
- // 如果实例不存在或类型不同,需要重新创建
306
- if (plot) {
307
- plot.destroy()
308
- }
309
- plot = createPlot(
310
- config.type,
311
- document.getElementById(`container${props.chatsKey}`),
312
- baseOptions
313
- )
314
- plot.render()
315
- }
316
- })
317
- .catch(error => {
318
- handleError(error)
319
- })
320
- .finally(() => {
321
- loading.value = false
322
- })
323
- } catch (error) {
324
- handleError(error)
325
- }
326
- }
327
-
328
- // 组件卸载时清理图表实例
329
- onUnmounted(() => {
330
- if (plot) {
331
- plot.destroy()
332
- }
333
- })
334
-
335
- // 添加对 props 的监听
336
- watch(
337
- [() => props.config, () => props.requestParameters],
338
- ([newConfig, newRequestParameters]) => {
339
- init(newConfig, newRequestParameters)
340
- },
341
- {
342
- deep: true
343
- }
344
- )
345
-
346
- onMounted(() => {
347
- init(props.config, props.requestParameters)
348
- })
349
-
350
- defineExpose({ init })
351
- </script>
352
-
353
- <template>
354
- <div
355
- :id="`container${chatsKey}`"
356
- style="height: 100%"
357
- >
358
- <a-spin :spinning="loading">
359
- <a-result
360
- v-if="errorMsg.length > 0"
361
- status="warning"
362
- title="图表构建错误"
363
- sub-title="配置不完善或者数据源格式错误,请检查"
364
- >
365
- <div
366
- class="desc"
367
- style="text-align: center"
368
- >
369
- <p
370
- v-for="(item, index) in errorMsg"
371
- :key="index"
372
- >
373
- <a-icon
374
- :style="{ color: 'red' }"
375
- type="close-circle"
376
- />
377
- {{ item }}
378
- </p>
379
- </div>
380
- </a-result>
381
- <a-empty v-else-if="empty"/>
382
- </a-spin>
383
- </div>
384
- </template>
385
-
386
- <style scoped lang="less">
387
- .custom-chart-title {
388
- font-size: 16px;
389
- font-weight: 500;
390
- margin-bottom: 8px;
391
- }
392
-
393
- .custom-chart-desc {
394
- font-size: 12px;
395
- color: rgba(0, 0, 0, .45);
396
- margin-bottom: 16px;
397
- }</style>
1
+ <script setup>
2
+ import { Line, Column, Pie } from '@antv/g2plot'
3
+ import { queryChartsData } from '@vue2-client/services/api/common'
4
+ import { ref, onUnmounted, onMounted, watch } from 'vue'
5
+ import { colorItems } from './constants'
6
+ import { executeStrFunctionByContext } from '@vue2-client/utils/runEvalFunction'
7
+
8
+ const errorMsg = ref([])
9
+ const loading = ref(false)
10
+ const empty = ref(false)
11
+ let plot = null
12
+
13
+ // 接收props中的传参
14
+ const props = defineProps({
15
+ config: {
16
+ type: Object,
17
+ default: () => {}
18
+ },
19
+ requestParameters: {
20
+ type: Object,
21
+ default: () => {}
22
+ },
23
+ isDev: {
24
+ type: Boolean,
25
+ default: false
26
+ },
27
+ chatsKey: {
28
+ type: [String, Number],
29
+ default: ''
30
+ }
31
+ })
32
+ // 添加验证函数
33
+ const validateConfig = (config, requestParameters) => {
34
+ const errors = []
35
+ // 基础验证
36
+ if (!config.type || !config.dataSource) {
37
+ errors.push('图表类型或数据源未配置')
38
+ }
39
+ if (!config.xField) {
40
+ errors.push('请选择横轴字段')
41
+ }
42
+ // yFieldType 验证
43
+ if (config.yFieldType === 'sum') {
44
+ if (!config.yField || config.yField.length === 0) {
45
+ errors.push('请至少添加一个统计字段')
46
+ }
47
+ if (config.yField.some((field) => !field.field)) {
48
+ errors.push('存在未选择的统计字段')
49
+ }
50
+ }
51
+ if (errors.length === 0 && config?.customFunction) {
52
+ const result = executeStrFunctionByContext(this, config.customFunction, [config, requestParameters])
53
+ // 判断 result 是否为数组
54
+ if (Array.isArray(result)) {
55
+ errors.push(...result)
56
+ }
57
+ }
58
+ return errors
59
+ }
60
+
61
+ // 添加排序处理函数
62
+ const sortData = (data, config) => {
63
+ const { xFieldSortBy, xFieldSortType, xField, yField } = config
64
+
65
+ return [...data].sort((a, b) => {
66
+ let compareResult = 0
67
+
68
+ switch (xFieldSortBy) {
69
+ case 'xValue':
70
+ // 按横轴值排序
71
+ compareResult = a[xField] < b[xField] ? -1 : 1
72
+ break
73
+ case 'yValue':
74
+ // 按纵轴值排序
75
+ {
76
+ const yFieldName =
77
+ typeof yField === 'string' ? yField : yField?.[0]?.field
78
+ compareResult = parseFloat(a[yFieldName]) - parseFloat(b[yFieldName])
79
+ }
80
+ break
81
+ default:
82
+ compareResult = a[xField] < b[xField] ? -1 : 1
83
+ }
84
+
85
+ // 处理排序方向
86
+ return xFieldSortType === 'asc' ? compareResult : -compareResult
87
+ })
88
+ }
89
+
90
+ // 根据类型创建对应的图表实例
91
+ const createPlot = (type, container, options) => {
92
+ switch (type) {
93
+ case 'line':
94
+ return new Line(container, options)
95
+ case 'bar':
96
+ return new Column(container, options)
97
+ case 'pie':
98
+ return new Pie(container, {
99
+ ...options,
100
+ // 饼图特殊配置
101
+ angleField: options.yField,
102
+ colorField: options.xField,
103
+ })
104
+ default:
105
+ return new Line(container, options)
106
+ }
107
+ }
108
+
109
+ // 修改错误边界处理
110
+ const handleError = (error) => {
111
+ errorMsg.value = Array.isArray(error) ? error : ['图表渲染失败']
112
+ // 出错时销毁图表实例
113
+ if (plot) {
114
+ plot.destroy()
115
+ plot = null
116
+ }
117
+ loading.value = false
118
+ }
119
+
120
+ /**
121
+ * 初始化
122
+ * @param config 图表配置
123
+ * @param requestParameters 查询参数
124
+ */
125
+ const init = (config = {}, requestParameters = {}) => {
126
+ try {
127
+ loading.value = true
128
+ empty.value = false
129
+ errorMsg.value = []
130
+
131
+ const errors = validateConfig(config, requestParameters)
132
+ if (errors.length > 0) {
133
+ handleError(errors)
134
+ return
135
+ }
136
+
137
+ // 处理请求参数,移除循环引用
138
+ const sanitizedConfig = JSON.parse(JSON.stringify({
139
+ ...config,
140
+ chartsConfigArray: undefined // 移除可能导致循环引用的属性
141
+ }))
142
+
143
+ const sanitizedParams = JSON.parse(JSON.stringify({
144
+ conditionParams: {},
145
+ chartsConfigArray: undefined,
146
+ ...requestParameters
147
+ }))
148
+
149
+ // 验证通过后进行数据请求和图表渲染
150
+ queryChartsData({ config: sanitizedConfig, requestParameters: sanitizedParams, preview: true }, config.serviceName, props.isDev)
151
+ .then((res) => {
152
+ const xField =
153
+ config.dataSource === 'curCrud'
154
+ ? config.xField.replace('.', '_')
155
+ : config.xField
156
+
157
+ const yFieldConfig = config.yField?.[0]
158
+ const yField =
159
+ config.dataSource === 'curCrud'
160
+ ? yFieldConfig?.field.replace('.', '_')
161
+ : yFieldConfig?.field
162
+
163
+ // 对数据进行排序
164
+ const sortedData = sortData(res, {
165
+ ...config,
166
+ xField,
167
+ yField,
168
+ })
169
+
170
+ const baseOptions = {
171
+ data: sortedData,
172
+ xField: xField,
173
+ yField: 'value',
174
+ meta: {
175
+ [yField]: {
176
+ alias: yFieldConfig?.label || yFieldConfig?.field
177
+ }
178
+ },
179
+ seriesField: 'series',
180
+ title: {
181
+ visible: true,
182
+ text: config.title,
183
+ },
184
+ description: {
185
+ visible: true,
186
+ text: config.description,
187
+ },
188
+ // 修改图表工具的配置方式
189
+ label: config.chartsTools.includes('label')
190
+ ? {
191
+ visible: true,
192
+ autoHide: true,
193
+ style: {
194
+ fontSize: 12,
195
+ },
196
+ }
197
+ : false,
198
+ point: config.chartsTools.includes('point')
199
+ ? {
200
+ visible: true,
201
+ size: 4,
202
+ }
203
+ : false,
204
+ xAxis: config.chartsTools.includes('xyVisible')
205
+ ? {
206
+ visible: true,
207
+ label: {
208
+ offset: 12,
209
+ autoRotate: true,
210
+ autoHide: true,
211
+ rotate: 0.3
212
+ },
213
+ }
214
+ : {
215
+ visible: false,
216
+ },
217
+ yAxis: config.chartsTools.includes('xyVisible')
218
+ ? {
219
+ visible: true,
220
+ }
221
+ : {
222
+ visible: false,
223
+ },
224
+ legend: config.chartsTools.includes('legend')
225
+ ? {
226
+ visible: true,
227
+ position: 'top-left',
228
+ marker: {
229
+ symbol: 'circle',
230
+ },
231
+ itemName: {
232
+ style: {
233
+ fill: '#333',
234
+ }
235
+ }
236
+ }
237
+ : false,
238
+ grid: config.chartsTools.includes('grid')
239
+ ? {
240
+ visible: true,
241
+ }
242
+ : {
243
+ visible: false,
244
+ },
245
+ forceFit: true,
246
+ padding: 'auto',
247
+ // 添加主题色配置
248
+ color: config.colorIndex !== undefined ? colorItems[config.colorIndex].map(item => item.color) : undefined,
249
+
250
+ // 为饼图特别设置颜色
251
+ pieStyle: config.type === 'pie' ? {
252
+ stroke: 'white',
253
+ lineWidth: 1,
254
+ } : undefined,
255
+ theme: {
256
+ colors10: config.colorIndex !== undefined ? colorItems[config.colorIndex].map(item => item.color) : undefined,
257
+ },
258
+ }
259
+ // 如果data 超过 50 增加缩略图
260
+ if (sortedData.length > 500) {
261
+ baseOptions.slider = {
262
+ start: 0,
263
+ end: 0.2,
264
+ }
265
+ } else if (sortedData.length > 200) {
266
+ baseOptions.slider = {
267
+ start: 0,
268
+ end: 0.4,
269
+ }
270
+ } else if (sortedData.length > 100) {
271
+ baseOptions.slider = {
272
+ start: 0,
273
+ end: 0.6,
274
+ }
275
+ } else if (sortedData.length > 50) {
276
+ baseOptions.slider = {
277
+ start: 0,
278
+ end: 0.8,
279
+ }
280
+ }
281
+ if (config.type !== 'pie') {
282
+ baseOptions.isGroup = true
283
+ }
284
+ if (sortedData.length === 0) {
285
+ empty.value = true
286
+ return
287
+ }
288
+ // 如果实例存在且类型相同,只更新配置
289
+ if (plot && plot.constructor.name.toLowerCase() === config.type) {
290
+ try {
291
+ plot.update({
292
+ ...baseOptions,
293
+ // 其他配置保持不变
294
+ ...plot.options,
295
+ // 需要更新的配置
296
+ data: sortedData,
297
+ xField,
298
+ yField: 'value',
299
+ meta: baseOptions.meta
300
+ })
301
+ } catch (error) {
302
+ handleError(error)
303
+ }
304
+ } else {
305
+ // 如果实例不存在或类型不同,需要重新创建
306
+ if (plot) {
307
+ plot.destroy()
308
+ }
309
+ plot = createPlot(
310
+ config.type,
311
+ document.getElementById(`container${props.chatsKey}`),
312
+ baseOptions
313
+ )
314
+ plot.render()
315
+ }
316
+ })
317
+ .catch(error => {
318
+ handleError(error)
319
+ })
320
+ .finally(() => {
321
+ loading.value = false
322
+ })
323
+ } catch (error) {
324
+ handleError(error)
325
+ }
326
+ }
327
+
328
+ // 组件卸载时清理图表实例
329
+ onUnmounted(() => {
330
+ if (plot) {
331
+ plot.destroy()
332
+ }
333
+ })
334
+
335
+ // 添加对 props 的监听
336
+ watch(
337
+ [() => props.config, () => props.requestParameters],
338
+ ([newConfig, newRequestParameters]) => {
339
+ init(newConfig, newRequestParameters)
340
+ },
341
+ {
342
+ deep: true
343
+ }
344
+ )
345
+
346
+ onMounted(() => {
347
+ init(props.config, props.requestParameters)
348
+ })
349
+
350
+ defineExpose({ init })
351
+ </script>
352
+
353
+ <template>
354
+ <div
355
+ :id="`container${chatsKey}`"
356
+ style="height: 100%"
357
+ >
358
+ <a-spin :spinning="loading">
359
+ <a-result
360
+ v-if="errorMsg.length > 0"
361
+ status="warning"
362
+ title="图表构建错误"
363
+ sub-title="配置不完善或者数据源格式错误,请检查"
364
+ >
365
+ <div
366
+ class="desc"
367
+ style="text-align: center"
368
+ >
369
+ <p
370
+ v-for="(item, index) in errorMsg"
371
+ :key="index"
372
+ >
373
+ <a-icon
374
+ :style="{ color: 'red' }"
375
+ type="close-circle"
376
+ />
377
+ {{ item }}
378
+ </p>
379
+ </div>
380
+ </a-result>
381
+ <a-empty v-else-if="empty"/>
382
+ </a-spin>
383
+ </div>
384
+ </template>
385
+
386
+ <style scoped lang="less">
387
+ .custom-chart-title {
388
+ font-size: 16px;
389
+ font-weight: 500;
390
+ margin-bottom: 8px;
391
+ }
392
+
393
+ .custom-chart-desc {
394
+ font-size: 12px;
395
+ color: rgba(0, 0, 0, .45);
396
+ margin-bottom: 16px;
397
+ }</style>