vue2-client 1.15.112 → 1.15.115

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 (550) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.apply +19 -19
  3. package/.env.gaslink +19 -19
  4. package/.env.his +19 -19
  5. package/.env.liuli +20 -20
  6. package/.env.scada +19 -19
  7. package/.eslintrc.js +90 -90
  8. package/CHANGELOG.md +824 -824
  9. package/Components.md +60 -60
  10. package/docs/LowCode/lowcode.md +155 -155
  11. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  12. package/docs/index.md +30 -30
  13. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +0 -6
  14. package/index.js +31 -31
  15. package/jest-transform-stub.js +8 -8
  16. package/jest.setup.js +7 -7
  17. package/jsconfig.json +19 -19
  18. package/package.json +1 -1
  19. package/public/his/editor/editor.html +51 -51
  20. package/public/his/editor/mock/bind_data.html +779 -779
  21. package/public/his/editor/mock/data_table.html +40 -40
  22. package/public/his/editor/mock/sign.html +75 -75
  23. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  24. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  25. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  26. package/public/his/editor/vender/date97/calendar.js +4 -4
  27. package/public/his/editor/vender/date97/lang/en.js +13 -13
  28. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  29. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  30. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  31. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  32. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  33. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  34. package/public/his/editor/vender/diff.js +1627 -1627
  35. package/public/his/editor/vender/editor.js +1 -1
  36. package/public/his/editor/vender/fabric.js +31187 -31187
  37. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  38. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  39. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  40. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  41. package/public/his/editor/vender/mui/mui.min.css +4 -4
  42. package/public/his/editor/vender/mui/mui.min.js +5 -5
  43. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  44. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  45. package/public/his/editor/vender/qrcode.js +7 -7
  46. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  47. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  48. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  49. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  50. package/public/his/editor/vender/validator.js +5094 -5094
  51. package/public/his/editor/vender/weui/weui.css +5659 -5659
  52. package/public/his/editor/vender/weui/weui.min.css +4 -4
  53. package/public/his/editor/vender/weui/weui.min.js +11 -11
  54. package/public/index.html +27 -27
  55. package/src/assets/img/querySlotDemo.svg +15 -15
  56. package/src/assets/svg/badtwo.svg +1 -1
  57. package/src/assets/svg/goodtwo.svg +1 -1
  58. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  59. package/src/base-client/components/AI/demo.vue +31 -31
  60. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  61. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  62. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  63. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  64. package/src/base-client/components/common/CitySelect/index.js +3 -3
  65. package/src/base-client/components/common/CitySelect/index.md +109 -109
  66. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  67. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  68. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  69. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  70. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  71. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  72. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  73. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  74. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  75. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  76. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  77. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  78. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  79. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  80. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  81. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  82. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  83. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  84. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  85. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  86. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  87. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  88. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  89. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  90. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  93. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  94. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  95. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  96. package/src/base-client/components/common/Recording/index.js +3 -3
  97. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  98. package/src/base-client/components/common/Tree/index.js +2 -2
  99. package/src/base-client/components/common/Upload/index.js +3 -3
  100. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  101. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  102. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  103. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  104. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  105. package/src/base-client/components/common/XAddReport/index.js +3 -3
  106. package/src/base-client/components/common/XAddReport/index.md +56 -56
  107. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  108. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  109. package/src/base-client/components/common/XButtons/index.js +3 -3
  110. package/src/base-client/components/common/XButtons/index.md +61 -61
  111. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  112. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  113. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  114. package/src/base-client/components/common/XDataCard/index.js +3 -3
  115. package/src/base-client/components/common/XDataCard/index.md +1 -1
  116. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  117. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  118. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  119. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  120. package/src/base-client/components/common/XDescriptions/demo.vue +50 -4
  121. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  122. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  123. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  124. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  125. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  126. package/src/base-client/components/common/XForm/index.md +178 -178
  127. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  128. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  129. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  130. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  131. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  132. package/src/base-client/components/common/XFormTable/index.md +92 -92
  133. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  134. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  135. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  136. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  137. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  138. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  139. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  140. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  141. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  142. package/src/base-client/components/common/XPrint/index.vue +97 -97
  143. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  144. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  145. package/src/base-client/components/common/XReport/index.js +3 -3
  146. package/src/base-client/components/common/XReport/print.js +186 -186
  147. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  148. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  149. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  150. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  151. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  152. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  153. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  154. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  155. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  156. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  157. package/src/base-client/components/common/XStepView/index.js +3 -3
  158. package/src/base-client/components/common/XStepView/index.md +31 -31
  159. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  160. package/src/base-client/components/common/XTab/index.js +3 -3
  161. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  162. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  163. package/src/base-client/components/common/XTable/index.md +255 -255
  164. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  165. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  166. package/src/base-client/components/common/XTree/index.js +3 -3
  167. package/src/base-client/components/common/XTree/index.md +36 -36
  168. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  169. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  170. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  171. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  172. package/src/base-client/components/his/XChart/XChart.vue +282 -282
  173. package/src/base-client/components/his/XChart/dome.vue +19 -19
  174. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +2 -51
  175. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  176. package/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +54 -17
  177. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  178. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +12 -10
  179. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  180. package/src/base-client/components/index.js +51 -51
  181. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  182. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  183. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  184. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  185. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  186. package/src/base-client/plugins/Config.js +19 -19
  187. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  188. package/src/base-client/plugins/Recording.js +258 -258
  189. package/src/base-client/plugins/index.js +23 -23
  190. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  191. package/src/components/Charts/Bar.vue +62 -62
  192. package/src/components/Charts/ChartCard.vue +134 -134
  193. package/src/components/Charts/Liquid.vue +67 -67
  194. package/src/components/Charts/MiniArea.vue +39 -39
  195. package/src/components/Charts/MiniBar.vue +39 -39
  196. package/src/components/Charts/MiniProgress.vue +75 -75
  197. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  198. package/src/components/Charts/Radar.vue +68 -68
  199. package/src/components/Charts/RankList.vue +77 -77
  200. package/src/components/Charts/TagCloud.vue +113 -113
  201. package/src/components/Charts/TransferBar.vue +64 -64
  202. package/src/components/Charts/Trend.vue +82 -82
  203. package/src/components/Charts/chart.less +12 -12
  204. package/src/components/Charts/smooth.area.less +13 -13
  205. package/src/components/CodeMirror/inedx.vue +118 -118
  206. package/src/components/CodeMirror/setting.js +40 -40
  207. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  208. package/src/components/NumberInfo/index.js +3 -3
  209. package/src/components/NumberInfo/index.less +54 -54
  210. package/src/components/NumberInfo/index.md +43 -43
  211. package/src/components/card/ChartCard.vue +79 -79
  212. package/src/components/chart/Bar.vue +60 -60
  213. package/src/components/chart/MiniArea.vue +67 -67
  214. package/src/components/chart/MiniBar.vue +59 -59
  215. package/src/components/chart/MiniProgress.vue +57 -57
  216. package/src/components/chart/Radar.vue +80 -80
  217. package/src/components/chart/RankingList.vue +60 -60
  218. package/src/components/chart/Trend.vue +79 -79
  219. package/src/components/chart/index.less +9 -9
  220. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  221. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  222. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  223. package/src/components/checkbox/index.js +9 -9
  224. package/src/components/exception/ExceptionPage.vue +70 -70
  225. package/src/components/g2Charts/constants.js +202 -202
  226. package/src/components/g2Charts/demo.vue +808 -808
  227. package/src/components/g2Charts/designer.vue +228 -228
  228. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  229. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  230. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  231. package/src/components/g2Charts/index.vue +397 -397
  232. package/src/components/index.js +36 -36
  233. package/src/components/input/IInput.vue +66 -66
  234. package/src/components/menu/SideMenu.vue +75 -75
  235. package/src/components/menu/menu.js +273 -273
  236. package/src/components/setting/Setting.vue +234 -234
  237. package/src/components/tool/AStepItem.vue +60 -60
  238. package/src/config/CreateQueryConfig.js +325 -325
  239. package/src/config/default/antd.config.js +89 -89
  240. package/src/config/default/setting.config.js +55 -55
  241. package/src/font-style/font.css +4 -4
  242. package/src/layouts/CommonLayout.vue +56 -56
  243. package/src/layouts/PageLayout.vue +151 -151
  244. package/src/layouts/SinglePageView.vue +136 -136
  245. package/src/layouts/header/AdminHeader.vue +132 -132
  246. package/src/layouts/header/HeaderNotice.vue +177 -177
  247. package/src/layouts/header/InstitutionDetail.vue +181 -181
  248. package/src/layouts/tabs/TabsHead.vue +189 -189
  249. package/src/lib.js +1 -1
  250. package/src/mock/extend/index.js +84 -84
  251. package/src/mock/goods/index.js +108 -108
  252. package/src/pages/DefaultExample/index.vue +77 -77
  253. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  254. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  255. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  256. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  257. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  258. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  259. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  260. package/src/pages/DynamicStatistics/index.vue +282 -282
  261. package/src/pages/Example/childIndex.vue +15 -15
  262. package/src/pages/Example/index.vue +30 -30
  263. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  264. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  265. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  266. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  267. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  268. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  269. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  270. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  271. package/src/pages/Recording/index.vue +77 -77
  272. package/src/pages/ServiceReview/index.vue +284 -284
  273. package/src/pages/SubExample/index.vue +26 -26
  274. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  275. package/src/pages/XReportView/index.vue +64 -64
  276. package/src/pages/XTreeOneProExample/index.vue +67 -67
  277. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  278. package/src/pages/login/Login.vue +380 -380
  279. package/src/pages/login/LoginV3.vue +389 -389
  280. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  281. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  282. package/src/pages/report/ReportTable.js +124 -124
  283. package/src/pages/resourceManage/orgListManage.vue +98 -98
  284. package/src/pages/system/dictionary/index.vue +44 -44
  285. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  286. package/src/pages/system/monitor/operLog/index.vue +37 -37
  287. package/src/pages/system/settings/modifyPassword.vue +117 -117
  288. package/src/pages/system/ticket/index.vue +480 -480
  289. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  290. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  291. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  292. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  293. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  294. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  295. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  296. package/src/plugins/EventLogPlugin.js +33 -33
  297. package/src/plugins/FindParentsData.js +17 -17
  298. package/src/router/async/config.async.js +35 -35
  299. package/src/router/async/router.map.js +2 -2
  300. package/src/router/index.js +27 -27
  301. package/src/services/DataModel.js +30 -30
  302. package/src/services/LodopFuncs.js +137 -137
  303. package/src/services/api/TicketDetailsViewApi.js +46 -46
  304. package/src/services/api/cas.js +79 -79
  305. package/src/services/api/common.js +346 -346
  306. package/src/services/api/entity.js +18 -18
  307. package/src/services/api/index.js +17 -17
  308. package/src/store/modules/account.js +115 -115
  309. package/src/store/modules/index.js +5 -5
  310. package/src/store/modules/lowCode.js +33 -33
  311. package/src/store/modules/setting.js +119 -119
  312. package/src/theme/default/style.less +58 -58
  313. package/src/utils/authority-utils.js +85 -85
  314. package/src/utils/errorCode.js +6 -6
  315. package/src/utils/formatter.js +74 -74
  316. package/src/utils/htmlToPDF.js +108 -108
  317. package/src/utils/htmlToPDFApi.js +5 -5
  318. package/src/utils/login.js +188 -188
  319. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  320. package/src/utils/lowcode/lowcodeLog.js +29 -29
  321. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  322. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  323. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  324. package/src/utils/map-utils.js +47 -47
  325. package/src/utils/reg.js +95 -95
  326. package/src/utils/runEvalFunction.js +14 -14
  327. package/src/utils/theme-color-replacer-extend.js +92 -92
  328. package/src/utils/util.js +329 -329
  329. package/src/utils/waterMark.js +31 -31
  330. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  331. package/.history/public/his/editor/editor_20250606134713.html +0 -51
  332. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +0 -509
  333. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +0 -524
  334. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +0 -524
  335. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +0 -524
  336. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +0 -207
  337. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +0 -211
  338. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +0 -212
  339. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +0 -212
  340. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +0 -1320
  341. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +0 -1332
  342. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +0 -1331
  343. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +0 -1331
  344. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +0 -1331
  345. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +0 -1339
  346. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +0 -731
  347. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +0 -748
  348. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +0 -748
  349. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +0 -1071
  350. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +0 -1078
  351. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +0 -1077
  352. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +0 -1077
  353. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +0 -1077
  354. package/.history/src/base-client/components/his/XChart/XChart_20250812134005.vue +0 -160
  355. package/.history/src/base-client/components/his/XChart/XChart_20250812134010.vue +0 -160
  356. package/.history/src/base-client/components/his/XChart/XChart_20250812134019.vue +0 -160
  357. package/.history/src/base-client/components/his/XChart/XChart_20250812134037.vue +0 -160
  358. package/.history/src/base-client/components/his/XChart/XChart_20250812134112.vue +0 -160
  359. package/.history/src/base-client/components/his/XChart/XChart_20250812134114.vue +0 -160
  360. package/.history/src/base-client/components/his/XChart/XChart_20250812134828.vue +0 -148
  361. package/.history/src/base-client/components/his/XChart/XChart_20250812134838.vue +0 -155
  362. package/.history/src/base-client/components/his/XChart/XChart_20250812134846.vue +0 -155
  363. package/.history/src/base-client/components/his/XChart/XChart_20250812134917.vue +0 -155
  364. package/.history/src/base-client/components/his/XChart/XChart_20250812151145.vue +0 -149
  365. package/.history/src/base-client/components/his/XChart/XChart_20250812151810.vue +0 -153
  366. package/.history/src/base-client/components/his/XChart/XChart_20250812151822.vue +0 -153
  367. package/.history/src/base-client/components/his/XChart/XChart_20250812151910.vue +0 -153
  368. package/.history/src/base-client/components/his/XChart/XChart_20250812152858.vue +0 -258
  369. package/.history/src/base-client/components/his/XChart/XChart_20250812152902.vue +0 -258
  370. package/.history/src/base-client/components/his/XChart/XChart_20250812152907.vue +0 -258
  371. package/.history/src/base-client/components/his/XChart/XChart_20250812152919.vue +0 -258
  372. package/.history/src/base-client/components/his/XChart/XChart_20250812153141.vue +0 -269
  373. package/.history/src/base-client/components/his/XChart/XChart_20250812153149.vue +0 -276
  374. package/.history/src/base-client/components/his/XChart/XChart_20250812153153.vue +0 -276
  375. package/.history/src/base-client/components/his/XChart/XChart_20250812153155.vue +0 -276
  376. package/.history/src/base-client/components/his/XChart/XChart_20250812153157.vue +0 -276
  377. package/.history/src/base-client/components/his/XChart/XChart_20250812153158.vue +0 -276
  378. package/.history/src/base-client/components/his/XChart/XChart_20250812153200.vue +0 -276
  379. package/.history/src/base-client/components/his/XChart/XChart_20250812153210.vue +0 -276
  380. package/.history/src/base-client/components/his/XChart/XChart_20250812153918.vue +0 -275
  381. package/.history/src/base-client/components/his/XChart/XChart_20250812154157.vue +0 -280
  382. package/.history/src/base-client/components/his/XChart/XChart_20250812154212.vue +0 -280
  383. package/.history/src/base-client/components/his/XChart/XChart_20250812154250.vue +0 -280
  384. package/.history/src/base-client/components/his/XChart/XChart_20250812154252.vue +0 -280
  385. package/.history/src/base-client/components/his/XChart/XChart_20250812154444.vue +0 -280
  386. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +0 -442
  387. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +0 -442
  388. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +0 -442
  389. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +0 -475
  390. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +0 -475
  391. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +0 -475
  392. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +0 -477
  393. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +0 -477
  394. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +0 -477
  395. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +0 -473
  396. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +0 -473
  397. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +0 -473
  398. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +0 -473
  399. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +0 -473
  400. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +0 -473
  401. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +0 -473
  402. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +0 -473
  403. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +0 -473
  404. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +0 -473
  405. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +0 -474
  406. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +0 -474
  407. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +0 -474
  408. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +0 -472
  409. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +0 -472
  410. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +0 -472
  411. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +0 -472
  412. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +0 -472
  413. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +0 -472
  414. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +0 -501
  415. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +0 -501
  416. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +0 -501
  417. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +0 -504
  418. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +0 -504
  419. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +0 -504
  420. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +0 -131
  421. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +0 -160
  422. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +0 -160
  423. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +0 -160
  424. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +0 -158
  425. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +0 -173
  426. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +0 -222
  427. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +0 -229
  428. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +0 -229
  429. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +0 -229
  430. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +0 -241
  431. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +0 -241
  432. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +0 -241
  433. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +0 -245
  434. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +0 -245
  435. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +0 -245
  436. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +0 -255
  437. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +0 -255
  438. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +0 -255
  439. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +0 -270
  440. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +0 -270
  441. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +0 -270
  442. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +0 -270
  443. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +0 -294
  444. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +0 -294
  445. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +0 -294
  446. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +0 -303
  447. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +0 -303
  448. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +0 -303
  449. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +0 -288
  450. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +0 -288
  451. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +0 -288
  452. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +0 -317
  453. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +0 -306
  454. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +0 -306
  455. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +0 -306
  456. package/.history/src/base-client/components/his/XList/XList_20250704142024.vue +0 -495
  457. package/.history/src/base-client/components/his/XList/XList_20250704142033.vue +0 -495
  458. package/.history/src/base-client/components/his/XList/XList_20250704142040.vue +0 -494
  459. package/.history/src/base-client/components/his/XList/XList_20250704142211.vue +0 -494
  460. package/.history/src/base-client/components/his/XList/XList_20250704142214.vue +0 -494
  461. package/.history/src/base-client/components/his/XList/XList_20250704143010.vue +0 -495
  462. package/.history/src/base-client/components/his/XList/XList_20250704143203.vue +0 -495
  463. package/.history/src/base-client/components/his/XList/XList_20250707095101.vue +0 -492
  464. package/.history/src/base-client/components/his/XList/XList_20250707100152.vue +0 -492
  465. package/.history/src/base-client/components/his/XList/XList_20250707100200.vue +0 -485
  466. package/.history/src/base-client/components/his/XList/XList_20250707100208.vue +0 -485
  467. package/.history/src/base-client/components/his/XList/XList_20250707100259.vue +0 -488
  468. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134604.vue +0 -263
  469. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134615.vue +0 -302
  470. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134621.vue +0 -301
  471. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134634.vue +0 -311
  472. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134644.vue +0 -330
  473. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134653.vue +0 -330
  474. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134836.vue +0 -330
  475. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135247.vue +0 -330
  476. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135303.vue +0 -354
  477. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135316.vue +0 -363
  478. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135323.vue +0 -363
  479. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135334.vue +0 -366
  480. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135342.vue +0 -364
  481. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135349.vue +0 -364
  482. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135351.vue +0 -346
  483. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135354.vue +0 -346
  484. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135401.vue +0 -346
  485. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135406.vue +0 -346
  486. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135424.vue +0 -346
  487. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807143043.vue +0 -254
  488. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155506.vue +0 -329
  489. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155535.vue +0 -330
  490. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155543.vue +0 -330
  491. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155926.vue +0 -304
  492. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155928.vue +0 -304
  493. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172548.vue +0 -298
  494. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172609.vue +0 -298
  495. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172623.vue +0 -298
  496. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172631.vue +0 -298
  497. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172701.vue +0 -298
  498. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172704.vue +0 -298
  499. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807175937.vue +0 -290
  500. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807175942.vue +0 -290
  501. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180210.vue +0 -290
  502. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180424.vue +0 -290
  503. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180448.vue +0 -290
  504. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180915.vue +0 -262
  505. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180917.vue +0 -262
  506. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101106.vue +0 -283
  507. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101112.vue +0 -289
  508. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101118.vue +0 -289
  509. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101129.vue +0 -294
  510. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101137.vue +0 -318
  511. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101145.vue +0 -320
  512. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101154.vue +0 -320
  513. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101211.vue +0 -320
  514. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101236.vue +0 -320
  515. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101239.vue +0 -320
  516. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114001.vue +0 -342
  517. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114005.vue +0 -342
  518. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114014.vue +0 -345
  519. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114020.vue +0 -345
  520. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114028.vue +0 -345
  521. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114108.vue +0 -345
  522. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114115.vue +0 -345
  523. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114333.vue +0 -346
  524. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114339.vue +0 -350
  525. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114344.vue +0 -355
  526. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114351.vue +0 -355
  527. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114408.vue +0 -355
  528. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114410.vue +0 -355
  529. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103845.vue +0 -142
  530. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103852.vue +0 -142
  531. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103857.vue +0 -142
  532. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103859.vue +0 -142
  533. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103907.vue +0 -142
  534. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103910.vue +0 -142
  535. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103911.vue +0 -142
  536. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103913.vue +0 -142
  537. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103916.vue +0 -142
  538. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103931.vue +0 -142
  539. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145127.vue +0 -85
  540. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145136.vue +0 -81
  541. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145142.vue +0 -81
  542. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145145.vue +0 -81
  543. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145148.vue +0 -81
  544. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145151.vue +0 -81
  545. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145155.vue +0 -81
  546. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +0 -213
  547. package/src/base-client/components/TreeList/TreeList.vue +0 -91
  548. package/src/base-client/components/TreeList/TreeNode.vue +0 -81
  549. package/src/base-client/components/common/XCardSet/XTiltle.vue +0 -191
  550. package/src/base-client/components/his/XHisEditor/dome.vue +0 -144
@@ -1,502 +1,502 @@
1
- <template>
2
- <div>
3
- <p v-if="config.page.length === 0"> 未选中任何工作空间 </p>
4
- <a-tree
5
- v-if="showTree"
6
- defaultExpandAll
7
- show-icon
8
- @select="handleTreeSelect"
9
- :selectedKeys="selectedKeys"
10
- style="overflow: hidden"
11
- :draggable="true"
12
- @drop="treeDrop"
13
- :tree-data="treeData">
14
- <!-- 右键菜单 -->
15
- <template #title="{ key: treeKey, title }">
16
- <a-dropdown :trigger="['contextmenu']">
17
- <span>{{ title }}</span>
18
- <template #overlay>
19
- <a-menu @click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey)">
20
- <a-menu-item key="copy"><a-icon type="copy" />&nbsp;&nbsp;复制</a-menu-item>
21
- <a-menu-item key="paste" :disabled="copyCache === undefined"><a-icon type="snippets" />&nbsp;&nbsp;粘贴</a-menu-item>
22
- <a-menu-divider />
23
- <a-menu-item key="split" :disabled="determineLevel(treeKey) !== 'item'"><a-icon type="fullscreen" />&nbsp;&nbsp;拆分</a-menu-item>
24
- <a-menu-item key="add" :disabled="determineLevel(treeKey) === 'item'"><a-icon type="plus-square" />&nbsp;&nbsp;添加</a-menu-item>
25
- <a-menu-item key="rename" :disabled="determineLevel(treeKey) !== 'item' && determineLevel(treeKey) !== 'page'"><a-icon type="italic" />&nbsp;&nbsp;重命名</a-menu-item>
26
- <a-menu-divider />
27
- <a-menu-item key="delete"><a-icon type="delete" />&nbsp;&nbsp;删除</a-menu-item>
28
- </a-menu>
29
- </template>
30
- </a-dropdown>
31
- </template>
32
- <!-- 树中的图标 -->
33
- <a-icon slot="file" type="file" />
34
- <a-icon slot="appstore" type="appstore" />
35
- <a-icon slot="pause" type="pause" />
36
- <a-icon slot="ordered-list" type="ordered-list" />
37
- </a-tree>
38
- <!-- 页面容器重命名弹框 -->
39
- <a-modal
40
- title="页面容器重命名"
41
- width="60%"
42
- :z-index="1001"
43
- :destroyOnClose="true"
44
- @ok="handleRenameModalOk"
45
- @cancel="() => { showRenameModal = false }"
46
- :visible="showRenameModal">
47
- <a-form :label-col="{ span: 7 }" :wrapper-col="{ span: 12 }">
48
- <!-- 新名称 -->
49
- <a-form-item label="新名称">
50
- <a-input v-model="pageNewName"/>
51
- </a-form-item>
52
- </a-form>
53
- </a-modal>
54
- </div>
55
- </template>
56
-
57
- <script>
58
- import * as lowcodeUtils from '@vue2-client/utils/lowcode/lowcodeUtils'
59
- export default {
60
- props: {
61
- config: {
62
- type: Object,
63
- required: true,
64
- },
65
- // 可以由外侧控制哪个节点被选中
66
- selectTreeNode: {
67
- type: String,
68
- default: undefined
69
- }
70
- },
71
- methods: {
72
- // 重命名弹框确认
73
- handleRenameModalOk () {
74
- this.$emit('rename', this.renameId, this.pageNewName)
75
- this.renameId = undefined
76
- this.showRenameModal = false
77
- },
78
- // 根据id返回类型
79
- determineLevel (id) {
80
- if (id.startsWith('page')) {
81
- return 'page'
82
- } else if (id.startsWith('container_page_')) {
83
- return 'container_page'
84
- } else if (id.startsWith('row')) {
85
- return 'row'
86
- } else {
87
- return 'item'
88
- }
89
- },
90
- // 将树中的key转换回原始ID
91
- getOriginalKey (treeKey) {
92
- if (treeKey.startsWith('page')) {
93
- return treeKey.substring('page_'.length)
94
- } else if (treeKey.startsWith('container_page_')) {
95
- return treeKey.substring('container_page_'.length)
96
- } else if (treeKey.startsWith('row')) {
97
- const newRowId = treeKey.substring('row_'.length)
98
- const lastIndex = newRowId.lastIndexOf('_')
99
- const pre = newRowId.substring(0, lastIndex)
100
- const index = newRowId.substring(lastIndex + 1)
101
- const newIndex = Number(index) - 1
102
- return pre + '_' + newIndex
103
- } else {
104
- return treeKey
105
- }
106
- },
107
- // 根据ID,返回拖拽级别和类型,便于拖拽模式判断
108
- determineDragLevel (id) {
109
- if (id.startsWith('page')) {
110
- return {
111
- type: 'page',
112
- level: 0
113
- }
114
- } else if (id.startsWith('container_page_')) {
115
- return {
116
- type: 'container_page',
117
- level: 2
118
- }
119
- } else if (id.startsWith('row')) {
120
- return {
121
- type: 'row',
122
- level: 1
123
- }
124
- } else {
125
- return {
126
- type: 'item',
127
- level: 2
128
- }
129
- }
130
- },
131
- // 树拖拽事件
132
- treeDrop (info) {
133
- // 拖拽结束目标的id
134
- const dropKey = info.node.eventKey
135
- // 被拖拽的id
136
- const dragKey = info.dragNode.eventKey
137
- // 拖拽目标的位置
138
- const dropPos = info.node.pos.split('-')
139
-
140
- // 拖拽结束目标的类型
141
- const dropLevel = this.determineDragLevel(dropKey)
142
- // 被拖拽的类型
143
- const dragLevel = this.determineDragLevel(dragKey)
144
-
145
- // 拖拽对于目标的定位,-1表示之前,0表示插入,1表示之后
146
- const dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1])
147
-
148
- // 以下几种为非法拖拽
149
- // 1. 平级移动但是目标是新增
150
- // 2. 高一级移动但不是新增
151
- // 3. 高级组件移动到低级
152
- // 4. 相差2级移动
153
- // 唯一特例,行可以插入容器页面,容器页面等于模块级别,但可以被行插入
154
-
155
- // 只有三种情况可以拖拽
156
- // 1.平级挪
157
- // 2.高一级插
158
- // 3.行插子页面
159
- // 4.平级插入改为替换双方位置(特例)
160
-
161
- // 1. 平级挪
162
- if (dropLevel.level === dragLevel.level && dropPosition !== 0) {
163
- const dragType = 'move'
164
- this.$emit('componentMove', this.getOriginalKey(dragKey), this.getOriginalKey(dropKey), dragLevel, dropLevel, dropPosition, dragType)
165
- return
166
- }
167
-
168
- // 2.高一级插
169
- if (dropLevel.level === (dragLevel.level - 1) && dropPosition === 0) {
170
- const dragType = 'higher'
171
- this.$emit('componentMove', this.getOriginalKey(dragKey), this.getOriginalKey(dropKey), dragLevel, dropLevel, dropPosition, dragType)
172
- return
173
- }
174
-
175
- // 3.行插子页面
176
- if (dragLevel.type === 'row' && dropLevel.type === 'container_page' && dropPosition === 0) {
177
- const dragType = 'rowToContainer'
178
- this.$emit('componentMove', this.getOriginalKey(dragKey), this.getOriginalKey(dropKey), dragLevel, dropLevel, dropPosition, dragType)
179
- return
180
- }
181
-
182
- // 4.平级插入改为替换双方位置(特例)
183
- if (dropLevel.level === dragLevel.level && dropPosition === 0) {
184
- const dragType = 'switch'
185
- this.$emit('componentMove', this.getOriginalKey(dragKey), this.getOriginalKey(dropKey), dragLevel, dropLevel, dropPosition, dragType)
186
- return
187
- }
188
-
189
- // 能到这不return的证明都是非法移动
190
- this.$message.error('不合法的拖拽!')
191
- },
192
- // 删除
193
- handleDelete (targetType, originalKey) {
194
- const _this = this
195
- if (targetType === 'item') {
196
- this.$confirm({
197
- title: `确认删除此组件?`,
198
- content: `组件ID:${originalKey}`,
199
- onOk () {
200
- _this.$emit('deleteComponent', originalKey, 'component')
201
- },
202
- onCancel () {},
203
- })
204
- } else if (targetType === 'page') {
205
- const page = lowcodeUtils.getPageConfigById(originalKey, this.config)
206
- this.$confirm({
207
- title: `确认删除此页面?`,
208
- content: `所选页面:${page.title}[${lowcodeUtils.resolvePageType(page.type)}]`,
209
- onOk () {
210
- _this.$emit('deleteComponent', originalKey, 'page')
211
- },
212
- onCancel () {},
213
- })
214
- } else if (targetType === 'row') {
215
- this.$confirm({
216
- title: `确认删除此行?`,
217
- content: `所选行:${originalKey}`,
218
- onOk () {
219
- _this.$emit('deleteComponent', originalKey, 'row')
220
- },
221
- onCancel () {},
222
- })
223
- } else if (targetType === 'container_page') {
224
- this.$confirm({
225
- title: `确认删除此容器页面?`,
226
- content: `所选容器:${originalKey}`,
227
- onOk () {
228
- _this.$emit('deleteComponent', originalKey, 'container_page')
229
- },
230
- onCancel () {},
231
- })
232
- }
233
- },
234
- // 复制
235
- handleCopy (treeKey, targetType) {
236
- const originalKey = this.getOriginalKey(treeKey)
237
- // 获取复制对象
238
- let temp
239
- if (targetType === 'container_page') {
240
- temp = lowcodeUtils.getContainerPageOuterByContainerPageId(originalKey, this.config)
241
- } else {
242
- temp = lowcodeUtils.getConfig(originalKey, this.config)
243
- }
244
- // 复制
245
- let copy = JSON.parse(JSON.stringify(temp))
246
- if (targetType === 'page') {
247
- // 重新修改id和title
248
- copy.id = 'page_' + lowcodeUtils.nanoidWithoutSymbol(6)
249
- copy.title = copy.title + '_副本'
250
- // 复制页面自动粘贴
251
- this.$emit('pasteItem', originalKey, copy, 'page')
252
- } else {
253
- if (targetType === 'row') {
254
- // 将行内每个组件重新修改id
255
- const target = copy.body
256
- copy.id = 'undefine'
257
- target.forEach(item => {
258
- if (item.type === 'container_page') {
259
- item.id = 'container_' + lowcodeUtils.nanoidWithoutSymbol(6)
260
- item = lowcodeUtils.reRandomComponentId(item)
261
- } else {
262
- const prefix = item.id.split('_')[0]
263
- item.id = prefix + '_' + lowcodeUtils.nanoidWithoutSymbol(6)
264
- }
265
- })
266
- } else if (targetType === 'item') {
267
- // 重新修改id
268
- const prefix = copy.id.split('_')[0]
269
- copy.id = prefix + '_' + lowcodeUtils.nanoidWithoutSymbol(6)
270
- } else if (targetType === 'container_page') {
271
- // 重新修改id
272
- copy.id = 'container_' + lowcodeUtils.nanoidWithoutSymbol(6)
273
- copy = lowcodeUtils.reRandomComponentId(copy)
274
- }
275
- this.copyCache = {
276
- type: targetType,
277
- content: copy
278
- }
279
- this.$message.success('复制成功!')
280
- }
281
- },
282
- // 粘贴
283
- handlePaste (targetType, originalKey) {
284
- // 同级别内容不能粘贴到另一个中
285
- if (targetType === this.copyCache.type) {
286
- this.$message.error('该操作不合法!')
287
- return
288
- }
289
-
290
- // 行只能复制到容器页面和页面中
291
- if (this.copyCache.type === 'row') {
292
- if (targetType === 'page' || targetType === 'container_page') {
293
- this.$emit('pasteItem', originalKey, this.copyCache, 'page-row')
294
- return
295
- }
296
- }
297
-
298
- // 模块,容器页面只能复制到行
299
- if (this.copyCache.type === 'item' || this.copyCache.type === 'container_page') {
300
- if (targetType === 'row') {
301
- this.$emit('pasteItem', originalKey, this.copyCache, 'row-item')
302
- return
303
- }
304
- }
305
-
306
- // 其余操作均不合法
307
- this.$message.error('该操作不合法!')
308
- },
309
- // 重命名
310
- handleRename (targetType, originalKey) {
311
- const target = lowcodeUtils.getConfig(originalKey, this.config)
312
- this.renameId = target.id
313
- if (target.title) {
314
- this.pageNewName = target.title
315
- } else if (target.name) {
316
- this.pageNewName = target.name
317
- } else {
318
- this.pageNewName = target.id
319
- }
320
- this.showRenameModal = true
321
- },
322
- // 拆分
323
- handleSplit (originalKey) {
324
- const _this = this
325
- this.$confirm({
326
- title: `是否垂直拆分?`,
327
- onOk () {
328
- _this.$emit('split', originalKey, true)
329
- },
330
- onCancel () {
331
- _this.$emit('split', originalKey, false)
332
- },
333
- })
334
- },
335
- // 添加
336
- handleAdd (targetType, originalKey) {
337
- if (targetType === 'page' || targetType === 'container_page') {
338
- this.$emit('add', originalKey, 'row')
339
- } else if (targetType === 'row') {
340
- this.$emit('add', originalKey, 'container')
341
- }
342
- },
343
- // 树右键事件
344
- onContextMenuClick (treeKey, menuKey) {
345
- // 判断目标类型
346
- const targetType = this.determineLevel(treeKey)
347
- const originalKey = this.getOriginalKey(treeKey)
348
- // 点击右键菜单中删除的事件
349
- switch (menuKey) {
350
- case 'delete':
351
- this.handleDelete(targetType, originalKey)
352
- return
353
- case 'copy':
354
- this.handleCopy(treeKey, targetType)
355
- return
356
- case 'paste':
357
- this.handlePaste(targetType, originalKey)
358
- return
359
- case 'rename':
360
- this.handleRename(targetType, originalKey)
361
- return
362
- case 'split':
363
- this.handleSplit(originalKey)
364
- return
365
- case 'add':
366
- this.handleAdd(targetType, originalKey)
367
- }
368
- },
369
- // 处理架构树点击事件
370
- handleTreeSelect (value) {
371
- // 如果是反选
372
- if (value.length === 0) {
373
- return
374
- }
375
- this.selectedKeys = value
376
- const type = this.determineLevel(value[0])
377
- if (type === 'page') {
378
- this.$emit('treeOrganizationClick', null)
379
- }
380
- this.$emit('treeOrganizationClick', this.getOriginalKey(value[0]))
381
- },
382
- // 初始化树
383
- initTree (config, container = undefined) {
384
- const result = []
385
- // 从配置中,抽取组件,初始化成树的格式
386
- for (let i = 0; i < config.page.length; i++) {
387
- // push第一级页面容器
388
- const page = config.page[i]
389
- let title, icon, key
390
- if (page.title) {
391
- title = page.title + '(' + lowcodeUtils.resolvePageType(page.type) + ')'
392
- icon = 'file'
393
- key = 'page_' + page.id
394
- } else {
395
- title = '列容器'
396
- icon = 'pause'
397
- key = 'container_page_' + page.id
398
- }
399
- result.push({
400
- title: title,
401
- key: key,
402
- children: [],
403
- slots: {
404
- icon: icon,
405
- },
406
- })
407
- // 在页面容器中,push第二级行容器
408
- for (let j = 0; j < page.body.length; j++) {
409
- const row = page.body[j]
410
- result[i].children.push({
411
- title: '行容器' + (j + 1),
412
- key: 'row_' + page.id + '_' + (j + 1),
413
- children: [],
414
- slots: {
415
- icon: 'ordered-list',
416
- },
417
- })
418
- // 在行容器中,push第三级组件
419
- for (let k = 0; k < row.body.length; k++) {
420
- const item = row.body[k]
421
- let name
422
- if (item.name) {
423
- name = item.name
424
- } else {
425
- name = item.id
426
- }
427
- // 如果item进行了嵌套,递归调用
428
- if (item.type === 'container_page') {
429
- this.initTree(item, result[i].children[j])
430
- } else {
431
- // 如果是container则显示为列容器
432
- if (item.type === 'container') {
433
- name = '列容器'
434
- result[i].children[j].children.push({
435
- title: name,
436
- key: item.id,
437
- children: [],
438
- slots: {
439
- icon: 'pause',
440
- },
441
- })
442
- } else {
443
- result[i].children[j].children.push({
444
- title: name,
445
- key: item.id,
446
- children: [],
447
- slots: {
448
- icon: 'appstore',
449
- },
450
- })
451
- }
452
- }
453
- }
454
- }
455
- }
456
- if (!container) {
457
- this.treeData = result
458
- } else {
459
- container.children = container.children.concat(result)
460
- }
461
- },
462
- },
463
- mounted () {
464
- this.initTree(this.config)
465
- this.showTree = true
466
- },
467
- data () {
468
- return {
469
- // 树的数据
470
- treeData: [],
471
- // 控制树的渲染
472
- showTree: false,
473
- // 控制重命名弹框显隐
474
- showRenameModal: false,
475
- // 复制的缓存
476
- copyCache: undefined,
477
- // 重命名绑定变量
478
- pageNewName: undefined,
479
- // 重命名对象的id
480
- renameId: undefined,
481
- // 在树中已选中的key
482
- selectedKeys: []
483
- }
484
- },
485
- watch: {
486
- // 如果外侧指定了某个节点,让树选中该节点
487
- selectTreeNode: {
488
- handler (newVal) {
489
- if (newVal) {
490
- this.selectedKeys = [newVal]
491
- } else {
492
- this.selectedKeys = []
493
- }
494
- }
495
- }
496
- }
497
- }
498
- </script>
499
-
500
- <style scoped lang="less">
501
-
502
- </style>
1
+ <template>
2
+ <div>
3
+ <p v-if="config.page.length === 0"> 未选中任何工作空间 </p>
4
+ <a-tree
5
+ v-if="showTree"
6
+ defaultExpandAll
7
+ show-icon
8
+ @select="handleTreeSelect"
9
+ :selectedKeys="selectedKeys"
10
+ style="overflow: hidden"
11
+ :draggable="true"
12
+ @drop="treeDrop"
13
+ :tree-data="treeData">
14
+ <!-- 右键菜单 -->
15
+ <template #title="{ key: treeKey, title }">
16
+ <a-dropdown :trigger="['contextmenu']">
17
+ <span>{{ title }}</span>
18
+ <template #overlay>
19
+ <a-menu @click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey)">
20
+ <a-menu-item key="copy"><a-icon type="copy" />&nbsp;&nbsp;复制</a-menu-item>
21
+ <a-menu-item key="paste" :disabled="copyCache === undefined"><a-icon type="snippets" />&nbsp;&nbsp;粘贴</a-menu-item>
22
+ <a-menu-divider />
23
+ <a-menu-item key="split" :disabled="determineLevel(treeKey) !== 'item'"><a-icon type="fullscreen" />&nbsp;&nbsp;拆分</a-menu-item>
24
+ <a-menu-item key="add" :disabled="determineLevel(treeKey) === 'item'"><a-icon type="plus-square" />&nbsp;&nbsp;添加</a-menu-item>
25
+ <a-menu-item key="rename" :disabled="determineLevel(treeKey) !== 'item' && determineLevel(treeKey) !== 'page'"><a-icon type="italic" />&nbsp;&nbsp;重命名</a-menu-item>
26
+ <a-menu-divider />
27
+ <a-menu-item key="delete"><a-icon type="delete" />&nbsp;&nbsp;删除</a-menu-item>
28
+ </a-menu>
29
+ </template>
30
+ </a-dropdown>
31
+ </template>
32
+ <!-- 树中的图标 -->
33
+ <a-icon slot="file" type="file" />
34
+ <a-icon slot="appstore" type="appstore" />
35
+ <a-icon slot="pause" type="pause" />
36
+ <a-icon slot="ordered-list" type="ordered-list" />
37
+ </a-tree>
38
+ <!-- 页面容器重命名弹框 -->
39
+ <a-modal
40
+ title="页面容器重命名"
41
+ width="60%"
42
+ :z-index="1001"
43
+ :destroyOnClose="true"
44
+ @ok="handleRenameModalOk"
45
+ @cancel="() => { showRenameModal = false }"
46
+ :visible="showRenameModal">
47
+ <a-form :label-col="{ span: 7 }" :wrapper-col="{ span: 12 }">
48
+ <!-- 新名称 -->
49
+ <a-form-item label="新名称">
50
+ <a-input v-model="pageNewName"/>
51
+ </a-form-item>
52
+ </a-form>
53
+ </a-modal>
54
+ </div>
55
+ </template>
56
+
57
+ <script>
58
+ import * as lowcodeUtils from '@vue2-client/utils/lowcode/lowcodeUtils'
59
+ export default {
60
+ props: {
61
+ config: {
62
+ type: Object,
63
+ required: true,
64
+ },
65
+ // 可以由外侧控制哪个节点被选中
66
+ selectTreeNode: {
67
+ type: String,
68
+ default: undefined
69
+ }
70
+ },
71
+ methods: {
72
+ // 重命名弹框确认
73
+ handleRenameModalOk () {
74
+ this.$emit('rename', this.renameId, this.pageNewName)
75
+ this.renameId = undefined
76
+ this.showRenameModal = false
77
+ },
78
+ // 根据id返回类型
79
+ determineLevel (id) {
80
+ if (id.startsWith('page')) {
81
+ return 'page'
82
+ } else if (id.startsWith('container_page_')) {
83
+ return 'container_page'
84
+ } else if (id.startsWith('row')) {
85
+ return 'row'
86
+ } else {
87
+ return 'item'
88
+ }
89
+ },
90
+ // 将树中的key转换回原始ID
91
+ getOriginalKey (treeKey) {
92
+ if (treeKey.startsWith('page')) {
93
+ return treeKey.substring('page_'.length)
94
+ } else if (treeKey.startsWith('container_page_')) {
95
+ return treeKey.substring('container_page_'.length)
96
+ } else if (treeKey.startsWith('row')) {
97
+ const newRowId = treeKey.substring('row_'.length)
98
+ const lastIndex = newRowId.lastIndexOf('_')
99
+ const pre = newRowId.substring(0, lastIndex)
100
+ const index = newRowId.substring(lastIndex + 1)
101
+ const newIndex = Number(index) - 1
102
+ return pre + '_' + newIndex
103
+ } else {
104
+ return treeKey
105
+ }
106
+ },
107
+ // 根据ID,返回拖拽级别和类型,便于拖拽模式判断
108
+ determineDragLevel (id) {
109
+ if (id.startsWith('page')) {
110
+ return {
111
+ type: 'page',
112
+ level: 0
113
+ }
114
+ } else if (id.startsWith('container_page_')) {
115
+ return {
116
+ type: 'container_page',
117
+ level: 2
118
+ }
119
+ } else if (id.startsWith('row')) {
120
+ return {
121
+ type: 'row',
122
+ level: 1
123
+ }
124
+ } else {
125
+ return {
126
+ type: 'item',
127
+ level: 2
128
+ }
129
+ }
130
+ },
131
+ // 树拖拽事件
132
+ treeDrop (info) {
133
+ // 拖拽结束目标的id
134
+ const dropKey = info.node.eventKey
135
+ // 被拖拽的id
136
+ const dragKey = info.dragNode.eventKey
137
+ // 拖拽目标的位置
138
+ const dropPos = info.node.pos.split('-')
139
+
140
+ // 拖拽结束目标的类型
141
+ const dropLevel = this.determineDragLevel(dropKey)
142
+ // 被拖拽的类型
143
+ const dragLevel = this.determineDragLevel(dragKey)
144
+
145
+ // 拖拽对于目标的定位,-1表示之前,0表示插入,1表示之后
146
+ const dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1])
147
+
148
+ // 以下几种为非法拖拽
149
+ // 1. 平级移动但是目标是新增
150
+ // 2. 高一级移动但不是新增
151
+ // 3. 高级组件移动到低级
152
+ // 4. 相差2级移动
153
+ // 唯一特例,行可以插入容器页面,容器页面等于模块级别,但可以被行插入
154
+
155
+ // 只有三种情况可以拖拽
156
+ // 1.平级挪
157
+ // 2.高一级插
158
+ // 3.行插子页面
159
+ // 4.平级插入改为替换双方位置(特例)
160
+
161
+ // 1. 平级挪
162
+ if (dropLevel.level === dragLevel.level && dropPosition !== 0) {
163
+ const dragType = 'move'
164
+ this.$emit('componentMove', this.getOriginalKey(dragKey), this.getOriginalKey(dropKey), dragLevel, dropLevel, dropPosition, dragType)
165
+ return
166
+ }
167
+
168
+ // 2.高一级插
169
+ if (dropLevel.level === (dragLevel.level - 1) && dropPosition === 0) {
170
+ const dragType = 'higher'
171
+ this.$emit('componentMove', this.getOriginalKey(dragKey), this.getOriginalKey(dropKey), dragLevel, dropLevel, dropPosition, dragType)
172
+ return
173
+ }
174
+
175
+ // 3.行插子页面
176
+ if (dragLevel.type === 'row' && dropLevel.type === 'container_page' && dropPosition === 0) {
177
+ const dragType = 'rowToContainer'
178
+ this.$emit('componentMove', this.getOriginalKey(dragKey), this.getOriginalKey(dropKey), dragLevel, dropLevel, dropPosition, dragType)
179
+ return
180
+ }
181
+
182
+ // 4.平级插入改为替换双方位置(特例)
183
+ if (dropLevel.level === dragLevel.level && dropPosition === 0) {
184
+ const dragType = 'switch'
185
+ this.$emit('componentMove', this.getOriginalKey(dragKey), this.getOriginalKey(dropKey), dragLevel, dropLevel, dropPosition, dragType)
186
+ return
187
+ }
188
+
189
+ // 能到这不return的证明都是非法移动
190
+ this.$message.error('不合法的拖拽!')
191
+ },
192
+ // 删除
193
+ handleDelete (targetType, originalKey) {
194
+ const _this = this
195
+ if (targetType === 'item') {
196
+ this.$confirm({
197
+ title: `确认删除此组件?`,
198
+ content: `组件ID:${originalKey}`,
199
+ onOk () {
200
+ _this.$emit('deleteComponent', originalKey, 'component')
201
+ },
202
+ onCancel () {},
203
+ })
204
+ } else if (targetType === 'page') {
205
+ const page = lowcodeUtils.getPageConfigById(originalKey, this.config)
206
+ this.$confirm({
207
+ title: `确认删除此页面?`,
208
+ content: `所选页面:${page.title}[${lowcodeUtils.resolvePageType(page.type)}]`,
209
+ onOk () {
210
+ _this.$emit('deleteComponent', originalKey, 'page')
211
+ },
212
+ onCancel () {},
213
+ })
214
+ } else if (targetType === 'row') {
215
+ this.$confirm({
216
+ title: `确认删除此行?`,
217
+ content: `所选行:${originalKey}`,
218
+ onOk () {
219
+ _this.$emit('deleteComponent', originalKey, 'row')
220
+ },
221
+ onCancel () {},
222
+ })
223
+ } else if (targetType === 'container_page') {
224
+ this.$confirm({
225
+ title: `确认删除此容器页面?`,
226
+ content: `所选容器:${originalKey}`,
227
+ onOk () {
228
+ _this.$emit('deleteComponent', originalKey, 'container_page')
229
+ },
230
+ onCancel () {},
231
+ })
232
+ }
233
+ },
234
+ // 复制
235
+ handleCopy (treeKey, targetType) {
236
+ const originalKey = this.getOriginalKey(treeKey)
237
+ // 获取复制对象
238
+ let temp
239
+ if (targetType === 'container_page') {
240
+ temp = lowcodeUtils.getContainerPageOuterByContainerPageId(originalKey, this.config)
241
+ } else {
242
+ temp = lowcodeUtils.getConfig(originalKey, this.config)
243
+ }
244
+ // 复制
245
+ let copy = JSON.parse(JSON.stringify(temp))
246
+ if (targetType === 'page') {
247
+ // 重新修改id和title
248
+ copy.id = 'page_' + lowcodeUtils.nanoidWithoutSymbol(6)
249
+ copy.title = copy.title + '_副本'
250
+ // 复制页面自动粘贴
251
+ this.$emit('pasteItem', originalKey, copy, 'page')
252
+ } else {
253
+ if (targetType === 'row') {
254
+ // 将行内每个组件重新修改id
255
+ const target = copy.body
256
+ copy.id = 'undefine'
257
+ target.forEach(item => {
258
+ if (item.type === 'container_page') {
259
+ item.id = 'container_' + lowcodeUtils.nanoidWithoutSymbol(6)
260
+ item = lowcodeUtils.reRandomComponentId(item)
261
+ } else {
262
+ const prefix = item.id.split('_')[0]
263
+ item.id = prefix + '_' + lowcodeUtils.nanoidWithoutSymbol(6)
264
+ }
265
+ })
266
+ } else if (targetType === 'item') {
267
+ // 重新修改id
268
+ const prefix = copy.id.split('_')[0]
269
+ copy.id = prefix + '_' + lowcodeUtils.nanoidWithoutSymbol(6)
270
+ } else if (targetType === 'container_page') {
271
+ // 重新修改id
272
+ copy.id = 'container_' + lowcodeUtils.nanoidWithoutSymbol(6)
273
+ copy = lowcodeUtils.reRandomComponentId(copy)
274
+ }
275
+ this.copyCache = {
276
+ type: targetType,
277
+ content: copy
278
+ }
279
+ this.$message.success('复制成功!')
280
+ }
281
+ },
282
+ // 粘贴
283
+ handlePaste (targetType, originalKey) {
284
+ // 同级别内容不能粘贴到另一个中
285
+ if (targetType === this.copyCache.type) {
286
+ this.$message.error('该操作不合法!')
287
+ return
288
+ }
289
+
290
+ // 行只能复制到容器页面和页面中
291
+ if (this.copyCache.type === 'row') {
292
+ if (targetType === 'page' || targetType === 'container_page') {
293
+ this.$emit('pasteItem', originalKey, this.copyCache, 'page-row')
294
+ return
295
+ }
296
+ }
297
+
298
+ // 模块,容器页面只能复制到行
299
+ if (this.copyCache.type === 'item' || this.copyCache.type === 'container_page') {
300
+ if (targetType === 'row') {
301
+ this.$emit('pasteItem', originalKey, this.copyCache, 'row-item')
302
+ return
303
+ }
304
+ }
305
+
306
+ // 其余操作均不合法
307
+ this.$message.error('该操作不合法!')
308
+ },
309
+ // 重命名
310
+ handleRename (targetType, originalKey) {
311
+ const target = lowcodeUtils.getConfig(originalKey, this.config)
312
+ this.renameId = target.id
313
+ if (target.title) {
314
+ this.pageNewName = target.title
315
+ } else if (target.name) {
316
+ this.pageNewName = target.name
317
+ } else {
318
+ this.pageNewName = target.id
319
+ }
320
+ this.showRenameModal = true
321
+ },
322
+ // 拆分
323
+ handleSplit (originalKey) {
324
+ const _this = this
325
+ this.$confirm({
326
+ title: `是否垂直拆分?`,
327
+ onOk () {
328
+ _this.$emit('split', originalKey, true)
329
+ },
330
+ onCancel () {
331
+ _this.$emit('split', originalKey, false)
332
+ },
333
+ })
334
+ },
335
+ // 添加
336
+ handleAdd (targetType, originalKey) {
337
+ if (targetType === 'page' || targetType === 'container_page') {
338
+ this.$emit('add', originalKey, 'row')
339
+ } else if (targetType === 'row') {
340
+ this.$emit('add', originalKey, 'container')
341
+ }
342
+ },
343
+ // 树右键事件
344
+ onContextMenuClick (treeKey, menuKey) {
345
+ // 判断目标类型
346
+ const targetType = this.determineLevel(treeKey)
347
+ const originalKey = this.getOriginalKey(treeKey)
348
+ // 点击右键菜单中删除的事件
349
+ switch (menuKey) {
350
+ case 'delete':
351
+ this.handleDelete(targetType, originalKey)
352
+ return
353
+ case 'copy':
354
+ this.handleCopy(treeKey, targetType)
355
+ return
356
+ case 'paste':
357
+ this.handlePaste(targetType, originalKey)
358
+ return
359
+ case 'rename':
360
+ this.handleRename(targetType, originalKey)
361
+ return
362
+ case 'split':
363
+ this.handleSplit(originalKey)
364
+ return
365
+ case 'add':
366
+ this.handleAdd(targetType, originalKey)
367
+ }
368
+ },
369
+ // 处理架构树点击事件
370
+ handleTreeSelect (value) {
371
+ // 如果是反选
372
+ if (value.length === 0) {
373
+ return
374
+ }
375
+ this.selectedKeys = value
376
+ const type = this.determineLevel(value[0])
377
+ if (type === 'page') {
378
+ this.$emit('treeOrganizationClick', null)
379
+ }
380
+ this.$emit('treeOrganizationClick', this.getOriginalKey(value[0]))
381
+ },
382
+ // 初始化树
383
+ initTree (config, container = undefined) {
384
+ const result = []
385
+ // 从配置中,抽取组件,初始化成树的格式
386
+ for (let i = 0; i < config.page.length; i++) {
387
+ // push第一级页面容器
388
+ const page = config.page[i]
389
+ let title, icon, key
390
+ if (page.title) {
391
+ title = page.title + '(' + lowcodeUtils.resolvePageType(page.type) + ')'
392
+ icon = 'file'
393
+ key = 'page_' + page.id
394
+ } else {
395
+ title = '列容器'
396
+ icon = 'pause'
397
+ key = 'container_page_' + page.id
398
+ }
399
+ result.push({
400
+ title: title,
401
+ key: key,
402
+ children: [],
403
+ slots: {
404
+ icon: icon,
405
+ },
406
+ })
407
+ // 在页面容器中,push第二级行容器
408
+ for (let j = 0; j < page.body.length; j++) {
409
+ const row = page.body[j]
410
+ result[i].children.push({
411
+ title: '行容器' + (j + 1),
412
+ key: 'row_' + page.id + '_' + (j + 1),
413
+ children: [],
414
+ slots: {
415
+ icon: 'ordered-list',
416
+ },
417
+ })
418
+ // 在行容器中,push第三级组件
419
+ for (let k = 0; k < row.body.length; k++) {
420
+ const item = row.body[k]
421
+ let name
422
+ if (item.name) {
423
+ name = item.name
424
+ } else {
425
+ name = item.id
426
+ }
427
+ // 如果item进行了嵌套,递归调用
428
+ if (item.type === 'container_page') {
429
+ this.initTree(item, result[i].children[j])
430
+ } else {
431
+ // 如果是container则显示为列容器
432
+ if (item.type === 'container') {
433
+ name = '列容器'
434
+ result[i].children[j].children.push({
435
+ title: name,
436
+ key: item.id,
437
+ children: [],
438
+ slots: {
439
+ icon: 'pause',
440
+ },
441
+ })
442
+ } else {
443
+ result[i].children[j].children.push({
444
+ title: name,
445
+ key: item.id,
446
+ children: [],
447
+ slots: {
448
+ icon: 'appstore',
449
+ },
450
+ })
451
+ }
452
+ }
453
+ }
454
+ }
455
+ }
456
+ if (!container) {
457
+ this.treeData = result
458
+ } else {
459
+ container.children = container.children.concat(result)
460
+ }
461
+ },
462
+ },
463
+ mounted () {
464
+ this.initTree(this.config)
465
+ this.showTree = true
466
+ },
467
+ data () {
468
+ return {
469
+ // 树的数据
470
+ treeData: [],
471
+ // 控制树的渲染
472
+ showTree: false,
473
+ // 控制重命名弹框显隐
474
+ showRenameModal: false,
475
+ // 复制的缓存
476
+ copyCache: undefined,
477
+ // 重命名绑定变量
478
+ pageNewName: undefined,
479
+ // 重命名对象的id
480
+ renameId: undefined,
481
+ // 在树中已选中的key
482
+ selectedKeys: []
483
+ }
484
+ },
485
+ watch: {
486
+ // 如果外侧指定了某个节点,让树选中该节点
487
+ selectTreeNode: {
488
+ handler (newVal) {
489
+ if (newVal) {
490
+ this.selectedKeys = [newVal]
491
+ } else {
492
+ this.selectedKeys = []
493
+ }
494
+ }
495
+ }
496
+ }
497
+ }
498
+ </script>
499
+
500
+ <style scoped lang="less">
501
+
502
+ </style>