vue2-client 1.17.18 → 1.17.20

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 (334) 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 +218 -0
  10. package/.serena/memories/project_overview.md +55 -0
  11. package/.serena/memories/project_structure.md +330 -0
  12. package/.serena/memories/suggested_commands.md +128 -0
  13. package/.serena/memories/task_completion_checklist.md +184 -0
  14. package/.serena/memories/tech_stack.md +95 -0
  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 +1 -1
  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/querySlotDemo.svg +15 -15
  62. package/src/assets/svg/badtwo.svg +1 -1
  63. package/src/assets/svg/goodtwo.svg +1 -1
  64. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  65. package/src/base-client/components/AI/demo.vue +31 -31
  66. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  67. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  68. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  69. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  70. package/src/base-client/components/common/CitySelect/index.js +3 -3
  71. package/src/base-client/components/common/CitySelect/index.md +109 -109
  72. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  73. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  74. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  75. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  76. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  77. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  78. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  79. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  80. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  81. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  82. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  83. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  84. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  85. package/src/base-client/components/common/HIS/demo.vue +61 -61
  86. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  88. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  89. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  92. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  100. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  101. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  102. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  103. package/src/base-client/components/common/Recording/index.js +3 -3
  104. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  105. package/src/base-client/components/common/Tree/index.js +2 -2
  106. package/src/base-client/components/common/Upload/Upload.vue +334 -334
  107. package/src/base-client/components/common/Upload/index.js +3 -3
  108. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  109. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  110. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +304 -304
  111. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  112. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  113. package/src/base-client/components/common/XAddReport/index.js +3 -3
  114. package/src/base-client/components/common/XAddReport/index.md +56 -56
  115. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  116. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  117. package/src/base-client/components/common/XButtons/index.js +3 -3
  118. package/src/base-client/components/common/XButtons/index.md +61 -61
  119. package/src/base-client/components/common/XCalendar/XCalendar.vue +4 -4
  120. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  121. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  122. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  123. package/src/base-client/components/common/XDataCard/index.js +3 -3
  124. package/src/base-client/components/common/XDataCard/index.md +1 -1
  125. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  126. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  127. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  128. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  129. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  130. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  131. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  132. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  133. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  134. package/src/base-client/components/common/XForm/XTreeSelect.vue +276 -276
  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/demo.vue +89 -89
  141. package/src/base-client/components/common/XFormTable/index.md +92 -92
  142. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  143. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  144. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  145. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  146. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  147. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  148. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  149. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  150. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  151. package/src/base-client/components/common/XPrint/index.vue +97 -97
  152. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  153. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  154. package/src/base-client/components/common/XReport/index.js +3 -3
  155. package/src/base-client/components/common/XReport/print.js +186 -186
  156. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  157. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  158. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  159. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  160. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  161. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  162. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  163. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  164. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  165. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  166. package/src/base-client/components/common/XStepView/index.js +3 -3
  167. package/src/base-client/components/common/XStepView/index.md +31 -31
  168. package/src/base-client/components/common/XTab/XTab.vue +107 -1
  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/index.md +255 -255
  174. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  175. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  176. package/src/base-client/components/common/XTree/index.js +3 -3
  177. package/src/base-client/components/common/XTree/index.md +36 -36
  178. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  179. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  180. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  181. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  182. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
  183. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  184. package/src/base-client/components/index.js +51 -51
  185. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  186. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  187. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  188. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  189. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  190. package/src/base-client/plugins/Config.js +19 -19
  191. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  192. package/src/base-client/plugins/Recording.js +258 -258
  193. package/src/base-client/plugins/index.js +23 -23
  194. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  195. package/src/components/Charts/Bar.vue +62 -62
  196. package/src/components/Charts/ChartCard.vue +134 -134
  197. package/src/components/Charts/Liquid.vue +67 -67
  198. package/src/components/Charts/MiniArea.vue +39 -39
  199. package/src/components/Charts/MiniBar.vue +39 -39
  200. package/src/components/Charts/MiniProgress.vue +75 -75
  201. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  202. package/src/components/Charts/Radar.vue +68 -68
  203. package/src/components/Charts/RankList.vue +77 -77
  204. package/src/components/Charts/TagCloud.vue +113 -113
  205. package/src/components/Charts/TransferBar.vue +64 -64
  206. package/src/components/Charts/Trend.vue +82 -82
  207. package/src/components/Charts/chart.less +12 -12
  208. package/src/components/Charts/smooth.area.less +13 -13
  209. package/src/components/CodeMirror/inedx.vue +118 -118
  210. package/src/components/CodeMirror/setting.js +40 -40
  211. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  212. package/src/components/NumberInfo/index.js +3 -3
  213. package/src/components/NumberInfo/index.less +54 -54
  214. package/src/components/NumberInfo/index.md +43 -43
  215. package/src/components/card/ChartCard.vue +79 -79
  216. package/src/components/chart/Bar.vue +60 -60
  217. package/src/components/chart/MiniArea.vue +67 -67
  218. package/src/components/chart/MiniBar.vue +59 -59
  219. package/src/components/chart/MiniProgress.vue +57 -57
  220. package/src/components/chart/Radar.vue +80 -80
  221. package/src/components/chart/RankingList.vue +60 -60
  222. package/src/components/chart/Trend.vue +79 -79
  223. package/src/components/chart/index.less +9 -9
  224. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  225. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  226. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  227. package/src/components/checkbox/index.js +9 -9
  228. package/src/components/exception/ExceptionPage.vue +70 -70
  229. package/src/components/g2Charts/constants.js +202 -202
  230. package/src/components/g2Charts/demo.vue +808 -808
  231. package/src/components/g2Charts/designer.vue +228 -228
  232. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  233. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  234. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  235. package/src/components/g2Charts/index.vue +397 -397
  236. package/src/components/index.js +36 -36
  237. package/src/components/input/IInput.vue +66 -66
  238. package/src/components/menu/SideMenu.vue +75 -75
  239. package/src/components/menu/menu.js +273 -273
  240. package/src/components/setting/Setting.vue +234 -234
  241. package/src/components/tool/AStepItem.vue +60 -60
  242. package/src/config/CreateQueryConfig.js +325 -325
  243. package/src/config/default/antd.config.js +89 -89
  244. package/src/config/default/setting.config.js +55 -55
  245. package/src/font-style/font.css +60 -60
  246. package/src/layouts/CommonLayout.vue +56 -56
  247. package/src/layouts/PageLayout.vue +151 -151
  248. package/src/layouts/SinglePageView.vue +136 -136
  249. package/src/layouts/header/AdminHeader.vue +132 -132
  250. package/src/layouts/header/HeaderNotice.vue +177 -177
  251. package/src/layouts/header/InstitutionDetail.vue +181 -181
  252. package/src/layouts/tabs/TabsHead.vue +189 -189
  253. package/src/lib.js +1 -1
  254. package/src/mock/extend/index.js +84 -84
  255. package/src/mock/goods/index.js +108 -108
  256. package/src/pages/DefaultExample/index.vue +77 -77
  257. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  258. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  259. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  260. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  261. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  262. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  263. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  264. package/src/pages/DynamicStatistics/index.vue +282 -282
  265. package/src/pages/Example/childIndex.vue +15 -15
  266. package/src/pages/Example/index.vue +30 -30
  267. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  268. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  269. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  270. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  271. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  272. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  273. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  274. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  275. package/src/pages/Recording/index.vue +77 -77
  276. package/src/pages/ServiceReview/index.vue +284 -284
  277. package/src/pages/SubExample/index.vue +26 -26
  278. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +1 -1
  279. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  280. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1811 -1784
  281. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1014 -943
  282. package/src/pages/XReportView/index.vue +64 -64
  283. package/src/pages/XTreeOneProExample/index.vue +67 -67
  284. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  285. package/src/pages/login/Login.vue +379 -379
  286. package/src/pages/login/LoginV3.vue +389 -389
  287. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  288. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  289. package/src/pages/report/ReportTable.js +124 -124
  290. package/src/pages/resourceManage/orgListManage.vue +98 -98
  291. package/src/pages/system/dictionary/index.vue +44 -44
  292. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  293. package/src/pages/system/monitor/operLog/index.vue +37 -37
  294. package/src/pages/system/settings/modifyPassword.vue +117 -117
  295. package/src/pages/system/ticket/index.vue +480 -480
  296. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  297. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  298. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  299. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  300. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  301. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  302. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  303. package/src/plugins/EventLogPlugin.js +33 -33
  304. package/src/plugins/FindParentsData.js +17 -17
  305. package/src/services/DataModel.js +30 -30
  306. package/src/services/LodopFuncs.js +137 -137
  307. package/src/services/api/TicketDetailsViewApi.js +46 -46
  308. package/src/services/api/cas.js +79 -79
  309. package/src/services/api/entity.js +18 -18
  310. package/src/services/api/index.js +17 -17
  311. package/src/services/api/workFlow.js +3 -1
  312. package/src/store/modules/account.js +121 -115
  313. package/src/store/modules/index.js +5 -5
  314. package/src/store/modules/lowCode.js +33 -33
  315. package/src/store/modules/setting.js +119 -119
  316. package/src/theme/default/style.less +58 -58
  317. package/src/utils/authority-utils.js +85 -85
  318. package/src/utils/errorCode.js +6 -6
  319. package/src/utils/formatter.js +74 -74
  320. package/src/utils/htmlToPDF.js +108 -108
  321. package/src/utils/htmlToPDFApi.js +5 -5
  322. package/src/utils/login.js +188 -188
  323. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  324. package/src/utils/lowcode/lowcodeLog.js +29 -29
  325. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  326. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  327. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  328. package/src/utils/map-utils.js +47 -47
  329. package/src/utils/reg.js +95 -95
  330. package/src/utils/runEvalFunction.js +14 -14
  331. package/src/utils/theme-color-replacer-extend.js +92 -92
  332. package/src/utils/util.js +329 -329
  333. package/src/utils/waterMark.js +31 -31
  334. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,276 +1,276 @@
1
- <template>
2
- <div>
3
- <!-- 树形选择框 -->
4
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model" :rules="rules">
5
- <a-spin v-show="!loaded" size="small"/>
6
- <a-tree-select
7
- v-show="loaded"
8
- ref="tree-select"
9
- v-model="localValue"
10
- :disabled="disabled"
11
- :tree-data="getTreeData()"
12
- :tree-checkable="mode === '查询' && queryType !== 'RIGHT_LIKE'"
13
- :placeholder="`请选择${name||''}`"
14
- :dropdown-style="{ maxHeight: '400px' }"
15
- tree-node-filter-prop="label"
16
- :show-checked-strategy="queryType === 'RIGHT_LIKE' ? 'SHOW_ALL' : undefined"
17
- allow-clear
18
- :showArrow="true"
19
- class="tree-select"
20
- :getPopupContainer="(triggerNode) => triggerNode.parentNode"
21
- @change="onTreeSelectChange">
22
- </a-tree-select>
23
- </a-form-model-item>
24
- </div>
25
- </template>
26
- <script>
27
- import XFormCol from '@vue2-client/base-client/components/common/XFormCol'
28
-
29
- export default {
30
- name: 'XTreeSelect',
31
- components: { XFormCol },
32
- model: {
33
- prop: 'value',
34
- event: 'onChange'
35
- },
36
- // eslint-disable-next-line vue/require-prop-types
37
- props: ['value', 'attr', 'rules'],
38
- watch: {
39
- value (newVal) {
40
- if (newVal.length && !newVal[0]) {
41
- this.localValue = undefined
42
- }
43
- if (!newVal) {
44
- this.localValue = undefined
45
- }
46
- },
47
- },
48
- data () {
49
- return {
50
- // 内容加载是否完成
51
- loaded: false,
52
- // 数据列表
53
- option: [],
54
- // 表单
55
- form: {},
56
- // 查询方式
57
- queryType: 'IN',
58
- // label名称
59
- name: undefined,
60
- // 模型名称
61
- model: undefined,
62
- // 使用方式
63
- mode: '查询',
64
- // 是否禁用
65
- disabled: false,
66
- localValue: this.value
67
- }
68
- },
69
- methods: {
70
- init (params) {
71
- const {
72
- option = [], form, queryType = 'IN', name, model, mode = '查询', disabled = false
73
- } = params
74
- this.loaded = false
75
- this.option = option
76
- this.form = form
77
- this.queryType = queryType
78
- this.name = name
79
- this.model = model
80
- this.mode = mode
81
- this.disabled = disabled
82
- // 修改时恢复树形选择框选中状态
83
- if (this.queryType !== 'RIGHT_LIKE') {
84
- const value = this.form[this.model]
85
- if (value) {
86
- // 如果数据源中值含'-',代表是由多个数据源组成的树,需要重新组织新增/编辑时的表单值
87
- if (this.option.length > 0 && this.option[0].value.toString().indexOf('-') !== -1) {
88
- this.value = model + '-' + value
89
- } else {
90
- if (this.mode === '查询') {
91
- const values = []
92
- this.getValues(option, value, values)
93
- this.$emit('onChange', values)
94
- } else {
95
- this.value = value
96
- }
97
- // value = option 自身和所有子得集合
98
- }
99
- } else {
100
- this.value = undefined
101
- }
102
- }
103
- this.$emit('mounted', this.attr)
104
- this.loaded = true
105
- },
106
- getValues (option, value, values) {
107
- const _values = []
108
- for (const item of option) {
109
- if (value.includes(item.value)) {
110
- values.push(item.value)
111
- _values.push(item.value)
112
- // 找到匹配节点后,递归添加所有子节点的值
113
- if (item.children && item.children.length) {
114
- this.getAllChildrenValues(item.children, values)
115
- }
116
- }
117
- if (item.children && item.children.length) {
118
- const tempV = this.getValues(item.children, value, values)
119
- if (tempV.length === item.children.length) {
120
- values.push(item.value)
121
- }
122
- }
123
- }
124
- return _values
125
- },
126
- getAllChildrenValues (children, values) {
127
- for (const child of children) {
128
- values.push(child.value)
129
- if (child.children && child.children.length) {
130
- this.getAllChildrenValues(child.children, values)
131
- }
132
- }
133
- return values
134
- },
135
- // 获取树形选择框数据
136
- getTreeData () {
137
- const treeData = this.option
138
- if (this.mode === '新增/修改') {
139
- this.setParentSelectable(treeData)
140
- }
141
- return treeData
142
- },
143
- // 设置树形选择框不能选择父节点
144
- setParentSelectable (treeData) {
145
- treeData.forEach(item => {
146
- if (item.children && item.children.length) {
147
- item.selectable = false
148
- this.setParentSelectable(item.children)
149
- }
150
- })
151
- },
152
- // 选中树节点
153
- onTreeSelectChange (value, label, extra) {
154
- if (this.queryType === 'RIGHT_LIKE') {
155
- // 获取可用于模糊查询的组织机构字符串
156
- let node = extra.triggerNode.$parent
157
- label = label[0]
158
- while (node && node.label) {
159
- label = node.label + '.' + label
160
- node = node.$parent
161
- }
162
- // this.form[this.model] = label
163
- this.$emit('onChange', label)
164
- } else {
165
- // 如果选中值含'-',代表是由多个数据源组成的树,需要重新组织查询或新增/编辑时的表单
166
- if ((Array.isArray(value) && value.length > 0 && String(value[0]).indexOf('-') !== -1) || (typeof value === 'string' && value.indexOf('-') !== -1)) {
167
- const treeDatas = {}
168
- // 单选情况用于新增.修改表单场景,使用extra.triggerNode获取选中节点信息
169
- if (!extra.allCheckedNodes) {
170
- this.setNodeData(treeDatas, extra.triggerNode)
171
- } else {
172
- // 多选情况用于查询表单场景,使用extra.allCheckedNodes获取选中节点集合
173
- const nodes = extra.allCheckedNodes
174
- // 获取任意选中节点的叶子节点的字段名,用于查询时组织查询项的key
175
- const name = this.getNodeDataProps(nodes[0])
176
- // 获取所有选中节点的叶子节点的value,用于查询时组织查询项的value
177
- const values = []
178
- for (const node of nodes) {
179
- const ref = this.setDataRef(node)
180
- if (ref instanceof Array) {
181
- for (const nodeRef of ref) {
182
- const keyValue = nodeRef.node.key
183
- values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
184
- }
185
- } else {
186
- const keyValue = ref.node.key
187
- values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
188
- }
189
- }
190
- treeDatas[name] = values
191
- }
192
- // 移除默认的表单项,将组织好后的表单项合并进表单
193
- this.form[this.model] = undefined
194
- Object.assign(this.form, treeDatas)
195
- // this.$emit('onChange', treeDatas)
196
- } else {
197
- // 从单一数据源组成的树可以直接赋值
198
- // this.form[this.model] = value
199
- // 获取所有选中节点的value
200
- if (this.mode === '查询') {
201
- const values = []
202
- if (extra.allCheckedNodes) {
203
- for (const item of extra.allCheckedNodes) {
204
- if (item.node.key) {
205
- if (item.node?.data?.props?.label === item.node?.data?.props?.value) {
206
- if (!item.children?.length) {
207
- values.push(`${item.node.key}`)
208
- }
209
- } else {
210
- values.push(`${item.node.key}`)
211
- }
212
- }
213
- if (item.children && item.children.length) {
214
- this.getNodeValues(item.children, value, values)
215
- }
216
- }
217
- }
218
- this.$emit('onChange', values)
219
- } else {
220
- this.$emit('onChange', value)
221
- }
222
- }
223
- }
224
- },
225
- getNodeValues (data, value, values) {
226
- for (const item of data) {
227
- values.push(`${item.node.key}`)
228
- if (item.children && item.children.length) {
229
- this.getNodeValues(item.children, value, values)
230
- }
231
- }
232
- },
233
- // 设置选中值
234
- setValue (value) {
235
- this.value = value
236
- },
237
- setDataRef (node) {
238
- if (node.children) {
239
- return this.setDataRef(node.children)
240
- }
241
- return node
242
- },
243
- /**
244
- * 组织节点和每层父节点的数据,用于新增/修改时更新表单数据
245
- * @param data 组织完成的数据
246
- * @param node 节点
247
- * @return 返回示例: { parentId: 1, childId: 2 }
248
- */
249
- setNodeData (data, node) {
250
- if (node.value) {
251
- const value = node.value
252
- const columnsName = value.substring(0, value.indexOf('-'))
253
- data[columnsName] = value.substring(value.lastIndexOf('-') + 1)
254
- if (node.$parent) {
255
- this.setNodeData(data, node.$parent)
256
- }
257
- }
258
- },
259
- getNodeDataProps (node) {
260
- if (node.children && node.children.length > 0) {
261
- return this.getNodeDataProps(node.children[0])
262
- }
263
- const value = node.node.key
264
- return value.substring(0, value.indexOf('-'))
265
- }
266
- }
267
- }
268
- </script>
269
- <style lang="less" scoped>
270
- .tree-select {
271
- /deep/ .ant-select-selection.ant-select-selection--multiple {
272
- max-height: 32px;
273
- overflow-y: auto;
274
- }
275
- }
276
- </style>
1
+ <template>
2
+ <div>
3
+ <!-- 树形选择框 -->
4
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model" :rules="rules">
5
+ <a-spin v-show="!loaded" size="small"/>
6
+ <a-tree-select
7
+ v-show="loaded"
8
+ ref="tree-select"
9
+ v-model="localValue"
10
+ :disabled="disabled"
11
+ :tree-data="getTreeData()"
12
+ :tree-checkable="mode === '查询' && queryType !== 'RIGHT_LIKE'"
13
+ :placeholder="`请选择${name||''}`"
14
+ :dropdown-style="{ maxHeight: '400px' }"
15
+ tree-node-filter-prop="label"
16
+ :show-checked-strategy="queryType === 'RIGHT_LIKE' ? 'SHOW_ALL' : undefined"
17
+ allow-clear
18
+ :showArrow="true"
19
+ class="tree-select"
20
+ :getPopupContainer="(triggerNode) => triggerNode.parentNode"
21
+ @change="onTreeSelectChange">
22
+ </a-tree-select>
23
+ </a-form-model-item>
24
+ </div>
25
+ </template>
26
+ <script>
27
+ import XFormCol from '@vue2-client/base-client/components/common/XFormCol'
28
+
29
+ export default {
30
+ name: 'XTreeSelect',
31
+ components: { XFormCol },
32
+ model: {
33
+ prop: 'value',
34
+ event: 'onChange'
35
+ },
36
+ // eslint-disable-next-line vue/require-prop-types
37
+ props: ['value', 'attr', 'rules'],
38
+ watch: {
39
+ value (newVal) {
40
+ if (newVal.length && !newVal[0]) {
41
+ this.localValue = undefined
42
+ }
43
+ if (!newVal) {
44
+ this.localValue = undefined
45
+ }
46
+ },
47
+ },
48
+ data () {
49
+ return {
50
+ // 内容加载是否完成
51
+ loaded: false,
52
+ // 数据列表
53
+ option: [],
54
+ // 表单
55
+ form: {},
56
+ // 查询方式
57
+ queryType: 'IN',
58
+ // label名称
59
+ name: undefined,
60
+ // 模型名称
61
+ model: undefined,
62
+ // 使用方式
63
+ mode: '查询',
64
+ // 是否禁用
65
+ disabled: false,
66
+ localValue: this.value
67
+ }
68
+ },
69
+ methods: {
70
+ init (params) {
71
+ const {
72
+ option = [], form, queryType = 'IN', name, model, mode = '查询', disabled = false
73
+ } = params
74
+ this.loaded = false
75
+ this.option = option
76
+ this.form = form
77
+ this.queryType = queryType
78
+ this.name = name
79
+ this.model = model
80
+ this.mode = mode
81
+ this.disabled = disabled
82
+ // 修改时恢复树形选择框选中状态
83
+ if (this.queryType !== 'RIGHT_LIKE') {
84
+ const value = this.form[this.model]
85
+ if (value) {
86
+ // 如果数据源中值含'-',代表是由多个数据源组成的树,需要重新组织新增/编辑时的表单值
87
+ if (this.option.length > 0 && this.option[0].value.toString().indexOf('-') !== -1) {
88
+ this.value = model + '-' + value
89
+ } else {
90
+ if (this.mode === '查询') {
91
+ const values = []
92
+ this.getValues(option, value, values)
93
+ this.$emit('onChange', values)
94
+ } else {
95
+ this.value = value
96
+ }
97
+ // value = option 自身和所有子得集合
98
+ }
99
+ } else {
100
+ this.value = undefined
101
+ }
102
+ }
103
+ this.$emit('mounted', this.attr)
104
+ this.loaded = true
105
+ },
106
+ getValues (option, value, values) {
107
+ const _values = []
108
+ for (const item of option) {
109
+ if (value.includes(item.value)) {
110
+ values.push(item.value)
111
+ _values.push(item.value)
112
+ // 找到匹配节点后,递归添加所有子节点的值
113
+ if (item.children && item.children.length) {
114
+ this.getAllChildrenValues(item.children, values)
115
+ }
116
+ }
117
+ if (item.children && item.children.length) {
118
+ const tempV = this.getValues(item.children, value, values)
119
+ if (tempV.length === item.children.length) {
120
+ values.push(item.value)
121
+ }
122
+ }
123
+ }
124
+ return _values
125
+ },
126
+ getAllChildrenValues (children, values) {
127
+ for (const child of children) {
128
+ values.push(child.value)
129
+ if (child.children && child.children.length) {
130
+ this.getAllChildrenValues(child.children, values)
131
+ }
132
+ }
133
+ return values
134
+ },
135
+ // 获取树形选择框数据
136
+ getTreeData () {
137
+ const treeData = this.option
138
+ if (this.mode === '新增/修改') {
139
+ this.setParentSelectable(treeData)
140
+ }
141
+ return treeData
142
+ },
143
+ // 设置树形选择框不能选择父节点
144
+ setParentSelectable (treeData) {
145
+ treeData.forEach(item => {
146
+ if (item.children && item.children.length) {
147
+ item.selectable = false
148
+ this.setParentSelectable(item.children)
149
+ }
150
+ })
151
+ },
152
+ // 选中树节点
153
+ onTreeSelectChange (value, label, extra) {
154
+ if (this.queryType === 'RIGHT_LIKE') {
155
+ // 获取可用于模糊查询的组织机构字符串
156
+ let node = extra.triggerNode.$parent
157
+ label = label[0]
158
+ while (node && node.label) {
159
+ label = node.label + '.' + label
160
+ node = node.$parent
161
+ }
162
+ // this.form[this.model] = label
163
+ this.$emit('onChange', label)
164
+ } else {
165
+ // 如果选中值含'-',代表是由多个数据源组成的树,需要重新组织查询或新增/编辑时的表单
166
+ if ((Array.isArray(value) && value.length > 0 && String(value[0]).indexOf('-') !== -1) || (typeof value === 'string' && value.indexOf('-') !== -1)) {
167
+ const treeDatas = {}
168
+ // 单选情况用于新增.修改表单场景,使用extra.triggerNode获取选中节点信息
169
+ if (!extra.allCheckedNodes) {
170
+ this.setNodeData(treeDatas, extra.triggerNode)
171
+ } else {
172
+ // 多选情况用于查询表单场景,使用extra.allCheckedNodes获取选中节点集合
173
+ const nodes = extra.allCheckedNodes
174
+ // 获取任意选中节点的叶子节点的字段名,用于查询时组织查询项的key
175
+ const name = this.getNodeDataProps(nodes[0])
176
+ // 获取所有选中节点的叶子节点的value,用于查询时组织查询项的value
177
+ const values = []
178
+ for (const node of nodes) {
179
+ const ref = this.setDataRef(node)
180
+ if (ref instanceof Array) {
181
+ for (const nodeRef of ref) {
182
+ const keyValue = nodeRef.node.key
183
+ values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
184
+ }
185
+ } else {
186
+ const keyValue = ref.node.key
187
+ values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
188
+ }
189
+ }
190
+ treeDatas[name] = values
191
+ }
192
+ // 移除默认的表单项,将组织好后的表单项合并进表单
193
+ this.form[this.model] = undefined
194
+ Object.assign(this.form, treeDatas)
195
+ // this.$emit('onChange', treeDatas)
196
+ } else {
197
+ // 从单一数据源组成的树可以直接赋值
198
+ // this.form[this.model] = value
199
+ // 获取所有选中节点的value
200
+ if (this.mode === '查询') {
201
+ const values = []
202
+ if (extra.allCheckedNodes) {
203
+ for (const item of extra.allCheckedNodes) {
204
+ if (item.node.key) {
205
+ if (item.node?.data?.props?.label === item.node?.data?.props?.value) {
206
+ if (!item.children?.length) {
207
+ values.push(`${item.node.key}`)
208
+ }
209
+ } else {
210
+ values.push(`${item.node.key}`)
211
+ }
212
+ }
213
+ if (item.children && item.children.length) {
214
+ this.getNodeValues(item.children, value, values)
215
+ }
216
+ }
217
+ }
218
+ this.$emit('onChange', values)
219
+ } else {
220
+ this.$emit('onChange', value)
221
+ }
222
+ }
223
+ }
224
+ },
225
+ getNodeValues (data, value, values) {
226
+ for (const item of data) {
227
+ values.push(`${item.node.key}`)
228
+ if (item.children && item.children.length) {
229
+ this.getNodeValues(item.children, value, values)
230
+ }
231
+ }
232
+ },
233
+ // 设置选中值
234
+ setValue (value) {
235
+ this.value = value
236
+ },
237
+ setDataRef (node) {
238
+ if (node.children) {
239
+ return this.setDataRef(node.children)
240
+ }
241
+ return node
242
+ },
243
+ /**
244
+ * 组织节点和每层父节点的数据,用于新增/修改时更新表单数据
245
+ * @param data 组织完成的数据
246
+ * @param node 节点
247
+ * @return 返回示例: { parentId: 1, childId: 2 }
248
+ */
249
+ setNodeData (data, node) {
250
+ if (node.value) {
251
+ const value = node.value
252
+ const columnsName = value.substring(0, value.indexOf('-'))
253
+ data[columnsName] = value.substring(value.lastIndexOf('-') + 1)
254
+ if (node.$parent) {
255
+ this.setNodeData(data, node.$parent)
256
+ }
257
+ }
258
+ },
259
+ getNodeDataProps (node) {
260
+ if (node.children && node.children.length > 0) {
261
+ return this.getNodeDataProps(node.children[0])
262
+ }
263
+ const value = node.node.key
264
+ return value.substring(0, value.indexOf('-'))
265
+ }
266
+ }
267
+ }
268
+ </script>
269
+ <style lang="less" scoped>
270
+ .tree-select {
271
+ /deep/ .ant-select-selection.ant-select-selection--multiple {
272
+ max-height: 32px;
273
+ overflow-y: auto;
274
+ }
275
+ }
276
+ </style>