@web-utils/component 2.7.20 → 2.7.21

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 (393) hide show
  1. package/dist/chunks/{config.46422d7f.js → config.7dec2bf2.js} +2 -2
  2. package/dist/chunks/confirmable-mixin.7112b769.js +75 -0
  3. package/dist/chunks/dataformat.9cc4428a.js +158 -0
  4. package/dist/chunks/dayjs.b0f2f7d9.js +247 -0
  5. package/dist/chunks/detail.6619700c.js +29 -0
  6. package/dist/chunks/dic.9de2fe5a.js +135 -0
  7. package/dist/chunks/{event.dd6f522d.js → event.fc358074.js} +31 -31
  8. package/dist/chunks/{form-input-mixin.ff5b58f7.js → form-input-mixin.df413ca8.js} +6 -6
  9. package/dist/chunks/{form-item-mixin.79f6eaff.js → form-item-mixin.b850e028.js} +18 -18
  10. package/dist/chunks/{form-pick-mixin.61ad06b2.js → form-pick-mixin.c4e0391b.js} +2 -2
  11. package/dist/chunks/init.e0133910.js +122 -0
  12. package/dist/chunks/{input-number-mixin.41a066be.js → input-number-mixin.6849fa63.js} +4 -4
  13. package/dist/chunks/{mixins.5a78e0db.js → mixins.6a394a6c.js} +4 -4
  14. package/dist/chunks/{packages.1fc9ccba.js → packages.419bde01.js} +7 -7
  15. package/dist/chunks/permission.07c49abf.js +16 -0
  16. package/dist/chunks/slot.a7387ecc.js +27 -0
  17. package/dist/chunks/{tab-mixin.8c0142e0.js → tab-mixin.51886d91.js} +20 -20
  18. package/dist/chunks/util.89913643.js +261 -0
  19. package/dist/chunks/utils.d7f73f8d.js +185 -0
  20. package/dist/chunks/utils.f44207f4.js +26 -0
  21. package/dist/chunks/vueComponentNormalizer.bf552d98.js +32 -0
  22. package/dist/components/address-input/index.js +36 -36
  23. package/dist/components/address-input/style.css +10 -1
  24. package/dist/components/affix/index.js +39 -39
  25. package/dist/components/affix/style.css +4 -1
  26. package/dist/components/aside-menu/index.js +29 -29
  27. package/dist/components/aside-menu/style.css +3 -1
  28. package/dist/components/avatar/index.js +43 -43
  29. package/dist/components/avatar/style.css +51 -1
  30. package/dist/components/awesome-button/index.js +28 -28
  31. package/dist/components/base.css +536 -1
  32. package/dist/components/capsule-tab/index.js +26 -26
  33. package/dist/components/capsule-tab/style.css +26 -1
  34. package/dist/components/card/index.js +49 -49
  35. package/dist/components/card/style.css +84 -1
  36. package/dist/components/carousel/index.js +35 -35
  37. package/dist/components/carousel/style.css +35 -1
  38. package/dist/components/chat/index.js +203 -203
  39. package/dist/components/chat/style.css +277 -1
  40. package/dist/components/chunk-file-uploader/index.js +46 -46
  41. package/dist/components/chunk-file-uploader/style.css +3 -1
  42. package/dist/components/chunk-file-uploader-button/index.js +22 -22
  43. package/dist/components/chunk-file-uploader-button/style.css +16 -1
  44. package/dist/components/chunk-file-uploader-drop/index.js +27 -27
  45. package/dist/components/chunk-file-uploader-drop/style.css +11 -1
  46. package/dist/components/chunk-file-uploader-file/index.js +118 -118
  47. package/dist/components/chunk-file-uploader-file/style.css +124 -1
  48. package/dist/components/chunk-file-uploader-files/index.js +27 -27
  49. package/dist/components/chunk-file-uploader-files/style.css +8 -1
  50. package/dist/components/chunk-file-uploader-list/index.js +27 -27
  51. package/dist/components/chunk-file-uploader-list/style.css +8 -1
  52. package/dist/components/chunk-file-uploader-un-support/index.js +27 -27
  53. package/dist/components/chunk-file-uploader-un-support/style.css +5 -1
  54. package/dist/components/code-mirror-editor/index.js +134 -134
  55. package/dist/components/code-mirror-editor/style.css +11 -1
  56. package/dist/components/color-picker/index.js +39 -39
  57. package/dist/components/column/index.js +66 -66
  58. package/dist/components/column-default/index.js +54 -54
  59. package/dist/components/column-dynamic/index.js +54 -54
  60. package/dist/components/column-menu/index.js +128 -128
  61. package/dist/components/column-slot/index.js +168 -168
  62. package/dist/components/comment/index.js +33 -33
  63. package/dist/components/comment/style.css +110 -1
  64. package/dist/components/confirm-button/index.js +18 -18
  65. package/dist/components/confirmable/index.js +17 -17
  66. package/dist/components/context-menu/index.js +89 -89
  67. package/dist/components/context-menu/style.css +84 -1
  68. package/dist/components/count-up/index.js +36 -36
  69. package/dist/components/custom-scrollbar/index.js +45 -45
  70. package/dist/components/data-box/index.js +41 -41
  71. package/dist/components/data-box/style.css +52 -1
  72. package/dist/components/data-card/index.js +38 -38
  73. package/dist/components/data-card/style.css +35 -1
  74. package/dist/components/data-cardtext/index.js +33 -33
  75. package/dist/components/data-cardtext/style.css +30 -1
  76. package/dist/components/data-display/index.js +37 -37
  77. package/dist/components/data-display/style.css +31 -1
  78. package/dist/components/data-icons/index.js +40 -40
  79. package/dist/components/data-icons/style.css +47 -1
  80. package/dist/components/data-imgtext/index.js +44 -44
  81. package/dist/components/data-imgtext/style.css +65 -1
  82. package/dist/components/data-operatext/index.js +44 -44
  83. package/dist/components/data-operatext/style.css +72 -1
  84. package/dist/components/data-panel/index.js +38 -38
  85. package/dist/components/data-panel/style.css +31 -1
  86. package/dist/components/data-pay/index.js +60 -60
  87. package/dist/components/data-pay/style.css +96 -1
  88. package/dist/components/data-price/index.js +38 -38
  89. package/dist/components/data-price/style.css +75 -1
  90. package/dist/components/data-progress/index.js +39 -39
  91. package/dist/components/data-progress/style.css +24 -1
  92. package/dist/components/data-rotate/index.js +39 -39
  93. package/dist/components/data-rotate/style.css +44 -1
  94. package/dist/components/data-table-picker/index.js +151 -53
  95. package/dist/components/data-tabs/index.js +39 -39
  96. package/dist/components/data-tabs/style.css +64 -1
  97. package/dist/components/dialog-column/index.js +50 -50
  98. package/dist/components/dialog-excel/index.js +68 -68
  99. package/dist/components/dialog-filter/index.js +84 -84
  100. package/dist/components/dialog-form/index.js +89 -89
  101. package/dist/components/dialog-form/style.css +5 -0
  102. package/dist/components/dynamic-table/index.js +71 -71
  103. package/dist/components/dynamic-table/style.css +24 -1
  104. package/dist/components/e-charts/index.js +95 -94
  105. package/dist/components/e-charts/style.css +4 -1
  106. package/dist/components/easy-popup/index.js +87 -0
  107. package/dist/components/easy-popup/style.css +12 -0
  108. package/dist/components/editable-progress/index.js +48 -48
  109. package/dist/components/editable-progress/style.css +33 -1
  110. package/dist/components/editable-tree/index.js +587 -287
  111. package/dist/components/editable-tree/style.css +79 -1
  112. package/dist/components/egd-collapse/index.js +29 -29
  113. package/dist/components/egd-collapse-item/index.js +51 -51
  114. package/dist/components/element-dialog/index.js +74 -65
  115. package/dist/components/element-dialog/style.css +82 -1
  116. package/dist/components/empty-view/index.js +26 -26
  117. package/dist/components/empty-view/style.css +11 -1
  118. package/dist/components/error-view/index.js +25 -25
  119. package/dist/components/error-view/style.css +11 -1
  120. package/dist/components/flex-column/index.js +19 -19
  121. package/dist/components/flex-item/index.js +20 -20
  122. package/dist/components/flex-row/index.js +19 -19
  123. package/dist/components/flex-scroller/index.js +24 -24
  124. package/dist/components/flex-scroller/style.css +14 -1
  125. package/dist/components/flow/index.js +100 -100
  126. package/dist/components/flow/style.css +38 -1
  127. package/dist/components/flow-node/index.js +37 -37
  128. package/dist/components/flow-viewer/index.js +135 -0
  129. package/dist/components/flow-viewer/style.css +13 -0
  130. package/dist/components/form-button/index.js +32 -32
  131. package/dist/components/form-cascader/index.js +62 -61
  132. package/dist/components/form-checkbox-group/index.js +61 -61
  133. package/dist/components/form-checkbox-group/style.css +45 -1
  134. package/dist/components/form-date-picker/index.js +57 -57
  135. package/dist/components/form-group/index.js +38 -38
  136. package/dist/components/form-group/style.css +76 -1
  137. package/dist/components/form-holder/index.js +30 -30
  138. package/dist/components/form-input/index.js +50 -50
  139. package/dist/components/form-input-email/index.js +44 -44
  140. package/dist/components/form-input-id-card/index.js +49 -49
  141. package/dist/components/form-input-number/index.js +49 -49
  142. package/dist/components/form-input-number/style.css +6 -1
  143. package/dist/components/form-input-phone-number/index.js +45 -45
  144. package/dist/components/form-input-time/index.js +48 -48
  145. package/dist/components/form-item/index.js +73 -73
  146. package/dist/components/form-item/style.css +5 -1
  147. package/dist/components/form-item-config-provider/index.js +19 -19
  148. package/dist/components/form-item-group/index.js +65 -65
  149. package/dist/components/form-item-group/style.css +25 -1
  150. package/dist/components/form-radio-group/index.js +61 -61
  151. package/dist/components/form-radio-group/style.css +47 -1
  152. package/dist/components/form-select/index.js +52 -52
  153. package/dist/components/form-switch/index.js +45 -45
  154. package/dist/components/form-temp/index.js +50 -50
  155. package/dist/components/form-textarea/index.js +44 -44
  156. package/dist/components/form-view/index.js +143 -142
  157. package/dist/components/form-view/style.css +155 -1
  158. package/dist/components/fy-array/index.js +64 -64
  159. package/dist/components/fy-array/style.css +12 -1
  160. package/dist/components/fy-article/index.js +34 -34
  161. package/dist/components/fy-article/style.css +56 -1
  162. package/dist/components/fy-cascader/index.js +52 -52
  163. package/dist/components/fy-checkbox/index.js +52 -52
  164. package/dist/components/fy-checkbox/style.css +9 -1
  165. package/dist/components/fy-code/index.js +30 -30
  166. package/dist/components/fy-curd/index.js +317 -317
  167. package/dist/components/fy-curd/style.css +236 -1
  168. package/dist/components/fy-date/index.js +45 -45
  169. package/dist/components/fy-date/style.css +15 -1
  170. package/dist/components/fy-dialog-form/index.js +115 -115
  171. package/dist/components/fy-draggable/index.js +120 -120
  172. package/dist/components/fy-draggable/style.css +136 -1
  173. package/dist/components/fy-dynamic/index.js +126 -126
  174. package/dist/components/fy-dynamic/style.css +29 -1
  175. package/dist/components/fy-empty/index.js +26 -26
  176. package/dist/components/fy-empty/style.css +18 -1
  177. package/dist/components/fy-form/index.js +365 -365
  178. package/dist/components/fy-form/style.css +73 -1
  179. package/dist/components/fy-form-design/index.js +6906 -433
  180. package/dist/components/fy-form-design/style.css +560 -1
  181. package/dist/components/fy-form-menu/index.js +45 -45
  182. package/dist/components/fy-input/index.js +61 -61
  183. package/dist/components/fy-input-color/index.js +41 -41
  184. package/dist/components/fy-input-icon/index.js +70 -70
  185. package/dist/components/fy-input-icon/style.css +33 -1
  186. package/dist/components/fy-input-map/index.js +102 -102
  187. package/dist/components/fy-input-map/style.css +44 -1
  188. package/dist/components/fy-input-number/index.js +39 -39
  189. package/dist/components/fy-input-table/index.js +70 -70
  190. package/dist/components/fy-input-table/style.css +4 -1
  191. package/dist/components/fy-input-tree/index.js +105 -105
  192. package/dist/components/fy-input-tree/style.css +19 -1
  193. package/dist/components/fy-progress/index.js +25 -25
  194. package/dist/components/fy-radio/index.js +36 -36
  195. package/dist/components/fy-radio/style.css +6 -1
  196. package/dist/components/fy-rate/index.js +40 -40
  197. package/dist/components/fy-rate/style.css +3 -1
  198. package/dist/components/fy-select/index.js +101 -101
  199. package/dist/components/fy-select/style.css +19 -1
  200. package/dist/components/fy-slider/index.js +42 -42
  201. package/dist/components/fy-switch/index.js +37 -37
  202. package/dist/components/fy-tabs/index.js +35 -35
  203. package/dist/components/fy-time/index.js +47 -47
  204. package/dist/components/fy-title/index.js +23 -23
  205. package/dist/components/fy-title/style.css +5 -1
  206. package/dist/components/fy-tree/index.js +157 -157
  207. package/dist/components/fy-tree/style.css +39 -1
  208. package/dist/components/fy-u-editor/index.js +99 -99
  209. package/dist/components/fy-u-editor/style.css +9 -1
  210. package/dist/components/fy-upload/index.js +270 -270
  211. package/dist/components/fy-upload/style.css +55 -1
  212. package/dist/components/guide-steps/index.js +41 -41
  213. package/dist/components/guide-steps/style.css +28 -1
  214. package/dist/components/header-menu/index.js +94 -94
  215. package/dist/components/header-search/index.js +121 -121
  216. package/dist/components/highlight-j-s/index.js +76 -0
  217. package/dist/components/highlight-j-s/style.css +18 -0
  218. package/dist/components/icon-card/index.js +28 -28
  219. package/dist/components/icon-card/style.css +50 -1
  220. package/dist/components/icon-temp/index.js +24 -24
  221. package/dist/components/icon-temp/style.css +17 -1
  222. package/dist/components/iframe-window/index.js +24 -24
  223. package/dist/components/iframe-window/style.css +14 -1
  224. package/dist/components/image-cropper/index.js +117 -117
  225. package/dist/components/image-cropper/style.css +28 -1
  226. package/dist/components/image-preview/index.js +127 -127
  227. package/dist/components/image-preview/style.css +66 -1
  228. package/dist/components/image-viewer/index.js +35 -35
  229. package/dist/components/image-viewer/style.css +15 -1
  230. package/dist/components/input-number/index.js +116 -116
  231. package/dist/components/input-number/style.css +9 -1
  232. package/dist/components/input-number-range/index.js +37 -37
  233. package/dist/components/input-number-range/style.css +6 -1
  234. package/dist/components/j-s-x-component/index.js +4 -4
  235. package/dist/components/keep-view-alive/index.js +71 -71
  236. package/dist/components/keyboard/index.js +182 -182
  237. package/dist/components/keyboard/style.css +473 -1
  238. package/dist/components/license/index.js +54 -54
  239. package/dist/components/loading-view/index.js +25 -25
  240. package/dist/components/loading-view/style.css +11 -1
  241. package/dist/components/login/index.js +94 -94
  242. package/dist/components/login/style.css +19 -1
  243. package/dist/components/name-avatar/index.js +26 -26
  244. package/dist/components/name-avatar/style.css +30 -1
  245. package/dist/components/nav-bar/index.js +22 -22
  246. package/dist/components/nav-bar/style.css +11 -1
  247. package/dist/components/not-implement/index.js +22 -22
  248. package/dist/components/not-implement/style.css +9 -1
  249. package/dist/components/notice/index.js +55 -55
  250. package/dist/components/notice/style.css +48 -1
  251. package/dist/components/page/index.js +20 -20
  252. package/dist/components/page/style.css +6 -1
  253. package/dist/components/page-header/index.js +28 -28
  254. package/dist/components/page-header/style.css +8 -1
  255. package/dist/components/page-index/index.js +57 -57
  256. package/dist/components/page-index/style.css +17 -1
  257. package/dist/components/page-index-top/index.js +46 -46
  258. package/dist/components/page-skeleton/index.js +28 -28
  259. package/dist/components/page-skeleton/style.css +17 -1
  260. package/dist/components/page-skeleton-new/index.js +38 -38
  261. package/dist/components/page-skeleton-new/style.css +36 -1
  262. package/dist/components/pageable-table/index.js +140 -139
  263. package/dist/components/pageable-table/style.css +66 -1
  264. package/dist/components/pageable-view/index.js +103 -102
  265. package/dist/components/pageable-view/style.css +63 -1
  266. package/dist/components/photo-swipe/index.js +64 -64
  267. package/dist/components/process-designer/index.js +4638 -0
  268. package/dist/components/process-designer/style.css +1648 -0
  269. package/dist/components/properties-panel/index.js +4765 -0
  270. package/dist/components/properties-panel/style.css +106 -0
  271. package/dist/components/queue/index.js +24 -24
  272. package/dist/components/record-video/index.js +55 -55
  273. package/dist/components/record-video/style.css +47 -1
  274. package/dist/components/resize-observer/index.js +26 -26
  275. package/dist/components/resize-observer/style.css +25 -1
  276. package/dist/components/search/index.js +64 -64
  277. package/dist/components/search/style.css +51 -1
  278. package/dist/components/search-popover/index.js +98 -98
  279. package/dist/components/search-popover/style.css +90 -1
  280. package/dist/components/sign/index.js +66 -66
  281. package/dist/components/sign/style.css +6 -1
  282. package/dist/components/sign-panel/index.js +78 -78
  283. package/dist/components/sign-panel/style.css +91 -1
  284. package/dist/components/skeleton/index.js +35 -35
  285. package/dist/components/skeleton/style.css +55 -1
  286. package/dist/components/split-pane/index.js +88 -88
  287. package/dist/components/split-pane/style.css +98 -1
  288. package/dist/components/stateful/index.js +29 -29
  289. package/dist/components/stateful/style.css +27 -1
  290. package/dist/components/static-pageable-table/index.js +30 -30
  291. package/dist/components/static-pageable-table/style.css +3 -1
  292. package/dist/components/swiper/index.js +69 -69
  293. package/dist/components/swiper/style.css +37 -1
  294. package/dist/components/tab/index.js +47 -47
  295. package/dist/components/tab/style.css +108 -1
  296. package/dist/components/tab-item/index.js +29 -29
  297. package/dist/components/table-column/index.js +25 -25
  298. package/dist/components/table-page/index.js +51 -51
  299. package/dist/components/table-view/index.js +123 -122
  300. package/dist/components/table-view/style.css +90 -1
  301. package/dist/components/tag-render/index.js +39 -39
  302. package/dist/components/tag-render/style.css +27 -1
  303. package/dist/components/text-ellipsis/index.js +40 -40
  304. package/dist/components/text-ellipsis/style.css +3 -1
  305. package/dist/components/tinymce-editor/index.js +62 -62
  306. package/dist/components/tinymce-editor/style.css +37 -1
  307. package/dist/components/tinymce-wrapper/index.js +76 -76
  308. package/dist/components/tinymce-wrapper/style.css +30 -1
  309. package/dist/components/toolbar/index.js +51 -51
  310. package/dist/components/toolbar/style.css +35 -1
  311. package/dist/components/toolbar-button/index.js +33 -33
  312. package/dist/components/toolbar-button/style.css +15 -1
  313. package/dist/components/trigger/index.js +27 -27
  314. package/dist/components/verify/index.js +33 -33
  315. package/dist/components/verify/style.css +9 -1
  316. package/dist/components/vue-tags-input/index.js +137 -137
  317. package/dist/components/vue-tags-input/style.css +102 -1
  318. package/dist/components/watermark/index.js +25 -25
  319. package/dist/components/watermark/style.css +10 -1
  320. package/dist/index.css +1797 -0
  321. package/dist/index.es.js +22766 -12431
  322. package/package.json +18 -6
  323. package/web-types.json +307 -1
  324. package/dist/chunks/AfdColumn.vue_vue_type_template_lang.768f2ed2.js +0 -302
  325. package/dist/chunks/ConfigArray.vue_vue_type_template_lang.66483daa.js +0 -51
  326. package/dist/chunks/ConfigColor.vue_vue_type_template_lang.cd880091.js +0 -24
  327. package/dist/chunks/ConfigCustom.vue_vue_type_template_lang.6e03d7fd.js +0 -52
  328. package/dist/chunks/ConfigDate.vue_vue_type_template_lang.116fbad4.js +0 -104
  329. package/dist/chunks/ConfigDynamic.vue_vue_type_template_lang.99082e47.js +0 -133
  330. package/dist/chunks/ConfigEvent.vue_vue_type_template_lang.5e8ed6cc.js +0 -96
  331. package/dist/chunks/ConfigGroup.vue_vue_type_template_lang.44117322.js +0 -48
  332. package/dist/chunks/ConfigInput.vue_vue_type_template_lang.cc1eb052.js +0 -96
  333. package/dist/chunks/ConfigMap.vue_vue_type_template_lang.daee4d38.js +0 -31
  334. package/dist/chunks/ConfigNumber.vue_vue_type_template_lang.d60231d7.js +0 -130
  335. package/dist/chunks/ConfigRate.vue_vue_type_style_index_0_scoped_true_lang.cf5d437d.js +0 -125
  336. package/dist/chunks/ConfigSelect.vue_vue_type_template_lang.dfc91f07.js +0 -488
  337. package/dist/chunks/ConfigSlider.vue_vue_type_template_lang.27b8cc7b.js +0 -99
  338. package/dist/chunks/ConfigSwitch.vue_vue_type_style_index_0_scoped_true_lang.4caf1bd0.js +0 -54
  339. package/dist/chunks/ConfigTable.vue_vue_type_template_lang.b27540fd.js +0 -344
  340. package/dist/chunks/ConfigTextarea.vue_vue_type_template_lang.5cddf41c.js +0 -88
  341. package/dist/chunks/ConfigTitle.vue_vue_type_template_lang.57d9deb5.js +0 -87
  342. package/dist/chunks/ConfigTree.vue_vue_type_style_index_0_scoped_true_lang.89ec5376.js +0 -465
  343. package/dist/chunks/ConfigUEditor.vue_vue_type_template_lang.9726b4f5.js +0 -240
  344. package/dist/chunks/ConfigUpload.vue_vue_type_template_lang.129c0ced.js +0 -476
  345. package/dist/chunks/FormConfig.vue_vue_type_template_lang.82463ce5.js +0 -220
  346. package/dist/chunks/WidgetConfig.vue_vue_type_template_lang.3cc74fe8.js +0 -1821
  347. package/dist/chunks/WidgetForm.vue_vue_type_template_lang.d4b05679.js +0 -247
  348. package/dist/chunks/WidgetFormGroup.vue_vue_type_template_lang.bdcb6d37.js +0 -271
  349. package/dist/chunks/WidgetFormItem.vue_vue_type_template_lang.48d55a5c.js +0 -24
  350. package/dist/chunks/WidgetFormTable.vue_vue_type_template_lang.e2b788ba.js +0 -229
  351. package/dist/chunks/confirmable-mixin.3a79781b.js +0 -75
  352. package/dist/chunks/dataformat.65b92bfe.js +0 -158
  353. package/dist/chunks/detail.d67573b1.js +0 -28
  354. package/dist/chunks/dic.70feb9b4.js +0 -135
  355. package/dist/chunks/init.7c58eb34.js +0 -122
  356. package/dist/chunks/monaco.cefcb9f5.js +0 -290
  357. package/dist/chunks/permission.ce5d2121.js +0 -16
  358. package/dist/chunks/slot.4b391395.js +0 -27
  359. package/dist/chunks/util.23fe58fb.js +0 -261
  360. package/dist/chunks/utils.97652d86.js +0 -26
  361. package/dist/chunks/utils.fa73de78.js +0 -185
  362. package/dist/chunks/vueComponentNormalizer.71e2aa87.js +0 -32
  363. package/dist/components/afd-column/index.js +0 -57
  364. package/dist/components/config-array/index.js +0 -28
  365. package/dist/components/config-color/index.js +0 -28
  366. package/dist/components/config-custom/index.js +0 -62
  367. package/dist/components/config-date/index.js +0 -28
  368. package/dist/components/config-dynamic/index.js +0 -28
  369. package/dist/components/config-event/index.js +0 -74
  370. package/dist/components/config-group/index.js +0 -36
  371. package/dist/components/config-input/index.js +0 -29
  372. package/dist/components/config-map/index.js +0 -28
  373. package/dist/components/config-number/index.js +0 -28
  374. package/dist/components/config-rate/index.js +0 -71
  375. package/dist/components/config-rate/style.css +0 -1
  376. package/dist/components/config-select/index.js +0 -90
  377. package/dist/components/config-slider/index.js +0 -28
  378. package/dist/components/config-switch/index.js +0 -33
  379. package/dist/components/config-switch/style.css +0 -1
  380. package/dist/components/config-table/index.js +0 -122
  381. package/dist/components/config-textarea/index.js +0 -28
  382. package/dist/components/config-title/index.js +0 -33
  383. package/dist/components/config-tree/index.js +0 -122
  384. package/dist/components/config-tree/style.css +0 -1
  385. package/dist/components/config-u-editor/index.js +0 -34
  386. package/dist/components/config-upload/index.js +0 -58
  387. package/dist/components/form-config/index.js +0 -28
  388. package/dist/components/fy-dialog-form/style.css +0 -1
  389. package/dist/components/widget-config/index.js +0 -110
  390. package/dist/components/widget-form/index.js +0 -71
  391. package/dist/components/widget-form-group/index.js +0 -96
  392. package/dist/components/widget-form-item/index.js +0 -71
  393. package/dist/components/widget-form-table/index.js +0 -95
@@ -0,0 +1,4765 @@
1
+ import { n as normalizeComponent } from "../../chunks/vueComponentNormalizer.bf552d98.js";
2
+ import { debug } from "@web-utils/core";
3
+ var render$d = function() {
4
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
5
+ return _c("div", {
6
+ staticClass: "panel-tab__content"
7
+ }, [_c("ElForm", {
8
+ attrs: {
9
+ size: "mini",
10
+ "label-width": "90px"
11
+ },
12
+ nativeOn: {
13
+ submit: function($event) {
14
+ $event.preventDefault();
15
+ }
16
+ }
17
+ }, [_c("ElFormItem", {
18
+ attrs: {
19
+ label: "ID"
20
+ }
21
+ }, [_c("ElInput", {
22
+ attrs: {
23
+ disabled: _vm.idEditDisabled,
24
+ clearable: ""
25
+ },
26
+ on: {
27
+ change: function($event) {
28
+ return _vm.updateBaseInfo("id");
29
+ }
30
+ },
31
+ model: {
32
+ value: _vm.elementBaseInfo.id,
33
+ callback: function($$v) {
34
+ _vm.$set(_vm.elementBaseInfo, "id", $$v);
35
+ },
36
+ expression: "elementBaseInfo.id"
37
+ }
38
+ })], 1), _c("ElFormItem", {
39
+ attrs: {
40
+ label: "名称"
41
+ }
42
+ }, [_c("ElInput", {
43
+ attrs: {
44
+ clearable: ""
45
+ },
46
+ on: {
47
+ change: function($event) {
48
+ return _vm.updateBaseInfo("name");
49
+ }
50
+ },
51
+ model: {
52
+ value: _vm.elementBaseInfo.name,
53
+ callback: function($$v) {
54
+ _vm.$set(_vm.elementBaseInfo, "name", $$v);
55
+ },
56
+ expression: "elementBaseInfo.name"
57
+ }
58
+ })], 1), _vm.elementBaseInfo.$type === "bpmn:Process" ? [_c("ElFormItem", {
59
+ attrs: {
60
+ label: "版本标签"
61
+ }
62
+ }, [_c("ElInput", {
63
+ attrs: {
64
+ clearable: ""
65
+ },
66
+ on: {
67
+ change: function($event) {
68
+ return _vm.updateBaseInfo("versionTag");
69
+ }
70
+ },
71
+ model: {
72
+ value: _vm.elementBaseInfo.versionTag,
73
+ callback: function($$v) {
74
+ _vm.$set(_vm.elementBaseInfo, "versionTag", $$v);
75
+ },
76
+ expression: "elementBaseInfo.versionTag"
77
+ }
78
+ })], 1), _c("ElFormItem", {
79
+ attrs: {
80
+ label: "可执行"
81
+ }
82
+ }, [_c("ElSwitch", {
83
+ attrs: {
84
+ "active-text": "是",
85
+ "inactive-text": "否"
86
+ },
87
+ on: {
88
+ change: function($event) {
89
+ return _vm.updateBaseInfo("isExecutable");
90
+ }
91
+ },
92
+ model: {
93
+ value: _vm.elementBaseInfo.isExecutable,
94
+ callback: function($$v) {
95
+ _vm.$set(_vm.elementBaseInfo, "isExecutable", $$v);
96
+ },
97
+ expression: "elementBaseInfo.isExecutable"
98
+ }
99
+ })], 1)] : _vm._e(), _vm.elementBaseInfo.$type === "bpmn:SubProcess" ? _c("ElFormItem", {
100
+ attrs: {
101
+ label: "状态"
102
+ }
103
+ }, [_c("ElSwitch", {
104
+ attrs: {
105
+ "active-text": "展开",
106
+ "inactive-text": "折叠"
107
+ },
108
+ on: {
109
+ change: function($event) {
110
+ return _vm.updateBaseInfo("isExpanded");
111
+ }
112
+ },
113
+ model: {
114
+ value: _vm.elementBaseInfo.isExpanded,
115
+ callback: function($$v) {
116
+ _vm.$set(_vm.elementBaseInfo, "isExpanded", $$v);
117
+ },
118
+ expression: "elementBaseInfo.isExpanded"
119
+ }
120
+ })], 1) : _vm._e()], 2)], 1);
121
+ }, staticRenderFns$d = [];
122
+ const __vue2_script$d = {
123
+ name: "ElementBaseInfo",
124
+ props: {
125
+ businessObject: Object,
126
+ idEditDisabled: {
127
+ type: Boolean,
128
+ default: !0
129
+ }
130
+ },
131
+ data() {
132
+ return {
133
+ elementBaseInfo: {}
134
+ };
135
+ },
136
+ watch: {
137
+ businessObject: {
138
+ immediate: !1,
139
+ handler: function(val) {
140
+ val && this.$nextTick(() => this.resetBaseInfo());
141
+ }
142
+ }
143
+ },
144
+ beforeDestroy() {
145
+ this.bpmnElement = null;
146
+ },
147
+ methods: {
148
+ resetBaseInfo() {
149
+ var _a, _b;
150
+ this.bpmnElement = ((_a = window == null ? void 0 : window.bpmnInstances) == null ? void 0 : _a.bpmnElement) || {}, this.elementBaseInfo = JSON.parse(JSON.stringify(this.bpmnElement.businessObject)), this.elementBaseInfo && this.elementBaseInfo.$type === "bpmn:SubProcess" && this.$set(this.elementBaseInfo, "isExpanded", (_b = this.elementBaseInfo.di) == null ? void 0 : _b.isExpanded);
151
+ },
152
+ updateBaseInfo(key) {
153
+ var _a;
154
+ if (key === "id") {
155
+ window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
156
+ id: this.elementBaseInfo[key],
157
+ di: { id: `${this.elementBaseInfo[key]}_di` }
158
+ });
159
+ return;
160
+ }
161
+ if (key === "isExpanded") {
162
+ (_a = window == null ? void 0 : window.bpmnInstances) == null || _a.modeling.toggleCollapse(this.bpmnElement);
163
+ return;
164
+ }
165
+ const attrObj = /* @__PURE__ */ Object.create(null);
166
+ attrObj[key] = this.elementBaseInfo[key], window.bpmnInstances.modeling.updateProperties(this.bpmnElement, attrObj);
167
+ }
168
+ }
169
+ }, __cssModules$d = {};
170
+ var __component__$d = /* @__PURE__ */ normalizeComponent(
171
+ __vue2_script$d,
172
+ render$d,
173
+ staticRenderFns$d,
174
+ !1,
175
+ __vue2_injectStyles$d,
176
+ null,
177
+ null,
178
+ null
179
+ );
180
+ function __vue2_injectStyles$d(context) {
181
+ for (let o in __cssModules$d)
182
+ this[o] = __cssModules$d[o];
183
+ }
184
+ const ElementBaseInfo = /* @__PURE__ */ function() {
185
+ return __component__$d.exports;
186
+ }();
187
+ var render$c = function() {
188
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
189
+ return _c("div", {
190
+ staticClass: "panel-tab__content"
191
+ }, [_c("div", {
192
+ staticClass: "element-property input-property"
193
+ }, [_c("div", {
194
+ staticClass: "element-property__label"
195
+ }, [_vm._v("元素文档:")]), _c("div", {
196
+ staticClass: "element-property__value"
197
+ }, [_c("ElInput", {
198
+ attrs: {
199
+ type: "textarea",
200
+ size: "mini",
201
+ resize: "vertical",
202
+ autosize: {
203
+ minRows: 2,
204
+ maxRows: 4
205
+ }
206
+ },
207
+ on: {
208
+ input: _vm.updateDocumentation,
209
+ blur: _vm.updateDocumentation
210
+ },
211
+ model: {
212
+ value: _vm.documentation,
213
+ callback: function($$v) {
214
+ _vm.documentation = $$v;
215
+ },
216
+ expression: "documentation"
217
+ }
218
+ })], 1)])]);
219
+ }, staticRenderFns$c = [];
220
+ const __vue2_script$c = {
221
+ name: "ElementOtherConfig",
222
+ props: {
223
+ id: String
224
+ },
225
+ data() {
226
+ return {
227
+ documentation: ""
228
+ };
229
+ },
230
+ watch: {
231
+ id: {
232
+ immediate: !0,
233
+ handler: function(id) {
234
+ id && id.length ? this.$nextTick(() => {
235
+ var _a;
236
+ const documentations = (_a = window.bpmnInstances.bpmnElement.businessObject) == null ? void 0 : _a.documentation;
237
+ this.documentation = documentations && documentations.length ? documentations[0].text : "";
238
+ }) : this.documentation = "";
239
+ }
240
+ }
241
+ },
242
+ beforeDestroy() {
243
+ this.bpmnElement = null;
244
+ },
245
+ methods: {
246
+ updateDocumentation() {
247
+ this.bpmnElement && this.bpmnElement.id === this.id || (this.bpmnElement = window.bpmnInstances.elementRegistry.get(this.id));
248
+ const documentation = window.bpmnInstances.bpmnFactory.create("bpmn:Documentation", { text: this.documentation });
249
+ window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
250
+ documentation: [documentation]
251
+ });
252
+ }
253
+ }
254
+ }, __cssModules$c = {};
255
+ var __component__$c = /* @__PURE__ */ normalizeComponent(
256
+ __vue2_script$c,
257
+ render$c,
258
+ staticRenderFns$c,
259
+ !1,
260
+ __vue2_injectStyles$c,
261
+ null,
262
+ null,
263
+ null
264
+ );
265
+ function __vue2_injectStyles$c(context) {
266
+ for (let o in __cssModules$c)
267
+ this[o] = __cssModules$c[o];
268
+ }
269
+ const ElementOtherConfig = /* @__PURE__ */ function() {
270
+ return __component__$c.exports;
271
+ }();
272
+ var render$b = function() {
273
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
274
+ return _c("div", {
275
+ staticStyle: {
276
+ "margin-top": "16px"
277
+ }
278
+ }, [_c("ElFormItem", {
279
+ attrs: {
280
+ label: "处理用户"
281
+ }
282
+ }, [_c("ElSelect", {
283
+ on: {
284
+ change: function($event) {
285
+ return _vm.updateElementTask("assignee");
286
+ }
287
+ },
288
+ model: {
289
+ value: _vm.userTaskForm.assignee,
290
+ callback: function($$v) {
291
+ _vm.$set(_vm.userTaskForm, "assignee", $$v);
292
+ },
293
+ expression: "userTaskForm.assignee"
294
+ }
295
+ }, _vm._l(_vm.mockData, function(ak) {
296
+ return _c("ElOption", {
297
+ key: `ass-${ak}`,
298
+ attrs: {
299
+ label: `用户${ak}`,
300
+ value: `user${ak}`
301
+ }
302
+ });
303
+ }), 1)], 1), _c("ElFormItem", {
304
+ attrs: {
305
+ label: "候选用户"
306
+ }
307
+ }, [_c("ElSelect", {
308
+ attrs: {
309
+ multiple: "",
310
+ "collapse-tags": ""
311
+ },
312
+ on: {
313
+ change: function($event) {
314
+ return _vm.updateElementTask("candidateUsers");
315
+ }
316
+ },
317
+ model: {
318
+ value: _vm.userTaskForm.candidateUsers,
319
+ callback: function($$v) {
320
+ _vm.$set(_vm.userTaskForm, "candidateUsers", $$v);
321
+ },
322
+ expression: "userTaskForm.candidateUsers"
323
+ }
324
+ }, _vm._l(_vm.mockData, function(uk) {
325
+ return _c("ElOption", {
326
+ key: `user-${uk}`,
327
+ attrs: {
328
+ label: `用户${uk}`,
329
+ value: `user${uk}`
330
+ }
331
+ });
332
+ }), 1)], 1), _c("ElFormItem", {
333
+ attrs: {
334
+ label: "候选分组"
335
+ }
336
+ }, [_c("ElSelect", {
337
+ attrs: {
338
+ multiple: "",
339
+ "collapse-tags": ""
340
+ },
341
+ on: {
342
+ change: function($event) {
343
+ return _vm.updateElementTask("candidateGroups");
344
+ }
345
+ },
346
+ model: {
347
+ value: _vm.userTaskForm.candidateGroups,
348
+ callback: function($$v) {
349
+ _vm.$set(_vm.userTaskForm, "candidateGroups", $$v);
350
+ },
351
+ expression: "userTaskForm.candidateGroups"
352
+ }
353
+ }, _vm._l(_vm.mockData, function(gk) {
354
+ return _c("ElOption", {
355
+ key: `ass-${gk}`,
356
+ attrs: {
357
+ label: `分组${gk}`,
358
+ value: `group${gk}`
359
+ }
360
+ });
361
+ }), 1)], 1), _c("ElFormItem", {
362
+ attrs: {
363
+ label: "到期时间"
364
+ }
365
+ }, [_c("ElInput", {
366
+ attrs: {
367
+ clearable: ""
368
+ },
369
+ on: {
370
+ change: function($event) {
371
+ return _vm.updateElementTask("dueDate");
372
+ }
373
+ },
374
+ model: {
375
+ value: _vm.userTaskForm.dueDate,
376
+ callback: function($$v) {
377
+ _vm.$set(_vm.userTaskForm, "dueDate", $$v);
378
+ },
379
+ expression: "userTaskForm.dueDate"
380
+ }
381
+ })], 1), _c("ElFormItem", {
382
+ attrs: {
383
+ label: "跟踪时间"
384
+ }
385
+ }, [_c("ElInput", {
386
+ attrs: {
387
+ clearable: ""
388
+ },
389
+ on: {
390
+ change: function($event) {
391
+ return _vm.updateElementTask("followUpDate");
392
+ }
393
+ },
394
+ model: {
395
+ value: _vm.userTaskForm.followUpDate,
396
+ callback: function($$v) {
397
+ _vm.$set(_vm.userTaskForm, "followUpDate", $$v);
398
+ },
399
+ expression: "userTaskForm.followUpDate"
400
+ }
401
+ })], 1), _c("ElFormItem", {
402
+ attrs: {
403
+ label: "优先级"
404
+ }
405
+ }, [_c("ElInput", {
406
+ attrs: {
407
+ clearable: ""
408
+ },
409
+ on: {
410
+ change: function($event) {
411
+ return _vm.updateElementTask("priority");
412
+ }
413
+ },
414
+ model: {
415
+ value: _vm.userTaskForm.priority,
416
+ callback: function($$v) {
417
+ _vm.$set(_vm.userTaskForm, "priority", $$v);
418
+ },
419
+ expression: "userTaskForm.priority"
420
+ }
421
+ })], 1)], 1);
422
+ }, staticRenderFns$b = [];
423
+ const __vue2_script$b = {
424
+ name: "UserTask",
425
+ props: {
426
+ id: String
427
+ },
428
+ data() {
429
+ return {
430
+ defaultTaskForm: {
431
+ assignee: "",
432
+ candidateUsers: [],
433
+ candidateGroups: [],
434
+ dueDate: "",
435
+ followUpDate: "",
436
+ priority: ""
437
+ },
438
+ userTaskForm: {},
439
+ mockData: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
440
+ };
441
+ },
442
+ watch: {
443
+ id: {
444
+ immediate: !0,
445
+ handler() {
446
+ this.bpmnElement = window.bpmnInstances.bpmnElement, this.$nextTick(() => this.resetTaskForm());
447
+ }
448
+ }
449
+ },
450
+ beforeDestroy() {
451
+ this.bpmnElement = null;
452
+ },
453
+ methods: {
454
+ resetTaskForm() {
455
+ var _a, _b;
456
+ for (const key in this.defaultTaskForm) {
457
+ let value;
458
+ key === "candidateUsers" || key === "candidateGroups" ? value = (_a = this.bpmnElement) != null && _a.businessObject[key] ? this.bpmnElement.businessObject[key].split(",") : [] : value = ((_b = this.bpmnElement) == null ? void 0 : _b.businessObject[key]) || this.defaultTaskForm[key], this.$set(this.userTaskForm, key, value);
459
+ }
460
+ },
461
+ updateElementTask(key) {
462
+ const taskAttr = /* @__PURE__ */ Object.create(null);
463
+ key === "candidateUsers" || key === "candidateGroups" ? taskAttr[key] = this.userTaskForm[key] && this.userTaskForm[key].length ? this.userTaskForm[key].join() : null : taskAttr[key] = this.userTaskForm[key] || null, window.bpmnInstances.modeling.updateProperties(this.bpmnElement, taskAttr);
464
+ }
465
+ }
466
+ }, __cssModules$b = {};
467
+ var __component__$b = /* @__PURE__ */ normalizeComponent(
468
+ __vue2_script$b,
469
+ render$b,
470
+ staticRenderFns$b,
471
+ !1,
472
+ __vue2_injectStyles$b,
473
+ null,
474
+ null,
475
+ null
476
+ );
477
+ function __vue2_injectStyles$b(context) {
478
+ for (let o in __cssModules$b)
479
+ this[o] = __cssModules$b[o];
480
+ }
481
+ const UserTask = /* @__PURE__ */ function() {
482
+ return __component__$b.exports;
483
+ }();
484
+ var render$a = function() {
485
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
486
+ return _c("div", {
487
+ staticStyle: {
488
+ "margin-top": "16px"
489
+ }
490
+ }, [_c("ElFormItem", {
491
+ attrs: {
492
+ label: "脚本格式"
493
+ }
494
+ }, [_c("ElInput", {
495
+ attrs: {
496
+ clearable: ""
497
+ },
498
+ on: {
499
+ input: function($event) {
500
+ return _vm.updateElementTask();
501
+ },
502
+ change: function($event) {
503
+ return _vm.updateElementTask();
504
+ }
505
+ },
506
+ model: {
507
+ value: _vm.scriptTaskForm.scriptFormat,
508
+ callback: function($$v) {
509
+ _vm.$set(_vm.scriptTaskForm, "scriptFormat", $$v);
510
+ },
511
+ expression: "scriptTaskForm.scriptFormat"
512
+ }
513
+ })], 1), _c("ElFormItem", {
514
+ attrs: {
515
+ label: "脚本类型"
516
+ }
517
+ }, [_c("ElSelect", {
518
+ model: {
519
+ value: _vm.scriptTaskForm.scriptType,
520
+ callback: function($$v) {
521
+ _vm.$set(_vm.scriptTaskForm, "scriptType", $$v);
522
+ },
523
+ expression: "scriptTaskForm.scriptType"
524
+ }
525
+ }, [_c("ElOption", {
526
+ attrs: {
527
+ label: "内联脚本",
528
+ value: "inline"
529
+ }
530
+ }), _c("ElOption", {
531
+ attrs: {
532
+ label: "外部资源",
533
+ value: "external"
534
+ }
535
+ })], 1)], 1), _c("ElFormItem", {
536
+ directives: [{
537
+ name: "show",
538
+ rawName: "v-show",
539
+ value: _vm.scriptTaskForm.scriptType === "inline",
540
+ expression: "scriptTaskForm.scriptType === 'inline'"
541
+ }],
542
+ attrs: {
543
+ label: "脚本"
544
+ }
545
+ }, [_c("ElInput", {
546
+ attrs: {
547
+ type: "textarea",
548
+ resize: "vertical",
549
+ autosize: {
550
+ minRows: 2,
551
+ maxRows: 4
552
+ },
553
+ clearable: ""
554
+ },
555
+ on: {
556
+ input: function($event) {
557
+ return _vm.updateElementTask();
558
+ },
559
+ change: function($event) {
560
+ return _vm.updateElementTask();
561
+ }
562
+ },
563
+ model: {
564
+ value: _vm.scriptTaskForm.script,
565
+ callback: function($$v) {
566
+ _vm.$set(_vm.scriptTaskForm, "script", $$v);
567
+ },
568
+ expression: "scriptTaskForm.script"
569
+ }
570
+ })], 1), _c("ElFormItem", {
571
+ directives: [{
572
+ name: "show",
573
+ rawName: "v-show",
574
+ value: _vm.scriptTaskForm.scriptType === "external",
575
+ expression: "scriptTaskForm.scriptType === 'external'"
576
+ }],
577
+ attrs: {
578
+ label: "资源地址"
579
+ }
580
+ }, [_c("ElInput", {
581
+ attrs: {
582
+ clearable: ""
583
+ },
584
+ on: {
585
+ input: function($event) {
586
+ return _vm.updateElementTask();
587
+ },
588
+ change: function($event) {
589
+ return _vm.updateElementTask();
590
+ }
591
+ },
592
+ model: {
593
+ value: _vm.scriptTaskForm.resource,
594
+ callback: function($$v) {
595
+ _vm.$set(_vm.scriptTaskForm, "resource", $$v);
596
+ },
597
+ expression: "scriptTaskForm.resource"
598
+ }
599
+ })], 1), _c("ElFormItem", {
600
+ attrs: {
601
+ label: "结果变量"
602
+ }
603
+ }, [_c("ElInput", {
604
+ attrs: {
605
+ clearable: ""
606
+ },
607
+ on: {
608
+ input: function($event) {
609
+ return _vm.updateElementTask();
610
+ },
611
+ change: function($event) {
612
+ return _vm.updateElementTask();
613
+ }
614
+ },
615
+ model: {
616
+ value: _vm.scriptTaskForm.resultVariable,
617
+ callback: function($$v) {
618
+ _vm.$set(_vm.scriptTaskForm, "resultVariable", $$v);
619
+ },
620
+ expression: "scriptTaskForm.resultVariable"
621
+ }
622
+ })], 1)], 1);
623
+ }, staticRenderFns$a = [];
624
+ const __vue2_script$a = {
625
+ name: "ScriptTask",
626
+ props: {
627
+ id: String
628
+ },
629
+ data() {
630
+ return {
631
+ defaultTaskForm: {
632
+ scriptFormat: "",
633
+ script: "",
634
+ resource: "",
635
+ resultVariable: ""
636
+ },
637
+ scriptTaskForm: {}
638
+ };
639
+ },
640
+ watch: {
641
+ id: {
642
+ immediate: !0,
643
+ handler() {
644
+ this.bpmnElement = window.bpmnInstances.bpmnElement, this.$nextTick(() => this.resetTaskForm());
645
+ }
646
+ }
647
+ },
648
+ beforeDestroy() {
649
+ this.bpmnElement = null;
650
+ },
651
+ methods: {
652
+ resetTaskForm() {
653
+ var _a;
654
+ for (const key in this.defaultTaskForm) {
655
+ const value = ((_a = this.bpmnElement) == null ? void 0 : _a.businessObject[key]) || this.defaultTaskForm[key];
656
+ this.$set(this.scriptTaskForm, key, value);
657
+ }
658
+ this.$set(this.scriptTaskForm, "scriptType", this.scriptTaskForm.script ? "inline" : "external");
659
+ },
660
+ updateElementTask() {
661
+ const taskAttr = /* @__PURE__ */ Object.create(null);
662
+ taskAttr.scriptFormat = this.scriptTaskForm.scriptFormat || null, taskAttr.resultVariable = this.scriptTaskForm.resultVariable || null, this.scriptTaskForm.scriptType === "inline" ? (taskAttr.script = this.scriptTaskForm.script || null, taskAttr.resource = null) : (taskAttr.resource = this.scriptTaskForm.resource || null, taskAttr.script = null), window.bpmnInstances.modeling.updateProperties(this.bpmnElement, taskAttr);
663
+ }
664
+ }
665
+ }, __cssModules$a = {};
666
+ var __component__$a = /* @__PURE__ */ normalizeComponent(
667
+ __vue2_script$a,
668
+ render$a,
669
+ staticRenderFns$a,
670
+ !1,
671
+ __vue2_injectStyles$a,
672
+ null,
673
+ null,
674
+ null
675
+ );
676
+ function __vue2_injectStyles$a(context) {
677
+ for (let o in __cssModules$a)
678
+ this[o] = __cssModules$a[o];
679
+ }
680
+ const ScriptTask = /* @__PURE__ */ function() {
681
+ return __component__$a.exports;
682
+ }();
683
+ var render$9 = function() {
684
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
685
+ return _c("div", {
686
+ staticStyle: {
687
+ "margin-top": "16px"
688
+ }
689
+ }, [_c("ElFormItem", {
690
+ attrs: {
691
+ label: "消息实例"
692
+ }
693
+ }, [_c("div", {
694
+ staticStyle: {
695
+ display: "flex",
696
+ "align-items": "center",
697
+ "justify-content": "space-between",
698
+ "flex-wrap": "nowrap"
699
+ }
700
+ }, [_c("ElSelect", {
701
+ on: {
702
+ change: _vm.updateTaskMessage
703
+ },
704
+ model: {
705
+ value: _vm.bindMessageId,
706
+ callback: function($$v) {
707
+ _vm.bindMessageId = $$v;
708
+ },
709
+ expression: "bindMessageId"
710
+ }
711
+ }, _vm._l(Object.keys(_vm.messageMap), function(id) {
712
+ return _c("ElOption", {
713
+ key: id,
714
+ attrs: {
715
+ value: id,
716
+ label: _vm.messageMap[id]
717
+ }
718
+ });
719
+ }), 1), _c("ElButton", {
720
+ staticStyle: {
721
+ "margin-left": "8px"
722
+ },
723
+ attrs: {
724
+ size: "mini",
725
+ type: "primary",
726
+ icon: "el-icon-plus"
727
+ },
728
+ on: {
729
+ click: _vm.openMessageModel
730
+ }
731
+ })], 1)]), _c("ElementDialog", {
732
+ attrs: {
733
+ visible: _vm.messageModelVisible,
734
+ "close-on-click-modal": !1,
735
+ title: "创建新消息",
736
+ width: "400px",
737
+ "append-to-body": "",
738
+ "destroy-on-close": ""
739
+ },
740
+ on: {
741
+ "update:visible": function($event) {
742
+ _vm.messageModelVisible = $event;
743
+ }
744
+ },
745
+ scopedSlots: _vm._u([{
746
+ key: "footer",
747
+ fn: function() {
748
+ return [_c("ElButton", {
749
+ attrs: {
750
+ size: "mini",
751
+ type: "primary"
752
+ },
753
+ on: {
754
+ click: _vm.createNewMessage
755
+ }
756
+ }, [_vm._v("确 认")])];
757
+ },
758
+ proxy: !0
759
+ }])
760
+ }, [_c("ElForm", {
761
+ attrs: {
762
+ model: _vm.newMessageForm,
763
+ size: "mini",
764
+ "label-width": "90px"
765
+ },
766
+ nativeOn: {
767
+ submit: function($event) {
768
+ $event.preventDefault();
769
+ }
770
+ }
771
+ }, [_c("ElFormItem", {
772
+ attrs: {
773
+ label: "消息ID"
774
+ }
775
+ }, [_c("ElInput", {
776
+ attrs: {
777
+ clearable: ""
778
+ },
779
+ model: {
780
+ value: _vm.newMessageForm.id,
781
+ callback: function($$v) {
782
+ _vm.$set(_vm.newMessageForm, "id", $$v);
783
+ },
784
+ expression: "newMessageForm.id"
785
+ }
786
+ })], 1), _c("ElFormItem", {
787
+ attrs: {
788
+ label: "消息名称"
789
+ }
790
+ }, [_c("ElInput", {
791
+ attrs: {
792
+ clearable: ""
793
+ },
794
+ model: {
795
+ value: _vm.newMessageForm.name,
796
+ callback: function($$v) {
797
+ _vm.$set(_vm.newMessageForm, "name", $$v);
798
+ },
799
+ expression: "newMessageForm.name"
800
+ }
801
+ })], 1)], 1)], 1)], 1);
802
+ }, staticRenderFns$9 = [];
803
+ const __vue2_script$9 = {
804
+ name: "ReceiveTask",
805
+ props: {
806
+ id: String
807
+ },
808
+ data() {
809
+ return {
810
+ bindMessageId: "",
811
+ newMessageForm: {},
812
+ messageMap: {},
813
+ messageModelVisible: !1
814
+ };
815
+ },
816
+ watch: {
817
+ id: {
818
+ immediate: !0,
819
+ handler() {
820
+ this.$nextTick(() => this.getBindMessage());
821
+ }
822
+ }
823
+ },
824
+ created() {
825
+ this.bpmnMessageRefsMap = /* @__PURE__ */ Object.create(null), this.bpmnRootElements = window.bpmnInstances.modeler.getDefinitions().rootElements, this.bpmnRootElements.filter((el) => el.$type === "bpmn:Message").forEach((m) => {
826
+ this.bpmnMessageRefsMap[m.id] = m, this.$set(this.messageMap, m.id, m.name);
827
+ }), this.$set(this.messageMap, "-1", "无");
828
+ },
829
+ beforeDestroy() {
830
+ this.bpmnElement = null;
831
+ },
832
+ methods: {
833
+ getBindMessage() {
834
+ var _a, _b;
835
+ this.bpmnElement = window.bpmnInstances.bpmnElement, this.bindMessageId = ((_b = (_a = this.bpmnElement.businessObject) == null ? void 0 : _a.messageRef) == null ? void 0 : _b.id) || "-1";
836
+ },
837
+ openMessageModel() {
838
+ this.messageModelVisible = !0, this.newMessageForm = {};
839
+ },
840
+ createNewMessage() {
841
+ if (this.messageMap[this.newMessageForm.id]) {
842
+ this.$message.error("该消息已存在,请修改id后重新保存");
843
+ return;
844
+ }
845
+ const newMessage = window.bpmnInstances.moddle.create("bpmn:Message", this.newMessageForm);
846
+ this.bpmnRootElements.push(newMessage), this.$set(this.messageMap, this.newMessageForm.id, this.newMessageForm.name), this.bpmnMessageRefsMap[this.newMessageForm.id] = newMessage, this.messageModelVisible = !1;
847
+ },
848
+ updateTaskMessage(messageId) {
849
+ messageId === "-1" ? window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
850
+ messageRef: null
851
+ }) : window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
852
+ messageRef: this.bpmnMessageRefsMap[messageId]
853
+ });
854
+ }
855
+ }
856
+ }, __cssModules$9 = {};
857
+ var __component__$9 = /* @__PURE__ */ normalizeComponent(
858
+ __vue2_script$9,
859
+ render$9,
860
+ staticRenderFns$9,
861
+ !1,
862
+ __vue2_injectStyles$9,
863
+ null,
864
+ null,
865
+ null
866
+ );
867
+ function __vue2_injectStyles$9(context) {
868
+ for (let o in __cssModules$9)
869
+ this[o] = __cssModules$9[o];
870
+ }
871
+ const ReceiveTask = /* @__PURE__ */ function() {
872
+ return __component__$9.exports;
873
+ }();
874
+ var render$8 = function() {
875
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
876
+ return _c("div", {
877
+ staticClass: "panel-tab__content"
878
+ }, [_c("ElForm", {
879
+ attrs: {
880
+ size: "mini",
881
+ "label-width": "90px"
882
+ },
883
+ nativeOn: {
884
+ submit: function($event) {
885
+ $event.preventDefault();
886
+ }
887
+ }
888
+ }, [_c("ElFormItem", {
889
+ attrs: {
890
+ label: "异步延续"
891
+ }
892
+ }, [_c("ElCheckbox", {
893
+ attrs: {
894
+ label: "异步前"
895
+ },
896
+ on: {
897
+ change: _vm.changeTaskAsync
898
+ },
899
+ model: {
900
+ value: _vm.taskConfigForm.asyncBefore,
901
+ callback: function($$v) {
902
+ _vm.$set(_vm.taskConfigForm, "asyncBefore", $$v);
903
+ },
904
+ expression: "taskConfigForm.asyncBefore"
905
+ }
906
+ }), _c("ElCheckbox", {
907
+ attrs: {
908
+ label: "异步后"
909
+ },
910
+ on: {
911
+ change: _vm.changeTaskAsync
912
+ },
913
+ model: {
914
+ value: _vm.taskConfigForm.asyncAfter,
915
+ callback: function($$v) {
916
+ _vm.$set(_vm.taskConfigForm, "asyncAfter", $$v);
917
+ },
918
+ expression: "taskConfigForm.asyncAfter"
919
+ }
920
+ }), _vm.taskConfigForm.asyncAfter || _vm.taskConfigForm.asyncBefore ? _c("ElCheckbox", {
921
+ attrs: {
922
+ label: "排除"
923
+ },
924
+ on: {
925
+ change: _vm.changeTaskAsync
926
+ },
927
+ model: {
928
+ value: _vm.taskConfigForm.exclusive,
929
+ callback: function($$v) {
930
+ _vm.$set(_vm.taskConfigForm, "exclusive", $$v);
931
+ },
932
+ expression: "taskConfigForm.exclusive"
933
+ }
934
+ }) : _vm._e()], 1), _c(_vm.witchTaskComponent, _vm._b({
935
+ tag: "Component"
936
+ }, "Component", _vm.$props, !1))], 1)], 1);
937
+ }, staticRenderFns$8 = [];
938
+ const __vue2_script$8 = {
939
+ name: "ElementTaskConfig",
940
+ components: { UserTask, ScriptTask, ReceiveTask },
941
+ props: {
942
+ id: String,
943
+ type: String
944
+ },
945
+ data() {
946
+ return {
947
+ taskConfigForm: {
948
+ asyncAfter: !1,
949
+ asyncBefore: !1,
950
+ exclusive: !1
951
+ },
952
+ witchTaskComponent: "",
953
+ installedComponent: {
954
+ // 手工任务与普通任务一致,不需要其他配置
955
+ // 接收消息任务,需要在全局下插入新的消息实例,并在该节点下的 messageRef 属性绑定该实例
956
+ // 发送任务、服务任务、业务规则任务共用一个相同配置
957
+ UserTask: "UserTask",
958
+ // 用户任务配置
959
+ ScriptTask: "ScriptTask",
960
+ // 脚本任务配置
961
+ ReceiveTask: "ReceiveTask"
962
+ // 消息接收任务
963
+ }
964
+ };
965
+ },
966
+ watch: {
967
+ id: {
968
+ immediate: !0,
969
+ handler() {
970
+ var _a, _b, _c, _d, _e, _f;
971
+ this.bpmnElement = window.bpmnInstances.bpmnElement, this.taskConfigForm.asyncBefore = (_b = (_a = this.bpmnElement) == null ? void 0 : _a.businessObject) == null ? void 0 : _b.asyncBefore, this.taskConfigForm.asyncAfter = (_d = (_c = this.bpmnElement) == null ? void 0 : _c.businessObject) == null ? void 0 : _d.asyncAfter, this.taskConfigForm.exclusive = (_f = (_e = this.bpmnElement) == null ? void 0 : _e.businessObject) == null ? void 0 : _f.exclusive;
972
+ }
973
+ },
974
+ type: {
975
+ immediate: !0,
976
+ handler() {
977
+ this.witchTaskComponent = this.installedComponent[this.type];
978
+ }
979
+ }
980
+ },
981
+ methods: {
982
+ changeTaskAsync() {
983
+ !this.taskConfigForm.asyncBefore && !this.taskConfigForm.asyncAfter && (this.taskConfigForm.exclusive = !1), window.bpmnInstances.modeling.updateProperties(window.bpmnInstances.bpmnElement, {
984
+ ...this.taskConfigForm
985
+ });
986
+ }
987
+ }
988
+ }, __cssModules$8 = {};
989
+ var __component__$8 = /* @__PURE__ */ normalizeComponent(
990
+ __vue2_script$8,
991
+ render$8,
992
+ staticRenderFns$8,
993
+ !1,
994
+ __vue2_injectStyles$8,
995
+ null,
996
+ null,
997
+ null
998
+ );
999
+ function __vue2_injectStyles$8(context) {
1000
+ for (let o in __cssModules$8)
1001
+ this[o] = __cssModules$8[o];
1002
+ }
1003
+ const ElementTask = /* @__PURE__ */ function() {
1004
+ return __component__$8.exports;
1005
+ }();
1006
+ var render$7 = function() {
1007
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
1008
+ return _c("div", {
1009
+ staticClass: "panel-tab__content"
1010
+ }, [_c("ElForm", {
1011
+ attrs: {
1012
+ size: "mini",
1013
+ "label-width": "90px"
1014
+ },
1015
+ nativeOn: {
1016
+ submit: function($event) {
1017
+ $event.preventDefault();
1018
+ }
1019
+ }
1020
+ }, [_c("ElFormItem", {
1021
+ attrs: {
1022
+ label: "回路特性"
1023
+ }
1024
+ }, [_c("ElSelect", {
1025
+ on: {
1026
+ change: _vm.changeLoopCharacteristicsType
1027
+ },
1028
+ model: {
1029
+ value: _vm.loopCharacteristics,
1030
+ callback: function($$v) {
1031
+ _vm.loopCharacteristics = $$v;
1032
+ },
1033
+ expression: "loopCharacteristics"
1034
+ }
1035
+ }, [_c("ElOption", {
1036
+ attrs: {
1037
+ label: "并行多重事件",
1038
+ value: "ParallelMultiInstance"
1039
+ }
1040
+ }), _c("ElOption", {
1041
+ attrs: {
1042
+ label: "时序多重事件",
1043
+ value: "SequentialMultiInstance"
1044
+ }
1045
+ }), _c("ElOption", {
1046
+ attrs: {
1047
+ label: "循环事件",
1048
+ value: "StandardLoop"
1049
+ }
1050
+ }), _c("ElOption", {
1051
+ attrs: {
1052
+ label: "无",
1053
+ value: "Null"
1054
+ }
1055
+ })], 1)], 1), _vm.loopCharacteristics === "ParallelMultiInstance" || _vm.loopCharacteristics === "SequentialMultiInstance" ? [_c("ElFormItem", {
1056
+ key: "loopCardinality",
1057
+ attrs: {
1058
+ label: "循环基数"
1059
+ }
1060
+ }, [_c("ElInput", {
1061
+ attrs: {
1062
+ clearable: ""
1063
+ },
1064
+ on: {
1065
+ change: _vm.updateLoopCardinality
1066
+ },
1067
+ model: {
1068
+ value: _vm.loopInstanceForm.loopCardinality,
1069
+ callback: function($$v) {
1070
+ _vm.$set(_vm.loopInstanceForm, "loopCardinality", $$v);
1071
+ },
1072
+ expression: "loopInstanceForm.loopCardinality"
1073
+ }
1074
+ })], 1), _c("ElFormItem", {
1075
+ key: "collection",
1076
+ attrs: {
1077
+ label: "集合"
1078
+ }
1079
+ }, [_c("ElInput", {
1080
+ attrs: {
1081
+ clearable: ""
1082
+ },
1083
+ on: {
1084
+ change: _vm.updateLoopBase
1085
+ },
1086
+ model: {
1087
+ value: _vm.loopInstanceForm.collection,
1088
+ callback: function($$v) {
1089
+ _vm.$set(_vm.loopInstanceForm, "collection", $$v);
1090
+ },
1091
+ expression: "loopInstanceForm.collection"
1092
+ }
1093
+ })], 1), _c("ElFormItem", {
1094
+ key: "elementVariable",
1095
+ attrs: {
1096
+ label: "元素变量"
1097
+ }
1098
+ }, [_c("ElInput", {
1099
+ attrs: {
1100
+ clearable: ""
1101
+ },
1102
+ on: {
1103
+ change: _vm.updateLoopBase
1104
+ },
1105
+ model: {
1106
+ value: _vm.loopInstanceForm.elementVariable,
1107
+ callback: function($$v) {
1108
+ _vm.$set(_vm.loopInstanceForm, "elementVariable", $$v);
1109
+ },
1110
+ expression: "loopInstanceForm.elementVariable"
1111
+ }
1112
+ })], 1), _c("ElFormItem", {
1113
+ key: "completionCondition",
1114
+ attrs: {
1115
+ label: "完成条件"
1116
+ }
1117
+ }, [_c("ElInput", {
1118
+ attrs: {
1119
+ clearable: ""
1120
+ },
1121
+ on: {
1122
+ change: _vm.updateLoopCondition
1123
+ },
1124
+ model: {
1125
+ value: _vm.loopInstanceForm.completionCondition,
1126
+ callback: function($$v) {
1127
+ _vm.$set(_vm.loopInstanceForm, "completionCondition", $$v);
1128
+ },
1129
+ expression: "loopInstanceForm.completionCondition"
1130
+ }
1131
+ })], 1), _c("ElFormItem", {
1132
+ key: "async",
1133
+ attrs: {
1134
+ label: "异步状态"
1135
+ }
1136
+ }, [_c("ElCheckbox", {
1137
+ attrs: {
1138
+ label: "异步前"
1139
+ },
1140
+ on: {
1141
+ change: function($event) {
1142
+ return _vm.updateLoopAsync("asyncBefore");
1143
+ }
1144
+ },
1145
+ model: {
1146
+ value: _vm.loopInstanceForm.asyncBefore,
1147
+ callback: function($$v) {
1148
+ _vm.$set(_vm.loopInstanceForm, "asyncBefore", $$v);
1149
+ },
1150
+ expression: "loopInstanceForm.asyncBefore"
1151
+ }
1152
+ }), _c("ElCheckbox", {
1153
+ attrs: {
1154
+ label: "异步后"
1155
+ },
1156
+ on: {
1157
+ change: function($event) {
1158
+ return _vm.updateLoopAsync("asyncAfter");
1159
+ }
1160
+ },
1161
+ model: {
1162
+ value: _vm.loopInstanceForm.asyncAfter,
1163
+ callback: function($$v) {
1164
+ _vm.$set(_vm.loopInstanceForm, "asyncAfter", $$v);
1165
+ },
1166
+ expression: "loopInstanceForm.asyncAfter"
1167
+ }
1168
+ }), _vm.loopInstanceForm.asyncAfter || _vm.loopInstanceForm.asyncBefore ? _c("ElCheckbox", {
1169
+ attrs: {
1170
+ label: "排除"
1171
+ },
1172
+ on: {
1173
+ change: function($event) {
1174
+ return _vm.updateLoopAsync("exclusive");
1175
+ }
1176
+ },
1177
+ model: {
1178
+ value: _vm.loopInstanceForm.exclusive,
1179
+ callback: function($$v) {
1180
+ _vm.$set(_vm.loopInstanceForm, "exclusive", $$v);
1181
+ },
1182
+ expression: "loopInstanceForm.exclusive"
1183
+ }
1184
+ }) : _vm._e()], 1), _vm.loopInstanceForm.asyncAfter || _vm.loopInstanceForm.asyncBefore ? _c("ElFormItem", {
1185
+ key: "timeCycle",
1186
+ attrs: {
1187
+ label: "重试周期",
1188
+ prop: "timeCycle"
1189
+ }
1190
+ }, [_c("ElInput", {
1191
+ attrs: {
1192
+ clearable: ""
1193
+ },
1194
+ on: {
1195
+ change: _vm.updateLoopTimeCycle
1196
+ },
1197
+ model: {
1198
+ value: _vm.loopInstanceForm.timeCycle,
1199
+ callback: function($$v) {
1200
+ _vm.$set(_vm.loopInstanceForm, "timeCycle", $$v);
1201
+ },
1202
+ expression: "loopInstanceForm.timeCycle"
1203
+ }
1204
+ })], 1) : _vm._e()] : _vm._e()], 2)], 1);
1205
+ }, staticRenderFns$7 = [];
1206
+ const __vue2_script$7 = {
1207
+ name: "ElementMultiInstance",
1208
+ inject: {
1209
+ prefix: "prefix"
1210
+ },
1211
+ props: {
1212
+ businessObject: Object
1213
+ },
1214
+ data() {
1215
+ return {
1216
+ loopCharacteristics: "",
1217
+ // 默认配置,用来覆盖原始不存在的选项,避免报错
1218
+ defaultLoopInstanceForm: {
1219
+ completionCondition: "",
1220
+ loopCardinality: "",
1221
+ extensionElements: [],
1222
+ asyncAfter: !1,
1223
+ asyncBefore: !1,
1224
+ exclusive: !1
1225
+ },
1226
+ loopInstanceForm: {}
1227
+ };
1228
+ },
1229
+ watch: {
1230
+ businessObject: {
1231
+ immediate: !0,
1232
+ handler(val) {
1233
+ this.bpmnElement = window.bpmnInstances.bpmnElement, this.getElementLoop(val);
1234
+ }
1235
+ }
1236
+ },
1237
+ beforeDestroy() {
1238
+ this.multiLoopInstance = null, this.bpmnElement = null;
1239
+ },
1240
+ methods: {
1241
+ getElementLoop(businessObject) {
1242
+ var _a, _b, _c, _d;
1243
+ if (!businessObject.loopCharacteristics) {
1244
+ this.loopCharacteristics = "Null", this.loopInstanceForm = {};
1245
+ return;
1246
+ }
1247
+ if (businessObject.loopCharacteristics.$type === "bpmn:StandardLoopCharacteristics") {
1248
+ this.loopCharacteristics = "StandardLoop", this.loopInstanceForm = {};
1249
+ return;
1250
+ }
1251
+ businessObject.loopCharacteristics.isSequential ? this.loopCharacteristics = "SequentialMultiInstance" : this.loopCharacteristics = "ParallelMultiInstance", this.loopInstanceForm = {
1252
+ ...this.defaultLoopInstanceForm,
1253
+ ...businessObject.loopCharacteristics,
1254
+ completionCondition: ((_b = (_a = businessObject.loopCharacteristics) == null ? void 0 : _a.completionCondition) == null ? void 0 : _b.body) ?? "",
1255
+ loopCardinality: ((_d = (_c = businessObject.loopCharacteristics) == null ? void 0 : _c.loopCardinality) == null ? void 0 : _d.body) ?? ""
1256
+ }, this.multiLoopInstance = window.bpmnInstances.bpmnElement.businessObject.loopCharacteristics, businessObject.loopCharacteristics.extensionElements && businessObject.loopCharacteristics.extensionElements.values && businessObject.loopCharacteristics.extensionElements.values.length && this.$set(this.loopInstanceForm, "timeCycle", businessObject.loopCharacteristics.extensionElements.values[0].body);
1257
+ },
1258
+ changeLoopCharacteristicsType(type) {
1259
+ if (type === "Null") {
1260
+ window.bpmnInstances.modeling.updateProperties(this.bpmnElement, { loopCharacteristics: null });
1261
+ return;
1262
+ }
1263
+ if (type === "StandardLoop") {
1264
+ const loopCharacteristicsObject = window.bpmnInstances.moddle.create("bpmn:StandardLoopCharacteristics");
1265
+ window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
1266
+ loopCharacteristics: loopCharacteristicsObject
1267
+ }), this.multiLoopInstance = null;
1268
+ return;
1269
+ }
1270
+ type === "SequentialMultiInstance" ? this.multiLoopInstance = window.bpmnInstances.moddle.create("bpmn:MultiInstanceLoopCharacteristics", {
1271
+ isSequential: !0
1272
+ }) : this.multiLoopInstance = window.bpmnInstances.moddle.create("bpmn:MultiInstanceLoopCharacteristics"), window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
1273
+ loopCharacteristics: this.multiLoopInstance
1274
+ });
1275
+ },
1276
+ // 循环基数
1277
+ updateLoopCardinality(cardinality) {
1278
+ let loopCardinality = null;
1279
+ cardinality && cardinality.length && (loopCardinality = window.bpmnInstances.moddle.create("bpmn:FormalExpression", { body: cardinality })), window.bpmnInstances.modeling.updateModdleProperties(this.bpmnElement, this.multiLoopInstance, {
1280
+ loopCardinality
1281
+ });
1282
+ },
1283
+ // 完成条件
1284
+ updateLoopCondition(condition) {
1285
+ let completionCondition = null;
1286
+ condition && condition.length && (completionCondition = window.bpmnInstances.moddle.create("bpmn:FormalExpression", { body: condition })), window.bpmnInstances.modeling.updateModdleProperties(this.bpmnElement, this.multiLoopInstance, {
1287
+ completionCondition
1288
+ });
1289
+ },
1290
+ // 重试周期
1291
+ updateLoopTimeCycle(timeCycle) {
1292
+ const extensionElements = window.bpmnInstances.moddle.create("bpmn:ExtensionElements", {
1293
+ values: [
1294
+ window.bpmnInstances.moddle.create(`${this.prefix}:FailedJobRetryTimeCycle`, {
1295
+ body: timeCycle
1296
+ })
1297
+ ]
1298
+ });
1299
+ window.bpmnInstances.modeling.updateModdleProperties(this.bpmnElement, this.multiLoopInstance, {
1300
+ extensionElements
1301
+ });
1302
+ },
1303
+ // 直接更新的基础信息
1304
+ updateLoopBase() {
1305
+ window.bpmnInstances.modeling.updateModdleProperties(this.bpmnElement, this.multiLoopInstance, {
1306
+ collection: this.loopInstanceForm.collection || null,
1307
+ elementVariable: this.loopInstanceForm.elementVariable || null
1308
+ });
1309
+ },
1310
+ // 各异步状态
1311
+ updateLoopAsync(key) {
1312
+ const { asyncBefore, asyncAfter } = this.loopInstanceForm;
1313
+ let asyncAttr = /* @__PURE__ */ Object.create(null);
1314
+ !asyncBefore && !asyncAfter ? (this.$set(this.loopInstanceForm, "exclusive", !1), asyncAttr = { asyncBefore: !1, asyncAfter: !1, exclusive: !1, extensionElements: null }) : asyncAttr[key] = this.loopInstanceForm[key], window.bpmnInstances.modeling.updateModdleProperties(this.bpmnElement, this.multiLoopInstance, asyncAttr);
1315
+ }
1316
+ }
1317
+ }, __cssModules$7 = {};
1318
+ var __component__$7 = /* @__PURE__ */ normalizeComponent(
1319
+ __vue2_script$7,
1320
+ render$7,
1321
+ staticRenderFns$7,
1322
+ !1,
1323
+ __vue2_injectStyles$7,
1324
+ null,
1325
+ null,
1326
+ null
1327
+ );
1328
+ function __vue2_injectStyles$7(context) {
1329
+ for (let o in __cssModules$7)
1330
+ this[o] = __cssModules$7[o];
1331
+ }
1332
+ const ElementMultiInstance = /* @__PURE__ */ function() {
1333
+ return __component__$7.exports;
1334
+ }();
1335
+ var render$6 = function() {
1336
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
1337
+ return _c("div", {
1338
+ staticClass: "panel-tab__content"
1339
+ }, [_c("ElForm", {
1340
+ attrs: {
1341
+ model: _vm.flowConditionForm,
1342
+ "label-width": "90px",
1343
+ size: "mini"
1344
+ },
1345
+ nativeOn: {
1346
+ submit: function($event) {
1347
+ $event.preventDefault();
1348
+ }
1349
+ }
1350
+ }, [_c("ElFormItem", {
1351
+ attrs: {
1352
+ label: "流转类型"
1353
+ }
1354
+ }, [_c("ElSelect", {
1355
+ on: {
1356
+ change: _vm.updateFlowType
1357
+ },
1358
+ model: {
1359
+ value: _vm.flowConditionForm.type,
1360
+ callback: function($$v) {
1361
+ _vm.$set(_vm.flowConditionForm, "type", $$v);
1362
+ },
1363
+ expression: "flowConditionForm.type"
1364
+ }
1365
+ }, [_c("ElOption", {
1366
+ attrs: {
1367
+ label: "普通流转路径",
1368
+ value: "normal"
1369
+ }
1370
+ }), _c("ElOption", {
1371
+ attrs: {
1372
+ label: "默认流转路径",
1373
+ value: "default"
1374
+ }
1375
+ }), _c("ElOption", {
1376
+ attrs: {
1377
+ label: "条件流转路径",
1378
+ value: "condition"
1379
+ }
1380
+ })], 1)], 1), _vm.flowConditionForm.type === "condition" ? _c("ElFormItem", {
1381
+ key: "condition",
1382
+ attrs: {
1383
+ label: "条件格式"
1384
+ }
1385
+ }, [_c("ElSelect", {
1386
+ model: {
1387
+ value: _vm.flowConditionForm.conditionType,
1388
+ callback: function($$v) {
1389
+ _vm.$set(_vm.flowConditionForm, "conditionType", $$v);
1390
+ },
1391
+ expression: "flowConditionForm.conditionType"
1392
+ }
1393
+ }, [_c("ElOption", {
1394
+ attrs: {
1395
+ label: "表达式",
1396
+ value: "expression"
1397
+ }
1398
+ }), _c("ElOption", {
1399
+ attrs: {
1400
+ label: "脚本",
1401
+ value: "script"
1402
+ }
1403
+ })], 1)], 1) : _vm._e(), _vm.flowConditionForm.conditionType && _vm.flowConditionForm.conditionType === "expression" ? _c("ElFormItem", {
1404
+ key: "express",
1405
+ attrs: {
1406
+ label: "表达式"
1407
+ }
1408
+ }, [_c("ElInput", {
1409
+ attrs: {
1410
+ clearable: ""
1411
+ },
1412
+ on: {
1413
+ change: _vm.updateFlowCondition
1414
+ },
1415
+ model: {
1416
+ value: _vm.flowConditionForm.body,
1417
+ callback: function($$v) {
1418
+ _vm.$set(_vm.flowConditionForm, "body", $$v);
1419
+ },
1420
+ expression: "flowConditionForm.body"
1421
+ }
1422
+ })], 1) : _vm._e(), _vm.flowConditionForm.conditionType && _vm.flowConditionForm.conditionType === "script" ? [_c("ElFormItem", {
1423
+ key: "language",
1424
+ attrs: {
1425
+ label: "脚本语言"
1426
+ }
1427
+ }, [_c("ElInput", {
1428
+ attrs: {
1429
+ clearable: ""
1430
+ },
1431
+ on: {
1432
+ change: _vm.updateFlowCondition
1433
+ },
1434
+ model: {
1435
+ value: _vm.flowConditionForm.language,
1436
+ callback: function($$v) {
1437
+ _vm.$set(_vm.flowConditionForm, "language", $$v);
1438
+ },
1439
+ expression: "flowConditionForm.language"
1440
+ }
1441
+ })], 1), _c("ElFormItem", {
1442
+ key: "scriptType",
1443
+ attrs: {
1444
+ label: "脚本类型"
1445
+ }
1446
+ }, [_c("ElSelect", {
1447
+ model: {
1448
+ value: _vm.flowConditionForm.scriptType,
1449
+ callback: function($$v) {
1450
+ _vm.$set(_vm.flowConditionForm, "scriptType", $$v);
1451
+ },
1452
+ expression: "flowConditionForm.scriptType"
1453
+ }
1454
+ }, [_c("ElOption", {
1455
+ attrs: {
1456
+ label: "内联脚本",
1457
+ value: "inlineScript"
1458
+ }
1459
+ }), _c("ElOption", {
1460
+ attrs: {
1461
+ label: "外部脚本",
1462
+ value: "externalScript"
1463
+ }
1464
+ })], 1)], 1), _vm.flowConditionForm.scriptType === "inlineScript" ? _c("ElFormItem", {
1465
+ key: "body",
1466
+ attrs: {
1467
+ label: "脚本"
1468
+ }
1469
+ }, [_c("ElInput", {
1470
+ attrs: {
1471
+ type: "textarea",
1472
+ clearable: ""
1473
+ },
1474
+ on: {
1475
+ change: _vm.updateFlowCondition
1476
+ },
1477
+ model: {
1478
+ value: _vm.flowConditionForm.body,
1479
+ callback: function($$v) {
1480
+ _vm.$set(_vm.flowConditionForm, "body", $$v);
1481
+ },
1482
+ expression: "flowConditionForm.body"
1483
+ }
1484
+ })], 1) : _vm._e(), _vm.flowConditionForm.scriptType === "externalScript" ? _c("ElFormItem", {
1485
+ key: "resource",
1486
+ attrs: {
1487
+ label: "资源地址"
1488
+ }
1489
+ }, [_c("ElInput", {
1490
+ attrs: {
1491
+ clearable: ""
1492
+ },
1493
+ on: {
1494
+ change: _vm.updateFlowCondition
1495
+ },
1496
+ model: {
1497
+ value: _vm.flowConditionForm.resource,
1498
+ callback: function($$v) {
1499
+ _vm.$set(_vm.flowConditionForm, "resource", $$v);
1500
+ },
1501
+ expression: "flowConditionForm.resource"
1502
+ }
1503
+ })], 1) : _vm._e()] : _vm._e()], 2)], 1);
1504
+ }, staticRenderFns$6 = [];
1505
+ const __vue2_script$6 = {
1506
+ name: "FlowCondition",
1507
+ props: {
1508
+ businessObject: Object
1509
+ },
1510
+ data() {
1511
+ return {
1512
+ flowConditionForm: {}
1513
+ };
1514
+ },
1515
+ watch: {
1516
+ businessObject: {
1517
+ immediate: !0,
1518
+ handler() {
1519
+ this.$nextTick(() => this.resetFlowCondition());
1520
+ }
1521
+ }
1522
+ },
1523
+ beforeDestroy() {
1524
+ this.bpmnElement = null, this.bpmnElementSource = null, this.bpmnElementSourceRef = null;
1525
+ },
1526
+ methods: {
1527
+ resetFlowCondition() {
1528
+ if (this.bpmnElement = window.bpmnInstances.bpmnElement, this.bpmnElementSource = this.bpmnElement.source, this.bpmnElementSourceRef = this.bpmnElement.businessObject.sourceRef, this.bpmnElementSourceRef && this.bpmnElementSourceRef.default && this.bpmnElementSourceRef.default.id === this.bpmnElement.id)
1529
+ this.flowConditionForm = { type: "default" };
1530
+ else if (!this.bpmnElement.businessObject.conditionExpression)
1531
+ this.flowConditionForm = { type: "normal" };
1532
+ else {
1533
+ const conditionExpression = this.bpmnElement.businessObject.conditionExpression;
1534
+ if (this.flowConditionForm = { ...conditionExpression, type: "condition" }, this.flowConditionForm.resource) {
1535
+ this.$set(this.flowConditionForm, "conditionType", "script"), this.$set(this.flowConditionForm, "scriptType", "externalScript");
1536
+ return;
1537
+ }
1538
+ if (conditionExpression.language) {
1539
+ this.$set(this.flowConditionForm, "conditionType", "script"), this.$set(this.flowConditionForm, "scriptType", "inlineScript");
1540
+ return;
1541
+ }
1542
+ this.$set(this.flowConditionForm, "conditionType", "expression");
1543
+ }
1544
+ },
1545
+ updateFlowType(flowType) {
1546
+ if (flowType === "condition") {
1547
+ this.flowConditionRef = window.bpmnInstances.moddle.create("bpmn:FormalExpression"), window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
1548
+ conditionExpression: this.flowConditionRef
1549
+ });
1550
+ return;
1551
+ }
1552
+ if (flowType === "default") {
1553
+ window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
1554
+ conditionExpression: null
1555
+ }), window.bpmnInstances.modeling.updateProperties(this.bpmnElementSource, {
1556
+ default: this.bpmnElement
1557
+ });
1558
+ return;
1559
+ }
1560
+ this.bpmnElementSourceRef.default && this.bpmnElementSourceRef.default.id === this.bpmnElement.id && window.bpmnInstances.modeling.updateProperties(this.bpmnElementSource, {
1561
+ default: null
1562
+ }), window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
1563
+ conditionExpression: null
1564
+ });
1565
+ },
1566
+ updateFlowCondition() {
1567
+ const { conditionType, scriptType, body, resource, language } = this.flowConditionForm;
1568
+ let condition;
1569
+ conditionType === "expression" ? condition = window.bpmnInstances.moddle.create("bpmn:FormalExpression", { body }) : scriptType === "inlineScript" ? (condition = window.bpmnInstances.moddle.create("bpmn:FormalExpression", { body, language }), this.$set(this.flowConditionForm, "resource", "")) : (this.$set(this.flowConditionForm, "body", ""), condition = window.bpmnInstances.moddle.create("bpmn:FormalExpression", { resource, language })), window.bpmnInstances.modeling.updateProperties(this.bpmnElement, { conditionExpression: condition });
1570
+ }
1571
+ }
1572
+ }, __cssModules$6 = {};
1573
+ var __component__$6 = /* @__PURE__ */ normalizeComponent(
1574
+ __vue2_script$6,
1575
+ render$6,
1576
+ staticRenderFns$6,
1577
+ !1,
1578
+ __vue2_injectStyles$6,
1579
+ null,
1580
+ null,
1581
+ null
1582
+ );
1583
+ function __vue2_injectStyles$6(context) {
1584
+ for (let o in __cssModules$6)
1585
+ this[o] = __cssModules$6[o];
1586
+ }
1587
+ const FlowCondition = /* @__PURE__ */ function() {
1588
+ return __component__$6.exports;
1589
+ }();
1590
+ var render$5 = function() {
1591
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
1592
+ return _c("div", {
1593
+ staticClass: "panel-tab__content"
1594
+ }, [_c("div", {
1595
+ staticClass: "panel-tab__content--title"
1596
+ }, [_vm._m(0), _c("ElButton", {
1597
+ attrs: {
1598
+ size: "mini",
1599
+ type: "primary",
1600
+ icon: "el-icon-plus"
1601
+ },
1602
+ on: {
1603
+ click: function($event) {
1604
+ return _vm.openModel("message");
1605
+ }
1606
+ }
1607
+ }, [_vm._v("创建新消息")])], 1), _c("ElTable", {
1608
+ attrs: {
1609
+ data: _vm.messageList,
1610
+ size: "mini",
1611
+ border: ""
1612
+ }
1613
+ }, [_c("ElTableColumn", {
1614
+ attrs: {
1615
+ type: "index",
1616
+ label: "序号",
1617
+ width: "60px"
1618
+ }
1619
+ }), _c("ElTableColumn", {
1620
+ attrs: {
1621
+ label: "消息ID",
1622
+ prop: "id",
1623
+ "max-width": "300px",
1624
+ "show-overflow-tooltip": ""
1625
+ }
1626
+ }), _c("ElTableColumn", {
1627
+ attrs: {
1628
+ label: "消息名称",
1629
+ prop: "name",
1630
+ "max-width": "300px",
1631
+ "show-overflow-tooltip": ""
1632
+ }
1633
+ })], 1), _c("div", {
1634
+ staticClass: "panel-tab__content--title",
1635
+ staticStyle: {
1636
+ "padding-top": "8px",
1637
+ "margin-top": "8px",
1638
+ "border-top": "1px solid #eeeeee"
1639
+ }
1640
+ }, [_vm._m(1), _c("ElButton", {
1641
+ attrs: {
1642
+ size: "mini",
1643
+ type: "primary",
1644
+ icon: "el-icon-plus"
1645
+ },
1646
+ on: {
1647
+ click: function($event) {
1648
+ return _vm.openModel("signal");
1649
+ }
1650
+ }
1651
+ }, [_vm._v("创建新信号")])], 1), _c("ElTable", {
1652
+ attrs: {
1653
+ data: _vm.signalList,
1654
+ size: "mini",
1655
+ border: ""
1656
+ }
1657
+ }, [_c("ElTableColumn", {
1658
+ attrs: {
1659
+ type: "index",
1660
+ label: "序号",
1661
+ width: "60px"
1662
+ }
1663
+ }), _c("ElTableColumn", {
1664
+ attrs: {
1665
+ label: "信号ID",
1666
+ prop: "id",
1667
+ "max-width": "300px",
1668
+ "show-overflow-tooltip": ""
1669
+ }
1670
+ }), _c("ElTableColumn", {
1671
+ attrs: {
1672
+ label: "信号名称",
1673
+ prop: "name",
1674
+ "max-width": "300px",
1675
+ "show-overflow-tooltip": ""
1676
+ }
1677
+ })], 1), _c("ElementDialog", {
1678
+ attrs: {
1679
+ visible: _vm.modelVisible,
1680
+ title: _vm.modelConfig.title,
1681
+ "close-on-click-modal": !1,
1682
+ width: "400px",
1683
+ "append-to-body": "",
1684
+ "destroy-on-close": ""
1685
+ },
1686
+ on: {
1687
+ "update:visible": function($event) {
1688
+ _vm.modelVisible = $event;
1689
+ }
1690
+ },
1691
+ scopedSlots: _vm._u([{
1692
+ key: "footer",
1693
+ fn: function() {
1694
+ return [_c("ElButton", {
1695
+ attrs: {
1696
+ size: "mini"
1697
+ },
1698
+ on: {
1699
+ click: function($event) {
1700
+ _vm.modelVisible = !1;
1701
+ }
1702
+ }
1703
+ }, [_vm._v("取 消")]), _c("ElButton", {
1704
+ attrs: {
1705
+ size: "mini",
1706
+ type: "primary"
1707
+ },
1708
+ on: {
1709
+ click: _vm.addNewObject
1710
+ }
1711
+ }, [_vm._v("保 存")])];
1712
+ },
1713
+ proxy: !0
1714
+ }])
1715
+ }, [_c("ElForm", {
1716
+ attrs: {
1717
+ model: _vm.modelObjectForm,
1718
+ size: "mini",
1719
+ "label-width": "90px"
1720
+ },
1721
+ nativeOn: {
1722
+ submit: function($event) {
1723
+ $event.preventDefault();
1724
+ }
1725
+ }
1726
+ }, [_c("ElFormItem", {
1727
+ attrs: {
1728
+ label: _vm.modelConfig.idLabel
1729
+ }
1730
+ }, [_c("ElInput", {
1731
+ attrs: {
1732
+ clearable: ""
1733
+ },
1734
+ model: {
1735
+ value: _vm.modelObjectForm.id,
1736
+ callback: function($$v) {
1737
+ _vm.$set(_vm.modelObjectForm, "id", $$v);
1738
+ },
1739
+ expression: "modelObjectForm.id"
1740
+ }
1741
+ })], 1), _c("ElFormItem", {
1742
+ attrs: {
1743
+ label: _vm.modelConfig.nameLabel
1744
+ }
1745
+ }, [_c("ElInput", {
1746
+ attrs: {
1747
+ clearable: ""
1748
+ },
1749
+ model: {
1750
+ value: _vm.modelObjectForm.name,
1751
+ callback: function($$v) {
1752
+ _vm.$set(_vm.modelObjectForm, "name", $$v);
1753
+ },
1754
+ expression: "modelObjectForm.name"
1755
+ }
1756
+ })], 1)], 1)], 1)], 1);
1757
+ }, staticRenderFns$5 = [function() {
1758
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
1759
+ return _c("span", [_c("i", {
1760
+ staticClass: "el-icon-menu",
1761
+ staticStyle: {
1762
+ "margin-right": "8px",
1763
+ color: "#555555"
1764
+ }
1765
+ }), _vm._v("消息列表")]);
1766
+ }, function() {
1767
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
1768
+ return _c("span", [_c("i", {
1769
+ staticClass: "el-icon-menu",
1770
+ staticStyle: {
1771
+ "margin-right": "8px",
1772
+ color: "#555555"
1773
+ }
1774
+ }), _vm._v("信号列表")]);
1775
+ }];
1776
+ const __vue2_script$5 = {
1777
+ name: "SignalAndMessage",
1778
+ data() {
1779
+ return {
1780
+ signalList: [],
1781
+ messageList: [],
1782
+ modelVisible: !1,
1783
+ modelType: "",
1784
+ modelObjectForm: {}
1785
+ };
1786
+ },
1787
+ computed: {
1788
+ modelConfig() {
1789
+ return this.modelType === "message" ? { title: "创建消息", idLabel: "消息ID", nameLabel: "消息名称" } : { title: "创建信号", idLabel: "信号ID", nameLabel: "信号名称" };
1790
+ }
1791
+ },
1792
+ mounted() {
1793
+ this.initDataList();
1794
+ },
1795
+ methods: {
1796
+ initDataList() {
1797
+ this.rootElements = window.bpmnInstances.modeler.getDefinitions().rootElements, this.messageIdMap = {}, this.signalIdMap = {}, this.messageList = [], this.signalList = [], this.rootElements.forEach((el) => {
1798
+ el.$type === "bpmn:Message" && (this.messageIdMap[el.id] = !0, this.messageList.push({ ...el })), el.$type === "bpmn:Signal" && (this.signalIdMap[el.id] = !0, this.signalList.push({ ...el }));
1799
+ });
1800
+ },
1801
+ openModel(type) {
1802
+ this.modelType = type, this.modelObjectForm = {}, this.modelVisible = !0;
1803
+ },
1804
+ addNewObject() {
1805
+ if (this.modelType === "message") {
1806
+ if (this.messageIdMap[this.modelObjectForm.id])
1807
+ return this.$message.error("该消息已存在,请修改id后重新保存");
1808
+ const messageRef = window.bpmnInstances.moddle.create("bpmn:Message", this.modelObjectForm);
1809
+ this.rootElements.push(messageRef);
1810
+ } else {
1811
+ if (this.signalIdMap[this.modelObjectForm.id])
1812
+ return this.$message.error("该信号已存在,请修改id后重新保存");
1813
+ const signalRef = window.bpmnInstances.moddle.create("bpmn:Signal", this.modelObjectForm);
1814
+ this.rootElements.push(signalRef);
1815
+ }
1816
+ this.modelVisible = !1, this.initDataList();
1817
+ }
1818
+ }
1819
+ }, __cssModules$5 = {};
1820
+ var __component__$5 = /* @__PURE__ */ normalizeComponent(
1821
+ __vue2_script$5,
1822
+ render$5,
1823
+ staticRenderFns$5,
1824
+ !1,
1825
+ __vue2_injectStyles$5,
1826
+ null,
1827
+ null,
1828
+ null
1829
+ );
1830
+ function __vue2_injectStyles$5(context) {
1831
+ for (let o in __cssModules$5)
1832
+ this[o] = __cssModules$5[o];
1833
+ }
1834
+ const SignalAndMassage = /* @__PURE__ */ function() {
1835
+ return __component__$5.exports;
1836
+ }();
1837
+ function createListenerObject(options, isTask, prefix) {
1838
+ const listenerObj = /* @__PURE__ */ Object.create(null);
1839
+ switch (listenerObj.event = options.event, isTask && (listenerObj.id = options.id), options.listenerType) {
1840
+ case "scriptListener":
1841
+ listenerObj.script = createScriptObject(options, prefix);
1842
+ break;
1843
+ case "expressionListener":
1844
+ listenerObj.expression = options.expression;
1845
+ break;
1846
+ case "delegateExpressionListener":
1847
+ listenerObj.delegateExpression = options.delegateExpression;
1848
+ break;
1849
+ default:
1850
+ listenerObj.class = options.class;
1851
+ }
1852
+ if (options.fields && (listenerObj.fields = options.fields.map((field) => createFieldObject(field, prefix))), isTask && options.event === "timeout" && options.eventDefinitionType) {
1853
+ const timeDefinition = window.bpmnInstances.moddle.create("bpmn:FormalExpression", {
1854
+ body: options.eventTimeDefinitions
1855
+ }), TimerEventDefinition = window.bpmnInstances.moddle.create("bpmn:TimerEventDefinition", {
1856
+ id: `TimerEventDefinition_${uuid(8)}`,
1857
+ [`time${options.eventDefinitionType.replace(/^\S/, (s) => s.toUpperCase())}`]: timeDefinition
1858
+ });
1859
+ listenerObj.eventDefinitions = [TimerEventDefinition];
1860
+ }
1861
+ return window.bpmnInstances.moddle.create(`${prefix}:${isTask ? "TaskListener" : "ExecutionListener"}`, listenerObj);
1862
+ }
1863
+ function createFieldObject(option, prefix) {
1864
+ const { name, fieldType: fieldType2, string, expression } = option, fieldConfig = fieldType2 === "string" ? { name, string } : { name, expression };
1865
+ return window.bpmnInstances.moddle.create(`${prefix}:Field`, fieldConfig);
1866
+ }
1867
+ function createScriptObject(options, prefix) {
1868
+ const { scriptType, scriptFormat, value, resource } = options, scriptConfig = scriptType === "inlineScript" ? { scriptFormat, value } : { scriptFormat, resource };
1869
+ return window.bpmnInstances.moddle.create(`${prefix}:Script`, scriptConfig);
1870
+ }
1871
+ function updateElementExtensions(element, extensionList) {
1872
+ const extensions = window.bpmnInstances.moddle.create("bpmn:ExtensionElements", {
1873
+ values: extensionList
1874
+ });
1875
+ window.bpmnInstances.modeling.updateProperties(element, {
1876
+ extensionElements: extensions
1877
+ });
1878
+ }
1879
+ function uuid(length = 8, chars) {
1880
+ let result = "";
1881
+ const charsString = chars || "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
1882
+ for (let i = length; i > 0; --i)
1883
+ result += charsString[Math.floor(Math.random() * charsString.length)];
1884
+ return result;
1885
+ }
1886
+ function initListenerForm(listener) {
1887
+ let self = {
1888
+ ...listener
1889
+ };
1890
+ if (listener.script && (self = {
1891
+ ...listener,
1892
+ ...listener.script,
1893
+ scriptType: listener.script.resource ? "externalScript" : "inlineScript"
1894
+ }), listener.event === "timeout" && listener.eventDefinitions && listener.eventDefinitions.length) {
1895
+ let k = "";
1896
+ for (const key in listener.eventDefinitions[0])
1897
+ console.log(listener.eventDefinitions, key), key.indexOf("time") !== -1 && (k = key, self.eventDefinitionType = key.replace("time", "").toLowerCase());
1898
+ console.log(k), self.eventTimeDefinitions = listener.eventDefinitions[0][k].body;
1899
+ }
1900
+ return self;
1901
+ }
1902
+ function initListenerType(listener) {
1903
+ let listenerType2;
1904
+ return listener.class && (listenerType2 = "classListener"), listener.expression && (listenerType2 = "expressionListener"), listener.delegateExpression && (listenerType2 = "delegateExpressionListener"), listener.script && (listenerType2 = "scriptListener"), {
1905
+ ...JSON.parse(JSON.stringify(listener)),
1906
+ ...listener.script ?? {},
1907
+ listenerType: listenerType2
1908
+ };
1909
+ }
1910
+ const listenerType = {
1911
+ classListener: "Java 类",
1912
+ expressionListener: "表达式",
1913
+ delegateExpressionListener: "代理表达式",
1914
+ scriptListener: "脚本"
1915
+ }, eventType = {
1916
+ create: "创建",
1917
+ assignment: "指派",
1918
+ complete: "完成",
1919
+ delete: "删除",
1920
+ update: "更新",
1921
+ timeout: "超时"
1922
+ }, fieldType = {
1923
+ string: "字符串",
1924
+ expression: "表达式"
1925
+ };
1926
+ var render$4 = function() {
1927
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
1928
+ return _c("div", {
1929
+ staticClass: "panel-tab__content"
1930
+ }, [_c("ElTable", {
1931
+ attrs: {
1932
+ data: _vm.elementListenersList,
1933
+ size: "mini",
1934
+ border: ""
1935
+ }
1936
+ }, [_c("ElTableColumn", {
1937
+ attrs: {
1938
+ label: "序号",
1939
+ width: "50px",
1940
+ type: "index"
1941
+ }
1942
+ }), _c("ElTableColumn", {
1943
+ attrs: {
1944
+ label: "事件类型",
1945
+ "min-width": "100px",
1946
+ prop: "event"
1947
+ }
1948
+ }), _c("ElTableColumn", {
1949
+ attrs: {
1950
+ label: "监听器类型",
1951
+ "min-width": "100px",
1952
+ "show-overflow-tooltip": "",
1953
+ formatter: function(row) {
1954
+ return _vm.listenerTypeObject[row.listenerType];
1955
+ }
1956
+ }
1957
+ }), _c("ElTableColumn", {
1958
+ attrs: {
1959
+ label: "操作",
1960
+ width: "90px"
1961
+ },
1962
+ scopedSlots: _vm._u([{
1963
+ key: "default",
1964
+ fn: function(_ref) {
1965
+ var row = _ref.row, $index = _ref.$index;
1966
+ return [_c("ElButton", {
1967
+ attrs: {
1968
+ size: "mini",
1969
+ type: "text"
1970
+ },
1971
+ on: {
1972
+ click: function($event) {
1973
+ return _vm.openListenerForm(row, $index);
1974
+ }
1975
+ }
1976
+ }, [_vm._v("编辑")]), _c("ElDivider", {
1977
+ attrs: {
1978
+ direction: "vertical"
1979
+ }
1980
+ }), _c("ElButton", {
1981
+ staticStyle: {
1982
+ color: "#ff4d4f"
1983
+ },
1984
+ attrs: {
1985
+ size: "mini",
1986
+ type: "text"
1987
+ },
1988
+ on: {
1989
+ click: function($event) {
1990
+ return _vm.removeListener(row, $index);
1991
+ }
1992
+ }
1993
+ }, [_vm._v("移除")])];
1994
+ }
1995
+ }])
1996
+ })], 1), _c("div", {
1997
+ staticClass: "element-drawer__button"
1998
+ }, [_c("ElButton", {
1999
+ attrs: {
2000
+ size: "mini",
2001
+ type: "primary",
2002
+ icon: "el-icon-plus"
2003
+ },
2004
+ on: {
2005
+ click: function($event) {
2006
+ return _vm.openListenerForm(null);
2007
+ }
2008
+ }
2009
+ }, [_vm._v("添加监听器")])], 1), _c("ElDrawer", {
2010
+ attrs: {
2011
+ visible: _vm.listenerFormModelVisible,
2012
+ title: "执行监听器",
2013
+ size: `${_vm.width}px`,
2014
+ "append-to-body": "",
2015
+ "destroy-on-close": ""
2016
+ },
2017
+ on: {
2018
+ "update:visible": function($event) {
2019
+ _vm.listenerFormModelVisible = $event;
2020
+ }
2021
+ }
2022
+ }, [_c("ElForm", {
2023
+ ref: "listenerFormRef",
2024
+ attrs: {
2025
+ size: "mini",
2026
+ model: _vm.listenerForm,
2027
+ "label-width": "96px"
2028
+ },
2029
+ nativeOn: {
2030
+ submit: function($event) {
2031
+ $event.preventDefault();
2032
+ }
2033
+ }
2034
+ }, [_c("ElFormItem", {
2035
+ attrs: {
2036
+ label: "事件类型",
2037
+ prop: "event",
2038
+ rules: {
2039
+ required: !0,
2040
+ trigger: ["blur", "change"]
2041
+ }
2042
+ }
2043
+ }, [_c("ElSelect", {
2044
+ model: {
2045
+ value: _vm.listenerForm.event,
2046
+ callback: function($$v) {
2047
+ _vm.$set(_vm.listenerForm, "event", $$v);
2048
+ },
2049
+ expression: "listenerForm.event"
2050
+ }
2051
+ }, [_c("ElOption", {
2052
+ attrs: {
2053
+ label: "start",
2054
+ value: "start"
2055
+ }
2056
+ }), _c("ElOption", {
2057
+ attrs: {
2058
+ label: "end",
2059
+ value: "end"
2060
+ }
2061
+ })], 1)], 1), _c("ElFormItem", {
2062
+ attrs: {
2063
+ label: "监听器类型",
2064
+ prop: "listenerType",
2065
+ rules: {
2066
+ required: !0,
2067
+ trigger: ["blur", "change"]
2068
+ }
2069
+ }
2070
+ }, [_c("ElSelect", {
2071
+ model: {
2072
+ value: _vm.listenerForm.listenerType,
2073
+ callback: function($$v) {
2074
+ _vm.$set(_vm.listenerForm, "listenerType", $$v);
2075
+ },
2076
+ expression: "listenerForm.listenerType"
2077
+ }
2078
+ }, _vm._l(Object.keys(_vm.listenerTypeObject), function(i) {
2079
+ return _c("ElOption", {
2080
+ key: i,
2081
+ attrs: {
2082
+ label: _vm.listenerTypeObject[i],
2083
+ value: i
2084
+ }
2085
+ });
2086
+ }), 1)], 1), _vm.listenerForm.listenerType === "classListener" ? _c("ElFormItem", {
2087
+ key: "listener-class",
2088
+ attrs: {
2089
+ label: "Java类",
2090
+ prop: "class",
2091
+ rules: {
2092
+ required: !0,
2093
+ trigger: ["blur", "change"]
2094
+ }
2095
+ }
2096
+ }, [_c("ElInput", {
2097
+ attrs: {
2098
+ clearable: ""
2099
+ },
2100
+ model: {
2101
+ value: _vm.listenerForm.class,
2102
+ callback: function($$v) {
2103
+ _vm.$set(_vm.listenerForm, "class", $$v);
2104
+ },
2105
+ expression: "listenerForm.class"
2106
+ }
2107
+ })], 1) : _vm._e(), _vm.listenerForm.listenerType === "expressionListener" ? _c("ElFormItem", {
2108
+ key: "listener-expression",
2109
+ attrs: {
2110
+ label: "表达式",
2111
+ prop: "expression",
2112
+ rules: {
2113
+ required: !0,
2114
+ trigger: ["blur", "change"]
2115
+ }
2116
+ }
2117
+ }, [_c("ElInput", {
2118
+ attrs: {
2119
+ clearable: ""
2120
+ },
2121
+ model: {
2122
+ value: _vm.listenerForm.expression,
2123
+ callback: function($$v) {
2124
+ _vm.$set(_vm.listenerForm, "expression", $$v);
2125
+ },
2126
+ expression: "listenerForm.expression"
2127
+ }
2128
+ })], 1) : _vm._e(), _vm.listenerForm.listenerType === "delegateExpressionListener" ? _c("ElFormItem", {
2129
+ key: "listener-delegate",
2130
+ attrs: {
2131
+ label: "代理表达式",
2132
+ prop: "delegateExpression",
2133
+ rules: {
2134
+ required: !0,
2135
+ trigger: ["blur", "change"]
2136
+ }
2137
+ }
2138
+ }, [_c("ElInput", {
2139
+ attrs: {
2140
+ clearable: ""
2141
+ },
2142
+ model: {
2143
+ value: _vm.listenerForm.delegateExpression,
2144
+ callback: function($$v) {
2145
+ _vm.$set(_vm.listenerForm, "delegateExpression", $$v);
2146
+ },
2147
+ expression: "listenerForm.delegateExpression"
2148
+ }
2149
+ })], 1) : _vm._e(), _vm.listenerForm.listenerType === "scriptListener" ? [_c("ElFormItem", {
2150
+ key: "listener-script-format",
2151
+ attrs: {
2152
+ label: "脚本格式",
2153
+ prop: "scriptFormat",
2154
+ rules: {
2155
+ required: !0,
2156
+ trigger: ["blur", "change"],
2157
+ message: "请填写脚本格式"
2158
+ }
2159
+ }
2160
+ }, [_c("ElInput", {
2161
+ attrs: {
2162
+ clearable: ""
2163
+ },
2164
+ model: {
2165
+ value: _vm.listenerForm.scriptFormat,
2166
+ callback: function($$v) {
2167
+ _vm.$set(_vm.listenerForm, "scriptFormat", $$v);
2168
+ },
2169
+ expression: "listenerForm.scriptFormat"
2170
+ }
2171
+ })], 1), _c("ElFormItem", {
2172
+ key: "listener-script-type",
2173
+ attrs: {
2174
+ label: "脚本类型",
2175
+ prop: "scriptType",
2176
+ rules: {
2177
+ required: !0,
2178
+ trigger: ["blur", "change"],
2179
+ message: "请选择脚本类型"
2180
+ }
2181
+ }
2182
+ }, [_c("ElSelect", {
2183
+ model: {
2184
+ value: _vm.listenerForm.scriptType,
2185
+ callback: function($$v) {
2186
+ _vm.$set(_vm.listenerForm, "scriptType", $$v);
2187
+ },
2188
+ expression: "listenerForm.scriptType"
2189
+ }
2190
+ }, [_c("ElOption", {
2191
+ attrs: {
2192
+ label: "内联脚本",
2193
+ value: "inlineScript"
2194
+ }
2195
+ }), _c("ElOption", {
2196
+ attrs: {
2197
+ label: "外部脚本",
2198
+ value: "externalScript"
2199
+ }
2200
+ })], 1)], 1), _vm.listenerForm.scriptType === "inlineScript" ? _c("ElFormItem", {
2201
+ key: "listener-script",
2202
+ attrs: {
2203
+ label: "脚本内容",
2204
+ prop: "value",
2205
+ rules: {
2206
+ required: !0,
2207
+ trigger: ["blur", "change"],
2208
+ message: "请填写脚本内容"
2209
+ }
2210
+ }
2211
+ }, [_c("ElInput", {
2212
+ attrs: {
2213
+ clearable: ""
2214
+ },
2215
+ model: {
2216
+ value: _vm.listenerForm.value,
2217
+ callback: function($$v) {
2218
+ _vm.$set(_vm.listenerForm, "value", $$v);
2219
+ },
2220
+ expression: "listenerForm.value"
2221
+ }
2222
+ })], 1) : _vm._e(), _vm.listenerForm.scriptType === "externalScript" ? _c("ElFormItem", {
2223
+ key: "listener-resource",
2224
+ attrs: {
2225
+ label: "资源地址",
2226
+ prop: "resource",
2227
+ rules: {
2228
+ required: !0,
2229
+ trigger: ["blur", "change"],
2230
+ message: "请填写资源地址"
2231
+ }
2232
+ }
2233
+ }, [_c("ElInput", {
2234
+ attrs: {
2235
+ clearable: ""
2236
+ },
2237
+ model: {
2238
+ value: _vm.listenerForm.resource,
2239
+ callback: function($$v) {
2240
+ _vm.$set(_vm.listenerForm, "resource", $$v);
2241
+ },
2242
+ expression: "listenerForm.resource"
2243
+ }
2244
+ })], 1) : _vm._e()] : _vm._e()], 2), _c("ElDivider"), _c("p", {
2245
+ staticClass: "listener-filed__title"
2246
+ }, [_c("span", [_c("i", {
2247
+ staticClass: "el-icon-menu"
2248
+ }), _vm._v("注入字段:")]), _c("ElButton", {
2249
+ attrs: {
2250
+ size: "mini",
2251
+ type: "primary"
2252
+ },
2253
+ on: {
2254
+ click: function($event) {
2255
+ return _vm.openListenerFieldForm(null);
2256
+ }
2257
+ }
2258
+ }, [_vm._v("添加字段")])], 1), _c("ElTable", {
2259
+ staticStyle: {
2260
+ flex: "none"
2261
+ },
2262
+ attrs: {
2263
+ data: _vm.fieldsListOfListener,
2264
+ size: "mini",
2265
+ "max-height": "240",
2266
+ border: "",
2267
+ fit: ""
2268
+ }
2269
+ }, [_c("ElTableColumn", {
2270
+ attrs: {
2271
+ label: "序号",
2272
+ width: "50px",
2273
+ type: "index"
2274
+ }
2275
+ }), _c("ElTableColumn", {
2276
+ attrs: {
2277
+ label: "字段名称",
2278
+ "min-width": "100px",
2279
+ prop: "name"
2280
+ }
2281
+ }), _c("ElTableColumn", {
2282
+ attrs: {
2283
+ label: "字段类型",
2284
+ "min-width": "80px",
2285
+ "show-overflow-tooltip": "",
2286
+ formatter: function(row) {
2287
+ return _vm.fieldTypeObject[row.fieldType];
2288
+ }
2289
+ }
2290
+ }), _c("ElTableColumn", {
2291
+ attrs: {
2292
+ label: "字段值/表达式",
2293
+ "min-width": "100px",
2294
+ "show-overflow-tooltip": "",
2295
+ formatter: function(row) {
2296
+ return row.string || row.expression;
2297
+ }
2298
+ }
2299
+ }), _c("ElTableColumn", {
2300
+ attrs: {
2301
+ label: "操作",
2302
+ width: "100px"
2303
+ },
2304
+ scopedSlots: _vm._u([{
2305
+ key: "default",
2306
+ fn: function(_ref2) {
2307
+ var row = _ref2.row, $index = _ref2.$index;
2308
+ return [_c("ElButton", {
2309
+ attrs: {
2310
+ size: "mini",
2311
+ type: "text"
2312
+ },
2313
+ on: {
2314
+ click: function($event) {
2315
+ return _vm.openListenerFieldForm(row, $index);
2316
+ }
2317
+ }
2318
+ }, [_vm._v("编辑")]), _c("ElDivider", {
2319
+ attrs: {
2320
+ direction: "vertical"
2321
+ }
2322
+ }), _c("ElButton", {
2323
+ staticStyle: {
2324
+ color: "#ff4d4f"
2325
+ },
2326
+ attrs: {
2327
+ size: "mini",
2328
+ type: "text"
2329
+ },
2330
+ on: {
2331
+ click: function($event) {
2332
+ return _vm.removeListenerField(row, $index);
2333
+ }
2334
+ }
2335
+ }, [_vm._v("移除")])];
2336
+ }
2337
+ }])
2338
+ })], 1), _c("div", {
2339
+ staticClass: "element-drawer__button"
2340
+ }, [_c("ElButton", {
2341
+ attrs: {
2342
+ size: "mini"
2343
+ },
2344
+ on: {
2345
+ click: function($event) {
2346
+ _vm.listenerFormModelVisible = !1;
2347
+ }
2348
+ }
2349
+ }, [_vm._v("取 消")]), _c("ElButton", {
2350
+ attrs: {
2351
+ size: "mini",
2352
+ type: "primary"
2353
+ },
2354
+ on: {
2355
+ click: _vm.saveListenerConfig
2356
+ }
2357
+ }, [_vm._v("保 存")])], 1)], 1), _c("ElementDialog", {
2358
+ attrs: {
2359
+ title: "字段配置",
2360
+ visible: _vm.listenerFieldFormModelVisible,
2361
+ width: "600px",
2362
+ "append-to-body": "",
2363
+ "destroy-on-close": ""
2364
+ },
2365
+ on: {
2366
+ "update:visible": function($event) {
2367
+ _vm.listenerFieldFormModelVisible = $event;
2368
+ }
2369
+ },
2370
+ scopedSlots: _vm._u([{
2371
+ key: "footer",
2372
+ fn: function() {
2373
+ return [_c("ElButton", {
2374
+ attrs: {
2375
+ size: "mini"
2376
+ },
2377
+ on: {
2378
+ click: function($event) {
2379
+ _vm.listenerFieldFormModelVisible = !1;
2380
+ }
2381
+ }
2382
+ }, [_vm._v("取 消")]), _c("ElButton", {
2383
+ attrs: {
2384
+ size: "mini",
2385
+ type: "primary"
2386
+ },
2387
+ on: {
2388
+ click: _vm.saveListenerFiled
2389
+ }
2390
+ }, [_vm._v("确 定")])];
2391
+ },
2392
+ proxy: !0
2393
+ }])
2394
+ }, [_c("ElForm", {
2395
+ ref: "listenerFieldFormRef",
2396
+ staticStyle: {
2397
+ height: "136px"
2398
+ },
2399
+ attrs: {
2400
+ model: _vm.listenerFieldForm,
2401
+ size: "mini",
2402
+ "label-width": "96px"
2403
+ },
2404
+ nativeOn: {
2405
+ submit: function($event) {
2406
+ $event.preventDefault();
2407
+ }
2408
+ }
2409
+ }, [_c("ElFormItem", {
2410
+ attrs: {
2411
+ label: "字段名称:",
2412
+ prop: "name",
2413
+ rules: {
2414
+ required: !0,
2415
+ trigger: ["blur", "change"]
2416
+ }
2417
+ }
2418
+ }, [_c("ElInput", {
2419
+ attrs: {
2420
+ clearable: ""
2421
+ },
2422
+ model: {
2423
+ value: _vm.listenerFieldForm.name,
2424
+ callback: function($$v) {
2425
+ _vm.$set(_vm.listenerFieldForm, "name", $$v);
2426
+ },
2427
+ expression: "listenerFieldForm.name"
2428
+ }
2429
+ })], 1), _c("ElFormItem", {
2430
+ attrs: {
2431
+ label: "字段类型:",
2432
+ prop: "fieldType",
2433
+ rules: {
2434
+ required: !0,
2435
+ trigger: ["blur", "change"]
2436
+ }
2437
+ }
2438
+ }, [_c("ElSelect", {
2439
+ model: {
2440
+ value: _vm.listenerFieldForm.fieldType,
2441
+ callback: function($$v) {
2442
+ _vm.$set(_vm.listenerFieldForm, "fieldType", $$v);
2443
+ },
2444
+ expression: "listenerFieldForm.fieldType"
2445
+ }
2446
+ }, _vm._l(Object.keys(_vm.fieldTypeObject), function(i) {
2447
+ return _c("ElOption", {
2448
+ key: i,
2449
+ attrs: {
2450
+ label: _vm.fieldTypeObject[i],
2451
+ value: i
2452
+ }
2453
+ });
2454
+ }), 1)], 1), _vm.listenerFieldForm.fieldType === "string" ? _c("ElFormItem", {
2455
+ key: "field-string",
2456
+ attrs: {
2457
+ label: "字段值:",
2458
+ prop: "string",
2459
+ rules: {
2460
+ required: !0,
2461
+ trigger: ["blur", "change"]
2462
+ }
2463
+ }
2464
+ }, [_c("ElInput", {
2465
+ attrs: {
2466
+ clearable: ""
2467
+ },
2468
+ model: {
2469
+ value: _vm.listenerFieldForm.string,
2470
+ callback: function($$v) {
2471
+ _vm.$set(_vm.listenerFieldForm, "string", $$v);
2472
+ },
2473
+ expression: "listenerFieldForm.string"
2474
+ }
2475
+ })], 1) : _vm._e(), _vm.listenerFieldForm.fieldType === "expression" ? _c("ElFormItem", {
2476
+ key: "field-expression",
2477
+ attrs: {
2478
+ label: "表达式:",
2479
+ prop: "expression",
2480
+ rules: {
2481
+ required: !0,
2482
+ trigger: ["blur", "change"]
2483
+ }
2484
+ }
2485
+ }, [_c("ElInput", {
2486
+ attrs: {
2487
+ clearable: ""
2488
+ },
2489
+ model: {
2490
+ value: _vm.listenerFieldForm.expression,
2491
+ callback: function($$v) {
2492
+ _vm.$set(_vm.listenerFieldForm, "expression", $$v);
2493
+ },
2494
+ expression: "listenerFieldForm.expression"
2495
+ }
2496
+ })], 1) : _vm._e()], 1)], 1)], 1);
2497
+ }, staticRenderFns$4 = [];
2498
+ const __vue2_script$4 = {
2499
+ name: "ElementListeners",
2500
+ inject: {
2501
+ prefix: "prefix",
2502
+ width: "width"
2503
+ },
2504
+ props: {
2505
+ id: String
2506
+ },
2507
+ data() {
2508
+ return {
2509
+ elementListenersList: [],
2510
+ // 监听器列表
2511
+ listenerForm: {},
2512
+ // 监听器详情表单
2513
+ listenerFormModelVisible: !1,
2514
+ // 监听器 编辑 侧边栏显示状态
2515
+ fieldsListOfListener: [],
2516
+ listenerFieldForm: {},
2517
+ // 监听器 注入字段 详情表单
2518
+ listenerFieldFormModelVisible: !1,
2519
+ // 监听器 注入字段表单弹窗 显示状态
2520
+ editingListenerIndex: -1,
2521
+ // 监听器所在下标,-1 为新增
2522
+ editingListenerFieldIndex: -1,
2523
+ // 字段所在下标,-1 为新增
2524
+ listenerTypeObject: listenerType,
2525
+ fieldTypeObject: fieldType
2526
+ };
2527
+ },
2528
+ watch: {
2529
+ id: {
2530
+ immediate: !0,
2531
+ handler(val) {
2532
+ val && val.length && this.$nextTick(() => this.resetListenersList());
2533
+ }
2534
+ }
2535
+ },
2536
+ methods: {
2537
+ resetListenersList() {
2538
+ var _a, _b, _c;
2539
+ this.bpmnElement = window.bpmnInstances.bpmnElement, this.otherExtensionList = [], this.bpmnElementListeners = ((_c = (_b = (_a = this.bpmnElement.businessObject) == null ? void 0 : _a.extensionElements) == null ? void 0 : _b.values) == null ? void 0 : _c.filter((ex) => ex.$type === `${this.prefix}:ExecutionListener`)) ?? [], this.elementListenersList = this.bpmnElementListeners.map((listener) => initListenerType(listener));
2540
+ },
2541
+ // 打开 监听器详情 侧边栏
2542
+ openListenerForm(listener, index) {
2543
+ listener ? (this.listenerForm = initListenerForm(listener), this.editingListenerIndex = index) : (this.listenerForm = {}, this.editingListenerIndex = -1), listener && listener.fields ? this.fieldsListOfListener = listener.fields.map((field) => ({
2544
+ ...field,
2545
+ fieldType: field.string ? "string" : "expression"
2546
+ })) : (this.fieldsListOfListener = [], this.$set(this.listenerForm, "fields", [])), this.listenerFormModelVisible = !0, this.$nextTick(() => {
2547
+ this.$refs.listenerFormRef && this.$refs.listenerFormRef.clearValidate();
2548
+ });
2549
+ },
2550
+ // 打开监听器字段编辑弹窗
2551
+ openListenerFieldForm(field, index) {
2552
+ this.listenerFieldForm = field ? JSON.parse(JSON.stringify(field)) : {}, this.editingListenerFieldIndex = field ? index : -1, this.listenerFieldFormModelVisible = !0, this.$nextTick(() => {
2553
+ this.$refs.listenerFieldFormRef && this.$refs.listenerFieldFormRef.clearValidate();
2554
+ });
2555
+ },
2556
+ // 保存监听器注入字段
2557
+ async saveListenerFiled() {
2558
+ await this.$refs.listenerFieldFormRef.validate() && (this.editingListenerFieldIndex === -1 ? (this.fieldsListOfListener.push(this.listenerFieldForm), this.listenerForm.fields.push(this.listenerFieldForm)) : (this.fieldsListOfListener.splice(this.editingListenerFieldIndex, 1, this.listenerFieldForm), this.listenerForm.fields.splice(this.editingListenerFieldIndex, 1, this.listenerFieldForm)), this.listenerFieldFormModelVisible = !1, this.$nextTick(() => this.listenerFieldForm = {}));
2559
+ },
2560
+ // 移除监听器字段
2561
+ removeListenerField(field, index) {
2562
+ this.$confirm("确认移除该字段吗?", "提示", {
2563
+ confirmButtonText: "确 认",
2564
+ cancelButtonText: "取 消"
2565
+ }).then(() => {
2566
+ this.fieldsListOfListener.splice(index, 1), this.listenerForm.fields.splice(index, 1);
2567
+ }).catch(() => console.info("操作取消"));
2568
+ },
2569
+ // 移除监听器
2570
+ removeListener(listener, index) {
2571
+ this.$confirm("确认移除该监听器吗?", "提示", {
2572
+ confirmButtonText: "确 认",
2573
+ cancelButtonText: "取 消"
2574
+ }).then(() => {
2575
+ this.bpmnElementListeners.splice(index, 1), this.elementListenersList.splice(index, 1), updateElementExtensions(this.bpmnElement, this.otherExtensionList.concat(this.bpmnElementListeners));
2576
+ }).catch(() => console.info("操作取消"));
2577
+ },
2578
+ // 保存监听器配置
2579
+ async saveListenerConfig() {
2580
+ var _a, _b, _c;
2581
+ if (!await this.$refs.listenerFormRef.validate())
2582
+ return;
2583
+ const listenerObject = createListenerObject(this.listenerForm, !1, this.prefix);
2584
+ this.editingListenerIndex === -1 ? (this.bpmnElementListeners.push(listenerObject), this.elementListenersList.push(this.listenerForm)) : (this.bpmnElementListeners.splice(this.editingListenerIndex, 1, listenerObject), this.elementListenersList.splice(this.editingListenerIndex, 1, this.listenerForm)), this.otherExtensionList = ((_c = (_b = (_a = this.bpmnElement.businessObject) == null ? void 0 : _a.extensionElements) == null ? void 0 : _b.values) == null ? void 0 : _c.filter((ex) => ex.$type !== `${this.prefix}:ExecutionListener`)) ?? [], updateElementExtensions(this.bpmnElement, this.otherExtensionList.concat(this.bpmnElementListeners)), this.listenerFormModelVisible = !1, this.listenerForm = {};
2585
+ }
2586
+ }
2587
+ }, __cssModules$4 = {};
2588
+ var __component__$4 = /* @__PURE__ */ normalizeComponent(
2589
+ __vue2_script$4,
2590
+ render$4,
2591
+ staticRenderFns$4,
2592
+ !1,
2593
+ __vue2_injectStyles$4,
2594
+ null,
2595
+ null,
2596
+ null
2597
+ );
2598
+ function __vue2_injectStyles$4(context) {
2599
+ for (let o in __cssModules$4)
2600
+ this[o] = __cssModules$4[o];
2601
+ }
2602
+ const ElementListeners = /* @__PURE__ */ function() {
2603
+ return __component__$4.exports;
2604
+ }();
2605
+ var render$3 = function() {
2606
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
2607
+ return _c("div", {
2608
+ staticClass: "panel-tab__content"
2609
+ }, [_c("ElTable", {
2610
+ attrs: {
2611
+ data: _vm.elementPropertyList,
2612
+ size: "mini",
2613
+ "max-height": "240",
2614
+ border: "",
2615
+ fit: ""
2616
+ }
2617
+ }, [_c("ElTableColumn", {
2618
+ attrs: {
2619
+ label: "序号",
2620
+ width: "50px",
2621
+ type: "index"
2622
+ }
2623
+ }), _c("ElTableColumn", {
2624
+ attrs: {
2625
+ label: "属性名",
2626
+ prop: "name",
2627
+ "min-width": "100px",
2628
+ "show-overflow-tooltip": ""
2629
+ }
2630
+ }), _c("ElTableColumn", {
2631
+ attrs: {
2632
+ label: "属性值",
2633
+ prop: "value",
2634
+ "min-width": "100px",
2635
+ "show-overflow-tooltip": ""
2636
+ }
2637
+ }), _c("ElTableColumn", {
2638
+ attrs: {
2639
+ label: "操作",
2640
+ width: "90px"
2641
+ },
2642
+ scopedSlots: _vm._u([{
2643
+ key: "default",
2644
+ fn: function(_ref) {
2645
+ var row = _ref.row, $index = _ref.$index;
2646
+ return [_c("ElButton", {
2647
+ attrs: {
2648
+ size: "mini",
2649
+ type: "text"
2650
+ },
2651
+ on: {
2652
+ click: function($event) {
2653
+ return _vm.openAttributesForm(row, $index);
2654
+ }
2655
+ }
2656
+ }, [_vm._v("编辑")]), _c("ElDivider", {
2657
+ attrs: {
2658
+ direction: "vertical"
2659
+ }
2660
+ }), _c("ElButton", {
2661
+ staticStyle: {
2662
+ color: "#ff4d4f"
2663
+ },
2664
+ attrs: {
2665
+ size: "mini",
2666
+ type: "text"
2667
+ },
2668
+ on: {
2669
+ click: function($event) {
2670
+ return _vm.removeAttributes(row, $index);
2671
+ }
2672
+ }
2673
+ }, [_vm._v("移除")])];
2674
+ }
2675
+ }])
2676
+ })], 1), _c("div", {
2677
+ staticClass: "element-drawer__button"
2678
+ }, [_c("ElButton", {
2679
+ attrs: {
2680
+ size: "mini",
2681
+ type: "primary",
2682
+ icon: "el-icon-plus"
2683
+ },
2684
+ on: {
2685
+ click: function($event) {
2686
+ return _vm.openAttributesForm(null, -1);
2687
+ }
2688
+ }
2689
+ }, [_vm._v("添加属性")])], 1), _c("ElementDialog", {
2690
+ attrs: {
2691
+ visible: _vm.propertyFormModelVisible,
2692
+ title: "属性配置",
2693
+ width: "600px",
2694
+ "append-to-body": "",
2695
+ "destroy-on-close": ""
2696
+ },
2697
+ on: {
2698
+ "update:visible": function($event) {
2699
+ _vm.propertyFormModelVisible = $event;
2700
+ }
2701
+ },
2702
+ scopedSlots: _vm._u([{
2703
+ key: "footer",
2704
+ fn: function() {
2705
+ return [_c("ElButton", {
2706
+ attrs: {
2707
+ size: "mini"
2708
+ },
2709
+ on: {
2710
+ click: function($event) {
2711
+ _vm.propertyFormModelVisible = !1;
2712
+ }
2713
+ }
2714
+ }, [_vm._v("取 消")]), _c("ElButton", {
2715
+ attrs: {
2716
+ size: "mini",
2717
+ type: "primary"
2718
+ },
2719
+ on: {
2720
+ click: _vm.saveAttribute
2721
+ }
2722
+ }, [_vm._v("确 定")])];
2723
+ },
2724
+ proxy: !0
2725
+ }])
2726
+ }, [_c("ElForm", {
2727
+ ref: "attributeFormRef",
2728
+ attrs: {
2729
+ model: _vm.propertyForm,
2730
+ "label-width": "80px",
2731
+ size: "mini"
2732
+ },
2733
+ nativeOn: {
2734
+ submit: function($event) {
2735
+ $event.preventDefault();
2736
+ }
2737
+ }
2738
+ }, [_c("ElFormItem", {
2739
+ attrs: {
2740
+ label: "属性名:",
2741
+ prop: "name"
2742
+ }
2743
+ }, [_c("ElInput", {
2744
+ attrs: {
2745
+ clearable: ""
2746
+ },
2747
+ model: {
2748
+ value: _vm.propertyForm.name,
2749
+ callback: function($$v) {
2750
+ _vm.$set(_vm.propertyForm, "name", $$v);
2751
+ },
2752
+ expression: "propertyForm.name"
2753
+ }
2754
+ })], 1), _c("ElFormItem", {
2755
+ attrs: {
2756
+ label: "属性值:",
2757
+ prop: "value"
2758
+ }
2759
+ }, [_c("ElInput", {
2760
+ attrs: {
2761
+ clearable: ""
2762
+ },
2763
+ model: {
2764
+ value: _vm.propertyForm.value,
2765
+ callback: function($$v) {
2766
+ _vm.$set(_vm.propertyForm, "value", $$v);
2767
+ },
2768
+ expression: "propertyForm.value"
2769
+ }
2770
+ })], 1)], 1)], 1)], 1);
2771
+ }, staticRenderFns$3 = [];
2772
+ const __vue2_script$3 = {
2773
+ name: "ElementProperties",
2774
+ inject: {
2775
+ prefix: "prefix",
2776
+ width: "width"
2777
+ },
2778
+ props: {
2779
+ id: String
2780
+ },
2781
+ data() {
2782
+ return {
2783
+ elementPropertyList: [],
2784
+ propertyForm: {},
2785
+ editingPropertyIndex: -1,
2786
+ propertyFormModelVisible: !1
2787
+ };
2788
+ },
2789
+ watch: {
2790
+ id: {
2791
+ immediate: !0,
2792
+ handler(val) {
2793
+ val && val.length && this.resetAttributesList();
2794
+ }
2795
+ }
2796
+ },
2797
+ methods: {
2798
+ resetAttributesList() {
2799
+ var _a, _b, _c;
2800
+ this.bpmnElement = window.bpmnInstances.bpmnElement, this.otherExtensionList = [], this.bpmnElementProperties = ((_c = (_b = (_a = this.bpmnElement.businessObject) == null ? void 0 : _a.extensionElements) == null ? void 0 : _b.values) == null ? void 0 : _c.filter((ex) => (ex.$type !== `${this.prefix}:Properties` && this.otherExtensionList.push(ex), ex.$type === `${this.prefix}:Properties`))) ?? [], this.bpmnElementPropertyList = this.bpmnElementProperties.reduce((pre, current) => pre.concat(current.values), []), this.elementPropertyList = JSON.parse(JSON.stringify(this.bpmnElementPropertyList ?? []));
2801
+ },
2802
+ openAttributesForm(attr, index) {
2803
+ this.editingPropertyIndex = index, this.propertyForm = index === -1 ? {} : JSON.parse(JSON.stringify(attr)), this.propertyFormModelVisible = !0, this.$nextTick(() => {
2804
+ this.$refs.attributeFormRef && this.$refs.attributeFormRef.clearValidate();
2805
+ });
2806
+ },
2807
+ removeAttributes(attr, index) {
2808
+ this.$confirm("确认移除该属性吗?", "提示", {
2809
+ confirmButtonText: "确 认",
2810
+ cancelButtonText: "取 消"
2811
+ }).then(() => {
2812
+ this.elementPropertyList.splice(index, 1), this.bpmnElementPropertyList.splice(index, 1);
2813
+ const propertiesObject = window.bpmnInstances.moddle.create(`${this.prefix}:Properties`, {
2814
+ values: this.bpmnElementPropertyList
2815
+ });
2816
+ this.updateElementExtensions(propertiesObject), this.resetAttributesList();
2817
+ }).catch(() => console.info("操作取消"));
2818
+ },
2819
+ saveAttribute() {
2820
+ const { name, value } = this.propertyForm;
2821
+ if (console.log(this.bpmnElementPropertyList), this.editingPropertyIndex !== -1)
2822
+ window.bpmnInstances.modeling.updateModdleProperties(this.bpmnElement, this.bpmnElementPropertyList[this.editingPropertyIndex], {
2823
+ name,
2824
+ value
2825
+ });
2826
+ else {
2827
+ const newPropertyObject = window.bpmnInstances.moddle.create(`${this.prefix}:Property`, { name, value }), propertiesObject = window.bpmnInstances.moddle.create(`${this.prefix}:Properties`, {
2828
+ values: this.bpmnElementPropertyList.concat([newPropertyObject])
2829
+ });
2830
+ this.updateElementExtensions(propertiesObject);
2831
+ }
2832
+ this.propertyFormModelVisible = !1, this.resetAttributesList();
2833
+ },
2834
+ updateElementExtensions(properties) {
2835
+ const extensions = window.bpmnInstances.moddle.create("bpmn:ExtensionElements", {
2836
+ values: this.otherExtensionList.concat([properties])
2837
+ });
2838
+ window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
2839
+ extensionElements: extensions
2840
+ });
2841
+ }
2842
+ }
2843
+ }, __cssModules$3 = {};
2844
+ var __component__$3 = /* @__PURE__ */ normalizeComponent(
2845
+ __vue2_script$3,
2846
+ render$3,
2847
+ staticRenderFns$3,
2848
+ !1,
2849
+ __vue2_injectStyles$3,
2850
+ null,
2851
+ null,
2852
+ null
2853
+ );
2854
+ function __vue2_injectStyles$3(context) {
2855
+ for (let o in __cssModules$3)
2856
+ this[o] = __cssModules$3[o];
2857
+ }
2858
+ const ElementProperties = /* @__PURE__ */ function() {
2859
+ return __component__$3.exports;
2860
+ }();
2861
+ var render$2 = function() {
2862
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
2863
+ return _c("div", {
2864
+ staticClass: "panel-tab__content"
2865
+ }, [_c("ElForm", {
2866
+ attrs: {
2867
+ size: "mini",
2868
+ "label-width": "80px"
2869
+ },
2870
+ nativeOn: {
2871
+ submit: function($event) {
2872
+ $event.preventDefault();
2873
+ }
2874
+ }
2875
+ }, [_c("ElFormItem", {
2876
+ attrs: {
2877
+ label: "表单标识"
2878
+ }
2879
+ }, [_c("ElInput", {
2880
+ attrs: {
2881
+ clearable: ""
2882
+ },
2883
+ on: {
2884
+ change: _vm.updateElementFormKey
2885
+ },
2886
+ model: {
2887
+ value: _vm.formKey,
2888
+ callback: function($$v) {
2889
+ _vm.formKey = $$v;
2890
+ },
2891
+ expression: "formKey"
2892
+ }
2893
+ })], 1), _c("ElFormItem", {
2894
+ attrs: {
2895
+ label: "业务标识"
2896
+ }
2897
+ }, [_c("ElSelect", {
2898
+ on: {
2899
+ change: _vm.updateElementBusinessKey
2900
+ },
2901
+ model: {
2902
+ value: _vm.businessKey,
2903
+ callback: function($$v) {
2904
+ _vm.businessKey = $$v;
2905
+ },
2906
+ expression: "businessKey"
2907
+ }
2908
+ }, [_vm._l(_vm.fieldList, function(i) {
2909
+ return _c("ElOption", {
2910
+ key: i.id,
2911
+ attrs: {
2912
+ value: i.id,
2913
+ label: i.label
2914
+ }
2915
+ });
2916
+ }), _c("ElOption", {
2917
+ attrs: {
2918
+ label: "无",
2919
+ value: ""
2920
+ }
2921
+ })], 2)], 1)], 1), _c("div", {
2922
+ staticClass: "element-property list-property"
2923
+ }, [_c("ElDivider", [_c("i", {
2924
+ staticClass: "el-icon-coin"
2925
+ }), _vm._v(" 表单字段")]), _c("ElTable", {
2926
+ attrs: {
2927
+ data: _vm.fieldList,
2928
+ size: "mini",
2929
+ "max-height": "240",
2930
+ border: "",
2931
+ fit: ""
2932
+ }
2933
+ }, [_c("ElTableColumn", {
2934
+ attrs: {
2935
+ label: "序号",
2936
+ type: "index",
2937
+ width: "50px"
2938
+ }
2939
+ }), _c("ElTableColumn", {
2940
+ attrs: {
2941
+ label: "字段名称",
2942
+ prop: "label",
2943
+ "min-width": "80px",
2944
+ "show-overflow-tooltip": ""
2945
+ }
2946
+ }), _c("ElTableColumn", {
2947
+ attrs: {
2948
+ label: "字段类型",
2949
+ prop: "type",
2950
+ "min-width": "80px",
2951
+ formatter: function(row) {
2952
+ return _vm.fieldType[row.type] || row.type;
2953
+ },
2954
+ "show-overflow-tooltip": ""
2955
+ }
2956
+ }), _c("ElTableColumn", {
2957
+ attrs: {
2958
+ label: "默认值",
2959
+ prop: "defaultValue",
2960
+ "min-width": "80px",
2961
+ "show-overflow-tooltip": ""
2962
+ }
2963
+ }), _c("ElTableColumn", {
2964
+ attrs: {
2965
+ label: "操作",
2966
+ width: "90px"
2967
+ },
2968
+ scopedSlots: _vm._u([{
2969
+ key: "default",
2970
+ fn: function(_ref) {
2971
+ var row = _ref.row, $index = _ref.$index;
2972
+ return [_c("ElButton", {
2973
+ attrs: {
2974
+ size: "mini",
2975
+ type: "text"
2976
+ },
2977
+ on: {
2978
+ click: function($event) {
2979
+ return _vm.openFieldForm(row, $index);
2980
+ }
2981
+ }
2982
+ }, [_vm._v("编辑")]), _c("ElDivider", {
2983
+ attrs: {
2984
+ direction: "vertical"
2985
+ }
2986
+ }), _c("ElButton", {
2987
+ staticStyle: {
2988
+ color: "#ff4d4f"
2989
+ },
2990
+ attrs: {
2991
+ size: "mini",
2992
+ type: "text"
2993
+ },
2994
+ on: {
2995
+ click: function($event) {
2996
+ return _vm.removeField(row, $index);
2997
+ }
2998
+ }
2999
+ }, [_vm._v("移除")])];
3000
+ }
3001
+ }])
3002
+ })], 1)], 1), _c("div", {
3003
+ staticClass: "element-drawer__button"
3004
+ }, [_c("ElButton", {
3005
+ attrs: {
3006
+ size: "mini",
3007
+ type: "primary",
3008
+ icon: "el-icon-plus"
3009
+ },
3010
+ on: {
3011
+ click: function($event) {
3012
+ return _vm.openFieldForm(null, -1);
3013
+ }
3014
+ }
3015
+ }, [_vm._v("添加字段")])], 1), _c("ElDrawer", {
3016
+ attrs: {
3017
+ visible: _vm.fieldModelVisible,
3018
+ title: "字段配置",
3019
+ size: `${_vm.width}px`,
3020
+ "append-to-body": "",
3021
+ "destroy-on-close": ""
3022
+ },
3023
+ on: {
3024
+ "update:visible": function($event) {
3025
+ _vm.fieldModelVisible = $event;
3026
+ }
3027
+ }
3028
+ }, [_c("ElForm", {
3029
+ attrs: {
3030
+ model: _vm.formFieldForm,
3031
+ "label-width": "90px",
3032
+ size: "mini"
3033
+ },
3034
+ nativeOn: {
3035
+ submit: function($event) {
3036
+ $event.preventDefault();
3037
+ }
3038
+ }
3039
+ }, [_c("ElFormItem", {
3040
+ attrs: {
3041
+ label: "字段ID"
3042
+ }
3043
+ }, [_c("ElInput", {
3044
+ attrs: {
3045
+ clearable: ""
3046
+ },
3047
+ model: {
3048
+ value: _vm.formFieldForm.id,
3049
+ callback: function($$v) {
3050
+ _vm.$set(_vm.formFieldForm, "id", $$v);
3051
+ },
3052
+ expression: "formFieldForm.id"
3053
+ }
3054
+ })], 1), _c("ElFormItem", {
3055
+ attrs: {
3056
+ label: "类型"
3057
+ }
3058
+ }, [_c("ElSelect", {
3059
+ attrs: {
3060
+ placeholder: "请选择字段类型",
3061
+ clearable: ""
3062
+ },
3063
+ on: {
3064
+ change: _vm.changeFieldTypeType
3065
+ },
3066
+ model: {
3067
+ value: _vm.formFieldForm.typeType,
3068
+ callback: function($$v) {
3069
+ _vm.$set(_vm.formFieldForm, "typeType", $$v);
3070
+ },
3071
+ expression: "formFieldForm.typeType"
3072
+ }
3073
+ }, _vm._l(_vm.fieldType, function(value, key) {
3074
+ return _c("ElOption", {
3075
+ key,
3076
+ attrs: {
3077
+ label: value,
3078
+ value: key
3079
+ }
3080
+ });
3081
+ }), 1)], 1), _vm.formFieldForm.typeType === "custom" ? _c("ElFormItem", {
3082
+ attrs: {
3083
+ label: "类型名称"
3084
+ }
3085
+ }, [_c("ElInput", {
3086
+ attrs: {
3087
+ clearable: ""
3088
+ },
3089
+ model: {
3090
+ value: _vm.formFieldForm.type,
3091
+ callback: function($$v) {
3092
+ _vm.$set(_vm.formFieldForm, "type", $$v);
3093
+ },
3094
+ expression: "formFieldForm.type"
3095
+ }
3096
+ })], 1) : _vm._e(), _c("ElFormItem", {
3097
+ attrs: {
3098
+ label: "名称"
3099
+ }
3100
+ }, [_c("ElInput", {
3101
+ attrs: {
3102
+ clearable: ""
3103
+ },
3104
+ model: {
3105
+ value: _vm.formFieldForm.label,
3106
+ callback: function($$v) {
3107
+ _vm.$set(_vm.formFieldForm, "label", $$v);
3108
+ },
3109
+ expression: "formFieldForm.label"
3110
+ }
3111
+ })], 1), _vm.formFieldForm.typeType === "date" ? _c("ElFormItem", {
3112
+ attrs: {
3113
+ label: "时间格式"
3114
+ }
3115
+ }, [_c("ElInput", {
3116
+ attrs: {
3117
+ clearable: ""
3118
+ },
3119
+ model: {
3120
+ value: _vm.formFieldForm.datePattern,
3121
+ callback: function($$v) {
3122
+ _vm.$set(_vm.formFieldForm, "datePattern", $$v);
3123
+ },
3124
+ expression: "formFieldForm.datePattern"
3125
+ }
3126
+ })], 1) : _vm._e(), _c("ElFormItem", {
3127
+ attrs: {
3128
+ label: "默认值"
3129
+ }
3130
+ }, [_c("ElInput", {
3131
+ attrs: {
3132
+ clearable: ""
3133
+ },
3134
+ model: {
3135
+ value: _vm.formFieldForm.defaultValue,
3136
+ callback: function($$v) {
3137
+ _vm.$set(_vm.formFieldForm, "defaultValue", $$v);
3138
+ },
3139
+ expression: "formFieldForm.defaultValue"
3140
+ }
3141
+ })], 1)], 1), _vm.formFieldForm.type === "enum" ? [_c("ElDivider", {
3142
+ key: "enum-divider"
3143
+ }), _c("p", {
3144
+ key: "enum-title",
3145
+ staticClass: "listener-filed__title"
3146
+ }, [_c("span", [_c("i", {
3147
+ staticClass: "el-icon-menu"
3148
+ }), _vm._v("枚举值列表:")]), _c("ElButton", {
3149
+ attrs: {
3150
+ size: "mini",
3151
+ type: "primary"
3152
+ },
3153
+ on: {
3154
+ click: function($event) {
3155
+ return _vm.openFieldOptionForm(null, -1, "enum");
3156
+ }
3157
+ }
3158
+ }, [_vm._v("添加枚举值")])], 1), _c("ElTable", {
3159
+ key: "enum-table",
3160
+ attrs: {
3161
+ data: _vm.fieldEnumList,
3162
+ size: "mini",
3163
+ "max-height": "240",
3164
+ border: "",
3165
+ fit: ""
3166
+ }
3167
+ }, [_c("ElTableColumn", {
3168
+ attrs: {
3169
+ label: "序号",
3170
+ width: "50px",
3171
+ type: "index"
3172
+ }
3173
+ }), _c("ElTableColumn", {
3174
+ attrs: {
3175
+ label: "枚举值编号",
3176
+ prop: "id",
3177
+ "min-width": "100px",
3178
+ "show-overflow-tooltip": ""
3179
+ }
3180
+ }), _c("ElTableColumn", {
3181
+ attrs: {
3182
+ label: "枚举值名称",
3183
+ prop: "name",
3184
+ "min-width": "100px",
3185
+ "show-overflow-tooltip": ""
3186
+ }
3187
+ }), _c("ElTableColumn", {
3188
+ attrs: {
3189
+ label: "操作",
3190
+ width: "90px"
3191
+ },
3192
+ scopedSlots: _vm._u([{
3193
+ key: "default",
3194
+ fn: function(_ref2) {
3195
+ var row = _ref2.row, $index = _ref2.$index;
3196
+ return [_c("ElButton", {
3197
+ attrs: {
3198
+ size: "mini",
3199
+ type: "text"
3200
+ },
3201
+ on: {
3202
+ click: function($event) {
3203
+ return _vm.openFieldOptionForm(row, $index, "enum");
3204
+ }
3205
+ }
3206
+ }, [_vm._v("编辑")]), _c("ElDivider", {
3207
+ attrs: {
3208
+ direction: "vertical"
3209
+ }
3210
+ }), _c("ElButton", {
3211
+ staticStyle: {
3212
+ color: "#ff4d4f"
3213
+ },
3214
+ attrs: {
3215
+ size: "mini",
3216
+ type: "text"
3217
+ },
3218
+ on: {
3219
+ click: function($event) {
3220
+ return _vm.removeFieldOptionItem(row, $index, "enum");
3221
+ }
3222
+ }
3223
+ }, [_vm._v("移除")])];
3224
+ }
3225
+ }], null, !1, 747635382)
3226
+ })], 1)] : _vm._e(), _c("ElDivider", {
3227
+ key: "validation-divider"
3228
+ }), _c("p", {
3229
+ key: "validation-title",
3230
+ staticClass: "listener-filed__title"
3231
+ }, [_c("span", [_c("i", {
3232
+ staticClass: "el-icon-menu"
3233
+ }), _vm._v("约束条件列表:")]), _c("ElButton", {
3234
+ attrs: {
3235
+ size: "mini",
3236
+ type: "primary"
3237
+ },
3238
+ on: {
3239
+ click: function($event) {
3240
+ return _vm.openFieldOptionForm(null, -1, "constraint");
3241
+ }
3242
+ }
3243
+ }, [_vm._v("添加约束")])], 1), _c("ElTable", {
3244
+ key: "validation-table",
3245
+ attrs: {
3246
+ data: _vm.fieldConstraintsList,
3247
+ size: "mini",
3248
+ "max-height": "240",
3249
+ border: "",
3250
+ fit: ""
3251
+ }
3252
+ }, [_c("ElTableColumn", {
3253
+ attrs: {
3254
+ label: "序号",
3255
+ width: "50px",
3256
+ type: "index"
3257
+ }
3258
+ }), _c("ElTableColumn", {
3259
+ attrs: {
3260
+ label: "约束名称",
3261
+ prop: "name",
3262
+ "min-width": "100px",
3263
+ "show-overflow-tooltip": ""
3264
+ }
3265
+ }), _c("ElTableColumn", {
3266
+ attrs: {
3267
+ label: "约束配置",
3268
+ prop: "config",
3269
+ "min-width": "100px",
3270
+ "show-overflow-tooltip": ""
3271
+ }
3272
+ }), _c("ElTableColumn", {
3273
+ attrs: {
3274
+ label: "操作",
3275
+ width: "90px"
3276
+ },
3277
+ scopedSlots: _vm._u([{
3278
+ key: "default",
3279
+ fn: function(_ref3) {
3280
+ var row = _ref3.row, $index = _ref3.$index;
3281
+ return [_c("ElButton", {
3282
+ attrs: {
3283
+ size: "mini",
3284
+ type: "text"
3285
+ },
3286
+ on: {
3287
+ click: function($event) {
3288
+ return _vm.openFieldOptionForm(row, $index, "constraint");
3289
+ }
3290
+ }
3291
+ }, [_vm._v("编辑")]), _c("ElDivider", {
3292
+ attrs: {
3293
+ direction: "vertical"
3294
+ }
3295
+ }), _c("ElButton", {
3296
+ staticStyle: {
3297
+ color: "#ff4d4f"
3298
+ },
3299
+ attrs: {
3300
+ size: "mini",
3301
+ type: "text"
3302
+ },
3303
+ on: {
3304
+ click: function($event) {
3305
+ return _vm.removeFieldOptionItem(row, $index, "constraint");
3306
+ }
3307
+ }
3308
+ }, [_vm._v("移除")])];
3309
+ }
3310
+ }])
3311
+ })], 1), _c("ElDivider", {
3312
+ key: "property-divider"
3313
+ }), _c("p", {
3314
+ key: "property-title",
3315
+ staticClass: "listener-filed__title"
3316
+ }, [_c("span", [_c("i", {
3317
+ staticClass: "el-icon-menu"
3318
+ }), _vm._v("字段属性列表:")]), _c("ElButton", {
3319
+ attrs: {
3320
+ size: "mini",
3321
+ type: "primary"
3322
+ },
3323
+ on: {
3324
+ click: function($event) {
3325
+ return _vm.openFieldOptionForm(null, -1, "property");
3326
+ }
3327
+ }
3328
+ }, [_vm._v("添加属性")])], 1), _c("ElTable", {
3329
+ key: "property-table",
3330
+ attrs: {
3331
+ data: _vm.fieldPropertiesList,
3332
+ size: "mini",
3333
+ "max-height": "240",
3334
+ border: "",
3335
+ fit: ""
3336
+ }
3337
+ }, [_c("ElTableColumn", {
3338
+ attrs: {
3339
+ label: "序号",
3340
+ width: "50px",
3341
+ type: "index"
3342
+ }
3343
+ }), _c("ElTableColumn", {
3344
+ attrs: {
3345
+ label: "属性编号",
3346
+ prop: "id",
3347
+ "min-width": "100px",
3348
+ "show-overflow-tooltip": ""
3349
+ }
3350
+ }), _c("ElTableColumn", {
3351
+ attrs: {
3352
+ label: "属性值",
3353
+ prop: "value",
3354
+ "min-width": "100px",
3355
+ "show-overflow-tooltip": ""
3356
+ }
3357
+ }), _c("ElTableColumn", {
3358
+ attrs: {
3359
+ label: "操作",
3360
+ width: "90px"
3361
+ },
3362
+ scopedSlots: _vm._u([{
3363
+ key: "default",
3364
+ fn: function(_ref4) {
3365
+ var row = _ref4.row, $index = _ref4.$index;
3366
+ return [_c("ElButton", {
3367
+ attrs: {
3368
+ size: "mini",
3369
+ type: "text"
3370
+ },
3371
+ on: {
3372
+ click: function($event) {
3373
+ return _vm.openFieldOptionForm(row, $index, "property");
3374
+ }
3375
+ }
3376
+ }, [_vm._v("编辑")]), _c("ElDivider", {
3377
+ attrs: {
3378
+ direction: "vertical"
3379
+ }
3380
+ }), _c("ElButton", {
3381
+ staticStyle: {
3382
+ color: "#ff4d4f"
3383
+ },
3384
+ attrs: {
3385
+ size: "mini",
3386
+ type: "text"
3387
+ },
3388
+ on: {
3389
+ click: function($event) {
3390
+ return _vm.removeFieldOptionItem(row, $index, "property");
3391
+ }
3392
+ }
3393
+ }, [_vm._v("移除")])];
3394
+ }
3395
+ }])
3396
+ })], 1), _c("div", {
3397
+ staticClass: "element-drawer__button"
3398
+ }, [_c("ElButton", {
3399
+ attrs: {
3400
+ size: "mini"
3401
+ }
3402
+ }, [_vm._v("取 消")]), _c("ElButton", {
3403
+ attrs: {
3404
+ size: "mini",
3405
+ type: "primary"
3406
+ },
3407
+ on: {
3408
+ click: _vm.saveField
3409
+ }
3410
+ }, [_vm._v("保 存")])], 1)], 2), _c("ElementDialog", {
3411
+ attrs: {
3412
+ visible: _vm.fieldOptionModelVisible,
3413
+ title: _vm.optionModelTitle,
3414
+ width: "600px",
3415
+ "append-to-body": "",
3416
+ "destroy-on-close": ""
3417
+ },
3418
+ on: {
3419
+ "update:visible": function($event) {
3420
+ _vm.fieldOptionModelVisible = $event;
3421
+ }
3422
+ },
3423
+ scopedSlots: _vm._u([{
3424
+ key: "footer",
3425
+ fn: function() {
3426
+ return [_c("ElButton", {
3427
+ attrs: {
3428
+ size: "mini"
3429
+ },
3430
+ on: {
3431
+ click: function($event) {
3432
+ _vm.fieldOptionModelVisible = !1;
3433
+ }
3434
+ }
3435
+ }, [_vm._v("取 消")]), _c("ElButton", {
3436
+ attrs: {
3437
+ size: "mini",
3438
+ type: "primary"
3439
+ },
3440
+ on: {
3441
+ click: _vm.saveFieldOption
3442
+ }
3443
+ }, [_vm._v("确 定")])];
3444
+ },
3445
+ proxy: !0
3446
+ }])
3447
+ }, [_c("ElForm", {
3448
+ attrs: {
3449
+ model: _vm.fieldOptionForm,
3450
+ size: "mini",
3451
+ "label-width": "96px"
3452
+ },
3453
+ nativeOn: {
3454
+ submit: function($event) {
3455
+ $event.preventDefault();
3456
+ }
3457
+ }
3458
+ }, [_vm.fieldOptionType !== "constraint" ? _c("ElFormItem", {
3459
+ key: "option-id",
3460
+ attrs: {
3461
+ label: "编号/ID"
3462
+ }
3463
+ }, [_c("ElInput", {
3464
+ attrs: {
3465
+ clearable: ""
3466
+ },
3467
+ model: {
3468
+ value: _vm.fieldOptionForm.id,
3469
+ callback: function($$v) {
3470
+ _vm.$set(_vm.fieldOptionForm, "id", $$v);
3471
+ },
3472
+ expression: "fieldOptionForm.id"
3473
+ }
3474
+ })], 1) : _vm._e(), _vm.fieldOptionType !== "property" ? _c("ElFormItem", {
3475
+ key: "option-name",
3476
+ attrs: {
3477
+ label: "名称"
3478
+ }
3479
+ }, [_c("ElInput", {
3480
+ attrs: {
3481
+ clearable: ""
3482
+ },
3483
+ model: {
3484
+ value: _vm.fieldOptionForm.name,
3485
+ callback: function($$v) {
3486
+ _vm.$set(_vm.fieldOptionForm, "name", $$v);
3487
+ },
3488
+ expression: "fieldOptionForm.name"
3489
+ }
3490
+ })], 1) : _vm._e(), _vm.fieldOptionType === "constraint" ? _c("ElFormItem", {
3491
+ key: "option-config",
3492
+ attrs: {
3493
+ label: "配置"
3494
+ }
3495
+ }, [_c("ElInput", {
3496
+ attrs: {
3497
+ clearable: ""
3498
+ },
3499
+ model: {
3500
+ value: _vm.fieldOptionForm.config,
3501
+ callback: function($$v) {
3502
+ _vm.$set(_vm.fieldOptionForm, "config", $$v);
3503
+ },
3504
+ expression: "fieldOptionForm.config"
3505
+ }
3506
+ })], 1) : _vm._e(), _vm.fieldOptionType === "property" ? _c("ElFormItem", {
3507
+ key: "option-value",
3508
+ attrs: {
3509
+ label: "值"
3510
+ }
3511
+ }, [_c("ElInput", {
3512
+ attrs: {
3513
+ clearable: ""
3514
+ },
3515
+ model: {
3516
+ value: _vm.fieldOptionForm.value,
3517
+ callback: function($$v) {
3518
+ _vm.$set(_vm.fieldOptionForm, "value", $$v);
3519
+ },
3520
+ expression: "fieldOptionForm.value"
3521
+ }
3522
+ })], 1) : _vm._e()], 1)], 1)], 1);
3523
+ }, staticRenderFns$2 = [];
3524
+ const __vue2_script$2 = {
3525
+ name: "ElementForm",
3526
+ inject: {
3527
+ prefix: "prefix",
3528
+ width: "width"
3529
+ },
3530
+ props: {
3531
+ id: String
3532
+ },
3533
+ data() {
3534
+ return {
3535
+ formKey: "",
3536
+ businessKey: "",
3537
+ optionModelTitle: "",
3538
+ fieldList: [],
3539
+ formFieldForm: {},
3540
+ fieldType: {
3541
+ long: "长整型",
3542
+ string: "字符串",
3543
+ boolean: "布尔类",
3544
+ date: "日期类",
3545
+ enum: "枚举类",
3546
+ custom: "自定义类型"
3547
+ },
3548
+ formFieldIndex: -1,
3549
+ // 编辑中的字段, -1 为新增
3550
+ formFieldOptionIndex: -1,
3551
+ // 编辑中的字段配置项, -1 为新增
3552
+ fieldModelVisible: !1,
3553
+ fieldOptionModelVisible: !1,
3554
+ fieldOptionForm: {},
3555
+ // 当前激活的字段配置项数据
3556
+ fieldOptionType: "",
3557
+ // 当前激活的字段配置项弹窗 类型
3558
+ fieldEnumList: [],
3559
+ // 枚举值列表
3560
+ fieldConstraintsList: [],
3561
+ // 约束条件列表
3562
+ fieldPropertiesList: []
3563
+ // 绑定属性列表
3564
+ };
3565
+ },
3566
+ watch: {
3567
+ id: {
3568
+ immediate: !0,
3569
+ handler(val) {
3570
+ val && val.length && this.$nextTick(() => this.resetFormList());
3571
+ }
3572
+ }
3573
+ },
3574
+ methods: {
3575
+ resetFormList() {
3576
+ var _a;
3577
+ this.bpmnElement = window.bpmnInstances.bpmnElement, this.formKey = this.bpmnElement.businessObject.formKey, this.elExtensionElements = this.bpmnElement.businessObject.get("extensionElements") || window.bpmnInstances.moddle.create("bpmn:ExtensionElements", { values: [] }), this.formData = ((_a = this.elExtensionElements.values.filter((ex) => ex.$type === `${this.prefix}:FormData`)) == null ? void 0 : _a[0]) || window.bpmnInstances.moddle.create(`${this.prefix}:FormData`, { fields: [] }), this.businessKey = this.formData.businessKey, this.otherExtensions = this.elExtensionElements.values.filter((ex) => ex.$type !== `${this.prefix}:FormData`), this.fieldList = JSON.parse(JSON.stringify(this.formData.fields || [])), this.updateElementExtensions();
3578
+ },
3579
+ updateElementFormKey() {
3580
+ window.bpmnInstances.modeling.updateProperties(this.bpmnElement, { formKey: this.formKey });
3581
+ },
3582
+ updateElementBusinessKey() {
3583
+ window.bpmnInstances.modeling.updateModdleProperties(this.bpmnElement, this.formData, {
3584
+ businessKey: this.businessKey
3585
+ });
3586
+ },
3587
+ // 根据类型调整字段type
3588
+ changeFieldTypeType(type) {
3589
+ this.$set(this.formFieldForm, "type", type === "custom" ? "" : type);
3590
+ },
3591
+ // 打开字段详情侧边栏
3592
+ openFieldForm(field, index) {
3593
+ var _a, _b;
3594
+ if (this.formFieldIndex = index, index !== -1) {
3595
+ const FieldObject = this.formData.fields[index];
3596
+ this.formFieldForm = JSON.parse(JSON.stringify(field)), this.$set(this.formFieldForm, "typeType", this.fieldType[field.type] ? field.type : "custom"), field.type === "enum" && (this.fieldEnumList = JSON.parse(JSON.stringify((FieldObject == null ? void 0 : FieldObject.values) || []))), this.fieldConstraintsList = JSON.parse(JSON.stringify(((_a = FieldObject == null ? void 0 : FieldObject.validation) == null ? void 0 : _a.constraints) || [])), this.fieldPropertiesList = JSON.parse(JSON.stringify(((_b = FieldObject == null ? void 0 : FieldObject.properties) == null ? void 0 : _b.values) || []));
3597
+ } else
3598
+ this.formFieldForm = {}, this.fieldEnumList = [], this.fieldConstraintsList = [], this.fieldPropertiesList = [];
3599
+ this.fieldModelVisible = !0;
3600
+ },
3601
+ // 打开字段 某个 配置项 弹窗
3602
+ openFieldOptionForm(option, index, type) {
3603
+ return this.fieldOptionModelVisible = !0, this.fieldOptionType = type, this.formFieldOptionIndex = index, type === "property" ? (this.fieldOptionForm = option ? JSON.parse(JSON.stringify(option)) : {}, this.optionModelTitle = "属性配置") : type === "enum" ? (this.fieldOptionForm = option ? JSON.parse(JSON.stringify(option)) : {}, this.optionModelTitle = "枚举值配置") : (this.fieldOptionForm = option ? JSON.parse(JSON.stringify(option)) : {}, this.optionModelTitle = "约束条件配置");
3604
+ },
3605
+ // 保存字段 某个 配置项
3606
+ saveFieldOption() {
3607
+ this.formFieldOptionIndex === -1 ? (this.fieldOptionType === "property" && this.fieldPropertiesList.push(this.fieldOptionForm), this.fieldOptionType === "constraint" && this.fieldConstraintsList.push(this.fieldOptionForm), this.fieldOptionType === "enum" && this.fieldEnumList.push(this.fieldOptionForm)) : (this.fieldOptionType === "property" && this.fieldPropertiesList.splice(this.formFieldOptionIndex, 1, this.fieldOptionForm), this.fieldOptionType === "constraint" && this.fieldConstraintsList.splice(this.formFieldOptionIndex, 1, this.fieldOptionForm), this.fieldOptionType === "enum" && this.fieldEnumList.splice(this.formFieldOptionIndex, 1, this.fieldOptionForm)), this.fieldOptionModelVisible = !1, this.fieldOptionForm = {};
3608
+ },
3609
+ // 保存字段配置
3610
+ saveField() {
3611
+ const { id, type, label, defaultValue, datePattern } = this.formFieldForm, Field = window.bpmnInstances.moddle.create(`${this.prefix}:FormField`, { id, type, label });
3612
+ if (defaultValue && (Field.defaultValue = defaultValue), datePattern && (Field.datePattern = datePattern), this.fieldPropertiesList && this.fieldPropertiesList.length) {
3613
+ const fieldPropertyList = this.fieldPropertiesList.map((fp) => window.bpmnInstances.moddle.create(`${this.prefix}:Property`, { id: fp.id, value: fp.value }));
3614
+ Field.properties = window.bpmnInstances.moddle.create(`${this.prefix}:Properties`, {
3615
+ values: fieldPropertyList
3616
+ });
3617
+ }
3618
+ if (this.fieldConstraintsList && this.fieldConstraintsList.length) {
3619
+ const fieldConstraintList = this.fieldConstraintsList.map((fc) => window.bpmnInstances.moddle.create(`${this.prefix}:Constraint`, { name: fc.name, config: fc.config }));
3620
+ Field.validation = window.bpmnInstances.moddle.create(`${this.prefix}:Validation`, {
3621
+ constraints: fieldConstraintList
3622
+ });
3623
+ }
3624
+ this.fieldEnumList && this.fieldEnumList.length && (Field.values = this.fieldEnumList.map((fe) => window.bpmnInstances.moddle.create(`${this.prefix}:Value`, { name: fe.name, id: fe.id }))), this.formFieldIndex === -1 ? (this.fieldList.push(this.formFieldForm), this.formData.fields.push(Field)) : (this.fieldList.splice(this.formFieldIndex, 1, this.formFieldForm), this.formData.fields.splice(this.formFieldIndex, 1, Field)), this.updateElementExtensions(), this.fieldModelVisible = !1;
3625
+ },
3626
+ // 移除某个 字段的 配置项
3627
+ removeFieldOptionItem(option, index, type) {
3628
+ if (type === "property") {
3629
+ this.fieldPropertiesList.splice(index, 1);
3630
+ return;
3631
+ }
3632
+ if (type === "enum") {
3633
+ this.fieldEnumList.splice(index, 1);
3634
+ return;
3635
+ }
3636
+ this.fieldConstraintsList.splice(index, 1);
3637
+ },
3638
+ // 移除 字段
3639
+ removeField(field, index) {
3640
+ this.fieldList.splice(index, 1), this.formData.fields.splice(index, 1), this.updateElementExtensions();
3641
+ },
3642
+ updateElementExtensions() {
3643
+ const newElExtensionElements = window.bpmnInstances.moddle.create("bpmn:ExtensionElements", {
3644
+ values: this.otherExtensions.concat(this.formData)
3645
+ });
3646
+ window.bpmnInstances.modeling.updateProperties(this.bpmnElement, {
3647
+ extensionElements: newElExtensionElements
3648
+ });
3649
+ }
3650
+ }
3651
+ }, __cssModules$2 = {};
3652
+ var __component__$2 = /* @__PURE__ */ normalizeComponent(
3653
+ __vue2_script$2,
3654
+ render$2,
3655
+ staticRenderFns$2,
3656
+ !1,
3657
+ __vue2_injectStyles$2,
3658
+ null,
3659
+ null,
3660
+ null
3661
+ );
3662
+ function __vue2_injectStyles$2(context) {
3663
+ for (let o in __cssModules$2)
3664
+ this[o] = __cssModules$2[o];
3665
+ }
3666
+ const ElementForm = /* @__PURE__ */ function() {
3667
+ return __component__$2.exports;
3668
+ }();
3669
+ var render$1 = function() {
3670
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
3671
+ return _c("div", {
3672
+ staticClass: "panel-tab__content"
3673
+ }, [_c("ElTable", {
3674
+ attrs: {
3675
+ data: _vm.elementListenersList,
3676
+ size: "mini",
3677
+ border: ""
3678
+ }
3679
+ }, [_c("ElTableColumn", {
3680
+ attrs: {
3681
+ label: "序号",
3682
+ width: "50px",
3683
+ type: "index"
3684
+ }
3685
+ }), _c("ElTableColumn", {
3686
+ attrs: {
3687
+ label: "事件类型",
3688
+ "min-width": "80px",
3689
+ "show-overflow-tooltip": "",
3690
+ formatter: function(row) {
3691
+ return _vm.listenerEventTypeObject[row.event];
3692
+ }
3693
+ }
3694
+ }), _c("ElTableColumn", {
3695
+ attrs: {
3696
+ label: "事件id",
3697
+ "min-width": "80px",
3698
+ prop: "id",
3699
+ "show-overflow-tooltip": ""
3700
+ }
3701
+ }), _c("ElTableColumn", {
3702
+ attrs: {
3703
+ label: "监听器类型",
3704
+ "min-width": "80px",
3705
+ "show-overflow-tooltip": "",
3706
+ formatter: function(row) {
3707
+ return _vm.listenerTypeObject[row.listenerType];
3708
+ }
3709
+ }
3710
+ }), _c("ElTableColumn", {
3711
+ attrs: {
3712
+ label: "操作",
3713
+ width: "90px"
3714
+ },
3715
+ scopedSlots: _vm._u([{
3716
+ key: "default",
3717
+ fn: function(_ref) {
3718
+ var row = _ref.row, $index = _ref.$index;
3719
+ return [_c("ElButton", {
3720
+ attrs: {
3721
+ size: "mini",
3722
+ type: "text"
3723
+ },
3724
+ on: {
3725
+ click: function($event) {
3726
+ return _vm.openListenerForm(row, $index);
3727
+ }
3728
+ }
3729
+ }, [_vm._v("编辑")]), _c("ElDivider", {
3730
+ attrs: {
3731
+ direction: "vertical"
3732
+ }
3733
+ }), _c("ElButton", {
3734
+ staticStyle: {
3735
+ color: "#ff4d4f"
3736
+ },
3737
+ attrs: {
3738
+ size: "mini",
3739
+ type: "text"
3740
+ },
3741
+ on: {
3742
+ click: function($event) {
3743
+ return _vm.removeListener(row, $index);
3744
+ }
3745
+ }
3746
+ }, [_vm._v("移除")])];
3747
+ }
3748
+ }])
3749
+ })], 1), _c("div", {
3750
+ staticClass: "element-drawer__button"
3751
+ }, [_c("ElButton", {
3752
+ attrs: {
3753
+ size: "mini",
3754
+ type: "primary",
3755
+ icon: "el-icon-plus"
3756
+ },
3757
+ on: {
3758
+ click: function($event) {
3759
+ return _vm.openListenerForm(null);
3760
+ }
3761
+ }
3762
+ }, [_vm._v("添加监听器")])], 1), _c("ElDrawer", {
3763
+ attrs: {
3764
+ visible: _vm.listenerFormModelVisible,
3765
+ title: "任务监听器",
3766
+ size: `${_vm.width}px`,
3767
+ "append-to-body": "",
3768
+ "destroy-on-close": ""
3769
+ },
3770
+ on: {
3771
+ "update:visible": function($event) {
3772
+ _vm.listenerFormModelVisible = $event;
3773
+ }
3774
+ }
3775
+ }, [_c("ElForm", {
3776
+ ref: "listenerFormRef",
3777
+ attrs: {
3778
+ size: "mini",
3779
+ model: _vm.listenerForm,
3780
+ "label-width": "96px"
3781
+ },
3782
+ nativeOn: {
3783
+ submit: function($event) {
3784
+ $event.preventDefault();
3785
+ }
3786
+ }
3787
+ }, [_c("ElFormItem", {
3788
+ attrs: {
3789
+ label: "事件类型",
3790
+ prop: "event",
3791
+ rules: {
3792
+ required: !0,
3793
+ trigger: ["blur", "change"]
3794
+ }
3795
+ }
3796
+ }, [_c("ElSelect", {
3797
+ model: {
3798
+ value: _vm.listenerForm.event,
3799
+ callback: function($$v) {
3800
+ _vm.$set(_vm.listenerForm, "event", $$v);
3801
+ },
3802
+ expression: "listenerForm.event"
3803
+ }
3804
+ }, _vm._l(Object.keys(_vm.listenerEventTypeObject), function(i) {
3805
+ return _c("ElOption", {
3806
+ key: i,
3807
+ attrs: {
3808
+ label: _vm.listenerEventTypeObject[i],
3809
+ value: i
3810
+ }
3811
+ });
3812
+ }), 1)], 1), _c("ElFormItem", {
3813
+ attrs: {
3814
+ label: "监听器ID",
3815
+ prop: "id",
3816
+ rules: {
3817
+ required: !0,
3818
+ trigger: ["blur", "change"]
3819
+ }
3820
+ }
3821
+ }, [_c("ElInput", {
3822
+ attrs: {
3823
+ clearable: ""
3824
+ },
3825
+ model: {
3826
+ value: _vm.listenerForm.id,
3827
+ callback: function($$v) {
3828
+ _vm.$set(_vm.listenerForm, "id", $$v);
3829
+ },
3830
+ expression: "listenerForm.id"
3831
+ }
3832
+ })], 1), _c("ElFormItem", {
3833
+ attrs: {
3834
+ label: "监听器类型",
3835
+ prop: "listenerType",
3836
+ rules: {
3837
+ required: !0,
3838
+ trigger: ["blur", "change"]
3839
+ }
3840
+ }
3841
+ }, [_c("ElSelect", {
3842
+ model: {
3843
+ value: _vm.listenerForm.listenerType,
3844
+ callback: function($$v) {
3845
+ _vm.$set(_vm.listenerForm, "listenerType", $$v);
3846
+ },
3847
+ expression: "listenerForm.listenerType"
3848
+ }
3849
+ }, _vm._l(Object.keys(_vm.listenerTypeObject), function(i) {
3850
+ return _c("ElOption", {
3851
+ key: i,
3852
+ attrs: {
3853
+ label: _vm.listenerTypeObject[i],
3854
+ value: i
3855
+ }
3856
+ });
3857
+ }), 1)], 1), _vm.listenerForm.listenerType === "classListener" ? _c("ElFormItem", {
3858
+ key: "listener-class",
3859
+ attrs: {
3860
+ label: "Java类",
3861
+ prop: "class",
3862
+ rules: {
3863
+ required: !0,
3864
+ trigger: ["blur", "change"]
3865
+ }
3866
+ }
3867
+ }, [_c("ElInput", {
3868
+ attrs: {
3869
+ clearable: ""
3870
+ },
3871
+ model: {
3872
+ value: _vm.listenerForm.class,
3873
+ callback: function($$v) {
3874
+ _vm.$set(_vm.listenerForm, "class", $$v);
3875
+ },
3876
+ expression: "listenerForm.class"
3877
+ }
3878
+ })], 1) : _vm._e(), _vm.listenerForm.listenerType === "expressionListener" ? _c("ElFormItem", {
3879
+ key: "listener-expression",
3880
+ attrs: {
3881
+ label: "表达式",
3882
+ prop: "expression",
3883
+ rules: {
3884
+ required: !0,
3885
+ trigger: ["blur", "change"]
3886
+ }
3887
+ }
3888
+ }, [_c("ElInput", {
3889
+ attrs: {
3890
+ clearable: ""
3891
+ },
3892
+ model: {
3893
+ value: _vm.listenerForm.expression,
3894
+ callback: function($$v) {
3895
+ _vm.$set(_vm.listenerForm, "expression", $$v);
3896
+ },
3897
+ expression: "listenerForm.expression"
3898
+ }
3899
+ })], 1) : _vm._e(), _vm.listenerForm.listenerType === "delegateExpressionListener" ? _c("ElFormItem", {
3900
+ key: "listener-delegate",
3901
+ attrs: {
3902
+ label: "代理表达式",
3903
+ prop: "delegateExpression",
3904
+ rules: {
3905
+ required: !0,
3906
+ trigger: ["blur", "change"]
3907
+ }
3908
+ }
3909
+ }, [_c("ElInput", {
3910
+ attrs: {
3911
+ clearable: ""
3912
+ },
3913
+ model: {
3914
+ value: _vm.listenerForm.delegateExpression,
3915
+ callback: function($$v) {
3916
+ _vm.$set(_vm.listenerForm, "delegateExpression", $$v);
3917
+ },
3918
+ expression: "listenerForm.delegateExpression"
3919
+ }
3920
+ })], 1) : _vm._e(), _vm.listenerForm.listenerType === "scriptListener" ? [_c("ElFormItem", {
3921
+ key: "listener-script-format",
3922
+ attrs: {
3923
+ label: "脚本格式",
3924
+ prop: "scriptFormat",
3925
+ rules: {
3926
+ required: !0,
3927
+ trigger: ["blur", "change"],
3928
+ message: "请填写脚本格式"
3929
+ }
3930
+ }
3931
+ }, [_c("ElInput", {
3932
+ attrs: {
3933
+ clearable: ""
3934
+ },
3935
+ model: {
3936
+ value: _vm.listenerForm.scriptFormat,
3937
+ callback: function($$v) {
3938
+ _vm.$set(_vm.listenerForm, "scriptFormat", $$v);
3939
+ },
3940
+ expression: "listenerForm.scriptFormat"
3941
+ }
3942
+ })], 1), _c("ElFormItem", {
3943
+ key: "listener-script-type",
3944
+ attrs: {
3945
+ label: "脚本类型",
3946
+ prop: "scriptType",
3947
+ rules: {
3948
+ required: !0,
3949
+ trigger: ["blur", "change"],
3950
+ message: "请选择脚本类型"
3951
+ }
3952
+ }
3953
+ }, [_c("ElSelect", {
3954
+ model: {
3955
+ value: _vm.listenerForm.scriptType,
3956
+ callback: function($$v) {
3957
+ _vm.$set(_vm.listenerForm, "scriptType", $$v);
3958
+ },
3959
+ expression: "listenerForm.scriptType"
3960
+ }
3961
+ }, [_c("ElOption", {
3962
+ attrs: {
3963
+ label: "内联脚本",
3964
+ value: "inlineScript"
3965
+ }
3966
+ }), _c("ElOption", {
3967
+ attrs: {
3968
+ label: "外部脚本",
3969
+ value: "externalScript"
3970
+ }
3971
+ })], 1)], 1), _vm.listenerForm.scriptType === "inlineScript" ? _c("ElFormItem", {
3972
+ key: "listener-script",
3973
+ attrs: {
3974
+ label: "脚本内容",
3975
+ prop: "value",
3976
+ rules: {
3977
+ required: !0,
3978
+ trigger: ["blur", "change"],
3979
+ message: "请填写脚本内容"
3980
+ }
3981
+ }
3982
+ }, [_c("ElInput", {
3983
+ attrs: {
3984
+ clearable: ""
3985
+ },
3986
+ model: {
3987
+ value: _vm.listenerForm.value,
3988
+ callback: function($$v) {
3989
+ _vm.$set(_vm.listenerForm, "value", $$v);
3990
+ },
3991
+ expression: "listenerForm.value"
3992
+ }
3993
+ })], 1) : _vm._e(), _vm.listenerForm.scriptType === "externalScript" ? _c("ElFormItem", {
3994
+ key: "listener-resource",
3995
+ attrs: {
3996
+ label: "资源地址",
3997
+ prop: "resource",
3998
+ rules: {
3999
+ required: !0,
4000
+ trigger: ["blur", "change"],
4001
+ message: "请填写资源地址"
4002
+ }
4003
+ }
4004
+ }, [_c("ElInput", {
4005
+ attrs: {
4006
+ clearable: ""
4007
+ },
4008
+ model: {
4009
+ value: _vm.listenerForm.resource,
4010
+ callback: function($$v) {
4011
+ _vm.$set(_vm.listenerForm, "resource", $$v);
4012
+ },
4013
+ expression: "listenerForm.resource"
4014
+ }
4015
+ })], 1) : _vm._e()] : _vm._e(), _vm.listenerForm.event === "timeout" ? [_c("ElFormItem", {
4016
+ key: "eventDefinitionType",
4017
+ attrs: {
4018
+ label: "定时器类型",
4019
+ prop: "eventDefinitionType"
4020
+ }
4021
+ }, [_c("ElSelect", {
4022
+ model: {
4023
+ value: _vm.listenerForm.eventDefinitionType,
4024
+ callback: function($$v) {
4025
+ _vm.$set(_vm.listenerForm, "eventDefinitionType", $$v);
4026
+ },
4027
+ expression: "listenerForm.eventDefinitionType"
4028
+ }
4029
+ }, [_c("ElOption", {
4030
+ attrs: {
4031
+ label: "日期",
4032
+ value: "date"
4033
+ }
4034
+ }), _c("ElOption", {
4035
+ attrs: {
4036
+ label: "持续时长",
4037
+ value: "duration"
4038
+ }
4039
+ }), _c("ElOption", {
4040
+ attrs: {
4041
+ label: "循环",
4042
+ value: "cycle"
4043
+ }
4044
+ }), _c("ElOption", {
4045
+ attrs: {
4046
+ label: "无",
4047
+ value: "null"
4048
+ }
4049
+ })], 1)], 1), _vm.listenerForm.eventDefinitionType && _vm.listenerForm.eventDefinitionType !== "null" ? _c("ElFormItem", {
4050
+ key: "eventTimeDefinitions",
4051
+ attrs: {
4052
+ label: "定时器",
4053
+ prop: "eventTimeDefinitions",
4054
+ rules: {
4055
+ required: !0,
4056
+ trigger: ["blur", "change"],
4057
+ message: "请填写定时器配置"
4058
+ }
4059
+ }
4060
+ }, [_c("ElInput", {
4061
+ attrs: {
4062
+ clearable: ""
4063
+ },
4064
+ model: {
4065
+ value: _vm.listenerForm.eventTimeDefinitions,
4066
+ callback: function($$v) {
4067
+ _vm.$set(_vm.listenerForm, "eventTimeDefinitions", $$v);
4068
+ },
4069
+ expression: "listenerForm.eventTimeDefinitions"
4070
+ }
4071
+ })], 1) : _vm._e()] : _vm._e()], 2), _c("ElDivider"), _c("p", {
4072
+ staticClass: "listener-filed__title"
4073
+ }, [_c("span", [_c("i", {
4074
+ staticClass: "el-icon-menu"
4075
+ }), _vm._v("注入字段:")]), _c("ElButton", {
4076
+ attrs: {
4077
+ size: "mini",
4078
+ type: "primary"
4079
+ },
4080
+ on: {
4081
+ click: function($event) {
4082
+ return _vm.openListenerFieldForm(null);
4083
+ }
4084
+ }
4085
+ }, [_vm._v("添加字段")])], 1), _c("ElTable", {
4086
+ staticStyle: {
4087
+ flex: "none"
4088
+ },
4089
+ attrs: {
4090
+ data: _vm.fieldsListOfListener,
4091
+ size: "mini",
4092
+ "max-height": "240",
4093
+ border: "",
4094
+ fit: ""
4095
+ }
4096
+ }, [_c("ElTableColumn", {
4097
+ attrs: {
4098
+ label: "序号",
4099
+ width: "50px",
4100
+ type: "index"
4101
+ }
4102
+ }), _c("ElTableColumn", {
4103
+ attrs: {
4104
+ label: "字段名称",
4105
+ "min-width": "100px",
4106
+ prop: "name"
4107
+ }
4108
+ }), _c("ElTableColumn", {
4109
+ attrs: {
4110
+ label: "字段类型",
4111
+ "min-width": "80px",
4112
+ "show-overflow-tooltip": "",
4113
+ formatter: function(row) {
4114
+ return _vm.fieldTypeObject[row.fieldType];
4115
+ }
4116
+ }
4117
+ }), _c("ElTableColumn", {
4118
+ attrs: {
4119
+ label: "字段值/表达式",
4120
+ "min-width": "100px",
4121
+ "show-overflow-tooltip": "",
4122
+ formatter: function(row) {
4123
+ return row.string || row.expression;
4124
+ }
4125
+ }
4126
+ }), _c("ElTableColumn", {
4127
+ attrs: {
4128
+ label: "操作",
4129
+ width: "100px"
4130
+ },
4131
+ scopedSlots: _vm._u([{
4132
+ key: "default",
4133
+ fn: function(_ref2) {
4134
+ var row = _ref2.row, $index = _ref2.$index;
4135
+ return [_c("ElButton", {
4136
+ attrs: {
4137
+ size: "mini",
4138
+ type: "text"
4139
+ },
4140
+ on: {
4141
+ click: function($event) {
4142
+ return _vm.openListenerFieldForm(row, $index);
4143
+ }
4144
+ }
4145
+ }, [_vm._v("编辑")]), _c("ElDivider", {
4146
+ attrs: {
4147
+ direction: "vertical"
4148
+ }
4149
+ }), _c("ElButton", {
4150
+ staticStyle: {
4151
+ color: "#ff4d4f"
4152
+ },
4153
+ attrs: {
4154
+ size: "mini",
4155
+ type: "text"
4156
+ },
4157
+ on: {
4158
+ click: function($event) {
4159
+ return _vm.removeListenerField(row, $index);
4160
+ }
4161
+ }
4162
+ }, [_vm._v("移除")])];
4163
+ }
4164
+ }])
4165
+ })], 1), _c("div", {
4166
+ staticClass: "element-drawer__button"
4167
+ }, [_c("ElButton", {
4168
+ attrs: {
4169
+ size: "mini"
4170
+ },
4171
+ on: {
4172
+ click: function($event) {
4173
+ _vm.listenerFormModelVisible = !1;
4174
+ }
4175
+ }
4176
+ }, [_vm._v("取 消")]), _c("ElButton", {
4177
+ attrs: {
4178
+ size: "mini",
4179
+ type: "primary"
4180
+ },
4181
+ on: {
4182
+ click: _vm.saveListenerConfig
4183
+ }
4184
+ }, [_vm._v("保 存")])], 1)], 1), _c("ElementDialog", {
4185
+ attrs: {
4186
+ title: "字段配置",
4187
+ visible: _vm.listenerFieldFormModelVisible,
4188
+ width: "600px",
4189
+ "append-to-body": "",
4190
+ "destroy-on-close": ""
4191
+ },
4192
+ on: {
4193
+ "update:visible": function($event) {
4194
+ _vm.listenerFieldFormModelVisible = $event;
4195
+ }
4196
+ },
4197
+ scopedSlots: _vm._u([{
4198
+ key: "footer",
4199
+ fn: function() {
4200
+ return [_c("ElButton", {
4201
+ attrs: {
4202
+ size: "mini"
4203
+ },
4204
+ on: {
4205
+ click: function($event) {
4206
+ _vm.listenerFieldFormModelVisible = !1;
4207
+ }
4208
+ }
4209
+ }, [_vm._v("取 消")]), _c("ElButton", {
4210
+ attrs: {
4211
+ size: "mini",
4212
+ type: "primary"
4213
+ },
4214
+ on: {
4215
+ click: _vm.saveListenerFiled
4216
+ }
4217
+ }, [_vm._v("确 定")])];
4218
+ },
4219
+ proxy: !0
4220
+ }])
4221
+ }, [_c("ElForm", {
4222
+ ref: "listenerFieldFormRef",
4223
+ staticStyle: {
4224
+ height: "136px"
4225
+ },
4226
+ attrs: {
4227
+ model: _vm.listenerFieldForm,
4228
+ size: "mini",
4229
+ "label-width": "96px"
4230
+ },
4231
+ nativeOn: {
4232
+ submit: function($event) {
4233
+ $event.preventDefault();
4234
+ }
4235
+ }
4236
+ }, [_c("ElFormItem", {
4237
+ attrs: {
4238
+ label: "字段名称:",
4239
+ prop: "name",
4240
+ rules: {
4241
+ required: !0,
4242
+ trigger: ["blur", "change"]
4243
+ }
4244
+ }
4245
+ }, [_c("ElInput", {
4246
+ attrs: {
4247
+ clearable: ""
4248
+ },
4249
+ model: {
4250
+ value: _vm.listenerFieldForm.name,
4251
+ callback: function($$v) {
4252
+ _vm.$set(_vm.listenerFieldForm, "name", $$v);
4253
+ },
4254
+ expression: "listenerFieldForm.name"
4255
+ }
4256
+ })], 1), _c("ElFormItem", {
4257
+ attrs: {
4258
+ label: "字段类型:",
4259
+ prop: "fieldType",
4260
+ rules: {
4261
+ required: !0,
4262
+ trigger: ["blur", "change"]
4263
+ }
4264
+ }
4265
+ }, [_c("ElSelect", {
4266
+ model: {
4267
+ value: _vm.listenerFieldForm.fieldType,
4268
+ callback: function($$v) {
4269
+ _vm.$set(_vm.listenerFieldForm, "fieldType", $$v);
4270
+ },
4271
+ expression: "listenerFieldForm.fieldType"
4272
+ }
4273
+ }, _vm._l(Object.keys(_vm.fieldTypeObject), function(i) {
4274
+ return _c("ElOption", {
4275
+ key: i,
4276
+ attrs: {
4277
+ label: _vm.fieldTypeObject[i],
4278
+ value: i
4279
+ }
4280
+ });
4281
+ }), 1)], 1), _vm.listenerFieldForm.fieldType === "string" ? _c("ElFormItem", {
4282
+ key: "field-string",
4283
+ attrs: {
4284
+ label: "字段值:",
4285
+ prop: "string",
4286
+ rules: {
4287
+ required: !0,
4288
+ trigger: ["blur", "change"]
4289
+ }
4290
+ }
4291
+ }, [_c("ElInput", {
4292
+ attrs: {
4293
+ clearable: ""
4294
+ },
4295
+ model: {
4296
+ value: _vm.listenerFieldForm.string,
4297
+ callback: function($$v) {
4298
+ _vm.$set(_vm.listenerFieldForm, "string", $$v);
4299
+ },
4300
+ expression: "listenerFieldForm.string"
4301
+ }
4302
+ })], 1) : _vm._e(), _vm.listenerFieldForm.fieldType === "expression" ? _c("ElFormItem", {
4303
+ key: "field-expression",
4304
+ attrs: {
4305
+ label: "表达式:",
4306
+ prop: "expression",
4307
+ rules: {
4308
+ required: !0,
4309
+ trigger: ["blur", "change"]
4310
+ }
4311
+ }
4312
+ }, [_c("ElInput", {
4313
+ attrs: {
4314
+ clearable: ""
4315
+ },
4316
+ model: {
4317
+ value: _vm.listenerFieldForm.expression,
4318
+ callback: function($$v) {
4319
+ _vm.$set(_vm.listenerFieldForm, "expression", $$v);
4320
+ },
4321
+ expression: "listenerFieldForm.expression"
4322
+ }
4323
+ })], 1) : _vm._e()], 1)], 1)], 1);
4324
+ }, staticRenderFns$1 = [];
4325
+ const __vue2_script$1 = {
4326
+ name: "UserTaskListeners",
4327
+ inject: {
4328
+ prefix: "prefix",
4329
+ width: "width"
4330
+ },
4331
+ props: {
4332
+ id: String
4333
+ },
4334
+ data() {
4335
+ return {
4336
+ elementListenersList: [],
4337
+ listenerEventTypeObject: eventType,
4338
+ listenerTypeObject: listenerType,
4339
+ listenerFormModelVisible: !1,
4340
+ listenerForm: {},
4341
+ fieldTypeObject: fieldType,
4342
+ fieldsListOfListener: [],
4343
+ listenerFieldFormModelVisible: !1,
4344
+ // 监听器 注入字段表单弹窗 显示状态
4345
+ editingListenerIndex: -1,
4346
+ // 监听器所在下标,-1 为新增
4347
+ editingListenerFieldIndex: -1,
4348
+ // 字段所在下标,-1 为新增
4349
+ listenerFieldForm: {}
4350
+ // 监听器 注入字段 详情表单
4351
+ };
4352
+ },
4353
+ watch: {
4354
+ id: {
4355
+ immediate: !0,
4356
+ handler(val) {
4357
+ val && val.length && this.$nextTick(() => this.resetListenersList());
4358
+ }
4359
+ }
4360
+ },
4361
+ methods: {
4362
+ resetListenersList() {
4363
+ var _a, _b, _c;
4364
+ this.bpmnElement = window.bpmnInstances.bpmnElement, this.otherExtensionList = [], this.bpmnElementListeners = ((_c = (_b = (_a = this.bpmnElement.businessObject) == null ? void 0 : _a.extensionElements) == null ? void 0 : _b.values) == null ? void 0 : _c.filter((ex) => ex.$type === `${this.prefix}:TaskListener`)) ?? [], this.elementListenersList = this.bpmnElementListeners.map((listener) => initListenerType(listener));
4365
+ },
4366
+ openListenerForm(listener, index) {
4367
+ listener ? (this.listenerForm = initListenerForm(listener), this.editingListenerIndex = index) : (this.listenerForm = {}, this.editingListenerIndex = -1), listener && listener.fields ? this.fieldsListOfListener = listener.fields.map((field) => ({
4368
+ ...field,
4369
+ fieldType: field.string ? "string" : "expression"
4370
+ })) : (this.fieldsListOfListener = [], this.$set(this.listenerForm, "fields", [])), this.listenerFormModelVisible = !0, this.$nextTick(() => {
4371
+ this.$refs.listenerFormRef && this.$refs.listenerFormRef.clearValidate();
4372
+ });
4373
+ },
4374
+ // 移除监听器
4375
+ removeListener(listener, index) {
4376
+ this.$confirm("确认移除该监听器吗?", "提示", {
4377
+ confirmButtonText: "确 认",
4378
+ cancelButtonText: "取 消"
4379
+ }).then(() => {
4380
+ this.bpmnElementListeners.splice(index, 1), this.elementListenersList.splice(index, 1), updateElementExtensions(this.bpmnElement, this.otherExtensionList.concat(this.bpmnElementListeners));
4381
+ }).catch(() => console.info("操作取消"));
4382
+ },
4383
+ // 保存监听器
4384
+ async saveListenerConfig() {
4385
+ var _a, _b, _c;
4386
+ if (!await this.$refs.listenerFormRef.validate())
4387
+ return;
4388
+ const listenerObject = createListenerObject(this.listenerForm, !0, this.prefix);
4389
+ this.editingListenerIndex === -1 ? (this.bpmnElementListeners.push(listenerObject), this.elementListenersList.push(this.listenerForm)) : (this.bpmnElementListeners.splice(this.editingListenerIndex, 1, listenerObject), this.elementListenersList.splice(this.editingListenerIndex, 1, this.listenerForm)), this.otherExtensionList = ((_c = (_b = (_a = this.bpmnElement.businessObject) == null ? void 0 : _a.extensionElements) == null ? void 0 : _b.values) == null ? void 0 : _c.filter((ex) => ex.$type !== `${this.prefix}:TaskListener`)) ?? [], updateElementExtensions(this.bpmnElement, this.otherExtensionList.concat(this.bpmnElementListeners)), this.listenerFormModelVisible = !1, this.listenerForm = {};
4390
+ },
4391
+ // 打开监听器字段编辑弹窗
4392
+ openListenerFieldForm(field, index) {
4393
+ this.listenerFieldForm = field ? JSON.parse(JSON.stringify(field)) : {}, this.editingListenerFieldIndex = field ? index : -1, this.listenerFieldFormModelVisible = !0, this.$nextTick(() => {
4394
+ this.$refs.listenerFieldFormRef && this.$refs.listenerFieldFormRef.clearValidate();
4395
+ });
4396
+ },
4397
+ // 保存监听器注入字段
4398
+ async saveListenerFiled() {
4399
+ await this.$refs.listenerFieldFormRef.validate() && (this.editingListenerFieldIndex === -1 ? (this.fieldsListOfListener.push(this.listenerFieldForm), this.listenerForm.fields.push(this.listenerFieldForm)) : (this.fieldsListOfListener.splice(this.editingListenerFieldIndex, 1, this.listenerFieldForm), this.listenerForm.fields.splice(this.editingListenerFieldIndex, 1, this.listenerFieldForm)), this.listenerFieldFormModelVisible = !1, this.$nextTick(() => this.listenerFieldForm = {}));
4400
+ },
4401
+ // 移除监听器字段
4402
+ removeListenerField(field, index) {
4403
+ this.$confirm("确认移除该字段吗?", "提示", {
4404
+ confirmButtonText: "确 认",
4405
+ cancelButtonText: "取 消"
4406
+ }).then(() => {
4407
+ this.fieldsListOfListener.splice(index, 1), this.listenerForm.fields.splice(index, 1);
4408
+ }).catch(() => console.info("操作取消"));
4409
+ }
4410
+ }
4411
+ }, __cssModules$1 = {};
4412
+ var __component__$1 = /* @__PURE__ */ normalizeComponent(
4413
+ __vue2_script$1,
4414
+ render$1,
4415
+ staticRenderFns$1,
4416
+ !1,
4417
+ __vue2_injectStyles$1,
4418
+ null,
4419
+ null,
4420
+ null
4421
+ );
4422
+ function __vue2_injectStyles$1(context) {
4423
+ for (let o in __cssModules$1)
4424
+ this[o] = __cssModules$1[o];
4425
+ }
4426
+ const UserTaskListeners = /* @__PURE__ */ function() {
4427
+ return __component__$1.exports;
4428
+ }();
4429
+ var render = function() {
4430
+ var _vm = this, _h = _vm.$createElement, _c = _vm._self._c || _h;
4431
+ return _c("div", {
4432
+ staticClass: "process-panel__container",
4433
+ style: {
4434
+ width: `${_vm.width}px`
4435
+ }
4436
+ }, [_c("ElCollapse", {
4437
+ model: {
4438
+ value: _vm.activeTab,
4439
+ callback: function($$v) {
4440
+ _vm.activeTab = $$v;
4441
+ },
4442
+ expression: "activeTab"
4443
+ }
4444
+ }, [_c("ElCollapseItem", {
4445
+ attrs: {
4446
+ name: "base"
4447
+ },
4448
+ scopedSlots: _vm._u([{
4449
+ key: "title",
4450
+ fn: function() {
4451
+ return [_c("div", {
4452
+ staticClass: "panel-tab__title"
4453
+ }, [_c("i", {
4454
+ staticClass: "el-icon-info"
4455
+ }), _vm._v("常规")])];
4456
+ },
4457
+ proxy: !0
4458
+ }])
4459
+ }, [_c("ElementBaseInfo", {
4460
+ attrs: {
4461
+ "id-edit-disabled": _vm.idEditDisabled,
4462
+ "business-object": _vm.elementBusinessObject,
4463
+ type: _vm.elementType
4464
+ }
4465
+ })], 1), _vm.elementType === "Process" ? _c("ElCollapseItem", {
4466
+ key: "message",
4467
+ attrs: {
4468
+ name: "condition"
4469
+ },
4470
+ scopedSlots: _vm._u([{
4471
+ key: "title",
4472
+ fn: function() {
4473
+ return [_c("div", {
4474
+ staticClass: "panel-tab__title"
4475
+ }, [_c("i", {
4476
+ staticClass: "el-icon-s-comment"
4477
+ }), _vm._v("消息与信号")])];
4478
+ },
4479
+ proxy: !0
4480
+ }], null, !1, 2715634709)
4481
+ }, [_c("SignalAndMassage")], 1) : _vm._e(), _vm.conditionFormVisible ? _c("ElCollapseItem", {
4482
+ key: "condition",
4483
+ attrs: {
4484
+ name: "condition"
4485
+ },
4486
+ scopedSlots: _vm._u([{
4487
+ key: "title",
4488
+ fn: function() {
4489
+ return [_c("div", {
4490
+ staticClass: "panel-tab__title"
4491
+ }, [_c("i", {
4492
+ staticClass: "el-icon-s-promotion"
4493
+ }), _vm._v("流转条件")])];
4494
+ },
4495
+ proxy: !0
4496
+ }], null, !1, 2203010800)
4497
+ }, [_c("FlowCondition", {
4498
+ attrs: {
4499
+ "business-object": _vm.elementBusinessObject,
4500
+ type: _vm.elementType
4501
+ }
4502
+ })], 1) : _vm._e(), _vm.formVisible ? _c("ElCollapseItem", {
4503
+ key: "form",
4504
+ attrs: {
4505
+ name: "condition"
4506
+ },
4507
+ scopedSlots: _vm._u([{
4508
+ key: "title",
4509
+ fn: function() {
4510
+ return [_c("div", {
4511
+ staticClass: "panel-tab__title"
4512
+ }, [_c("i", {
4513
+ staticClass: "el-icon-s-order"
4514
+ }), _vm._v("表单")])];
4515
+ },
4516
+ proxy: !0
4517
+ }], null, !1, 1341048650)
4518
+ }, [_c("ElementForm", {
4519
+ attrs: {
4520
+ id: _vm.elementId,
4521
+ type: _vm.elementType
4522
+ }
4523
+ })], 1) : _vm._e(), _vm.elementType.indexOf("Task") !== -1 ? _c("ElCollapseItem", {
4524
+ key: "task",
4525
+ attrs: {
4526
+ name: "task"
4527
+ },
4528
+ scopedSlots: _vm._u([{
4529
+ key: "title",
4530
+ fn: function() {
4531
+ return [_c("div", {
4532
+ staticClass: "panel-tab__title"
4533
+ }, [_c("i", {
4534
+ staticClass: "el-icon-s-claim"
4535
+ }), _vm._v("任务")])];
4536
+ },
4537
+ proxy: !0
4538
+ }], null, !1, 2144785833)
4539
+ }, [_c("ElementTask", {
4540
+ attrs: {
4541
+ id: _vm.elementId,
4542
+ type: _vm.elementType
4543
+ }
4544
+ })], 1) : _vm._e(), _vm.elementType.indexOf("Task") !== -1 ? _c("ElCollapseItem", {
4545
+ key: "multiInstance",
4546
+ attrs: {
4547
+ name: "multiInstance"
4548
+ },
4549
+ scopedSlots: _vm._u([{
4550
+ key: "title",
4551
+ fn: function() {
4552
+ return [_c("div", {
4553
+ staticClass: "panel-tab__title"
4554
+ }, [_c("i", {
4555
+ staticClass: "el-icon-s-help"
4556
+ }), _vm._v("多实例")])];
4557
+ },
4558
+ proxy: !0
4559
+ }], null, !1, 1253501895)
4560
+ }, [_c("ElementMultiInstance", {
4561
+ attrs: {
4562
+ "business-object": _vm.elementBusinessObject,
4563
+ type: _vm.elementType
4564
+ }
4565
+ })], 1) : _vm._e(), _c("ElCollapseItem", {
4566
+ key: "listeners",
4567
+ attrs: {
4568
+ name: "listeners"
4569
+ },
4570
+ scopedSlots: _vm._u([{
4571
+ key: "title",
4572
+ fn: function() {
4573
+ return [_c("div", {
4574
+ staticClass: "panel-tab__title"
4575
+ }, [_c("i", {
4576
+ staticClass: "el-icon-message-solid"
4577
+ }), _vm._v("执行监听器")])];
4578
+ },
4579
+ proxy: !0
4580
+ }])
4581
+ }, [_c("ElementListeners", {
4582
+ attrs: {
4583
+ id: _vm.elementId,
4584
+ type: _vm.elementType
4585
+ }
4586
+ })], 1), _vm.elementType === "UserTask" ? _c("ElCollapseItem", {
4587
+ key: "taskListeners",
4588
+ attrs: {
4589
+ name: "taskListeners"
4590
+ },
4591
+ scopedSlots: _vm._u([{
4592
+ key: "title",
4593
+ fn: function() {
4594
+ return [_c("div", {
4595
+ staticClass: "panel-tab__title"
4596
+ }, [_c("i", {
4597
+ staticClass: "el-icon-message-solid"
4598
+ }), _vm._v("任务监听器")])];
4599
+ },
4600
+ proxy: !0
4601
+ }], null, !1, 3617698803)
4602
+ }, [_c("UserTaskListeners", {
4603
+ attrs: {
4604
+ id: _vm.elementId,
4605
+ type: _vm.elementType
4606
+ }
4607
+ })], 1) : _vm._e(), _c("ElCollapseItem", {
4608
+ key: "extensions",
4609
+ attrs: {
4610
+ name: "extensions"
4611
+ },
4612
+ scopedSlots: _vm._u([{
4613
+ key: "title",
4614
+ fn: function() {
4615
+ return [_c("div", {
4616
+ staticClass: "panel-tab__title"
4617
+ }, [_c("i", {
4618
+ staticClass: "el-icon-circle-plus"
4619
+ }), _vm._v("扩展属性")])];
4620
+ },
4621
+ proxy: !0
4622
+ }])
4623
+ }, [_c("ElementProperties", {
4624
+ attrs: {
4625
+ id: _vm.elementId,
4626
+ type: _vm.elementType
4627
+ }
4628
+ })], 1), _c("ElCollapseItem", {
4629
+ key: "other",
4630
+ attrs: {
4631
+ name: "other"
4632
+ },
4633
+ scopedSlots: _vm._u([{
4634
+ key: "title",
4635
+ fn: function() {
4636
+ return [_c("div", {
4637
+ staticClass: "panel-tab__title"
4638
+ }, [_c("i", {
4639
+ staticClass: "el-icon-s-promotion"
4640
+ }), _vm._v("其他")])];
4641
+ },
4642
+ proxy: !0
4643
+ }])
4644
+ }, [_c("ElementOtherConfig", {
4645
+ attrs: {
4646
+ id: _vm.elementId
4647
+ }
4648
+ })], 1)], 1)], 1);
4649
+ }, staticRenderFns = [];
4650
+ const __vue2_script = {
4651
+ name: "PropertiesPanel",
4652
+ components: {
4653
+ UserTaskListeners,
4654
+ ElementForm,
4655
+ ElementProperties,
4656
+ ElementListeners,
4657
+ SignalAndMassage,
4658
+ FlowCondition,
4659
+ ElementMultiInstance,
4660
+ ElementTask,
4661
+ ElementOtherConfig,
4662
+ ElementBaseInfo
4663
+ },
4664
+ componentName: "MyPropertiesPanel",
4665
+ provide() {
4666
+ return {
4667
+ prefix: this.prefix,
4668
+ width: this.width
4669
+ };
4670
+ },
4671
+ props: {
4672
+ bpmnModeler: Object,
4673
+ prefix: {
4674
+ type: String,
4675
+ default: "camunda"
4676
+ },
4677
+ width: {
4678
+ type: Number,
4679
+ default: 480
4680
+ },
4681
+ idEditDisabled: {
4682
+ type: Boolean,
4683
+ default: !1
4684
+ }
4685
+ },
4686
+ data() {
4687
+ return {
4688
+ activeTab: "base",
4689
+ elementId: "",
4690
+ elementType: "",
4691
+ elementBusinessObject: {},
4692
+ // 元素 businessObject 镜像,提供给需要做判断的组件使用
4693
+ conditionFormVisible: !1,
4694
+ // 流转条件设置
4695
+ formVisible: !1
4696
+ // 表单配置
4697
+ };
4698
+ },
4699
+ watch: {
4700
+ elementId: {
4701
+ handler() {
4702
+ this.activeTab = "base";
4703
+ }
4704
+ }
4705
+ },
4706
+ created() {
4707
+ this.initModels();
4708
+ },
4709
+ methods: {
4710
+ initModels() {
4711
+ if (!this.bpmnModeler) {
4712
+ this.timer = setTimeout(() => this.initModels(), 10);
4713
+ return;
4714
+ }
4715
+ this.timer && clearTimeout(this.timer), window.bpmnInstances = {
4716
+ modeler: this.bpmnModeler,
4717
+ modeling: this.bpmnModeler.get("modeling"),
4718
+ moddle: this.bpmnModeler.get("moddle"),
4719
+ eventBus: this.bpmnModeler.get("eventBus"),
4720
+ bpmnFactory: this.bpmnModeler.get("bpmnFactory"),
4721
+ elementFactory: this.bpmnModeler.get("elementFactory"),
4722
+ elementRegistry: this.bpmnModeler.get("elementRegistry"),
4723
+ replace: this.bpmnModeler.get("replace"),
4724
+ selection: this.bpmnModeler.get("selection")
4725
+ }, this.getActiveElement();
4726
+ },
4727
+ getActiveElement() {
4728
+ this.initFormOnChanged(null), this.bpmnModeler.on("import.done", () => {
4729
+ this.initFormOnChanged(null);
4730
+ }), this.bpmnModeler.on("selection.changed", ({ newSelection }) => {
4731
+ this.initFormOnChanged(newSelection[0] || null);
4732
+ }), this.bpmnModeler.on("element.changed", ({ element }) => {
4733
+ element && element.id === this.elementId && this.initFormOnChanged(element);
4734
+ });
4735
+ },
4736
+ // 初始化数据
4737
+ initFormOnChanged(element) {
4738
+ let activatedElement = element;
4739
+ activatedElement || (activatedElement = window.bpmnInstances.elementRegistry.find((el) => el.type === "bpmn:Process") ?? window.bpmnInstances.elementRegistry.find((el) => el.type === "bpmn:Collaboration")), activatedElement && (debug.call(this, `select element changed: id: ${activatedElement.id} , type: ${activatedElement.businessObject.$type}`), debug.call(this, "businessObject", activatedElement.businessObject), window.bpmnInstances.bpmnElement = activatedElement, this.bpmnElement = activatedElement, this.elementId = activatedElement.id, this.elementType = activatedElement.type.split(":")[1] || "", this.elementBusinessObject = JSON.parse(JSON.stringify(activatedElement.businessObject)), this.conditionFormVisible = !!(this.elementType === "SequenceFlow" && activatedElement.source && activatedElement.source.type.indexOf("StartEvent") === -1), this.formVisible = this.elementType === "UserTask" || this.elementType === "StartEvent");
4740
+ },
4741
+ beforeDestroy() {
4742
+ window.bpmnInstances = null;
4743
+ }
4744
+ }
4745
+ }, __cssModules = {};
4746
+ var __component__ = /* @__PURE__ */ normalizeComponent(
4747
+ __vue2_script,
4748
+ render,
4749
+ staticRenderFns,
4750
+ !1,
4751
+ __vue2_injectStyles,
4752
+ null,
4753
+ null,
4754
+ null
4755
+ );
4756
+ function __vue2_injectStyles(context) {
4757
+ for (let o in __cssModules)
4758
+ this[o] = __cssModules[o];
4759
+ }
4760
+ const PropertiesPanel = /* @__PURE__ */ function() {
4761
+ return __component__.exports;
4762
+ }();
4763
+ export {
4764
+ PropertiesPanel as default
4765
+ };