xxh-wfd-vue 2.2.0 → 2.4.0

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.
package/README.md CHANGED
@@ -72,11 +72,20 @@ export default {
72
72
  serviceDelegates: [
73
73
  { value: "sendNoticeDelegate", label: "发送通知" },
74
74
  { value: "syncDataDelegate", label: "同步数据" },
75
+ // 统一入口形态(2.3.0+):多个业务动作共用一个委托 Bean,
76
+ // 通过附加参数(fields)区分路由键,序列化为服务任务的 flowable:field 扩展
77
+ { value: "materialInbound", label: "物资入库",
78
+ expression: "businessActionDelegate",
79
+ fields: { delegateAction: "materialInbound" } },
75
80
  ]
76
81
  ```
77
82
 
78
83
  注意事项:
79
84
  * `value` 为表达式内容,**不需要**带 `${}`;导出 XML 时会自动包装为 `flowable:delegateExpression="${sendNoticeDelegate}"`。
85
+ 带 `expression` 的选项以 `expression` 为真实委托表达式,`value` 仅作下拉唯一标识(同一 expression 可有多个选项)。
86
+ * 带 `fields` 的选项选中后,`fields` 会随模型保存(节点 `delegateFields`),导出 XML 时序列化为
87
+ `<extensionElements><flowable:field name="..."><flowable:string>...</flowable:string></flowable:field></extensionElements>`,
88
+ 供后端从 BPMN 模型字段扩展读取;切换为无 `fields` 的选项会清除已附加参数。
80
89
  * 该下拉框为纯选择模式,不支持手动输入;若导入的旧数据中表达式不在候选列表内,界面将显示为空(数据本身不受影响,导出仍按原值输出)。
81
90
 
82
91
 
@@ -99282,6 +99282,58 @@ module.exports = function (it) {
99282
99282
  };
99283
99283
 
99284
99284
 
99285
+ /***/ }),
99286
+
99287
+ /***/ "e9c4":
99288
+ /***/ (function(module, exports, __webpack_require__) {
99289
+
99290
+ var $ = __webpack_require__("23e7");
99291
+ var global = __webpack_require__("da84");
99292
+ var getBuiltIn = __webpack_require__("d066");
99293
+ var apply = __webpack_require__("2ba4");
99294
+ var uncurryThis = __webpack_require__("e330");
99295
+ var fails = __webpack_require__("d039");
99296
+
99297
+ var Array = global.Array;
99298
+ var $stringify = getBuiltIn('JSON', 'stringify');
99299
+ var exec = uncurryThis(/./.exec);
99300
+ var charAt = uncurryThis(''.charAt);
99301
+ var charCodeAt = uncurryThis(''.charCodeAt);
99302
+ var replace = uncurryThis(''.replace);
99303
+ var numberToString = uncurryThis(1.0.toString);
99304
+
99305
+ var tester = /[\uD800-\uDFFF]/g;
99306
+ var low = /^[\uD800-\uDBFF]$/;
99307
+ var hi = /^[\uDC00-\uDFFF]$/;
99308
+
99309
+ var fix = function (match, offset, string) {
99310
+ var prev = charAt(string, offset - 1);
99311
+ var next = charAt(string, offset + 1);
99312
+ if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
99313
+ return '\\u' + numberToString(charCodeAt(match, 0), 16);
99314
+ } return match;
99315
+ };
99316
+
99317
+ var FORCED = fails(function () {
99318
+ return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
99319
+ || $stringify('\uDEAD') !== '"\\udead"';
99320
+ });
99321
+
99322
+ if ($stringify) {
99323
+ // `JSON.stringify` method
99324
+ // https://tc39.es/ecma262/#sec-json.stringify
99325
+ // https://github.com/tc39/proposal-well-formed-stringify
99326
+ $({ target: 'JSON', stat: true, forced: FORCED }, {
99327
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
99328
+ stringify: function stringify(it, replacer, space) {
99329
+ for (var i = 0, l = arguments.length, args = Array(l); i < l; i++) args[i] = arguments[i];
99330
+ var result = apply($stringify, null, args);
99331
+ return typeof result == 'string' ? replace(result, tester, fix) : result;
99332
+ }
99333
+ });
99334
+ }
99335
+
99336
+
99285
99337
  /***/ }),
99286
99338
 
99287
99339
  /***/ "e9d4":
@@ -104945,14 +104997,33 @@ var JavaTaskDetail_component = normalizeComponent(
104945
104997
  )
104946
104998
 
104947
104999
  /* harmony default export */ var JavaTaskDetail = (JavaTaskDetail_component.exports);
104948
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"9168daee-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=template&id=420f0c34&
104949
- var ServiceTaskDetailvue_type_template_id_420f0c34_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{"data-clazz":_vm.model.clazz}},[_c('div',{staticClass:"panelTitle"},[_vm._v(_vm._s(_vm.i18n['serviceTask']))]),_c('div',{staticClass:"panelBody"},[_c('DefaultDetail',{attrs:{"model":_vm.model,"onChange":_vm.onChange,"readOnly":_vm.readOnly}}),_c('div',{staticClass:"panelRow"},[_c('div',[_vm._v(_vm._s(_vm.i18n['serviceTask.delegateExpression'])+":")]),_c('el-select',{staticStyle:{"width":"90%","font-size":"12px"},attrs:{"disabled":_vm.readOnly,"placeholder":_vm.i18n['serviceTask.delegateExpression.placeholder'],"value":_vm.model.delegateExpression},on:{"change":function (value) {_vm.onChange('delegateExpression', value)}}},_vm._l((_vm.serviceDelegates),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"value":item.value}})}),1)],1)],1)])}
104950
- var ServiceTaskDetailvue_type_template_id_420f0c34_staticRenderFns = []
105000
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"9168daee-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=template&id=4a6129cb&
105001
+ var ServiceTaskDetailvue_type_template_id_4a6129cb_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{"data-clazz":_vm.model.clazz}},[_c('div',{staticClass:"panelTitle"},[_vm._v(_vm._s(_vm.i18n['serviceTask']))]),_c('div',{staticClass:"panelBody"},[_c('DefaultDetail',{attrs:{"model":_vm.model,"onChange":_vm.onChange,"readOnly":_vm.readOnly}}),_c('div',{staticClass:"panelRow"},[_c('div',[_vm._v(_vm._s(_vm.i18n['serviceTask.delegateExpression'])+":")]),_c('el-select',{staticStyle:{"width":"90%","font-size":"12px"},attrs:{"disabled":_vm.readOnly,"placeholder":_vm.i18n['serviceTask.delegateExpression.placeholder'],"value":_vm.selectedValue},on:{"change":_vm.onDelegateChange}},_vm._l((_vm.serviceDelegates),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"value":item.value}})}),1)],1),(_vm.delegateFieldsText)?_c('div',{staticClass:"panelRow"},[_c('div',[_vm._v(_vm._s(_vm.i18n['serviceTask.delegateFields'])+":")]),_c('div',{staticStyle:{"width":"90%","font-size":"12px","color":"#909399","word-break":"break-all"}},[_vm._v(_vm._s(_vm.delegateFieldsText))])]):_vm._e()],1)])}
105002
+ var ServiceTaskDetailvue_type_template_id_4a6129cb_staticRenderFns = []
104951
105003
 
104952
105004
 
104953
- // CONCATENATED MODULE: ./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=template&id=420f0c34&
105005
+ // CONCATENATED MODULE: ./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=template&id=4a6129cb&
105006
+
105007
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.json.stringify.js
105008
+ var es_json_stringify = __webpack_require__("e9c4");
105009
+
105010
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js
105011
+ var es_array_join = __webpack_require__("a15b");
105012
+
105013
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
105014
+ var es_array_concat = __webpack_require__("99af");
104954
105015
 
104955
105016
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=script&lang=js&
105017
+
105018
+
105019
+
105020
+
105021
+
105022
+
105023
+
105024
+ //
105025
+ //
105026
+ //
104956
105027
  //
104957
105028
  //
104958
105029
  //
@@ -104974,6 +105045,18 @@ var ServiceTaskDetailvue_type_template_id_420f0c34_staticRenderFns = []
104974
105045
  //
104975
105046
  //
104976
105047
  //
105048
+ //
105049
+
105050
+ /**
105051
+ * 委托表达式下拉选中项解析:
105052
+ * - 旧形态 {value, label}:value 即委托表达式 Bean 名(兼容保留);
105053
+ * - 新形态 {value, label, expression, fields}:value 仅为下拉唯一标识,
105054
+ * 真实委托表达式取 expression(默认回退 value),fields 序列化为服务任务 flowable:field 扩展。
105055
+ */
105056
+
105057
+ function effectiveExpression(item) {
105058
+ return item.expression || item.value;
105059
+ }
104977
105060
 
104978
105061
  /* harmony default export */ var ServiceTaskDetailvue_type_script_lang_js_ = ({
104979
105062
  inject: ['i18n'],
@@ -105001,6 +105084,41 @@ var ServiceTaskDetailvue_type_template_id_420f0c34_staticRenderFns = []
105001
105084
  return [];
105002
105085
  }
105003
105086
  }
105087
+ },
105088
+ computed: {
105089
+ matchedOption: function matchedOption() {
105090
+ var _this = this;
105091
+
105092
+ return this.serviceDelegates.find(function (item) {
105093
+ return effectiveExpression(item) === _this.model.delegateExpression && JSON.stringify(item.fields || null) === JSON.stringify(_this.model.delegateFields || null);
105094
+ });
105095
+ },
105096
+ //下拉绑定值:优先匹配项的 value(唯一标识);无匹配(如选项未加载完的存量模型)回退原始表达式
105097
+ selectedValue: function selectedValue() {
105098
+ return this.matchedOption ? this.matchedOption.value : this.model.delegateExpression;
105099
+ },
105100
+ delegateFieldsText: function delegateFieldsText() {
105101
+ var _this2 = this;
105102
+
105103
+ if (!this.model.delegateFields) {
105104
+ return '';
105105
+ }
105106
+
105107
+ return Object.keys(this.model.delegateFields).map(function (key) {
105108
+ return "".concat(key, "=").concat(_this2.model.delegateFields[key]);
105109
+ }).join(',');
105110
+ }
105111
+ },
105112
+ methods: {
105113
+ onDelegateChange: function onDelegateChange(value) {
105114
+ var option = this.serviceDelegates.find(function (item) {
105115
+ return item.value === value;
105116
+ });
105117
+ var expression = option ? effectiveExpression(option) : value;
105118
+ var fields = option && option.fields ? JSON.parse(JSON.stringify(option.fields)) : undefined;
105119
+ this.onChange('delegateExpression', expression);
105120
+ this.onChange('delegateFields', fields);
105121
+ }
105004
105122
  }
105005
105123
  });
105006
105124
  // CONCATENATED MODULE: ./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=script&lang=js&
@@ -105015,8 +105133,8 @@ var ServiceTaskDetailvue_type_template_id_420f0c34_staticRenderFns = []
105015
105133
 
105016
105134
  var ServiceTaskDetail_component = normalizeComponent(
105017
105135
  DetailPanel_ServiceTaskDetailvue_type_script_lang_js_,
105018
- ServiceTaskDetailvue_type_template_id_420f0c34_render,
105019
- ServiceTaskDetailvue_type_template_id_420f0c34_staticRenderFns,
105136
+ ServiceTaskDetailvue_type_template_id_4a6129cb_render,
105137
+ ServiceTaskDetailvue_type_template_id_4a6129cb_staticRenderFns,
105020
105138
  false,
105021
105139
  null,
105022
105140
  null,
@@ -106187,6 +106305,7 @@ var DetailPanel_component = normalizeComponent(
106187
106305
  'serviceTask': 'Service Task',
106188
106306
  'serviceTask.delegateExpression': 'Delegate Expression',
106189
106307
  'serviceTask.delegateExpression.placeholder': 'Please select a delegate expression',
106308
+ 'serviceTask.delegateFields': 'Extra Fields',
106190
106309
  'mailTask': 'Mail Task',
106191
106310
  'mailTask.to': 'To',
106192
106311
  'mailTask.subject': 'Subject',
@@ -106281,6 +106400,7 @@ var DetailPanel_component = normalizeComponent(
106281
106400
  'serviceTask': '服务任务',
106282
106401
  'serviceTask.delegateExpression': '委托表达式',
106283
106402
  'serviceTask.delegateExpression.placeholder': '请选择委托表达式',
106403
+ 'serviceTask.delegateFields': '附加参数',
106284
106404
  'mailTask': '邮件节点',
106285
106405
  'mailTask.to': '收件人',
106286
106406
  'mailTask.subject': '标题',
@@ -106431,12 +106551,6 @@ function _nonIterableSpread() {
106431
106551
  function _toConsumableArray(arr) {
106432
106552
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
106433
106553
  }
106434
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js
106435
- var es_array_join = __webpack_require__("a15b");
106436
-
106437
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
106438
- var es_array_concat = __webpack_require__("99af");
106439
-
106440
106554
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js
106441
106555
  var es_string_split = __webpack_require__("1276");
106442
106556
 
@@ -106564,6 +106678,7 @@ var web_url_search_params = __webpack_require__("9861");
106564
106678
 
106565
106679
 
106566
106680
 
106681
+
106567
106682
 
106568
106683
 
106569
106684
  function tab(len) {
@@ -106659,9 +106774,27 @@ function exportXML(json, canvas) {
106659
106774
 
106660
106775
  if (node.delegateExpression) {
106661
106776
  attrs += "flowable:delegateExpression=\"${".concat(node.delegateExpression, "}\"");
106777
+ } //委托附加参数(如统一入口 businessActionDelegate 的路由键 delegateAction),
106778
+ //序列化为 flowable:field 扩展,由后端从 BPMN 模型字段扩展读取(与 mailTask 同模式)
106779
+
106780
+
106781
+ var fields = "";
106782
+
106783
+ if (node.delegateFields) {
106784
+ Object.keys(node.delegateFields).forEach(function (name) {
106785
+ fields += "".concat(tab(8), "<flowable:field name=\"").concat(name, "\">\n");
106786
+ fields += "".concat(tab(10), "<flowable:string><![CDATA[").concat(node.delegateFields[name], "]]></flowable:string>\n");
106787
+ fields += "".concat(tab(8), "</flowable:field>\n");
106788
+ });
106789
+ }
106790
+
106791
+ if (fields) {
106792
+ var extension = "".concat(tab(6), "<extensionElements>\n").concat(fields).concat(tab(6), "</extensionElements>\n");
106793
+ processXML += "".concat(tab(4), "<serviceTask id=\"").concat(node.id, "\" name=\"").concat(node.label, "\" ").concat(attrs, ">\n").concat(extension).concat(tab(4), "</serviceTask>\n");
106794
+ } else {
106795
+ processXML += "".concat(tab(4), "<serviceTask id=\"").concat(node.id, "\" name=\"").concat(node.label, "\" ").concat(attrs, "></serviceTask>\n");
106662
106796
  }
106663
106797
 
106664
- processXML += "".concat(tab(4), "<serviceTask id=\"").concat(node.id, "\" name=\"").concat(node.label, "\" ").concat(attrs, "></serviceTask>\n");
106665
106798
  break;
106666
106799
  }
106667
106800
 
@@ -106692,8 +106825,10 @@ function exportXML(json, canvas) {
106692
106825
  var text = "".concat(tab(8), "<flowable:field name=\"text\">\n");
106693
106826
  text += "".concat(tab(10), "<flowable:string><![CDATA[").concat(node.content, "]]></flowable:string>\n");
106694
106827
  text += "".concat(tab(8), "</flowable:field>\n");
106695
- var extension = "".concat(tab(6), "<extensionElements>\n").concat(to).concat(subject).concat(text).concat(tab(6), "</extensionElements>\n");
106696
- processXML += "".concat(tab(4), "<serviceTask id=\"").concat(node.id, "\" name=\"").concat(node.label, "\" flowable:type=\"mail\">\n").concat(extension).concat(tab(4), "</serviceTask>\n");
106828
+
106829
+ var _extension = "".concat(tab(6), "<extensionElements>\n").concat(to).concat(subject).concat(text).concat(tab(6), "</extensionElements>\n");
106830
+
106831
+ processXML += "".concat(tab(4), "<serviceTask id=\"").concat(node.id, "\" name=\"").concat(node.label, "\" flowable:type=\"mail\">\n").concat(_extension).concat(tab(4), "</serviceTask>\n");
106697
106832
  break;
106698
106833
  }
106699
106834
 
@@ -99291,6 +99291,58 @@ module.exports = function (it) {
99291
99291
  };
99292
99292
 
99293
99293
 
99294
+ /***/ }),
99295
+
99296
+ /***/ "e9c4":
99297
+ /***/ (function(module, exports, __webpack_require__) {
99298
+
99299
+ var $ = __webpack_require__("23e7");
99300
+ var global = __webpack_require__("da84");
99301
+ var getBuiltIn = __webpack_require__("d066");
99302
+ var apply = __webpack_require__("2ba4");
99303
+ var uncurryThis = __webpack_require__("e330");
99304
+ var fails = __webpack_require__("d039");
99305
+
99306
+ var Array = global.Array;
99307
+ var $stringify = getBuiltIn('JSON', 'stringify');
99308
+ var exec = uncurryThis(/./.exec);
99309
+ var charAt = uncurryThis(''.charAt);
99310
+ var charCodeAt = uncurryThis(''.charCodeAt);
99311
+ var replace = uncurryThis(''.replace);
99312
+ var numberToString = uncurryThis(1.0.toString);
99313
+
99314
+ var tester = /[\uD800-\uDFFF]/g;
99315
+ var low = /^[\uD800-\uDBFF]$/;
99316
+ var hi = /^[\uDC00-\uDFFF]$/;
99317
+
99318
+ var fix = function (match, offset, string) {
99319
+ var prev = charAt(string, offset - 1);
99320
+ var next = charAt(string, offset + 1);
99321
+ if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
99322
+ return '\\u' + numberToString(charCodeAt(match, 0), 16);
99323
+ } return match;
99324
+ };
99325
+
99326
+ var FORCED = fails(function () {
99327
+ return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
99328
+ || $stringify('\uDEAD') !== '"\\udead"';
99329
+ });
99330
+
99331
+ if ($stringify) {
99332
+ // `JSON.stringify` method
99333
+ // https://tc39.es/ecma262/#sec-json.stringify
99334
+ // https://github.com/tc39/proposal-well-formed-stringify
99335
+ $({ target: 'JSON', stat: true, forced: FORCED }, {
99336
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
99337
+ stringify: function stringify(it, replacer, space) {
99338
+ for (var i = 0, l = arguments.length, args = Array(l); i < l; i++) args[i] = arguments[i];
99339
+ var result = apply($stringify, null, args);
99340
+ return typeof result == 'string' ? replace(result, tester, fix) : result;
99341
+ }
99342
+ });
99343
+ }
99344
+
99345
+
99294
99346
  /***/ }),
99295
99347
 
99296
99348
  /***/ "e9d4":
@@ -104954,14 +105006,33 @@ var JavaTaskDetail_component = normalizeComponent(
104954
105006
  )
104955
105007
 
104956
105008
  /* harmony default export */ var JavaTaskDetail = (JavaTaskDetail_component.exports);
104957
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"9168daee-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=template&id=420f0c34&
104958
- var ServiceTaskDetailvue_type_template_id_420f0c34_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{"data-clazz":_vm.model.clazz}},[_c('div',{staticClass:"panelTitle"},[_vm._v(_vm._s(_vm.i18n['serviceTask']))]),_c('div',{staticClass:"panelBody"},[_c('DefaultDetail',{attrs:{"model":_vm.model,"onChange":_vm.onChange,"readOnly":_vm.readOnly}}),_c('div',{staticClass:"panelRow"},[_c('div',[_vm._v(_vm._s(_vm.i18n['serviceTask.delegateExpression'])+":")]),_c('el-select',{staticStyle:{"width":"90%","font-size":"12px"},attrs:{"disabled":_vm.readOnly,"placeholder":_vm.i18n['serviceTask.delegateExpression.placeholder'],"value":_vm.model.delegateExpression},on:{"change":function (value) {_vm.onChange('delegateExpression', value)}}},_vm._l((_vm.serviceDelegates),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"value":item.value}})}),1)],1)],1)])}
104959
- var ServiceTaskDetailvue_type_template_id_420f0c34_staticRenderFns = []
105009
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"9168daee-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=template&id=4a6129cb&
105010
+ var ServiceTaskDetailvue_type_template_id_4a6129cb_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{"data-clazz":_vm.model.clazz}},[_c('div',{staticClass:"panelTitle"},[_vm._v(_vm._s(_vm.i18n['serviceTask']))]),_c('div',{staticClass:"panelBody"},[_c('DefaultDetail',{attrs:{"model":_vm.model,"onChange":_vm.onChange,"readOnly":_vm.readOnly}}),_c('div',{staticClass:"panelRow"},[_c('div',[_vm._v(_vm._s(_vm.i18n['serviceTask.delegateExpression'])+":")]),_c('el-select',{staticStyle:{"width":"90%","font-size":"12px"},attrs:{"disabled":_vm.readOnly,"placeholder":_vm.i18n['serviceTask.delegateExpression.placeholder'],"value":_vm.selectedValue},on:{"change":_vm.onDelegateChange}},_vm._l((_vm.serviceDelegates),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"value":item.value}})}),1)],1),(_vm.delegateFieldsText)?_c('div',{staticClass:"panelRow"},[_c('div',[_vm._v(_vm._s(_vm.i18n['serviceTask.delegateFields'])+":")]),_c('div',{staticStyle:{"width":"90%","font-size":"12px","color":"#909399","word-break":"break-all"}},[_vm._v(_vm._s(_vm.delegateFieldsText))])]):_vm._e()],1)])}
105011
+ var ServiceTaskDetailvue_type_template_id_4a6129cb_staticRenderFns = []
104960
105012
 
104961
105013
 
104962
- // CONCATENATED MODULE: ./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=template&id=420f0c34&
105014
+ // CONCATENATED MODULE: ./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=template&id=4a6129cb&
105015
+
105016
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.json.stringify.js
105017
+ var es_json_stringify = __webpack_require__("e9c4");
105018
+
105019
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js
105020
+ var es_array_join = __webpack_require__("a15b");
105021
+
105022
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
105023
+ var es_array_concat = __webpack_require__("99af");
104963
105024
 
104964
105025
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=script&lang=js&
105026
+
105027
+
105028
+
105029
+
105030
+
105031
+
105032
+
105033
+ //
105034
+ //
105035
+ //
104965
105036
  //
104966
105037
  //
104967
105038
  //
@@ -104983,6 +105054,18 @@ var ServiceTaskDetailvue_type_template_id_420f0c34_staticRenderFns = []
104983
105054
  //
104984
105055
  //
104985
105056
  //
105057
+ //
105058
+
105059
+ /**
105060
+ * 委托表达式下拉选中项解析:
105061
+ * - 旧形态 {value, label}:value 即委托表达式 Bean 名(兼容保留);
105062
+ * - 新形态 {value, label, expression, fields}:value 仅为下拉唯一标识,
105063
+ * 真实委托表达式取 expression(默认回退 value),fields 序列化为服务任务 flowable:field 扩展。
105064
+ */
105065
+
105066
+ function effectiveExpression(item) {
105067
+ return item.expression || item.value;
105068
+ }
104986
105069
 
104987
105070
  /* harmony default export */ var ServiceTaskDetailvue_type_script_lang_js_ = ({
104988
105071
  inject: ['i18n'],
@@ -105010,6 +105093,41 @@ var ServiceTaskDetailvue_type_template_id_420f0c34_staticRenderFns = []
105010
105093
  return [];
105011
105094
  }
105012
105095
  }
105096
+ },
105097
+ computed: {
105098
+ matchedOption: function matchedOption() {
105099
+ var _this = this;
105100
+
105101
+ return this.serviceDelegates.find(function (item) {
105102
+ return effectiveExpression(item) === _this.model.delegateExpression && JSON.stringify(item.fields || null) === JSON.stringify(_this.model.delegateFields || null);
105103
+ });
105104
+ },
105105
+ //下拉绑定值:优先匹配项的 value(唯一标识);无匹配(如选项未加载完的存量模型)回退原始表达式
105106
+ selectedValue: function selectedValue() {
105107
+ return this.matchedOption ? this.matchedOption.value : this.model.delegateExpression;
105108
+ },
105109
+ delegateFieldsText: function delegateFieldsText() {
105110
+ var _this2 = this;
105111
+
105112
+ if (!this.model.delegateFields) {
105113
+ return '';
105114
+ }
105115
+
105116
+ return Object.keys(this.model.delegateFields).map(function (key) {
105117
+ return "".concat(key, "=").concat(_this2.model.delegateFields[key]);
105118
+ }).join(',');
105119
+ }
105120
+ },
105121
+ methods: {
105122
+ onDelegateChange: function onDelegateChange(value) {
105123
+ var option = this.serviceDelegates.find(function (item) {
105124
+ return item.value === value;
105125
+ });
105126
+ var expression = option ? effectiveExpression(option) : value;
105127
+ var fields = option && option.fields ? JSON.parse(JSON.stringify(option.fields)) : undefined;
105128
+ this.onChange('delegateExpression', expression);
105129
+ this.onChange('delegateFields', fields);
105130
+ }
105013
105131
  }
105014
105132
  });
105015
105133
  // CONCATENATED MODULE: ./src/components/DetailPanel/ServiceTaskDetail.vue?vue&type=script&lang=js&
@@ -105024,8 +105142,8 @@ var ServiceTaskDetailvue_type_template_id_420f0c34_staticRenderFns = []
105024
105142
 
105025
105143
  var ServiceTaskDetail_component = normalizeComponent(
105026
105144
  DetailPanel_ServiceTaskDetailvue_type_script_lang_js_,
105027
- ServiceTaskDetailvue_type_template_id_420f0c34_render,
105028
- ServiceTaskDetailvue_type_template_id_420f0c34_staticRenderFns,
105145
+ ServiceTaskDetailvue_type_template_id_4a6129cb_render,
105146
+ ServiceTaskDetailvue_type_template_id_4a6129cb_staticRenderFns,
105029
105147
  false,
105030
105148
  null,
105031
105149
  null,
@@ -106196,6 +106314,7 @@ var DetailPanel_component = normalizeComponent(
106196
106314
  'serviceTask': 'Service Task',
106197
106315
  'serviceTask.delegateExpression': 'Delegate Expression',
106198
106316
  'serviceTask.delegateExpression.placeholder': 'Please select a delegate expression',
106317
+ 'serviceTask.delegateFields': 'Extra Fields',
106199
106318
  'mailTask': 'Mail Task',
106200
106319
  'mailTask.to': 'To',
106201
106320
  'mailTask.subject': 'Subject',
@@ -106290,6 +106409,7 @@ var DetailPanel_component = normalizeComponent(
106290
106409
  'serviceTask': '服务任务',
106291
106410
  'serviceTask.delegateExpression': '委托表达式',
106292
106411
  'serviceTask.delegateExpression.placeholder': '请选择委托表达式',
106412
+ 'serviceTask.delegateFields': '附加参数',
106293
106413
  'mailTask': '邮件节点',
106294
106414
  'mailTask.to': '收件人',
106295
106415
  'mailTask.subject': '标题',
@@ -106440,12 +106560,6 @@ function _nonIterableSpread() {
106440
106560
  function _toConsumableArray(arr) {
106441
106561
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
106442
106562
  }
106443
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js
106444
- var es_array_join = __webpack_require__("a15b");
106445
-
106446
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
106447
- var es_array_concat = __webpack_require__("99af");
106448
-
106449
106563
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js
106450
106564
  var es_string_split = __webpack_require__("1276");
106451
106565
 
@@ -106573,6 +106687,7 @@ var web_url_search_params = __webpack_require__("9861");
106573
106687
 
106574
106688
 
106575
106689
 
106690
+
106576
106691
 
106577
106692
 
106578
106693
  function tab(len) {
@@ -106668,9 +106783,27 @@ function exportXML(json, canvas) {
106668
106783
 
106669
106784
  if (node.delegateExpression) {
106670
106785
  attrs += "flowable:delegateExpression=\"${".concat(node.delegateExpression, "}\"");
106786
+ } //委托附加参数(如统一入口 businessActionDelegate 的路由键 delegateAction),
106787
+ //序列化为 flowable:field 扩展,由后端从 BPMN 模型字段扩展读取(与 mailTask 同模式)
106788
+
106789
+
106790
+ var fields = "";
106791
+
106792
+ if (node.delegateFields) {
106793
+ Object.keys(node.delegateFields).forEach(function (name) {
106794
+ fields += "".concat(tab(8), "<flowable:field name=\"").concat(name, "\">\n");
106795
+ fields += "".concat(tab(10), "<flowable:string><![CDATA[").concat(node.delegateFields[name], "]]></flowable:string>\n");
106796
+ fields += "".concat(tab(8), "</flowable:field>\n");
106797
+ });
106798
+ }
106799
+
106800
+ if (fields) {
106801
+ var extension = "".concat(tab(6), "<extensionElements>\n").concat(fields).concat(tab(6), "</extensionElements>\n");
106802
+ processXML += "".concat(tab(4), "<serviceTask id=\"").concat(node.id, "\" name=\"").concat(node.label, "\" ").concat(attrs, ">\n").concat(extension).concat(tab(4), "</serviceTask>\n");
106803
+ } else {
106804
+ processXML += "".concat(tab(4), "<serviceTask id=\"").concat(node.id, "\" name=\"").concat(node.label, "\" ").concat(attrs, "></serviceTask>\n");
106671
106805
  }
106672
106806
 
106673
- processXML += "".concat(tab(4), "<serviceTask id=\"").concat(node.id, "\" name=\"").concat(node.label, "\" ").concat(attrs, "></serviceTask>\n");
106674
106807
  break;
106675
106808
  }
106676
106809
 
@@ -106701,8 +106834,10 @@ function exportXML(json, canvas) {
106701
106834
  var text = "".concat(tab(8), "<flowable:field name=\"text\">\n");
106702
106835
  text += "".concat(tab(10), "<flowable:string><![CDATA[").concat(node.content, "]]></flowable:string>\n");
106703
106836
  text += "".concat(tab(8), "</flowable:field>\n");
106704
- var extension = "".concat(tab(6), "<extensionElements>\n").concat(to).concat(subject).concat(text).concat(tab(6), "</extensionElements>\n");
106705
- processXML += "".concat(tab(4), "<serviceTask id=\"").concat(node.id, "\" name=\"").concat(node.label, "\" flowable:type=\"mail\">\n").concat(extension).concat(tab(4), "</serviceTask>\n");
106837
+
106838
+ var _extension = "".concat(tab(6), "<extensionElements>\n").concat(to).concat(subject).concat(text).concat(tab(6), "</extensionElements>\n");
106839
+
106840
+ processXML += "".concat(tab(4), "<serviceTask id=\"").concat(node.id, "\" name=\"").concat(node.label, "\" flowable:type=\"mail\">\n").concat(_extension).concat(tab(4), "</serviceTask>\n");
106706
106841
  break;
106707
106842
  }
106708
106843