vue2-client 1.11.5 → 1.11.6-alpha

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 (434) hide show
  1. package/.babelrc +3 -0
  2. package/.cursorrules +19 -19
  3. package/.env +19 -19
  4. package/.env.gaslink +19 -19
  5. package/.env.his +19 -19
  6. package/.env.liuli +19 -19
  7. package/.env.revenue +19 -19
  8. package/.env.scada +19 -19
  9. package/.eslintrc.js +90 -90
  10. package/CHANGELOG.md +824 -824
  11. package/Components.md +60 -60
  12. package/babel.config.js +1 -4
  13. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +45 -45
  14. package/docs/LowCode/lowcode.md +155 -155
  15. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  16. package/docs/index.md +30 -30
  17. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +174 -174
  18. package/index.js +31 -31
  19. package/jest-transform-stub.js +8 -8
  20. package/jest.config.js +3 -2
  21. package/jest.setup.js +7 -7
  22. package/jsconfig.json +19 -19
  23. package/package.json +108 -107
  24. package/public/his/editor/editor.html +51 -51
  25. package/public/his/editor/mock/bind_data.html +779 -779
  26. package/public/his/editor/mock/data_table.html +40 -40
  27. package/public/his/editor/mock/sign.html +75 -75
  28. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  29. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  30. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  31. package/public/his/editor/vender/date97/calendar.js +4 -4
  32. package/public/his/editor/vender/date97/lang/en.js +13 -13
  33. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  34. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  35. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  36. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  37. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  38. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  39. package/public/his/editor/vender/diff.js +1627 -1627
  40. package/public/his/editor/vender/editor.js +1 -1
  41. package/public/his/editor/vender/fabric.js +31187 -31187
  42. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  43. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  44. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  45. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  46. package/public/his/editor/vender/mui/mui.min.css +4 -4
  47. package/public/his/editor/vender/mui/mui.min.js +5 -5
  48. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  49. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  50. package/public/his/editor/vender/qrcode.js +7 -7
  51. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  52. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  53. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  54. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  55. package/public/his/editor/vender/validator.js +5094 -5094
  56. package/public/his/editor/vender/weui/weui.css +5659 -5659
  57. package/public/his/editor/vender/weui/weui.min.css +4 -4
  58. package/public/his/editor/vender/weui/weui.min.js +11 -11
  59. package/public/index.html +27 -27
  60. package/src/ReportView.js +19 -19
  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/AMisRender/index.js +3 -3
  67. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  68. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  69. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  70. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  71. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  72. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  73. package/src/base-client/components/common/CitySelect/CitySelect.vue +366 -366
  74. package/src/base-client/components/common/CitySelect/index.js +3 -3
  75. package/src/base-client/components/common/CitySelect/index.md +109 -109
  76. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  77. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  78. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  79. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  80. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  81. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  82. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  83. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  84. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  85. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  86. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  87. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  88. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  89. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  90. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  92. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  93. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  94. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  95. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  96. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  100. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  101. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  102. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  103. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  104. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  105. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  106. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  107. package/src/base-client/components/common/Recording/index.js +3 -3
  108. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  109. package/src/base-client/components/common/Tree/index.js +2 -2
  110. package/src/base-client/components/common/Upload/index.js +3 -3
  111. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  112. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1146 -1146
  113. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  114. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  115. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  116. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  117. package/src/base-client/components/common/XAddReport/index.js +3 -3
  118. package/src/base-client/components/common/XAddReport/index.md +56 -56
  119. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  120. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  121. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  122. package/src/base-client/components/common/XButtons/index.js +3 -3
  123. package/src/base-client/components/common/XButtons/index.md +61 -61
  124. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  125. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  126. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  127. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  128. package/src/base-client/components/common/XDataCard/index.js +3 -3
  129. package/src/base-client/components/common/XDataCard/index.md +1 -1
  130. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  131. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  132. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  133. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  134. package/src/base-client/components/common/XDatePicker/index.vue +259 -259
  135. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +169 -169
  136. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +61 -51
  137. package/src/base-client/components/common/XDescriptions/demo.vue +10 -9
  138. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  139. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  140. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  141. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  142. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  143. package/src/base-client/components/common/XForm/XTreeSelect.vue +264 -264
  144. package/src/base-client/components/common/XForm/index.md +178 -178
  145. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  146. package/src/base-client/components/common/XFormGroup/demo.vue +3 -10
  147. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  148. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  149. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  150. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  151. package/src/base-client/components/common/XFormTable/index.md +92 -92
  152. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  153. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  154. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  155. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  156. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  157. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  158. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  159. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  160. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  161. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  162. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  163. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  164. package/src/base-client/components/common/XPrint/index.vue +97 -97
  165. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  166. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  167. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  168. package/src/base-client/components/common/XReport/index.js +3 -3
  169. package/src/base-client/components/common/XReport/index.md +44 -44
  170. package/src/base-client/components/common/XReport/print.js +186 -186
  171. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  172. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  173. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  174. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  175. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  176. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  177. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  178. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  179. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  180. package/src/base-client/components/common/XStepView/index.js +3 -3
  181. package/src/base-client/components/common/XStepView/index.md +31 -31
  182. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  183. package/src/base-client/components/common/XTab/index.js +3 -3
  184. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  185. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  186. package/src/base-client/components/common/XTable/index.md +255 -255
  187. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  188. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  189. package/src/base-client/components/common/XTree/index.js +3 -3
  190. package/src/base-client/components/common/XTree/index.md +36 -36
  191. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  192. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  193. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  194. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  195. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +359 -359
  196. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  197. package/src/base-client/components/index.js +51 -51
  198. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  199. package/src/base-client/components/layout/XPageView/index.js +3 -3
  200. package/src/base-client/components/layout/XPageView/index.md +38 -38
  201. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  202. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  203. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  204. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  205. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  206. package/src/base-client/plugins/AppData.js +121 -121
  207. package/src/base-client/plugins/Config.js +19 -19
  208. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  209. package/src/base-client/plugins/Recording.js +258 -258
  210. package/src/base-client/plugins/index.js +23 -23
  211. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  212. package/src/bootstrap.js +42 -42
  213. package/src/components/Charts/Bar.vue +62 -62
  214. package/src/components/Charts/ChartCard.vue +134 -134
  215. package/src/components/Charts/Liquid.vue +67 -67
  216. package/src/components/Charts/MiniArea.vue +39 -39
  217. package/src/components/Charts/MiniBar.vue +39 -39
  218. package/src/components/Charts/MiniProgress.vue +75 -75
  219. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  220. package/src/components/Charts/Radar.vue +68 -68
  221. package/src/components/Charts/RankList.vue +77 -77
  222. package/src/components/Charts/TagCloud.vue +113 -113
  223. package/src/components/Charts/TransferBar.vue +64 -64
  224. package/src/components/Charts/Trend.vue +82 -82
  225. package/src/components/Charts/chart.less +12 -12
  226. package/src/components/Charts/smooth.area.less +13 -13
  227. package/src/components/CodeMirror/inedx.vue +118 -118
  228. package/src/components/CodeMirror/setting.js +40 -40
  229. package/src/components/FilePreview/FilePreview.vue +166 -166
  230. package/src/components/HeightScanner/index.vue +571 -571
  231. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  232. package/src/components/NumberInfo/index.js +3 -3
  233. package/src/components/NumberInfo/index.less +54 -54
  234. package/src/components/NumberInfo/index.md +43 -43
  235. package/src/components/card/ChartCard.vue +79 -79
  236. package/src/components/chart/Bar.vue +60 -60
  237. package/src/components/chart/MiniArea.vue +67 -67
  238. package/src/components/chart/MiniBar.vue +59 -59
  239. package/src/components/chart/MiniProgress.vue +57 -57
  240. package/src/components/chart/Radar.vue +80 -80
  241. package/src/components/chart/RankingList.vue +60 -60
  242. package/src/components/chart/Trend.vue +79 -79
  243. package/src/components/chart/index.less +9 -9
  244. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  245. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  246. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  247. package/src/components/checkbox/index.js +9 -9
  248. package/src/components/exception/ExceptionPage.vue +70 -70
  249. package/src/components/g2Charts/constants.js +202 -202
  250. package/src/components/g2Charts/demo.vue +808 -808
  251. package/src/components/g2Charts/designer.vue +228 -228
  252. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  253. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  254. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  255. package/src/components/g2Charts/index.vue +397 -397
  256. package/src/components/index.js +36 -36
  257. package/src/components/input/IInput.vue +66 -66
  258. package/src/components/menu/SideMenu.vue +75 -75
  259. package/src/components/menu/menu.js +273 -273
  260. package/src/components/setting/Setting.vue +234 -234
  261. package/src/components/tool/AStepItem.vue +60 -60
  262. package/src/config/default/antd.config.js +89 -89
  263. package/src/config/default/setting.config.js +55 -55
  264. package/src/expression/ExpressionRunner.js +26 -0
  265. package/src/expression/TestExpression.js +508 -0
  266. package/src/expression/core/Delegate.js +113 -0
  267. package/src/expression/core/Expression.js +1323 -0
  268. package/src/expression/core/Program.js +933 -0
  269. package/src/expression/core/Token.js +27 -0
  270. package/src/expression/enums/ExpressionType.js +81 -0
  271. package/src/expression/enums/TokenType.js +11 -0
  272. package/src/expression/exception/ExpressionException.js +28 -0
  273. package/src/expression/exception/ReturnWayException.js +14 -0
  274. package/src/expression/exception/ServiceException.js +22 -0
  275. package/src/expression/instances/JSONArray.js +48 -0
  276. package/src/expression/instances/JSONObject.js +122 -0
  277. package/src/expression/instances/LogicConsole.js +45 -0
  278. package/src/expression/ts/TestExpression.ts +509 -0
  279. package/src/expression/{core → ts/core}/Delegate.ts +3 -1
  280. package/src/expression/{core → ts/core}/Expression.ts +23 -6
  281. package/src/expression/{core → ts/core}/Program.ts +1 -1
  282. package/src/expression/ts/exception/BreakWayException.ts +2 -0
  283. package/src/expression/ts/exception/ContinueWayException.ts +2 -0
  284. package/src/expression/{exception → ts/exception}/ExpressionException.ts +10 -4
  285. package/src/expression/{instances → ts/instances}/JSONObject.ts +6 -2
  286. package/src/font-style/font.css +4 -4
  287. package/src/layouts/CommonLayout.vue +56 -56
  288. package/src/layouts/GridView.vue +45 -45
  289. package/src/layouts/PageLayout.vue +151 -151
  290. package/src/layouts/SinglePageView.vue +136 -136
  291. package/src/layouts/header/AdminHeader.vue +132 -132
  292. package/src/layouts/header/HeaderNotice.vue +177 -177
  293. package/src/layouts/header/InstitutionDetail.vue +181 -181
  294. package/src/layouts/tabs/TabsHead.vue +189 -189
  295. package/src/layouts/tabs/TabsView.vue +389 -389
  296. package/src/lib.js +1 -1
  297. package/src/logic/LogicRunner.js +67 -0
  298. package/src/logic/TestLogic.js +13 -0
  299. package/src/logic/plugins/common/DateTools.js +32 -0
  300. package/src/logic/plugins/index.js +5 -0
  301. package/src/logic/ts/LogicRunner.ts +67 -0
  302. package/src/logic/ts/TestLogic.ts +13 -0
  303. package/src/main.js +34 -34
  304. package/src/mock/extend/index.js +84 -84
  305. package/src/mock/goods/index.js +108 -108
  306. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  307. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  308. package/src/pages/DefaultExample/index.vue +77 -77
  309. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  310. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  311. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  312. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  313. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  314. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  315. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  316. package/src/pages/DynamicStatistics/index.vue +282 -282
  317. package/src/pages/Example/childIndex.vue +15 -15
  318. package/src/pages/Example/index.vue +30 -30
  319. package/src/pages/LogicCallExample/index.vue +30 -0
  320. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  321. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  322. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  323. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  324. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  325. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  326. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  327. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  328. package/src/pages/Recording/index.vue +77 -77
  329. package/src/pages/ServiceReview/index.vue +284 -284
  330. package/src/pages/SubExample/index.vue +26 -26
  331. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +32 -32
  332. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +131 -131
  333. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  334. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +302 -302
  335. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  336. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +997 -997
  337. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +222 -222
  338. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  339. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  340. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  341. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +73 -73
  342. package/src/pages/XPageViewExample/index.vue +38 -38
  343. package/src/pages/XReportView/index.vue +64 -64
  344. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  345. package/src/pages/login/Login.vue +378 -378
  346. package/src/pages/login/LoginV3.vue +389 -389
  347. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  348. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  349. package/src/pages/report/ReportTable.js +124 -124
  350. package/src/pages/resourceManage/orgListManage.vue +98 -98
  351. package/src/pages/system/dictionary/index.vue +44 -44
  352. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  353. package/src/pages/system/monitor/operLog/index.vue +37 -37
  354. package/src/pages/system/settings/modifyPassword.vue +117 -117
  355. package/src/pages/system/ticket/index.vue +480 -480
  356. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  357. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  358. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +76 -76
  359. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +74 -74
  360. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  361. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  362. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +74 -74
  363. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  364. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +74 -74
  365. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  366. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +92 -92
  367. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +86 -86
  368. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +73 -73
  369. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  370. package/src/pages/userInfoDetailManage/index.vue +82 -82
  371. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +132 -132
  372. package/src/plugins/EventLogPlugin.js +33 -33
  373. package/src/plugins/FindParentsData.js +17 -17
  374. package/src/plugins/HiPrintPlugin.js +124 -124
  375. package/src/router/async/config.async.js +35 -35
  376. package/src/router/async/router.map.js +4 -2
  377. package/src/router/index.js +27 -27
  378. package/src/router.js +19 -19
  379. package/src/services/DataModel.js +30 -30
  380. package/src/services/LodopFuncs.js +137 -137
  381. package/src/services/api/TicketDetailsViewApi.js +46 -46
  382. package/src/services/api/cas.js +79 -79
  383. package/src/services/api/common.js +346 -346
  384. package/src/services/api/entity.js +18 -18
  385. package/src/services/api/index.js +17 -17
  386. package/src/services/api/restTools.js +145 -145
  387. package/src/services/api/workFlow.js +63 -63
  388. package/src/services/apiService.js +15 -15
  389. package/src/services/user.js +92 -90
  390. package/src/services/v3Api.js +116 -116
  391. package/src/store/modules/account.js +115 -115
  392. package/src/store/modules/index.js +5 -5
  393. package/src/store/modules/lowCode.js +33 -33
  394. package/src/store/modules/setting.js +119 -119
  395. package/src/store/mutation-types.js +1 -0
  396. package/src/theme/default/style.less +58 -58
  397. package/src/theme/global.less +159 -159
  398. package/src/utils/EncryptUtil.js +23 -0
  399. package/src/utils/authority-utils.js +85 -85
  400. package/src/utils/errorCode.js +6 -6
  401. package/src/utils/formatter.js +74 -74
  402. package/src/utils/htmlToPDF.js +108 -108
  403. package/src/utils/htmlToPDFApi.js +5 -5
  404. package/src/utils/login.js +188 -188
  405. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  406. package/src/utils/lowcode/lowcodeLog.js +29 -29
  407. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  408. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  409. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  410. package/src/utils/map-utils.js +47 -47
  411. package/src/utils/reg.js +95 -95
  412. package/src/utils/request.js +22 -2
  413. package/src/utils/runEvalFunction.js +14 -14
  414. package/src/utils/theme-color-replacer-extend.js +92 -92
  415. package/src/utils/util.js +329 -329
  416. package/src/utils/waterMark.js +31 -31
  417. package/test/Amis.spec.js +163 -163
  418. package/test/Tree.spec.js +167 -167
  419. package/test/myDialog.spec.js +46 -46
  420. package/test/request.test.js +17 -0
  421. package/test/util.test.js +52 -52
  422. package/test/v3Api.test.js +1983 -1983
  423. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  424. package/src/expression/TestExpression.ts +0 -72
  425. /package/src/expression/exception/{BreakWayException.ts → BreakWayException.js} +0 -0
  426. /package/src/expression/exception/{ContinueWayException.ts → ContinueWayException.js} +0 -0
  427. /package/src/expression/{ExpressionRunner.ts → ts/ExpressionRunner.ts} +0 -0
  428. /package/src/expression/{core → ts/core}/Token.ts +0 -0
  429. /package/src/expression/{enums → ts/enums}/ExpressionType.ts +0 -0
  430. /package/src/expression/{enums → ts/enums}/TokenType.ts +0 -0
  431. /package/src/expression/{exception → ts/exception}/ReturnWayException.ts +0 -0
  432. /package/src/expression/{exception → ts/exception}/ServiceException.ts +0 -0
  433. /package/src/expression/{instances → ts/instances}/JSONArray.ts +0 -0
  434. /package/src/expression/{instances → ts/instances}/LogicConsole.ts +0 -0
@@ -1,54 +1,54 @@
1
- <template>
2
- <div>
3
- <a-button type="primary" @click="handleClick">{{ currentLabel }}</a-button>
4
- </div>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: 'StateButton',
10
- props: {
11
- // 定义状态和对应的显示文本与事件
12
- states: {
13
- type: Array,
14
- required: true,
15
- default: () => [
16
- { label: '状态1', event: 'state1Event' },
17
- { label: '状态2', event: 'state2Event' },
18
- { label: '状态3', event: 'state3Event' },
19
- ],
20
- },
21
- initialIndex: {
22
- type: Number,
23
- default: 0,
24
- },
25
- },
26
- data () {
27
- return {
28
- currentIndex: this.initialIndex,
29
- }
30
- },
31
- computed: {
32
- // 当前显示的按钮文本
33
- currentLabel () {
34
- return this.states[this.currentIndex]?.label || '按钮'
35
- },
36
- },
37
- methods: {
38
- handleClick () {
39
- // 触发当前状态的事件
40
- const currentState = this.states[this.currentIndex]
41
- if (currentState && currentState.event) {
42
- this.$emit(currentState.event)
43
- }
44
-
45
- // 切换到下一个状态
46
- this.currentIndex = (this.currentIndex + 1) % this.states.length
47
- },
48
- },
49
- }
50
- </script>
51
-
52
- <style scoped>
53
- /* 添加样式以适应项目需求 */
54
- </style>
1
+ <template>
2
+ <div>
3
+ <a-button type="primary" @click="handleClick">{{ currentLabel }}</a-button>
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'StateButton',
10
+ props: {
11
+ // 定义状态和对应的显示文本与事件
12
+ states: {
13
+ type: Array,
14
+ required: true,
15
+ default: () => [
16
+ { label: '状态1', event: 'state1Event' },
17
+ { label: '状态2', event: 'state2Event' },
18
+ { label: '状态3', event: 'state3Event' },
19
+ ],
20
+ },
21
+ initialIndex: {
22
+ type: Number,
23
+ default: 0,
24
+ },
25
+ },
26
+ data () {
27
+ return {
28
+ currentIndex: this.initialIndex,
29
+ }
30
+ },
31
+ computed: {
32
+ // 当前显示的按钮文本
33
+ currentLabel () {
34
+ return this.states[this.currentIndex]?.label || '按钮'
35
+ },
36
+ },
37
+ methods: {
38
+ handleClick () {
39
+ // 触发当前状态的事件
40
+ const currentState = this.states[this.currentIndex]
41
+ if (currentState && currentState.event) {
42
+ this.$emit(currentState.event)
43
+ }
44
+
45
+ // 切换到下一个状态
46
+ this.currentIndex = (this.currentIndex + 1) % this.states.length
47
+ },
48
+ },
49
+ }
50
+ </script>
51
+
52
+ <style scoped>
53
+ /* 添加样式以适应项目需求 */
54
+ </style>
@@ -1,264 +1,264 @@
1
- <template>
2
- <div>
3
- <!-- 树形选择框 -->
4
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
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
- @change="onTreeSelectChange">
21
- </a-tree-select>
22
- </a-form-model-item>
23
- </div>
24
- </template>
25
- <script>
26
- import XFormCol from '@vue2-client/base-client/components/common/XFormCol'
27
-
28
- export default {
29
- name: 'XTreeSelect',
30
- components: { XFormCol },
31
- model: {
32
- prop: 'value',
33
- event: 'onChange'
34
- },
35
- // eslint-disable-next-line vue/require-prop-types
36
- props: ['value', 'attr'],
37
- watch: {
38
- value (newVal) {
39
- if (newVal.length && !newVal[0]) {
40
- this.localValue = undefined
41
- }
42
- if (!newVal) {
43
- this.localValue = undefined
44
- }
45
- },
46
- },
47
- data () {
48
- return {
49
- // 内容加载是否完成
50
- loaded: false,
51
- // 数据列表
52
- option: [],
53
- // 表单
54
- form: {},
55
- // 查询方式
56
- queryType: 'IN',
57
- // label名称
58
- name: undefined,
59
- // 模型名称
60
- model: undefined,
61
- // 使用方式
62
- mode: '查询',
63
- // 是否禁用
64
- disabled: false,
65
- localValue: this.value
66
- }
67
- },
68
- methods: {
69
- init (params) {
70
- const {
71
- option = [], form, queryType = 'IN', name, model, mode = '查询', disabled = false
72
- } = params
73
- this.loaded = false
74
- this.option = option
75
- this.form = form
76
- this.queryType = queryType
77
- this.name = name
78
- this.model = model
79
- this.mode = mode
80
- this.disabled = disabled
81
- // 修改时恢复树形选择框选中状态
82
- if (this.queryType !== 'RIGHT_LIKE') {
83
- const value = this.form[this.model]
84
- if (value) {
85
- // 如果数据源中值含'-',代表是由多个数据源组成的树,需要重新组织新增/编辑时的表单值
86
- if (this.option.length > 0 && this.option[0].value.toString().indexOf('-') !== -1) {
87
- this.value = model + '-' + value
88
- } else {
89
- if (this.mode === '查询') {
90
- const values = []
91
- this.getValues(option, value, values)
92
- this.$emit('onChange', values)
93
- } else {
94
- this.value = value
95
- }
96
- // value = option 自身和所有子得集合
97
- }
98
- } else {
99
- this.value = undefined
100
- }
101
- }
102
- this.$emit('mounted', this)
103
- this.loaded = true
104
- },
105
- getValues (option, value, values) {
106
- for (const item of option) {
107
- if (value.includes(item.value)) {
108
- values.push(item.value)
109
- // 找到匹配节点后,递归添加所有子节点的值
110
- if (item.children && item.children.length) {
111
- this.getAllChildrenValues(item.children, values)
112
- }
113
- }
114
- if (item.children && item.children.length) {
115
- this.getValues(item.children, value, values)
116
- }
117
- }
118
- },
119
- getAllChildrenValues (children, values) {
120
- for (const child of children) {
121
- values.push(child.value)
122
- if (child.children && child.children.length) {
123
- this.getAllChildrenValues(child.children, values)
124
- }
125
- }
126
- },
127
- // 获取树形选择框数据
128
- getTreeData () {
129
- const treeData = this.option
130
- if (this.mode === '新增/修改') {
131
- this.setParentSelectable(treeData)
132
- }
133
- return treeData
134
- },
135
- // 设置树形选择框不能选择父节点
136
- setParentSelectable (treeData) {
137
- treeData.forEach(item => {
138
- if (item.children && item.children.length) {
139
- item.selectable = false
140
- this.setParentSelectable(item.children)
141
- }
142
- })
143
- },
144
- // 选中树节点
145
- onTreeSelectChange (value, label, extra) {
146
- if (this.queryType === 'RIGHT_LIKE') {
147
- // 获取可用于模糊查询的组织机构字符串
148
- let node = extra.triggerNode.$parent
149
- label = label[0]
150
- while (node && node.label) {
151
- label = node.label + '.' + label
152
- node = node.$parent
153
- }
154
- // this.form[this.model] = label
155
- this.$emit('onChange', label)
156
- } else {
157
- // 如果选中值含'-',代表是由多个数据源组成的树,需要重新组织查询或新增/编辑时的表单
158
- if ((Array.isArray(value) && value.length > 0 && String(value[0]).indexOf('-') !== -1) || (typeof value === 'string' && value.indexOf('-') !== -1)) {
159
- const treeDatas = {}
160
- // 单选情况用于新增.修改表单场景,使用extra.triggerNode获取选中节点信息
161
- if (!extra.allCheckedNodes) {
162
- this.setNodeData(treeDatas, extra.triggerNode)
163
- } else {
164
- // 多选情况用于查询表单场景,使用extra.allCheckedNodes获取选中节点集合
165
- const nodes = extra.allCheckedNodes
166
- // 获取任意选中节点的叶子节点的字段名,用于查询时组织查询项的key
167
- const name = this.getNodeDataProps(nodes[0])
168
- // 获取所有选中节点的叶子节点的value,用于查询时组织查询项的value
169
- const values = []
170
- for (const node of nodes) {
171
- const ref = this.setDataRef(node)
172
- if (ref instanceof Array) {
173
- for (const nodeRef of ref) {
174
- const keyValue = nodeRef.node.key
175
- values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
176
- }
177
- } else {
178
- const keyValue = ref.node.key
179
- values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
180
- }
181
- }
182
- treeDatas[name] = values
183
- }
184
- // 移除默认的表单项,将组织好后的表单项合并进表单
185
- this.form[this.model] = undefined
186
- Object.assign(this.form, treeDatas)
187
- // this.$emit('onChange', treeDatas)
188
- } else {
189
- // 从单一数据源组成的树可以直接赋值
190
- // this.form[this.model] = value
191
- // 获取所有选中节点的value
192
- if (this.mode === '查询') {
193
- const values = []
194
- if (extra.allCheckedNodes) {
195
- for (const item of extra.allCheckedNodes) {
196
- console.log(item.node.key, '=====', item.children)
197
- if (item.node.key) {
198
- // if (item.node.key && item.node?.data?.props?.label !== item.node?.data?.props?.value) {
199
- values.push(`${item.node.key}`)
200
- }
201
- if (item.children && item.children.length) {
202
- this.getNodeValues(item.children, value, values)
203
- }
204
- }
205
- }
206
- this.$emit('onChange', values)
207
- } else {
208
- this.$emit('onChange', value)
209
- }
210
- }
211
- }
212
- },
213
- getNodeValues (data, value, values) {
214
- for (const item of data) {
215
- values.push(`${item.node.key}`)
216
- if (item.children && item.children.length) {
217
- this.getNodeValues(item.children, value, values)
218
- }
219
- }
220
- },
221
- // 设置选中值
222
- setValue (value) {
223
- this.value = value
224
- },
225
- setDataRef (node) {
226
- if (node.children) {
227
- return this.setDataRef(node.children)
228
- }
229
- return node
230
- },
231
- /**
232
- * 组织节点和每层父节点的数据,用于新增/修改时更新表单数据
233
- * @param data 组织完成的数据
234
- * @param node 节点
235
- * @return 返回示例: { parentId: 1, childId: 2 }
236
- */
237
- setNodeData (data, node) {
238
- if (node.value) {
239
- const value = node.value
240
- const columnsName = value.substring(0, value.indexOf('-'))
241
- data[columnsName] = value.substring(value.lastIndexOf('-') + 1)
242
- if (node.$parent) {
243
- this.setNodeData(data, node.$parent)
244
- }
245
- }
246
- },
247
- getNodeDataProps (node) {
248
- if (node.children && node.children.length > 0) {
249
- return this.getNodeDataProps(node.children[0])
250
- }
251
- const value = node.node.key
252
- return value.substring(0, value.indexOf('-'))
253
- }
254
- }
255
- }
256
- </script>
257
- <style lang="less" scoped>
258
- .tree-select {
259
- /deep/ .ant-select-selection.ant-select-selection--multiple {
260
- max-height: 32px;
261
- overflow-y: auto;
262
- }
263
- }
264
- </style>
1
+ <template>
2
+ <div>
3
+ <!-- 树形选择框 -->
4
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
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
+ @change="onTreeSelectChange">
21
+ </a-tree-select>
22
+ </a-form-model-item>
23
+ </div>
24
+ </template>
25
+ <script>
26
+ import XFormCol from '@vue2-client/base-client/components/common/XFormCol'
27
+
28
+ export default {
29
+ name: 'XTreeSelect',
30
+ components: { XFormCol },
31
+ model: {
32
+ prop: 'value',
33
+ event: 'onChange'
34
+ },
35
+ // eslint-disable-next-line vue/require-prop-types
36
+ props: ['value', 'attr'],
37
+ watch: {
38
+ value (newVal) {
39
+ if (newVal.length && !newVal[0]) {
40
+ this.localValue = undefined
41
+ }
42
+ if (!newVal) {
43
+ this.localValue = undefined
44
+ }
45
+ },
46
+ },
47
+ data () {
48
+ return {
49
+ // 内容加载是否完成
50
+ loaded: false,
51
+ // 数据列表
52
+ option: [],
53
+ // 表单
54
+ form: {},
55
+ // 查询方式
56
+ queryType: 'IN',
57
+ // label名称
58
+ name: undefined,
59
+ // 模型名称
60
+ model: undefined,
61
+ // 使用方式
62
+ mode: '查询',
63
+ // 是否禁用
64
+ disabled: false,
65
+ localValue: this.value
66
+ }
67
+ },
68
+ methods: {
69
+ init (params) {
70
+ const {
71
+ option = [], form, queryType = 'IN', name, model, mode = '查询', disabled = false
72
+ } = params
73
+ this.loaded = false
74
+ this.option = option
75
+ this.form = form
76
+ this.queryType = queryType
77
+ this.name = name
78
+ this.model = model
79
+ this.mode = mode
80
+ this.disabled = disabled
81
+ // 修改时恢复树形选择框选中状态
82
+ if (this.queryType !== 'RIGHT_LIKE') {
83
+ const value = this.form[this.model]
84
+ if (value) {
85
+ // 如果数据源中值含'-',代表是由多个数据源组成的树,需要重新组织新增/编辑时的表单值
86
+ if (this.option.length > 0 && this.option[0].value.toString().indexOf('-') !== -1) {
87
+ this.value = model + '-' + value
88
+ } else {
89
+ if (this.mode === '查询') {
90
+ const values = []
91
+ this.getValues(option, value, values)
92
+ this.$emit('onChange', values)
93
+ } else {
94
+ this.value = value
95
+ }
96
+ // value = option 自身和所有子得集合
97
+ }
98
+ } else {
99
+ this.value = undefined
100
+ }
101
+ }
102
+ this.$emit('mounted', this)
103
+ this.loaded = true
104
+ },
105
+ getValues (option, value, values) {
106
+ for (const item of option) {
107
+ if (value.includes(item.value)) {
108
+ values.push(item.value)
109
+ // 找到匹配节点后,递归添加所有子节点的值
110
+ if (item.children && item.children.length) {
111
+ this.getAllChildrenValues(item.children, values)
112
+ }
113
+ }
114
+ if (item.children && item.children.length) {
115
+ this.getValues(item.children, value, values)
116
+ }
117
+ }
118
+ },
119
+ getAllChildrenValues (children, values) {
120
+ for (const child of children) {
121
+ values.push(child.value)
122
+ if (child.children && child.children.length) {
123
+ this.getAllChildrenValues(child.children, values)
124
+ }
125
+ }
126
+ },
127
+ // 获取树形选择框数据
128
+ getTreeData () {
129
+ const treeData = this.option
130
+ if (this.mode === '新增/修改') {
131
+ this.setParentSelectable(treeData)
132
+ }
133
+ return treeData
134
+ },
135
+ // 设置树形选择框不能选择父节点
136
+ setParentSelectable (treeData) {
137
+ treeData.forEach(item => {
138
+ if (item.children && item.children.length) {
139
+ item.selectable = false
140
+ this.setParentSelectable(item.children)
141
+ }
142
+ })
143
+ },
144
+ // 选中树节点
145
+ onTreeSelectChange (value, label, extra) {
146
+ if (this.queryType === 'RIGHT_LIKE') {
147
+ // 获取可用于模糊查询的组织机构字符串
148
+ let node = extra.triggerNode.$parent
149
+ label = label[0]
150
+ while (node && node.label) {
151
+ label = node.label + '.' + label
152
+ node = node.$parent
153
+ }
154
+ // this.form[this.model] = label
155
+ this.$emit('onChange', label)
156
+ } else {
157
+ // 如果选中值含'-',代表是由多个数据源组成的树,需要重新组织查询或新增/编辑时的表单
158
+ if ((Array.isArray(value) && value.length > 0 && String(value[0]).indexOf('-') !== -1) || (typeof value === 'string' && value.indexOf('-') !== -1)) {
159
+ const treeDatas = {}
160
+ // 单选情况用于新增.修改表单场景,使用extra.triggerNode获取选中节点信息
161
+ if (!extra.allCheckedNodes) {
162
+ this.setNodeData(treeDatas, extra.triggerNode)
163
+ } else {
164
+ // 多选情况用于查询表单场景,使用extra.allCheckedNodes获取选中节点集合
165
+ const nodes = extra.allCheckedNodes
166
+ // 获取任意选中节点的叶子节点的字段名,用于查询时组织查询项的key
167
+ const name = this.getNodeDataProps(nodes[0])
168
+ // 获取所有选中节点的叶子节点的value,用于查询时组织查询项的value
169
+ const values = []
170
+ for (const node of nodes) {
171
+ const ref = this.setDataRef(node)
172
+ if (ref instanceof Array) {
173
+ for (const nodeRef of ref) {
174
+ const keyValue = nodeRef.node.key
175
+ values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
176
+ }
177
+ } else {
178
+ const keyValue = ref.node.key
179
+ values.push(keyValue.substring(keyValue.lastIndexOf('-') + 1))
180
+ }
181
+ }
182
+ treeDatas[name] = values
183
+ }
184
+ // 移除默认的表单项,将组织好后的表单项合并进表单
185
+ this.form[this.model] = undefined
186
+ Object.assign(this.form, treeDatas)
187
+ // this.$emit('onChange', treeDatas)
188
+ } else {
189
+ // 从单一数据源组成的树可以直接赋值
190
+ // this.form[this.model] = value
191
+ // 获取所有选中节点的value
192
+ if (this.mode === '查询') {
193
+ const values = []
194
+ if (extra.allCheckedNodes) {
195
+ for (const item of extra.allCheckedNodes) {
196
+ console.log(item.node.key, '=====', item.children)
197
+ if (item.node.key) {
198
+ // if (item.node.key && item.node?.data?.props?.label !== item.node?.data?.props?.value) {
199
+ values.push(`${item.node.key}`)
200
+ }
201
+ if (item.children && item.children.length) {
202
+ this.getNodeValues(item.children, value, values)
203
+ }
204
+ }
205
+ }
206
+ this.$emit('onChange', values)
207
+ } else {
208
+ this.$emit('onChange', value)
209
+ }
210
+ }
211
+ }
212
+ },
213
+ getNodeValues (data, value, values) {
214
+ for (const item of data) {
215
+ values.push(`${item.node.key}`)
216
+ if (item.children && item.children.length) {
217
+ this.getNodeValues(item.children, value, values)
218
+ }
219
+ }
220
+ },
221
+ // 设置选中值
222
+ setValue (value) {
223
+ this.value = value
224
+ },
225
+ setDataRef (node) {
226
+ if (node.children) {
227
+ return this.setDataRef(node.children)
228
+ }
229
+ return node
230
+ },
231
+ /**
232
+ * 组织节点和每层父节点的数据,用于新增/修改时更新表单数据
233
+ * @param data 组织完成的数据
234
+ * @param node 节点
235
+ * @return 返回示例: { parentId: 1, childId: 2 }
236
+ */
237
+ setNodeData (data, node) {
238
+ if (node.value) {
239
+ const value = node.value
240
+ const columnsName = value.substring(0, value.indexOf('-'))
241
+ data[columnsName] = value.substring(value.lastIndexOf('-') + 1)
242
+ if (node.$parent) {
243
+ this.setNodeData(data, node.$parent)
244
+ }
245
+ }
246
+ },
247
+ getNodeDataProps (node) {
248
+ if (node.children && node.children.length > 0) {
249
+ return this.getNodeDataProps(node.children[0])
250
+ }
251
+ const value = node.node.key
252
+ return value.substring(0, value.indexOf('-'))
253
+ }
254
+ }
255
+ }
256
+ </script>
257
+ <style lang="less" scoped>
258
+ .tree-select {
259
+ /deep/ .ant-select-selection.ant-select-selection--multiple {
260
+ max-height: 32px;
261
+ overflow-y: auto;
262
+ }
263
+ }
264
+ </style>