@web-utils/component 2.7.20 → 2.7.22

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