vue2-client 1.14.64 → 1.14.66

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 (351) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.gaslink +19 -19
  3. package/.env.his +19 -19
  4. package/.env.liuli +19 -19
  5. package/.env.scada +19 -19
  6. package/.eslintrc.js +90 -90
  7. package/CHANGELOG.md +824 -824
  8. package/Components.md +60 -60
  9. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +45 -45
  10. package/docs/LowCode/lowcode.md +155 -155
  11. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  12. package/docs/index.md +30 -30
  13. package/index.js +31 -31
  14. package/jest-transform-stub.js +8 -8
  15. package/jest.setup.js +7 -7
  16. package/jsconfig.json +19 -19
  17. package/package.json +1 -1
  18. package/public/his/editor/editor.html +51 -51
  19. package/public/his/editor/mock/bind_data.html +779 -779
  20. package/public/his/editor/mock/data_table.html +40 -40
  21. package/public/his/editor/mock/sign.html +75 -75
  22. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  23. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  24. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  25. package/public/his/editor/vender/date97/calendar.js +4 -4
  26. package/public/his/editor/vender/date97/lang/en.js +13 -13
  27. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  28. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  29. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  30. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  31. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  32. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  33. package/public/his/editor/vender/diff.js +1627 -1627
  34. package/public/his/editor/vender/editor.js +1 -1
  35. package/public/his/editor/vender/fabric.js +31187 -31187
  36. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  37. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  38. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  39. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  40. package/public/his/editor/vender/mui/mui.min.css +4 -4
  41. package/public/his/editor/vender/mui/mui.min.js +5 -5
  42. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  43. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  44. package/public/his/editor/vender/qrcode.js +7 -7
  45. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  46. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  47. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  48. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  49. package/public/his/editor/vender/validator.js +5094 -5094
  50. package/public/his/editor/vender/weui/weui.css +5659 -5659
  51. package/public/his/editor/vender/weui/weui.min.css +4 -4
  52. package/public/his/editor/vender/weui/weui.min.js +11 -11
  53. package/public/index.html +27 -27
  54. package/src/ReportView.js +19 -19
  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/AMisRender/index.js +3 -3
  61. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  62. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  63. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  64. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  65. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  66. package/src/base-client/components/common/AmapMarker/index.js +3 -3
  67. package/src/base-client/components/common/CitySelect/index.js +3 -3
  68. package/src/base-client/components/common/CitySelect/index.md +109 -109
  69. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  70. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  71. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  72. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  73. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  74. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  75. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  76. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  77. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  78. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  79. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  80. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  81. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  82. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  83. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  84. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  85. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  86. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  88. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  89. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  90. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  96. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  97. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  98. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  99. package/src/base-client/components/common/Recording/index.js +3 -3
  100. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  101. package/src/base-client/components/common/Tree/index.js +2 -2
  102. package/src/base-client/components/common/Upload/index.js +3 -3
  103. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  104. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  105. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  106. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  107. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  108. package/src/base-client/components/common/XAddReport/index.js +3 -3
  109. package/src/base-client/components/common/XAddReport/index.md +56 -56
  110. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  111. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  112. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  113. package/src/base-client/components/common/XButtons/index.js +3 -3
  114. package/src/base-client/components/common/XButtons/index.md +61 -61
  115. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  116. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  117. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  118. package/src/base-client/components/common/XDataCard/index.js +3 -3
  119. package/src/base-client/components/common/XDataCard/index.md +1 -1
  120. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  121. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  122. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  123. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  124. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  125. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  126. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  127. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  128. package/src/base-client/components/common/XForm/index.md +178 -178
  129. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  130. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  131. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  132. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  133. package/src/base-client/components/common/XFormTable/index.md +92 -92
  134. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  135. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  136. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  137. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  138. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  139. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  140. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  141. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  142. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  143. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  144. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  145. package/src/base-client/components/common/XPrint/index.vue +97 -97
  146. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  147. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  148. package/src/base-client/components/common/XReport/index.js +3 -3
  149. package/src/base-client/components/common/XReport/index.md +44 -44
  150. package/src/base-client/components/common/XReport/print.js +186 -186
  151. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  152. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  153. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  154. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  155. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  156. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  157. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  158. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  159. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  160. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  161. package/src/base-client/components/common/XStepView/index.js +3 -3
  162. package/src/base-client/components/common/XStepView/index.md +31 -31
  163. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  164. package/src/base-client/components/common/XTab/index.js +3 -3
  165. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  166. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  167. package/src/base-client/components/common/XTable/index.md +255 -255
  168. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  169. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  170. package/src/base-client/components/common/XTree/index.js +3 -3
  171. package/src/base-client/components/common/XTree/index.md +36 -36
  172. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  173. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  174. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  175. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  176. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  177. package/src/base-client/components/his/threeTestOrders/dome.vue +53 -2
  178. package/src/base-client/components/his/threeTestOrders/index.md +0 -0
  179. package/src/base-client/components/his/threeTestOrders/textBox.vue +6 -12
  180. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +55 -19
  181. package/src/base-client/components/index.js +51 -51
  182. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  183. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  184. package/src/base-client/components/layout/XPageView/index.js +3 -3
  185. package/src/base-client/components/layout/XPageView/index.md +38 -38
  186. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  187. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  188. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  189. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  190. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  191. package/src/base-client/plugins/Config.js +19 -19
  192. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  193. package/src/base-client/plugins/Recording.js +258 -258
  194. package/src/base-client/plugins/index.js +23 -23
  195. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  196. package/src/components/Charts/Bar.vue +62 -62
  197. package/src/components/Charts/ChartCard.vue +134 -134
  198. package/src/components/Charts/Liquid.vue +67 -67
  199. package/src/components/Charts/MiniArea.vue +39 -39
  200. package/src/components/Charts/MiniBar.vue +39 -39
  201. package/src/components/Charts/MiniProgress.vue +75 -75
  202. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  203. package/src/components/Charts/Radar.vue +68 -68
  204. package/src/components/Charts/RankList.vue +77 -77
  205. package/src/components/Charts/TagCloud.vue +113 -113
  206. package/src/components/Charts/TransferBar.vue +64 -64
  207. package/src/components/Charts/Trend.vue +82 -82
  208. package/src/components/Charts/chart.less +12 -12
  209. package/src/components/Charts/smooth.area.less +13 -13
  210. package/src/components/CodeMirror/inedx.vue +118 -118
  211. package/src/components/CodeMirror/setting.js +40 -40
  212. package/src/components/HeightScanner/index.vue +571 -571
  213. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  214. package/src/components/NumberInfo/index.js +3 -3
  215. package/src/components/NumberInfo/index.less +54 -54
  216. package/src/components/NumberInfo/index.md +43 -43
  217. package/src/components/card/ChartCard.vue +79 -79
  218. package/src/components/chart/Bar.vue +60 -60
  219. package/src/components/chart/MiniArea.vue +67 -67
  220. package/src/components/chart/MiniBar.vue +59 -59
  221. package/src/components/chart/MiniProgress.vue +57 -57
  222. package/src/components/chart/Radar.vue +80 -80
  223. package/src/components/chart/RankingList.vue +60 -60
  224. package/src/components/chart/Trend.vue +79 -79
  225. package/src/components/chart/index.less +9 -9
  226. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  227. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  228. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  229. package/src/components/checkbox/index.js +9 -9
  230. package/src/components/exception/ExceptionPage.vue +70 -70
  231. package/src/components/g2Charts/constants.js +202 -202
  232. package/src/components/g2Charts/demo.vue +808 -808
  233. package/src/components/g2Charts/designer.vue +228 -228
  234. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  235. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  236. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  237. package/src/components/g2Charts/index.vue +397 -397
  238. package/src/components/index.js +36 -36
  239. package/src/components/input/IInput.vue +66 -66
  240. package/src/components/menu/SideMenu.vue +75 -75
  241. package/src/components/menu/menu.js +273 -273
  242. package/src/components/setting/Setting.vue +234 -234
  243. package/src/components/tool/AStepItem.vue +60 -60
  244. package/src/config/CreateQueryConfig.js +325 -325
  245. package/src/config/default/antd.config.js +89 -89
  246. package/src/config/default/setting.config.js +55 -55
  247. package/src/font-style/font.css +4 -4
  248. package/src/layouts/CommonLayout.vue +56 -56
  249. package/src/layouts/PageLayout.vue +151 -151
  250. package/src/layouts/SinglePageView.vue +136 -136
  251. package/src/layouts/header/AdminHeader.vue +132 -132
  252. package/src/layouts/header/HeaderNotice.vue +177 -177
  253. package/src/layouts/header/InstitutionDetail.vue +181 -181
  254. package/src/layouts/tabs/TabsHead.vue +189 -189
  255. package/src/layouts/tabs/TabsView.vue +389 -389
  256. package/src/lib.js +1 -1
  257. package/src/main.js +34 -34
  258. package/src/mock/extend/index.js +84 -84
  259. package/src/mock/goods/index.js +108 -108
  260. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  261. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  262. package/src/pages/DefaultExample/index.vue +77 -77
  263. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  264. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  265. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  266. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  267. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  268. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  269. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  270. package/src/pages/DynamicStatistics/index.vue +282 -282
  271. package/src/pages/Example/childIndex.vue +15 -15
  272. package/src/pages/Example/index.vue +30 -30
  273. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  274. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  275. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  276. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  277. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  278. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  279. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  280. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  281. package/src/pages/Recording/index.vue +77 -77
  282. package/src/pages/ServiceReview/index.vue +284 -284
  283. package/src/pages/SubExample/index.vue +26 -26
  284. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +79 -36
  285. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  286. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  287. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +5 -4
  288. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  289. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  290. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  291. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  292. package/src/pages/XPageViewExample/index.vue +38 -38
  293. package/src/pages/XReportView/index.vue +64 -64
  294. package/src/pages/XTreeOneProExample/index.vue +67 -67
  295. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  296. package/src/pages/login/Login.vue +378 -378
  297. package/src/pages/login/LoginV3.vue +389 -389
  298. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  299. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  300. package/src/pages/report/ReportTable.js +124 -124
  301. package/src/pages/resourceManage/orgListManage.vue +98 -98
  302. package/src/pages/system/dictionary/index.vue +44 -44
  303. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  304. package/src/pages/system/monitor/operLog/index.vue +37 -37
  305. package/src/pages/system/settings/modifyPassword.vue +117 -117
  306. package/src/pages/system/ticket/index.vue +480 -480
  307. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  308. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  309. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  310. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  311. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  312. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  313. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  314. package/src/plugins/EventLogPlugin.js +33 -33
  315. package/src/plugins/FindParentsData.js +17 -17
  316. package/src/router/async/config.async.js +35 -35
  317. package/src/router/index.js +27 -27
  318. package/src/router.js +19 -19
  319. package/src/services/DataModel.js +30 -30
  320. package/src/services/LodopFuncs.js +137 -137
  321. package/src/services/api/TicketDetailsViewApi.js +46 -46
  322. package/src/services/api/cas.js +79 -79
  323. package/src/services/api/common.js +346 -346
  324. package/src/services/api/entity.js +18 -18
  325. package/src/services/api/index.js +17 -17
  326. package/src/services/api/workFlow.js +61 -61
  327. package/src/store/modules/account.js +115 -115
  328. package/src/store/modules/index.js +5 -5
  329. package/src/store/modules/lowCode.js +33 -33
  330. package/src/store/modules/setting.js +119 -119
  331. package/src/theme/default/style.less +58 -58
  332. package/src/theme/global.less +159 -159
  333. package/src/utils/authority-utils.js +85 -85
  334. package/src/utils/errorCode.js +6 -6
  335. package/src/utils/formatter.js +74 -74
  336. package/src/utils/htmlToPDF.js +108 -108
  337. package/src/utils/htmlToPDFApi.js +5 -5
  338. package/src/utils/login.js +188 -188
  339. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  340. package/src/utils/lowcode/lowcodeLog.js +29 -29
  341. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  342. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  343. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  344. package/src/utils/map-utils.js +47 -47
  345. package/src/utils/reg.js +95 -95
  346. package/src/utils/runEvalFunction.js +14 -14
  347. package/src/utils/theme-color-replacer-extend.js +92 -92
  348. package/src/utils/util.js +329 -329
  349. package/src/utils/waterMark.js +31 -31
  350. package/vue.config.js +2 -2
  351. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,398 +1,398 @@
1
- <template>
2
- <!-- 自定义事件弹框 -->
3
- <a-modal
4
- title="事件编辑器"
5
- width="60%"
6
- :z-index="1001"
7
- :destroyOnClose="true"
8
- @ok="handleEventEditorOk"
9
- @cancel="handleEventEditorCancel"
10
- v-if="showEventEditor"
11
- :visible="showEventEditor">
12
- <a-form :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }" v-if="showForm">
13
- <!-- 事件触发类型 -->
14
- <a-form-item label="事件触发类型">
15
- <a-select @change="handleEventEditorTypeChange" :default-value="eventEditorContent.emitType">
16
- <a-select-option
17
- v-for="(eventType, eventTypeIndex) in editorPropertiesConfig.selfEvent"
18
- :key="eventTypeIndex"
19
- :value="eventType">
20
- {{ eventType }}
21
- </a-select-option>
22
- <a-select-option value="customEmitType">
23
- 自定义触发类型
24
- </a-select-option>
25
- <a-select-option value="lifeCycle">
26
- 生命周期函数
27
- </a-select-option>
28
- </a-select>
29
- </a-form-item>
30
- <!-- 自定义事件触发类型 -->
31
- <a-form-item label="自定义事件触发名" v-if="eventEditorContent.emitType === 'customEmitType'">
32
- <a-input v-model="eventEditorContent.customEmitType"/>
33
- </a-form-item>
34
- <!-- 事件类型 -->
35
- <a-form-item label="事件类型" v-if="eventEditorContent.emitType && eventEditorContent.emitType !== 'lifeCycle'">
36
- <a-select @change="handleEventEditorEventTypeChange" :default-value="eventEditorContent.eventType">
37
- <a-select-option value="runFunction">
38
- 调用组件方法
39
- </a-select-option>
40
- <a-select-option value="changeProps">
41
- 修改组件的Props
42
- </a-select-option>
43
- <a-select-option value="runLogic">
44
- 发送后端请求
45
- </a-select-option>
46
- <a-select-option value="log">
47
- 调试日志
48
- </a-select-option>
49
- <a-select-option value="showModal" v-if="this.config.page.filter(page => page.type === 'modal').length > 0">
50
- 修改弹框可见
51
- </a-select-option>
52
- <a-select-option value="showDraw" v-if="this.config.page.filter(page => page.type === 'draw').length > 0">
53
- 修改抽屉可见
54
- </a-select-option>
55
- <a-select-option value="customJSFunction" v-if="eventEditorContent.emitType !== 'lifeCycle'">
56
- 自定义JS
57
- </a-select-option>
58
- </a-select>
59
- </a-form-item>
60
- <!-- 生命周期函数 -->
61
- <a-form-item label="生命周期名" v-if="eventEditorContent.emitType === 'lifeCycle'">
62
- <a-select @change="handleEventEditorLifeCycleChange" :default-value="eventEditorContent.lifeCycle">
63
- <a-select-option value="created">
64
- created
65
- </a-select-option>
66
- <a-select-option value="beforeMount">
67
- beforeMount
68
- </a-select-option>
69
- <a-select-option value="mounted">
70
- mounted
71
- </a-select-option>
72
- <a-select-option value="beforeUpdate">
73
- beforeUpdate
74
- </a-select-option>
75
- <a-select-option value="updated">
76
- updated
77
- </a-select-option>
78
- <a-select-option value="beforeDestroy">
79
- beforeDestroy
80
- </a-select-option>
81
- <a-select-option value="destroyed">
82
- destroyed
83
- </a-select-option>
84
- </a-select>
85
- </a-form-item>
86
- <!-- 修改弹框可见 or 修改抽屉可见 -->
87
- <a-form-item label="修改可见" v-if="eventEditorContent.eventType === 'showModal' || eventEditorContent.eventType === 'showDraw'">
88
- <a-radio-group v-model="eventEditorContent.visible" button-style="solid">
89
- <a-radio-button value="open">
90
- 显示
91
- </a-radio-button>
92
- <a-radio-button value="close">
93
- 隐藏
94
- </a-radio-button>
95
- </a-radio-group>
96
- </a-form-item>
97
- <!-- 弹框容器ID -->
98
- <a-form-item label="弹框容器ID" v-if="eventEditorContent.eventType === 'showModal'">
99
- <a-select v-model="eventEditorContent.containerId">
100
- <a-select-option
101
- v-for="(modal) in config.page.filter(page => page.type === 'modal')"
102
- :key="modal.id"
103
- :value="modal.id">
104
- 弹框_{{ modal.id }}
105
- </a-select-option>
106
- </a-select>
107
- </a-form-item>
108
- <!-- 抽屉容器ID -->
109
- <a-form-item label="抽屉容器ID" v-if="eventEditorContent.eventType === 'showDraw'">
110
- <a-select v-model="eventEditorContent.containerId">
111
- <a-select-option
112
- v-for="(draw) in config.page.filter(page => page.type === 'draw')"
113
- :key="draw.id"
114
- :value="draw.id">
115
- 抽屉_{{ draw.id }}
116
- </a-select-option>
117
- </a-select>
118
- </a-form-item>
119
- <!-- Logic名 -->
120
- <a-form-item label="后端Api" v-if="eventEditorContent.eventType === 'runLogic'">
121
- <a-input v-model="eventEditorContent.logicName"/>
122
- </a-form-item>
123
- <!-- 自定义Logic参数 -->
124
- <a-form-item label="自定义Logic参数" v-if="eventEditorContent.eventType === 'runLogic'">
125
- <a-button type="primary" @click="openLogicParamJSEditor">
126
- 打开编辑器
127
- </a-button>
128
- </a-form-item>
129
- <!-- 自定义Logic回调 -->
130
- <a-form-item label="自定义Logic回调" v-if="eventEditorContent.eventType === 'runLogic'" >
131
- <a-button type="primary" @click="openLogicCallbackEditor">
132
- 打开编辑器
133
- </a-button>
134
- </a-form-item>
135
- <!-- 修改组件的值 才会显示的其余参数 -->
136
- <template v-if="eventEditorContent.eventType === 'runFunction' || eventEditorContent.eventType === 'changeProps' || eventEditorContent.eventType === 'customJSFunction'">
137
- <!-- 目标组件 -->
138
- <a-form-item label="目标组件">
139
- <a-select @change="handleEventEditorTargetChange" :default-value="eventEditorContent.target">
140
- <a-select-option
141
- v-for="(targetId, targetIndex) in getAllRenderedComponents()"
142
- :key="targetIndex"
143
- :value="targetId">
144
- {{ targetId }}
145
- </a-select-option>
146
- </a-select>
147
- </a-form-item>
148
- <!-- 目标组件执行事件 -->
149
- <a-form-item label="目标组件执行事件" v-if="eventEditorContent.eventType === 'runFunction' && eventEditorContent.target !== undefined">
150
- <a-select @change="handleEventEditorTargetEventTypeChange" :default-value="eventEditorContent.eventName">
151
- <a-select-option :value="eventType.name" v-for="(eventType,eventTypeIndex) in targetComponentMethods" :key="'eventType_' + eventTypeIndex">
152
- {{ eventType.str }}
153
- </a-select-option>
154
- </a-select>
155
- <p v-if="targetComponentEventDesc !== undefined">{{ targetComponentEventDesc }}</p>
156
- </a-form-item>
157
- <!-- 目标组件修改值对应的key -->
158
- <a-form-item label="对应的key" v-if="eventEditorContent.target !== undefined && eventEditorContent.eventType === 'changeProps'">
159
- <a-input v-model="eventEditorContent.targetKey"/>
160
- </a-form-item>
161
- </template>
162
- <!-- 自定义执行方法的参数 -->
163
- <a-form-item label="自定义执行方法参数" v-if="eventEditorContent.eventType === 'runFunction'">
164
- <a-button type="primary" @click="openRunFunctionParamEditor">
165
- 打开编辑器
166
- </a-button>
167
- </a-form-item>
168
- <!-- 自定义JS方法 -->
169
- <a-form-item label="自定义JS方法" v-if="eventEditorContent.emitType !== 'lifeCycle' && eventEditorContent.eventType === 'customJSFunction'">
170
- <a-button type="primary" @click="openEventJSEditor">打开编辑器</a-button>
171
- </a-form-item>
172
- <!-- 自定义钩子函数 -->
173
- <a-form-item label="自定义生命周期函数" v-if="eventEditorContent.emitType === 'lifeCycle'">
174
- <a-button type="primary" @click="openEventLifeCycleJSEditor">打开编辑器</a-button>
175
- </a-form-item>
176
- </a-form>
177
- </a-modal>
178
- </template>
179
-
180
- <script>
181
- import * as lowcodeUtils from '@vue2-client/utils/lowcode/lowcodeUtils'
182
-
183
- // 函数编辑器显示的模板
184
- const JSEventFunctionTemplate = 'function(eventType, data, targetKey, sourceVM, targetVM) {\n \n return {\n "eventType": eventType,\n "data": data,\n "targetKey": targetKey\n }\n}'
185
- const LogicParamFunctionTemplate = 'function(componentData, data) {\n \n return {\n \n }\n}'
186
- const LogicCallBackFunctionTemplate = 'function(componentsMap, responseData) {\n \n}'
187
- const LifeCycleFunctionTemplate = 'function(vm) {\n \n}'
188
- const RunFunctionParamTemplate = 'function(vm, data) {\n\n return [\n\n ]\n}'
189
-
190
- export default {
191
- name: 'LowCodeEventEditorModal',
192
- props: {
193
- // 用于保存右侧编辑组件的属性
194
- // eslint-disable-next-line vue/require-default-prop
195
- editorPropertiesConfig: {
196
- type: Object,
197
- require: true
198
- },
199
- // 用于事件编辑的回显,在点击事件编辑按钮后,会将此变量赋值
200
- eventEditorCurrent: {
201
- type: Object,
202
- default: undefined
203
- }
204
- },
205
- inject: [
206
- 'componentsMap'
207
- ],
208
- data () {
209
- return {
210
- // 目标组件暴露出的事件
211
- targetComponentMethods: [],
212
- // 目标组件已选择的事件描述
213
- targetComponentEventDesc: undefined,
214
- // 控制事件编辑器弹框显隐
215
- showEventEditor: false,
216
- // 控制表单更新
217
- showForm: true
218
- }
219
- },
220
- methods: {
221
- changeVisible () {
222
- this.showEventEditor = !this.showEventEditor
223
- },
224
- changeOuterValue (key, value) {
225
- this.$emit('changeOuterValue', key, value)
226
- },
227
- // 事件编辑器点击完成
228
- handleEventEditorOk () {
229
- let emitTypeKey = this.eventEditorContent.emitType
230
- // 是否是自定义事件触发
231
- if (this.eventEditorContent.customEmitType) {
232
- emitTypeKey = this.eventEditorContent.customEmitType
233
- }
234
- // 如果当前是回显事件
235
- if (this.eventEditorCurrent) {
236
- const targetConfig = lowcodeUtils.getComponentConfig(this.editorPropertiesConfig.id, this.config.page)
237
- targetConfig.onEvent[this.eventEditorCurrent.type][this.eventEditorCurrent.index] = { ...this.eventEditorContent }
238
- } else {
239
- // 当前是新增事件
240
- const target = lowcodeUtils.getComponentConfig(this.editorPropertiesConfig.id, this.config.page)
241
- // 如果没有onEvent属性则初始化
242
- if (!target.onEvent) {
243
- target.onEvent = {}
244
- }
245
- // 如果当前触发类型没有初始化,则初始化
246
- if (!target.onEvent[emitTypeKey]) {
247
- target.onEvent[emitTypeKey] = []
248
- }
249
- // 将缓存的事件属性赋值
250
- target.onEvent[emitTypeKey].push({
251
- ...this.eventEditorContent
252
- })
253
- }
254
- this.targetComponentMethods = []
255
- this.targetComponentEventDesc = undefined
256
- this.changeVisible()
257
- this.$store.commit('setEventEditorContent', {})
258
- this.$store.commit('setConfig', this.config)
259
- this.changeOuterValue('eventEditorCurrent', undefined)
260
- this.$emit('refresh', 'eventEditor')
261
- },
262
- // 关闭事件编辑器弹框
263
- handleEventEditorCancel () {
264
- this.targetComponentMethods = []
265
- this.targetComponentEventDesc = undefined
266
- this.changeVisible()
267
- this.$store.commit('setEventEditorContent', {})
268
- this.changeOuterValue('eventEditorCurrent', undefined)
269
- },
270
- // 事件编辑器中,触发类型改变
271
- handleEventEditorTypeChange (type) {
272
- this.$store.commit('setEventEditorContent', {})
273
- this.eventEditorContent.emitType = type
274
- this.refreshForm()
275
- },
276
- // 刷新表单
277
- refreshForm () {
278
- this.showForm = false
279
- this.$nextTick(() => {
280
- this.showForm = true
281
- })
282
- },
283
- // 事件编辑器中,目标组件改变
284
- handleEventEditorTargetChange (target) {
285
- this.targetComponentMethods = []
286
- this.eventEditorContent.target = target
287
- // 将目标组件暴露的方法,填入单选框
288
- const targetType = target.split('_')[0]
289
- const editorConfig = lowcodeUtils.getEditorConfigByType(targetType)
290
- if (editorConfig.selfMethods) {
291
- editorConfig.selfMethods.forEach(eachMethod => {
292
- // str用于下拉框中显示,包含函数名和形参
293
- const methodStr = eachMethod.name + '(' + eachMethod.params + ')'
294
- this.targetComponentMethods.push({
295
- str: methodStr,
296
- desc: eachMethod.desc,
297
- name: eachMethod.name
298
- })
299
- })
300
- }
301
- this.$forceUpdate()
302
- },
303
- handleEventEditorLifeCycleChange (lifeCycleName) {
304
- this.eventEditorContent.lifeCycle = lifeCycleName
305
- },
306
- // 事件编辑器中,事件类型改变
307
- handleEventEditorEventTypeChange (type) {
308
- const temp = {
309
- emitType: this.eventEditorContent.emitType
310
- }
311
- temp.eventType = type
312
- if (this.eventEditorContent.customEmitType) {
313
- temp.customEmitType = this.eventEditorContent.customEmitType
314
- }
315
- this.$store.commit('setEventEditorContent', temp)
316
- this.refreshForm()
317
- },
318
- // 事件编辑器中,目标组件执行事件类型改变
319
- handleEventEditorTargetEventTypeChange (type) {
320
- this.targetComponentMethods.forEach(eachMethod => {
321
- if (eachMethod.name === type) {
322
- this.targetComponentEventDesc = eachMethod.desc
323
- }
324
- })
325
- this.eventEditorContent.eventName = type
326
- this.$forceUpdate()
327
- },
328
- // 打开执行方法参数编辑弹框
329
- openRunFunctionParamEditor () {
330
- if (!this.eventEditorContent.runFunctionParam) {
331
- this.eventEditorContent.runFunctionParam = RunFunctionParamTemplate
332
- }
333
- this.$store.commit('setEventEditorContent', this.eventEditorContent)
334
- this.$emit('openModal', 'functionParam')
335
- },
336
- // 打开logic回调编辑弹框
337
- openLogicCallbackEditor () {
338
- if (!this.eventEditorContent.logicCallBackFunction) {
339
- this.eventEditorContent.logicCallBackFunction = LogicCallBackFunctionTemplate
340
- }
341
- this.$store.commit('setEventEditorContent', this.eventEditorContent)
342
- this.$emit('openModal', 'logicCallBack')
343
- },
344
- // 打开logic参数JS编辑器弹框
345
- openLogicParamJSEditor () {
346
- if (!this.eventEditorContent.logicParamJSFunction) {
347
- this.eventEditorContent.logicParamJSFunction = LogicParamFunctionTemplate
348
- }
349
- this.$store.commit('setEventEditorContent', this.eventEditorContent)
350
- this.$emit('openModal', 'logicParam')
351
- },
352
- // 打开JS函数编辑器
353
- openEventJSEditor () {
354
- if (!this.eventEditorContent.JSFunction) {
355
- this.eventEditorContent.JSFunction = JSEventFunctionTemplate
356
- }
357
- this.$store.commit('setEventEditorContent', this.eventEditorContent)
358
- this.$emit('openModal', 'customJS')
359
- },
360
- // 打开钩子函数编辑器
361
- openEventLifeCycleJSEditor () {
362
- if (!this.eventEditorContent.LifeCycleFunction) {
363
- this.eventEditorContent.LifeCycleFunction = LifeCycleFunctionTemplate
364
- }
365
- this.$store.commit('setEventEditorContent', this.eventEditorContent)
366
- this.$emit('openModal', 'lifeCycle')
367
- },
368
- // 获取所有注册组件
369
- getAllRenderedComponents () {
370
- const IDs = Object.keys(this.componentsMap)
371
- const result = []
372
- IDs.forEach(id => {
373
- const config = lowcodeUtils.getConfig(id, this.config)
374
- if (config.name) {
375
- result.push(config.name)
376
- } else {
377
- result.push(config.id)
378
- }
379
- })
380
- return result
381
- },
382
- },
383
- mounted () {
384
- },
385
- computed: {
386
- config () {
387
- return this.$store.state.lowCode.config
388
- },
389
- eventEditorContent () {
390
- return this.$store.state.lowCode.eventEditorContent
391
- }
392
- }
393
- }
394
- </script>
395
-
396
- <style scoped lang="less">
397
-
398
- </style>
1
+ <template>
2
+ <!-- 自定义事件弹框 -->
3
+ <a-modal
4
+ title="事件编辑器"
5
+ width="60%"
6
+ :z-index="1001"
7
+ :destroyOnClose="true"
8
+ @ok="handleEventEditorOk"
9
+ @cancel="handleEventEditorCancel"
10
+ v-if="showEventEditor"
11
+ :visible="showEventEditor">
12
+ <a-form :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }" v-if="showForm">
13
+ <!-- 事件触发类型 -->
14
+ <a-form-item label="事件触发类型">
15
+ <a-select @change="handleEventEditorTypeChange" :default-value="eventEditorContent.emitType">
16
+ <a-select-option
17
+ v-for="(eventType, eventTypeIndex) in editorPropertiesConfig.selfEvent"
18
+ :key="eventTypeIndex"
19
+ :value="eventType">
20
+ {{ eventType }}
21
+ </a-select-option>
22
+ <a-select-option value="customEmitType">
23
+ 自定义触发类型
24
+ </a-select-option>
25
+ <a-select-option value="lifeCycle">
26
+ 生命周期函数
27
+ </a-select-option>
28
+ </a-select>
29
+ </a-form-item>
30
+ <!-- 自定义事件触发类型 -->
31
+ <a-form-item label="自定义事件触发名" v-if="eventEditorContent.emitType === 'customEmitType'">
32
+ <a-input v-model="eventEditorContent.customEmitType"/>
33
+ </a-form-item>
34
+ <!-- 事件类型 -->
35
+ <a-form-item label="事件类型" v-if="eventEditorContent.emitType && eventEditorContent.emitType !== 'lifeCycle'">
36
+ <a-select @change="handleEventEditorEventTypeChange" :default-value="eventEditorContent.eventType">
37
+ <a-select-option value="runFunction">
38
+ 调用组件方法
39
+ </a-select-option>
40
+ <a-select-option value="changeProps">
41
+ 修改组件的Props
42
+ </a-select-option>
43
+ <a-select-option value="runLogic">
44
+ 发送后端请求
45
+ </a-select-option>
46
+ <a-select-option value="log">
47
+ 调试日志
48
+ </a-select-option>
49
+ <a-select-option value="showModal" v-if="this.config.page.filter(page => page.type === 'modal').length > 0">
50
+ 修改弹框可见
51
+ </a-select-option>
52
+ <a-select-option value="showDraw" v-if="this.config.page.filter(page => page.type === 'draw').length > 0">
53
+ 修改抽屉可见
54
+ </a-select-option>
55
+ <a-select-option value="customJSFunction" v-if="eventEditorContent.emitType !== 'lifeCycle'">
56
+ 自定义JS
57
+ </a-select-option>
58
+ </a-select>
59
+ </a-form-item>
60
+ <!-- 生命周期函数 -->
61
+ <a-form-item label="生命周期名" v-if="eventEditorContent.emitType === 'lifeCycle'">
62
+ <a-select @change="handleEventEditorLifeCycleChange" :default-value="eventEditorContent.lifeCycle">
63
+ <a-select-option value="created">
64
+ created
65
+ </a-select-option>
66
+ <a-select-option value="beforeMount">
67
+ beforeMount
68
+ </a-select-option>
69
+ <a-select-option value="mounted">
70
+ mounted
71
+ </a-select-option>
72
+ <a-select-option value="beforeUpdate">
73
+ beforeUpdate
74
+ </a-select-option>
75
+ <a-select-option value="updated">
76
+ updated
77
+ </a-select-option>
78
+ <a-select-option value="beforeDestroy">
79
+ beforeDestroy
80
+ </a-select-option>
81
+ <a-select-option value="destroyed">
82
+ destroyed
83
+ </a-select-option>
84
+ </a-select>
85
+ </a-form-item>
86
+ <!-- 修改弹框可见 or 修改抽屉可见 -->
87
+ <a-form-item label="修改可见" v-if="eventEditorContent.eventType === 'showModal' || eventEditorContent.eventType === 'showDraw'">
88
+ <a-radio-group v-model="eventEditorContent.visible" button-style="solid">
89
+ <a-radio-button value="open">
90
+ 显示
91
+ </a-radio-button>
92
+ <a-radio-button value="close">
93
+ 隐藏
94
+ </a-radio-button>
95
+ </a-radio-group>
96
+ </a-form-item>
97
+ <!-- 弹框容器ID -->
98
+ <a-form-item label="弹框容器ID" v-if="eventEditorContent.eventType === 'showModal'">
99
+ <a-select v-model="eventEditorContent.containerId">
100
+ <a-select-option
101
+ v-for="(modal) in config.page.filter(page => page.type === 'modal')"
102
+ :key="modal.id"
103
+ :value="modal.id">
104
+ 弹框_{{ modal.id }}
105
+ </a-select-option>
106
+ </a-select>
107
+ </a-form-item>
108
+ <!-- 抽屉容器ID -->
109
+ <a-form-item label="抽屉容器ID" v-if="eventEditorContent.eventType === 'showDraw'">
110
+ <a-select v-model="eventEditorContent.containerId">
111
+ <a-select-option
112
+ v-for="(draw) in config.page.filter(page => page.type === 'draw')"
113
+ :key="draw.id"
114
+ :value="draw.id">
115
+ 抽屉_{{ draw.id }}
116
+ </a-select-option>
117
+ </a-select>
118
+ </a-form-item>
119
+ <!-- Logic名 -->
120
+ <a-form-item label="后端Api" v-if="eventEditorContent.eventType === 'runLogic'">
121
+ <a-input v-model="eventEditorContent.logicName"/>
122
+ </a-form-item>
123
+ <!-- 自定义Logic参数 -->
124
+ <a-form-item label="自定义Logic参数" v-if="eventEditorContent.eventType === 'runLogic'">
125
+ <a-button type="primary" @click="openLogicParamJSEditor">
126
+ 打开编辑器
127
+ </a-button>
128
+ </a-form-item>
129
+ <!-- 自定义Logic回调 -->
130
+ <a-form-item label="自定义Logic回调" v-if="eventEditorContent.eventType === 'runLogic'" >
131
+ <a-button type="primary" @click="openLogicCallbackEditor">
132
+ 打开编辑器
133
+ </a-button>
134
+ </a-form-item>
135
+ <!-- 修改组件的值 才会显示的其余参数 -->
136
+ <template v-if="eventEditorContent.eventType === 'runFunction' || eventEditorContent.eventType === 'changeProps' || eventEditorContent.eventType === 'customJSFunction'">
137
+ <!-- 目标组件 -->
138
+ <a-form-item label="目标组件">
139
+ <a-select @change="handleEventEditorTargetChange" :default-value="eventEditorContent.target">
140
+ <a-select-option
141
+ v-for="(targetId, targetIndex) in getAllRenderedComponents()"
142
+ :key="targetIndex"
143
+ :value="targetId">
144
+ {{ targetId }}
145
+ </a-select-option>
146
+ </a-select>
147
+ </a-form-item>
148
+ <!-- 目标组件执行事件 -->
149
+ <a-form-item label="目标组件执行事件" v-if="eventEditorContent.eventType === 'runFunction' && eventEditorContent.target !== undefined">
150
+ <a-select @change="handleEventEditorTargetEventTypeChange" :default-value="eventEditorContent.eventName">
151
+ <a-select-option :value="eventType.name" v-for="(eventType,eventTypeIndex) in targetComponentMethods" :key="'eventType_' + eventTypeIndex">
152
+ {{ eventType.str }}
153
+ </a-select-option>
154
+ </a-select>
155
+ <p v-if="targetComponentEventDesc !== undefined">{{ targetComponentEventDesc }}</p>
156
+ </a-form-item>
157
+ <!-- 目标组件修改值对应的key -->
158
+ <a-form-item label="对应的key" v-if="eventEditorContent.target !== undefined && eventEditorContent.eventType === 'changeProps'">
159
+ <a-input v-model="eventEditorContent.targetKey"/>
160
+ </a-form-item>
161
+ </template>
162
+ <!-- 自定义执行方法的参数 -->
163
+ <a-form-item label="自定义执行方法参数" v-if="eventEditorContent.eventType === 'runFunction'">
164
+ <a-button type="primary" @click="openRunFunctionParamEditor">
165
+ 打开编辑器
166
+ </a-button>
167
+ </a-form-item>
168
+ <!-- 自定义JS方法 -->
169
+ <a-form-item label="自定义JS方法" v-if="eventEditorContent.emitType !== 'lifeCycle' && eventEditorContent.eventType === 'customJSFunction'">
170
+ <a-button type="primary" @click="openEventJSEditor">打开编辑器</a-button>
171
+ </a-form-item>
172
+ <!-- 自定义钩子函数 -->
173
+ <a-form-item label="自定义生命周期函数" v-if="eventEditorContent.emitType === 'lifeCycle'">
174
+ <a-button type="primary" @click="openEventLifeCycleJSEditor">打开编辑器</a-button>
175
+ </a-form-item>
176
+ </a-form>
177
+ </a-modal>
178
+ </template>
179
+
180
+ <script>
181
+ import * as lowcodeUtils from '@vue2-client/utils/lowcode/lowcodeUtils'
182
+
183
+ // 函数编辑器显示的模板
184
+ const JSEventFunctionTemplate = 'function(eventType, data, targetKey, sourceVM, targetVM) {\n \n return {\n "eventType": eventType,\n "data": data,\n "targetKey": targetKey\n }\n}'
185
+ const LogicParamFunctionTemplate = 'function(componentData, data) {\n \n return {\n \n }\n}'
186
+ const LogicCallBackFunctionTemplate = 'function(componentsMap, responseData) {\n \n}'
187
+ const LifeCycleFunctionTemplate = 'function(vm) {\n \n}'
188
+ const RunFunctionParamTemplate = 'function(vm, data) {\n\n return [\n\n ]\n}'
189
+
190
+ export default {
191
+ name: 'LowCodeEventEditorModal',
192
+ props: {
193
+ // 用于保存右侧编辑组件的属性
194
+ // eslint-disable-next-line vue/require-default-prop
195
+ editorPropertiesConfig: {
196
+ type: Object,
197
+ require: true
198
+ },
199
+ // 用于事件编辑的回显,在点击事件编辑按钮后,会将此变量赋值
200
+ eventEditorCurrent: {
201
+ type: Object,
202
+ default: undefined
203
+ }
204
+ },
205
+ inject: [
206
+ 'componentsMap'
207
+ ],
208
+ data () {
209
+ return {
210
+ // 目标组件暴露出的事件
211
+ targetComponentMethods: [],
212
+ // 目标组件已选择的事件描述
213
+ targetComponentEventDesc: undefined,
214
+ // 控制事件编辑器弹框显隐
215
+ showEventEditor: false,
216
+ // 控制表单更新
217
+ showForm: true
218
+ }
219
+ },
220
+ methods: {
221
+ changeVisible () {
222
+ this.showEventEditor = !this.showEventEditor
223
+ },
224
+ changeOuterValue (key, value) {
225
+ this.$emit('changeOuterValue', key, value)
226
+ },
227
+ // 事件编辑器点击完成
228
+ handleEventEditorOk () {
229
+ let emitTypeKey = this.eventEditorContent.emitType
230
+ // 是否是自定义事件触发
231
+ if (this.eventEditorContent.customEmitType) {
232
+ emitTypeKey = this.eventEditorContent.customEmitType
233
+ }
234
+ // 如果当前是回显事件
235
+ if (this.eventEditorCurrent) {
236
+ const targetConfig = lowcodeUtils.getComponentConfig(this.editorPropertiesConfig.id, this.config.page)
237
+ targetConfig.onEvent[this.eventEditorCurrent.type][this.eventEditorCurrent.index] = { ...this.eventEditorContent }
238
+ } else {
239
+ // 当前是新增事件
240
+ const target = lowcodeUtils.getComponentConfig(this.editorPropertiesConfig.id, this.config.page)
241
+ // 如果没有onEvent属性则初始化
242
+ if (!target.onEvent) {
243
+ target.onEvent = {}
244
+ }
245
+ // 如果当前触发类型没有初始化,则初始化
246
+ if (!target.onEvent[emitTypeKey]) {
247
+ target.onEvent[emitTypeKey] = []
248
+ }
249
+ // 将缓存的事件属性赋值
250
+ target.onEvent[emitTypeKey].push({
251
+ ...this.eventEditorContent
252
+ })
253
+ }
254
+ this.targetComponentMethods = []
255
+ this.targetComponentEventDesc = undefined
256
+ this.changeVisible()
257
+ this.$store.commit('setEventEditorContent', {})
258
+ this.$store.commit('setConfig', this.config)
259
+ this.changeOuterValue('eventEditorCurrent', undefined)
260
+ this.$emit('refresh', 'eventEditor')
261
+ },
262
+ // 关闭事件编辑器弹框
263
+ handleEventEditorCancel () {
264
+ this.targetComponentMethods = []
265
+ this.targetComponentEventDesc = undefined
266
+ this.changeVisible()
267
+ this.$store.commit('setEventEditorContent', {})
268
+ this.changeOuterValue('eventEditorCurrent', undefined)
269
+ },
270
+ // 事件编辑器中,触发类型改变
271
+ handleEventEditorTypeChange (type) {
272
+ this.$store.commit('setEventEditorContent', {})
273
+ this.eventEditorContent.emitType = type
274
+ this.refreshForm()
275
+ },
276
+ // 刷新表单
277
+ refreshForm () {
278
+ this.showForm = false
279
+ this.$nextTick(() => {
280
+ this.showForm = true
281
+ })
282
+ },
283
+ // 事件编辑器中,目标组件改变
284
+ handleEventEditorTargetChange (target) {
285
+ this.targetComponentMethods = []
286
+ this.eventEditorContent.target = target
287
+ // 将目标组件暴露的方法,填入单选框
288
+ const targetType = target.split('_')[0]
289
+ const editorConfig = lowcodeUtils.getEditorConfigByType(targetType)
290
+ if (editorConfig.selfMethods) {
291
+ editorConfig.selfMethods.forEach(eachMethod => {
292
+ // str用于下拉框中显示,包含函数名和形参
293
+ const methodStr = eachMethod.name + '(' + eachMethod.params + ')'
294
+ this.targetComponentMethods.push({
295
+ str: methodStr,
296
+ desc: eachMethod.desc,
297
+ name: eachMethod.name
298
+ })
299
+ })
300
+ }
301
+ this.$forceUpdate()
302
+ },
303
+ handleEventEditorLifeCycleChange (lifeCycleName) {
304
+ this.eventEditorContent.lifeCycle = lifeCycleName
305
+ },
306
+ // 事件编辑器中,事件类型改变
307
+ handleEventEditorEventTypeChange (type) {
308
+ const temp = {
309
+ emitType: this.eventEditorContent.emitType
310
+ }
311
+ temp.eventType = type
312
+ if (this.eventEditorContent.customEmitType) {
313
+ temp.customEmitType = this.eventEditorContent.customEmitType
314
+ }
315
+ this.$store.commit('setEventEditorContent', temp)
316
+ this.refreshForm()
317
+ },
318
+ // 事件编辑器中,目标组件执行事件类型改变
319
+ handleEventEditorTargetEventTypeChange (type) {
320
+ this.targetComponentMethods.forEach(eachMethod => {
321
+ if (eachMethod.name === type) {
322
+ this.targetComponentEventDesc = eachMethod.desc
323
+ }
324
+ })
325
+ this.eventEditorContent.eventName = type
326
+ this.$forceUpdate()
327
+ },
328
+ // 打开执行方法参数编辑弹框
329
+ openRunFunctionParamEditor () {
330
+ if (!this.eventEditorContent.runFunctionParam) {
331
+ this.eventEditorContent.runFunctionParam = RunFunctionParamTemplate
332
+ }
333
+ this.$store.commit('setEventEditorContent', this.eventEditorContent)
334
+ this.$emit('openModal', 'functionParam')
335
+ },
336
+ // 打开logic回调编辑弹框
337
+ openLogicCallbackEditor () {
338
+ if (!this.eventEditorContent.logicCallBackFunction) {
339
+ this.eventEditorContent.logicCallBackFunction = LogicCallBackFunctionTemplate
340
+ }
341
+ this.$store.commit('setEventEditorContent', this.eventEditorContent)
342
+ this.$emit('openModal', 'logicCallBack')
343
+ },
344
+ // 打开logic参数JS编辑器弹框
345
+ openLogicParamJSEditor () {
346
+ if (!this.eventEditorContent.logicParamJSFunction) {
347
+ this.eventEditorContent.logicParamJSFunction = LogicParamFunctionTemplate
348
+ }
349
+ this.$store.commit('setEventEditorContent', this.eventEditorContent)
350
+ this.$emit('openModal', 'logicParam')
351
+ },
352
+ // 打开JS函数编辑器
353
+ openEventJSEditor () {
354
+ if (!this.eventEditorContent.JSFunction) {
355
+ this.eventEditorContent.JSFunction = JSEventFunctionTemplate
356
+ }
357
+ this.$store.commit('setEventEditorContent', this.eventEditorContent)
358
+ this.$emit('openModal', 'customJS')
359
+ },
360
+ // 打开钩子函数编辑器
361
+ openEventLifeCycleJSEditor () {
362
+ if (!this.eventEditorContent.LifeCycleFunction) {
363
+ this.eventEditorContent.LifeCycleFunction = LifeCycleFunctionTemplate
364
+ }
365
+ this.$store.commit('setEventEditorContent', this.eventEditorContent)
366
+ this.$emit('openModal', 'lifeCycle')
367
+ },
368
+ // 获取所有注册组件
369
+ getAllRenderedComponents () {
370
+ const IDs = Object.keys(this.componentsMap)
371
+ const result = []
372
+ IDs.forEach(id => {
373
+ const config = lowcodeUtils.getConfig(id, this.config)
374
+ if (config.name) {
375
+ result.push(config.name)
376
+ } else {
377
+ result.push(config.id)
378
+ }
379
+ })
380
+ return result
381
+ },
382
+ },
383
+ mounted () {
384
+ },
385
+ computed: {
386
+ config () {
387
+ return this.$store.state.lowCode.config
388
+ },
389
+ eventEditorContent () {
390
+ return this.$store.state.lowCode.eventEditorContent
391
+ }
392
+ }
393
+ }
394
+ </script>
395
+
396
+ <style scoped lang="less">
397
+
398
+ </style>