vue2-client 1.17.41 → 1.17.44

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 (340) hide show
  1. package/.claude/settings.local.json +20 -20
  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/memories/code_style_conventions.md +217 -217
  10. package/.serena/memories/project_overview.md +54 -54
  11. package/.serena/memories/project_structure.md +329 -329
  12. package/.serena/memories/suggested_commands.md +127 -127
  13. package/.serena/memories/task_completion_checklist.md +183 -183
  14. package/.serena/memories/tech_stack.md +94 -94
  15. package/CHANGELOG.md +830 -830
  16. package/CLAUDE.md +97 -97
  17. package/Components.md +60 -60
  18. package/docs/LowCode/lowcode.md +155 -155
  19. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  20. package/docs/index.md +30 -30
  21. package/index.js +31 -31
  22. package/jest-transform-stub.js +8 -8
  23. package/jest.setup.js +7 -7
  24. package/jsconfig.json +19 -19
  25. package/package.json +112 -112
  26. package/public/his/editor/editor.html +51 -51
  27. package/public/his/editor/mock/bind_data.html +779 -779
  28. package/public/his/editor/mock/data_table.html +40 -40
  29. package/public/his/editor/mock/sign.html +75 -75
  30. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  31. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  32. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  33. package/public/his/editor/vender/date97/calendar.js +4 -4
  34. package/public/his/editor/vender/date97/lang/en.js +13 -13
  35. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  36. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  37. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  38. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  39. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  40. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  41. package/public/his/editor/vender/diff.js +1627 -1627
  42. package/public/his/editor/vender/editor.js +1 -1
  43. package/public/his/editor/vender/fabric.js +31187 -31187
  44. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  45. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  46. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  47. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  48. package/public/his/editor/vender/mui/mui.min.css +4 -4
  49. package/public/his/editor/vender/mui/mui.min.js +5 -5
  50. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  51. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  52. package/public/his/editor/vender/qrcode.js +7 -7
  53. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  54. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  55. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  56. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  57. package/public/his/editor/vender/validator.js +5094 -5094
  58. package/public/his/editor/vender/weui/weui.css +5659 -5659
  59. package/public/his/editor/vender/weui/weui.min.css +4 -4
  60. package/public/his/editor/vender/weui/weui.min.js +11 -11
  61. package/src/assets/img/paymentMethod/package.info +1 -1
  62. package/src/assets/img/querySlotDemo.svg +15 -15
  63. package/src/assets/svg/badtwo.svg +1 -1
  64. package/src/assets/svg/goodtwo.svg +1 -1
  65. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  66. package/src/base-client/components/AI/demo.vue +31 -31
  67. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  68. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  69. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  70. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  71. package/src/base-client/components/common/CitySelect/index.js +3 -3
  72. package/src/base-client/components/common/CitySelect/index.md +109 -109
  73. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  74. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  75. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  76. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  77. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  78. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  79. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  80. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  81. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  82. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  83. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  84. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  85. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  86. package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +3 -1
  87. package/src/base-client/components/common/HIS/demo.vue +61 -61
  88. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  89. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  91. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  92. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  93. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  94. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  100. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  101. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  102. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  103. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  104. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  105. package/src/base-client/components/common/Recording/index.js +3 -3
  106. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  107. package/src/base-client/components/common/Tree/index.js +2 -2
  108. package/src/base-client/components/common/Upload/index.js +3 -3
  109. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  110. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  111. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +304 -304
  112. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  113. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  114. package/src/base-client/components/common/XAddReport/index.js +3 -3
  115. package/src/base-client/components/common/XAddReport/index.md +56 -56
  116. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  117. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  118. package/src/base-client/components/common/XButtons/index.js +3 -3
  119. package/src/base-client/components/common/XButtons/index.md +61 -61
  120. package/src/base-client/components/common/XCalendar/XCalendar.vue +4 -4
  121. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  122. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  123. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  124. package/src/base-client/components/common/XDataCard/index.js +3 -3
  125. package/src/base-client/components/common/XDataCard/index.md +1 -1
  126. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  127. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  128. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  129. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  130. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  131. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  132. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  133. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  134. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  135. package/src/base-client/components/common/XForm/index.md +178 -178
  136. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  137. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  138. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  139. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  140. package/src/base-client/components/common/XFormTable/XFormTable.vue +1093 -1093
  141. package/src/base-client/components/common/XFormTable/demo.vue +113 -113
  142. package/src/base-client/components/common/XFormTable/index.md +92 -92
  143. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  144. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  145. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  146. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  147. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  148. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  149. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  150. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  151. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  152. package/src/base-client/components/common/XPrint/index.vue +97 -97
  153. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  154. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  155. package/src/base-client/components/common/XReport/index.js +3 -3
  156. package/src/base-client/components/common/XReport/print.js +186 -186
  157. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  158. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  159. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  160. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  161. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  162. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  163. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  164. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  165. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  166. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  167. package/src/base-client/components/common/XStepView/index.js +3 -3
  168. package/src/base-client/components/common/XStepView/index.md +31 -31
  169. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  170. package/src/base-client/components/common/XTab/index.js +3 -3
  171. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  172. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  173. package/src/base-client/components/common/XTable/XTableWrapper.vue +732 -706
  174. package/src/base-client/components/common/XTable/index.md +255 -255
  175. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  176. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  177. package/src/base-client/components/common/XTree/index.js +3 -3
  178. package/src/base-client/components/common/XTree/index.md +36 -36
  179. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  180. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  181. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  182. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  183. package/src/base-client/components/his/HChart/HChart.vue +493 -0
  184. package/src/base-client/components/his/HChart/demo.vue +88 -0
  185. package/src/base-client/components/his/HChart/index.md +798 -0
  186. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
  187. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  188. package/src/base-client/components/index.js +51 -51
  189. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  190. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  191. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  192. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  193. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  194. package/src/base-client/plugins/Config.js +19 -19
  195. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  196. package/src/base-client/plugins/Recording.js +258 -258
  197. package/src/base-client/plugins/index.js +23 -23
  198. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  199. package/src/components/Charts/Bar.vue +62 -62
  200. package/src/components/Charts/ChartCard.vue +134 -134
  201. package/src/components/Charts/Liquid.vue +67 -67
  202. package/src/components/Charts/MiniArea.vue +39 -39
  203. package/src/components/Charts/MiniBar.vue +39 -39
  204. package/src/components/Charts/MiniProgress.vue +75 -75
  205. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  206. package/src/components/Charts/Radar.vue +68 -68
  207. package/src/components/Charts/RankList.vue +77 -77
  208. package/src/components/Charts/TagCloud.vue +113 -113
  209. package/src/components/Charts/TransferBar.vue +64 -64
  210. package/src/components/Charts/Trend.vue +82 -82
  211. package/src/components/Charts/chart.less +12 -12
  212. package/src/components/Charts/smooth.area.less +13 -13
  213. package/src/components/CodeMirror/inedx.vue +118 -118
  214. package/src/components/CodeMirror/setting.js +40 -40
  215. package/src/components/FileImageItem/FileItem.vue +320 -320
  216. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  217. package/src/components/NumberInfo/index.js +3 -3
  218. package/src/components/NumberInfo/index.less +54 -54
  219. package/src/components/NumberInfo/index.md +43 -43
  220. package/src/components/card/ChartCard.vue +79 -79
  221. package/src/components/chart/Bar.vue +60 -60
  222. package/src/components/chart/MiniArea.vue +67 -67
  223. package/src/components/chart/MiniBar.vue +59 -59
  224. package/src/components/chart/MiniProgress.vue +57 -57
  225. package/src/components/chart/Radar.vue +80 -80
  226. package/src/components/chart/RankingList.vue +60 -60
  227. package/src/components/chart/Trend.vue +79 -79
  228. package/src/components/chart/index.less +9 -9
  229. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  230. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  231. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  232. package/src/components/checkbox/index.js +9 -9
  233. package/src/components/exception/ExceptionPage.vue +70 -70
  234. package/src/components/g2Charts/constants.js +202 -202
  235. package/src/components/g2Charts/demo.vue +808 -808
  236. package/src/components/g2Charts/designer.vue +228 -228
  237. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  238. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  239. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  240. package/src/components/g2Charts/index.vue +397 -397
  241. package/src/components/index.js +36 -36
  242. package/src/components/input/IInput.vue +66 -66
  243. package/src/components/menu/SideMenu.vue +75 -75
  244. package/src/components/menu/menu.js +273 -273
  245. package/src/components/setting/Setting.vue +234 -234
  246. package/src/components/tool/AStepItem.vue +60 -60
  247. package/src/config/CreateQueryConfig.js +325 -325
  248. package/src/config/default/antd.config.js +89 -89
  249. package/src/config/default/setting.config.js +55 -55
  250. package/src/font-style/font.css +60 -60
  251. package/src/layouts/CommonLayout.vue +56 -56
  252. package/src/layouts/PageLayout.vue +151 -151
  253. package/src/layouts/SinglePageView.vue +136 -136
  254. package/src/layouts/header/AdminHeader.vue +132 -132
  255. package/src/layouts/header/HeaderNotice.vue +177 -177
  256. package/src/layouts/header/InstitutionDetail.vue +181 -181
  257. package/src/layouts/tabs/TabsHead.vue +189 -189
  258. package/src/lib.js +1 -1
  259. package/src/mock/extend/index.js +84 -84
  260. package/src/mock/goods/index.js +108 -108
  261. package/src/pages/DefaultExample/index.vue +77 -77
  262. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  263. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  264. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  265. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  266. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  267. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  268. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  269. package/src/pages/DynamicStatistics/index.vue +282 -282
  270. package/src/pages/Example/childIndex.vue +15 -15
  271. package/src/pages/Example/index.vue +30 -30
  272. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  273. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  274. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  275. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  276. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  277. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  278. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  279. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  280. package/src/pages/Recording/index.vue +77 -77
  281. package/src/pages/ServiceReview/index.vue +284 -284
  282. package/src/pages/SubExample/index.vue +26 -26
  283. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  284. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1815 -1815
  285. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1014 -1014
  286. package/src/pages/WorkflowDetail/WorkflowPageDetail/worklog.vue +98 -98
  287. package/src/pages/XReportView/index.vue +64 -64
  288. package/src/pages/XTreeOneProExample/index.vue +67 -67
  289. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  290. package/src/pages/login/Login.vue +379 -379
  291. package/src/pages/login/LoginV3.vue +389 -389
  292. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  293. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  294. package/src/pages/report/ReportTable.js +124 -124
  295. package/src/pages/resourceManage/orgListManage.vue +98 -98
  296. package/src/pages/system/dictionary/index.vue +44 -44
  297. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  298. package/src/pages/system/monitor/operLog/index.vue +37 -37
  299. package/src/pages/system/settings/modifyPassword.vue +117 -117
  300. package/src/pages/system/ticket/index.vue +480 -480
  301. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  302. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  303. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  304. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  305. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  306. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  307. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  308. package/src/plugins/EventLogPlugin.js +33 -33
  309. package/src/plugins/FindParentsData.js +17 -17
  310. package/src/router/async/router.map.js +2 -1
  311. package/src/services/DataModel.js +30 -30
  312. package/src/services/LodopFuncs.js +137 -137
  313. package/src/services/api/TicketDetailsViewApi.js +46 -46
  314. package/src/services/api/cas.js +79 -79
  315. package/src/services/api/entity.js +18 -18
  316. package/src/services/api/index.js +17 -17
  317. package/src/store/modules/account.js +121 -121
  318. package/src/store/modules/index.js +5 -5
  319. package/src/store/modules/lowCode.js +33 -33
  320. package/src/store/modules/setting.js +119 -119
  321. package/src/theme/default/style.less +58 -58
  322. package/src/theme/global.less +313 -311
  323. package/src/utils/authority-utils.js +85 -85
  324. package/src/utils/errorCode.js +6 -6
  325. package/src/utils/formatter.js +74 -74
  326. package/src/utils/htmlToPDF.js +108 -108
  327. package/src/utils/htmlToPDFApi.js +5 -5
  328. package/src/utils/login.js +188 -188
  329. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  330. package/src/utils/lowcode/lowcodeLog.js +29 -29
  331. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  332. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  333. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  334. package/src/utils/map-utils.js +47 -47
  335. package/src/utils/reg.js +95 -95
  336. package/src/utils/runEvalFunction.js +14 -14
  337. package/src/utils/theme-color-replacer-extend.js +92 -92
  338. package/src/utils/util.js +329 -329
  339. package/src/utils/waterMark.js +31 -31
  340. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,48 +1,48 @@
1
- <template>
2
- <div>
3
- <h1>Canvas Editor 示例</h1>
4
- <x-add-native-form ref="nativeForm" />
5
- </div>
6
- </template>
7
-
8
- <script>
9
- import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
10
- import { getConfigByName } from '../../../../services/api/common'
11
-
12
- export default {
13
- components: {
14
- XAddNativeForm
15
- },
16
- mounted () {
17
- this.$nextTick(() => {
18
- getConfigByName('表单测试Form', 'af-his', (res) => {
19
- const modifyModelData = {
20
- data: {
21
- t_f_file_id: 1,
22
- t_f_path: '/usr/local/tomcat/files/af-his/txt/f7c758f6d5f14c53bb5246f82a25c0c4.txt'
23
- },
24
- images: [],
25
- files: []
26
- }
27
- this.$refs.nativeForm.init({
28
- serviceName: 'af-his',
29
- formItems: res.formJson,
30
- title: '收费',
31
- businessType: '新增',
32
- layout: 'inline',
33
- modifyModelData: modifyModelData
34
- })
35
- })
36
- })
37
- },
38
- methods: {
39
- submit () {
40
-
41
- }
42
- }
43
- }
44
- </script>
45
-
46
- <style>
47
- /* 在这里添加您的样式 */
48
- </style>
1
+ <template>
2
+ <div>
3
+ <h1>Canvas Editor 示例</h1>
4
+ <x-add-native-form ref="nativeForm" />
5
+ </div>
6
+ </template>
7
+
8
+ <script>
9
+ import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
10
+ import { getConfigByName } from '../../../../services/api/common'
11
+
12
+ export default {
13
+ components: {
14
+ XAddNativeForm
15
+ },
16
+ mounted () {
17
+ this.$nextTick(() => {
18
+ getConfigByName('表单测试Form', 'af-his', (res) => {
19
+ const modifyModelData = {
20
+ data: {
21
+ t_f_file_id: 1,
22
+ t_f_path: '/usr/local/tomcat/files/af-his/txt/f7c758f6d5f14c53bb5246f82a25c0c4.txt'
23
+ },
24
+ images: [],
25
+ files: []
26
+ }
27
+ this.$refs.nativeForm.init({
28
+ serviceName: 'af-his',
29
+ formItems: res.formJson,
30
+ title: '收费',
31
+ businessType: '新增',
32
+ layout: 'inline',
33
+ modifyModelData: modifyModelData
34
+ })
35
+ })
36
+ })
37
+ },
38
+ methods: {
39
+ submit () {
40
+
41
+ }
42
+ }
43
+ }
44
+ </script>
45
+
46
+ <style>
47
+ /* 在这里添加您的样式 */
48
+ </style>
@@ -0,0 +1,493 @@
1
+ <template>
2
+ <div class="h-chart-configurable" :class="wrapperClassObject">
3
+ <x-title v-if="chartTitle" v-bind="xTitleAttrs" :title="chartTitle" />
4
+ <!-- 图表挂载容器 -->
5
+ <div ref="chartRef" class="chart-canvas" :style="chartStyle"></div>
6
+ </div>
7
+ </template>
8
+
9
+ <script setup>
10
+ import { ref, watch, onMounted, computed, useAttrs, onBeforeUnmount, nextTick } from 'vue'
11
+ import * as echarts from 'echarts/core'
12
+ import { BarChart, LineChart, PieChart } from 'echarts/charts'
13
+ import { TooltipComponent, LegendComponent, GridComponent } from 'echarts/components'
14
+ import { CanvasRenderer } from 'echarts/renderers'
15
+ import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
16
+ import XTitle from '../XTitle/XTitle.vue'
17
+ // 注册常用图表类型,避免每次重复导入
18
+ echarts.use([BarChart, LineChart, PieChart, TooltipComponent, LegendComponent, GridComponent, CanvasRenderer])
19
+
20
+ const props = defineProps({
21
+ // 配置名称(用于查询配置)
22
+ queryParamsName: {
23
+ type: String,
24
+ default: ''
25
+ },
26
+ // 服务名
27
+ serviceName: {
28
+ type: String,
29
+ default: 'af-his'
30
+ },
31
+ // 固定查询参数
32
+ fixedQueryForm: {
33
+ type: Object,
34
+ default: () => ({ condition: '1=1' })
35
+ },
36
+ config: {
37
+ type: Object,
38
+ default: null
39
+ }
40
+ })
41
+
42
+ const emit = defineEmits(['dataLoaded', 'error', 'update:fixedQueryForm'])
43
+
44
+ const chartRef = ref(null)
45
+ let chartInstance = null
46
+ const chartConfig = ref(null)
47
+ const chartData = ref([])
48
+ const loading = ref(false)
49
+ let resizeObserver = null
50
+
51
+ // 记录上一次的 queryParamsName,用于比较变化
52
+ const lastQueryParamsName = ref('')
53
+
54
+ const chartTitle = computed(() => {
55
+ if (props.config?.xtitle) return props.config.xtitle
56
+ if (chartConfig.value?.xtitle) return chartConfig.value.xtitle
57
+ return ''
58
+ })
59
+ const xTitleAttrs = computed(() => {
60
+ if (props.config?.xtitleAttrs) return props.config.xtitleAttrs
61
+ if (chartConfig.value?.xtitleAttrs) return chartConfig.value.xtitleAttrs
62
+ return {}
63
+ })
64
+ const chartStyle = computed(() => {
65
+ const target = props.config ?? chartConfig.value ?? {}
66
+ if (target.style && typeof target.style === 'object') return target.style
67
+ return {}
68
+ })
69
+
70
+ const attrs = useAttrs()
71
+ const wrapperClassObject = computed(() => {
72
+ const a = attrs
73
+ const classes = {}
74
+
75
+ // 通用布尔样式开关(以存在/空字符串/'true' 为真)
76
+ const booleanStyleKeys = [
77
+ 'show-border',
78
+ 'border-hide-left',
79
+ 'border-hide-right'
80
+ ]
81
+ for (const key of booleanStyleKeys) {
82
+ const val = a[key]
83
+ const truthy = val === true || val === '' || val === 'true'
84
+ if (truthy) classes[`h-chart-${key}`] = true
85
+ }
86
+
87
+ return classes
88
+ })
89
+
90
+ // 常用图表预设,统一处理 dataset → ECharts option 的映射
91
+ const presetResolvers = {
92
+ bar: ({ dataset }) => ({
93
+ animationDuration: 420,
94
+ animationEasing: 'cubicOut',
95
+ animationDelay: (_, idx) => idx * 60,
96
+ tooltip: {
97
+ trigger: 'axis',
98
+ axisPointer: {
99
+ type: 'shadow'
100
+ }
101
+ },
102
+ xAxis: { type: 'category', data: dataset.map(item => item.label) },
103
+ yAxis: { type: 'value' },
104
+ series: [
105
+ {
106
+ type: 'bar',
107
+ data: dataset.map(item => item.value),
108
+ itemStyle: {
109
+ color: '#3362DA',
110
+ borderRadius: [4, 4, 0, 0]
111
+ },
112
+ emphasis: {
113
+ itemStyle: {
114
+ color: '#4C7CFF',
115
+ shadowBlur: 18,
116
+ shadowColor: 'rgba(76, 124, 255, 0.45)'
117
+ }
118
+ }
119
+ }
120
+ ]
121
+ }),
122
+ line: ({ dataset }) => ({
123
+ animationDuration: 420,
124
+ animationEasing: 'cubicOut',
125
+ animationDelay: (_, idx) => idx * 50,
126
+ tooltip: {
127
+ trigger: 'axis',
128
+ axisPointer: {
129
+ type: 'line'
130
+ }
131
+ },
132
+ xAxis: { type: 'category', data: dataset.map(item => item.label) },
133
+ yAxis: { type: 'value' },
134
+ series: [
135
+ {
136
+ type: 'line',
137
+ smooth: true,
138
+ data: dataset.map(item => item.value),
139
+ lineStyle: {
140
+ width: 3,
141
+ color: '#28C8B5'
142
+ },
143
+ itemStyle: {
144
+ color: '#28C8B5'
145
+ },
146
+ emphasis: {
147
+ itemStyle: {
148
+ color: '#4BE1CD',
149
+ borderColor: '#D8FFF6',
150
+ borderWidth: 6
151
+ },
152
+ lineStyle: {
153
+ width: 4
154
+ }
155
+ },
156
+ areaStyle: {
157
+ opacity: 0.1,
158
+ color: '#28C8B5'
159
+ }
160
+ }
161
+ ]
162
+ }),
163
+ pie: ({ dataset }) => ({
164
+ animationDuration: 420,
165
+ animationEasing: 'cubicOut',
166
+ tooltip: {
167
+ trigger: 'item',
168
+ formatter: '{a} <br/>{b}: {c} ({d}%)'
169
+ },
170
+ series: [
171
+ {
172
+ type: 'pie',
173
+ radius: '55%',
174
+ data: dataset.map(item => ({ name: item.label, value: item.value })),
175
+ itemStyle: {
176
+ borderColor: '#fff',
177
+ borderWidth: 2
178
+ },
179
+ emphasis: {
180
+ scale: true,
181
+ scaleSize: 6,
182
+ itemStyle: {
183
+ shadowBlur: 16,
184
+ shadowColor: 'rgba(0, 0, 0, 0.25)'
185
+ },
186
+ label: {
187
+ show: true,
188
+ fontWeight: 'bold'
189
+ }
190
+ }
191
+ }
192
+ ]
193
+ })
194
+ }
195
+
196
+ // 数据转换:将后端返回的数据转换为图表需要的 dataset 格式
197
+ const transformData = (rawData, dataMapping) => {
198
+ // 增强数据提取:支持从包装对象中提取数组
199
+ let dataArray = rawData
200
+
201
+ // 如果 rawData 是对象但不是数组,尝试提取数组数据
202
+ if (rawData && typeof rawData === 'object' && !Array.isArray(rawData)) {
203
+ // 尝试常见的包装字段
204
+ dataArray = rawData.data || rawData.result || rawData.list || rawData.items || rawData.records
205
+
206
+ // 如果还是找不到数组,检查是否所有值都是数组
207
+ if (!Array.isArray(dataArray)) {
208
+ const arrayValues = Object.values(rawData).filter(val => Array.isArray(val))
209
+ if (arrayValues.length === 1) {
210
+ dataArray = arrayValues[0]
211
+ }
212
+ }
213
+ }
214
+
215
+ // 最终检查:必须是数组
216
+ if (!dataArray || !Array.isArray(dataArray)) {
217
+ console.warn('HChart: transformData 接收到的数据不是数组格式:', rawData)
218
+ return []
219
+ }
220
+
221
+ // 如果配置了数据映射规则,使用映射规则
222
+ if (dataMapping) {
223
+ const { labelField = 'label', valueField = 'value' } = dataMapping
224
+ return dataArray.map(item => ({
225
+ label: item[labelField] || item.name || item.label || '',
226
+ value: Number(item[valueField] || item.value || 0)
227
+ }))
228
+ }
229
+
230
+ // 默认处理:尝试自动识别
231
+ return dataArray.map(item => {
232
+ if (typeof item === 'object' && item !== null) {
233
+ return {
234
+ label: item.label || item.name || item.text || item.x || String(item[Object.keys(item)[0]] || ''),
235
+ value: Number(item.value || item.count || item.y || item[Object.keys(item)[1]] || 0)
236
+ }
237
+ }
238
+ return { label: String(item), value: 0 }
239
+ })
240
+ }
241
+
242
+ // 获取配置和数据
243
+ const fetchConfigAndData = async () => {
244
+ if (!props.queryParamsName && !props.config) {
245
+ console.warn('HChart: queryParamsName 或 config 必须提供一个')
246
+ return
247
+ }
248
+
249
+ try {
250
+ loading.value = true
251
+
252
+ // 如果直接提供了 config,直接使用
253
+ if (props.config) {
254
+ chartConfig.value = props.config
255
+ console.log('44444444444444444444444444444444')
256
+ await loadChartData(props.config)
257
+ return
258
+ }
259
+
260
+ // 否则通过 queryParamsName 查询配置
261
+ getConfigByName(props.queryParamsName, props.serviceName, async (res) => {
262
+ if (!res) {
263
+ console.error('HChart: 未能获取到配置内容')
264
+ emit('error', new Error('未能获取到配置内容'))
265
+ return
266
+ }
267
+
268
+ chartConfig.value = res
269
+ console.log('3333333333333333333333333')
270
+ await loadChartData(res)
271
+ })
272
+ } catch (error) {
273
+ console.error('HChart: 获取配置或数据时发生错误:', error)
274
+ emit('error', error)
275
+ } finally {
276
+ loading.value = false
277
+ }
278
+ }
279
+
280
+ // 加载图表数据
281
+ const loadChartData = async (config) => {
282
+ if (!config) return
283
+
284
+ try {
285
+ // 如果配置中直接提供了 dataset,直接使用
286
+ if (config.dataset && Array.isArray(config.dataset)) {
287
+ chartData.value = config.dataset
288
+ renderChart()
289
+ console.log('1111111111111111111111111')
290
+ emit('dataLoaded', chartData.value)
291
+ return
292
+ }
293
+
294
+ // 如果配置中提供了 data(logicName),通过 runLogic 获取数据
295
+ if (config.data) {
296
+ const result = await runLogic(config.data, props.fixedQueryForm, props.serviceName)
297
+
298
+ // 转换数据格式
299
+ const transformedData = transformData(result, config.dataMapping)
300
+ if (transformedData.length === 0) {
301
+ console.warn('HChart: 数据转换后为空数组,原始数据:', result)
302
+ }
303
+ chartData.value = transformedData
304
+ renderChart()
305
+ console.log('22222222222222222222222222')
306
+ emit('dataLoaded', transformedData)
307
+ } else {
308
+ // 没有数据源,使用空数据
309
+ chartData.value = []
310
+ renderChart()
311
+ }
312
+ } catch (error) {
313
+ console.error('HChart: 加载数据时发生错误:', error)
314
+ emit('error', error)
315
+ }
316
+ }
317
+
318
+ // 渲染图表
319
+ const renderChart = () => {
320
+ if (!chartRef.value) return
321
+ nextTick(() => {
322
+ if (!chartInstance) {
323
+ chartInstance = echarts.init(chartRef.value)
324
+ // 监听窗口大小变化
325
+ resizeObserver = new ResizeObserver(() => {
326
+ chartInstance?.resize()
327
+ })
328
+ resizeObserver.observe(chartRef.value)
329
+ }
330
+
331
+ const config = chartConfig.value || props.config
332
+ if (!config || !config.type) return
333
+
334
+ const resolver = presetResolvers[config.type]
335
+ if (!resolver) {
336
+ console.warn(`HChart: 不支持的图表类型 ${config.type}`)
337
+ return
338
+ }
339
+
340
+ const preset = resolver({ dataset: chartData.value })
341
+ // 深度合并 series 配置
342
+ let finalOptions = {
343
+ legend: config.legend || {},
344
+ grid: config.grid || {},
345
+ ...preset
346
+ }
347
+
348
+ // 如果 options 中有 series,进行深度合并
349
+ if (config.options?.series && preset.series) {
350
+ // 分离需要特殊处理的配置项
351
+ const { xAxis: customXAxis, yAxis: customYAxis, series: customSeries, ...restOptions } = config.options
352
+
353
+ finalOptions = {
354
+ ...finalOptions,
355
+ ...restOptions,
356
+ // 对于有 xAxis 的图表类型(bar, line),智能合并 xAxis
357
+ ...(preset.xAxis && {
358
+ xAxis: {
359
+ ...preset.xAxis,
360
+ ...customXAxis,
361
+ // 如果用户配置的 data 为空数组或未定义,使用预设的 data
362
+ data: (customXAxis?.data && customXAxis.data.length > 0)
363
+ ? customXAxis.data
364
+ : preset.xAxis.data
365
+ }
366
+ }),
367
+ // 对于有 yAxis 的图表类型,合并 yAxis
368
+ ...(preset.yAxis && {
369
+ yAxis: {
370
+ ...preset.yAxis,
371
+ ...customYAxis
372
+ }
373
+ }),
374
+ series: [
375
+ {
376
+ ...preset.series[0],
377
+ ...customSeries[0],
378
+ // 确保 data 来自预设(从 logic 获取的数据)
379
+ data: preset.series[0].data
380
+ }
381
+ ]
382
+ }
383
+ } else {
384
+ // 没有自定义 series 的情况
385
+ const { xAxis: customXAxis, yAxis: customYAxis, ...restOptions } = config.options || {}
386
+
387
+ finalOptions = {
388
+ ...finalOptions,
389
+ ...restOptions,
390
+ // 对于有 xAxis 的图表类型,智能合并
391
+ ...(preset.xAxis && {
392
+ xAxis: {
393
+ ...preset.xAxis,
394
+ ...customXAxis,
395
+ // 如果用户配置的 data 为空数组或未定义,使用预设的 data
396
+ data: (customXAxis?.data && customXAxis.data.length > 0)
397
+ ? customXAxis.data
398
+ : preset.xAxis.data
399
+ }
400
+ }),
401
+ // 对于有 yAxis 的图表类型,合并 yAxis
402
+ ...(preset.yAxis && {
403
+ yAxis: {
404
+ ...preset.yAxis,
405
+ ...customYAxis
406
+ }
407
+ })
408
+ }
409
+ }
410
+ chartInstance.setOption(finalOptions, true)
411
+ })
412
+ }
413
+
414
+ // 监听 queryParamsName 变化,只有在名称变化时才重新获取配置
415
+ watch(
416
+ () => props.queryParamsName,
417
+ (newName, oldName) => {
418
+ if (newName !== oldName) {
419
+ console.log('99999999999999999999999999')
420
+ fetchConfigAndData()
421
+ }
422
+ }
423
+ )
424
+
425
+ // 暴露给外部的方法
426
+ const refresh = () => {
427
+ console.log('88888888888888888888888888')
428
+ fetchConfigAndData()
429
+ }
430
+
431
+ const reload = (newQueryForm) => {
432
+ if (newQueryForm) {
433
+ emit('update:fixedQueryForm', { ...props.fixedQueryForm, ...newQueryForm })
434
+ } else {
435
+ console.log('7777777777777777777777777')
436
+ fetchConfigAndData()
437
+ }
438
+ }
439
+
440
+ defineExpose({
441
+ refresh,
442
+ reload,
443
+ chartInstance
444
+ })
445
+
446
+ onMounted(() => {
447
+ // 初始化时记录 queryParamsName
448
+ lastQueryParamsName.value = props.queryParamsName
449
+ console.log('66666666666666666666666666666')
450
+ fetchConfigAndData()
451
+ })
452
+
453
+ onBeforeUnmount(() => {
454
+ // 清理图表实例和观察器
455
+ if (chartInstance) {
456
+ chartInstance.dispose()
457
+ chartInstance = null
458
+ }
459
+ if (resizeObserver) {
460
+ resizeObserver.disconnect()
461
+ resizeObserver = null
462
+ }
463
+ })
464
+ </script>
465
+
466
+ <style scoped lang="less">
467
+ .h-chart-configurable {
468
+ display: flex;
469
+ flex-direction: column;
470
+ transition: transform 0.22s ease, box-shadow 0.22s ease;
471
+
472
+ &.h-chart-show-border {
473
+ border: 1px solid #E5E9F0;
474
+ }
475
+ &.h-chart-border-hide-right {
476
+ border-right: 0px;
477
+ }
478
+ &.h-chart-border-hide-left {
479
+ border-left: 0px;
480
+ }
481
+ }
482
+
483
+ .h-chart-configurable.hoverable:hover {
484
+ transform: translateY(-4px);
485
+ box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
486
+ }
487
+
488
+ .chart-canvas {
489
+ width: 100%;
490
+ margin-top: 10px;
491
+ min-height: 280px;
492
+ }
493
+ </style>
@@ -0,0 +1,88 @@
1
+ <template>
2
+ <div class="h-chart-test-container">
3
+ <h2>HChart 组件测试案例</h2>
4
+
5
+ <section class="test-section">
6
+ <h3>测试1: 通过 queryParamsName 查询配置(从后端获取配置和数据)</h3>
7
+ <div class="chart-wrapper">
8
+ <HChart
9
+ ref="chart1"
10
+ query-params-name="accountsReceivableChart"
11
+ :fixed-query-form="{ condition: '1=1', dateRange: '2024-01' }"
12
+ service-name="af-his"
13
+ @init="handleChartInit"
14
+ @dataLoaded="handleDataLoaded"
15
+ @error="handleError"
16
+ />
17
+ </div>
18
+ <div class="test-actions">
19
+ <a-button @click="refreshChart1">刷新图表</a-button>
20
+ <a-button @click="reloadChart1">重新加载(更新查询条件)</a-button>
21
+ </div>
22
+ </section>
23
+
24
+ <section class="test-section">
25
+ <h3>测试日志</h3>
26
+ <div class="log-container">
27
+ <div v-for="(log, index) in logs" :key="index" class="log-item">
28
+ <span class="log-time">{{ log.time }}</span>
29
+ <span class="log-type" :class="log.type">{{ log.type }}</span>
30
+ <span class="log-message">{{ log.message }}</span>
31
+ </div>
32
+ </div>
33
+ <a-button @click="clearLogs">清空日志</a-button>
34
+ </section>
35
+ </div>
36
+ </template>
37
+
38
+ <script setup>
39
+ import { ref } from 'vue'
40
+ import { message } from 'ant-design-vue'
41
+ import HChart from './HChart.vue'
42
+
43
+ const chart1 = ref(null)
44
+
45
+ const logs = ref([])
46
+
47
+ const addLog = (type, messageText) => {
48
+ logs.value.unshift({
49
+ time: new Date().toLocaleTimeString(),
50
+ type,
51
+ message: typeof messageText === 'object' ? JSON.stringify(messageText, null, 2) : messageText
52
+ })
53
+ if (logs.value.length > 50) logs.value.pop()
54
+ }
55
+
56
+ const clearLogs = () => {
57
+ logs.value = []
58
+ }
59
+
60
+ const handleChartInit = (config) => {
61
+ addLog('init', `图表初始化: ${config?.title || '未知'}`)
62
+ message.success(`图表初始化成功: ${config?.title || '未知'}`)
63
+ }
64
+
65
+ const handleDataLoaded = (data) => {
66
+ addLog('dataLoaded', `数据加载完成,共 ${data?.length || 0} 条`)
67
+ console.log('数据加载完成:', data)
68
+ }
69
+
70
+ const handleError = (error) => {
71
+ addLog('error', `错误: ${error?.message || String(error)}`)
72
+ message.error(`图表加载错误: ${error?.message || String(error)}`)
73
+ }
74
+
75
+ const refreshChart1 = () => {
76
+ if (!chart1.value) return
77
+ chart1.value.refresh()
78
+ addLog('action', '刷新图表')
79
+ message.info('正在刷新图表...')
80
+ }
81
+
82
+ const reloadChart1 = () => {
83
+ if (!chart1.value) return
84
+ chart1.value.reload({ condition: '1=1', dateRange: '2024-02' })
85
+ addLog('action', '重新加载图表,更新查询条件')
86
+ message.info('正在重新加载图表...')
87
+ }
88
+ </script>