@fecp/designer 5.4.8 → 5.4.11

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 (56) hide show
  1. package/es/designer/package.json.mjs +1 -1
  2. package/es/designer/src/api/index.mjs +30 -7
  3. package/es/designer/src/assets/document.png.mjs +4 -0
  4. package/es/designer/src/components/DocumentParam.vue.mjs +158 -0
  5. package/es/designer/src/components/FieldMapping.vue2.mjs +1 -1
  6. package/es/designer/src/components/FieldSetMapping.vue2.mjs +1 -1
  7. package/es/designer/src/components/FileTypeSelect.vue.mjs +139 -0
  8. package/es/designer/src/components/OptionConfig.vue.mjs +39 -12
  9. package/es/designer/src/packages/advancedFilter/dialog.vue.mjs +2 -1
  10. package/es/designer/src/packages/eventFlow/dialog/action/Upload.vue2.mjs +19 -120
  11. package/es/designer/src/packages/form/aside/index.mjs +17 -1
  12. package/es/designer/src/packages/form/components/Document.vue.mjs +52 -0
  13. package/es/designer/src/packages/form/index.vue.mjs +25 -5
  14. package/es/designer/src/packages/form/property/document.vue.mjs +201 -0
  15. package/es/designer/src/packages/form/property/index.vue.mjs +5 -2
  16. package/es/designer.css +262 -157
  17. package/es/packages/vue/src/components/all.mjs +2 -0
  18. package/es/packages/vue/src/components/bus/document/Document.vue.mjs +133 -0
  19. package/es/packages/vue/src/components/bus/document/index.mjs +7 -0
  20. package/es/packages/vue/src/components/bus/index.mjs +3 -1
  21. package/es/packages/vue/src/components/dialog/DialogRenderer.vue2.mjs +2 -2
  22. package/es/packages/vue/src/components/forms/checkbox/Checkbox.vue.mjs +17 -2
  23. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +3 -1
  24. package/es/packages/vue/src/components/forms/formItem/FormItem.vue.mjs +10 -3
  25. package/es/packages/vue/src/components/forms/radio/Radio.vue.mjs +17 -2
  26. package/es/packages/vue/src/components/forms/select/Select.vue.mjs +17 -2
  27. package/es/packages/vue/src/utils/common.mjs +20 -4
  28. package/lib/designer/package.json.js +1 -1
  29. package/lib/designer/src/api/index.js +29 -6
  30. package/lib/designer/src/assets/document.png.js +4 -0
  31. package/lib/designer/src/components/DocumentParam.vue.js +158 -0
  32. package/lib/designer/src/components/FieldMapping.vue2.js +1 -1
  33. package/lib/designer/src/components/FieldSetMapping.vue2.js +1 -1
  34. package/lib/designer/src/components/FileTypeSelect.vue.js +139 -0
  35. package/lib/designer/src/components/OptionConfig.vue.js +38 -11
  36. package/lib/designer/src/packages/advancedFilter/dialog.vue.js +2 -1
  37. package/lib/designer/src/packages/eventFlow/dialog/action/Upload.vue2.js +22 -123
  38. package/lib/designer/src/packages/form/aside/index.js +17 -1
  39. package/lib/designer/src/packages/form/components/Document.vue.js +52 -0
  40. package/lib/designer/src/packages/form/index.vue.js +25 -5
  41. package/lib/designer/src/packages/form/property/document.vue.js +201 -0
  42. package/lib/designer/src/packages/form/property/index.vue.js +5 -2
  43. package/lib/designer.css +262 -157
  44. package/lib/packages/vue/index.js +5 -5
  45. package/lib/packages/vue/src/components/all.js +8 -6
  46. package/lib/packages/vue/src/components/bus/document/Document.vue.js +133 -0
  47. package/lib/packages/vue/src/components/bus/document/index.js +7 -0
  48. package/lib/packages/vue/src/components/bus/index.js +2 -0
  49. package/lib/packages/vue/src/components/dialog/DialogRenderer.vue2.js +2 -2
  50. package/lib/packages/vue/src/components/forms/checkbox/Checkbox.vue.js +16 -1
  51. package/lib/packages/vue/src/components/forms/form/Form.vue.js +3 -1
  52. package/lib/packages/vue/src/components/forms/formItem/FormItem.vue.js +14 -7
  53. package/lib/packages/vue/src/components/forms/radio/Radio.vue.js +16 -1
  54. package/lib/packages/vue/src/components/forms/select/Select.vue.js +16 -1
  55. package/lib/packages/vue/src/utils/common.js +19 -3
  56. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const all = require("./src/components/all.js");
4
- const index$q = require("../mobile/index.js");
4
+ const index$r = require("../mobile/index.js");
5
5
  const zhCn = require("../../node_modules/element-plus/es/locale/lang/zh-cn.js");
6
- const index$r = require("../../node_modules/element-plus/es/index.js");
6
+ const index$s = require("../../node_modules/element-plus/es/index.js");
7
7
  const components = require("../../node_modules/vxe-pc-ui/es/components.js");
8
8
  ;/* empty css */
9
9
  ;/* empty css */
@@ -12,12 +12,12 @@ const fecVue = {
12
12
  for (let c in all) {
13
13
  app.use(all[c]);
14
14
  }
15
- for (let c in index$q) {
15
+ for (let c in index$r) {
16
16
  if (c.startsWith("Mobile")) {
17
- app.use(index$q[c]);
17
+ app.use(index$r[c]);
18
18
  }
19
19
  }
20
- app.use(index$r.default, {
20
+ app.use(index$s.default, {
21
21
  locale: zhCn.default
22
22
  });
23
23
  app.use(components);
@@ -23,9 +23,10 @@ const index$j = require("./forms/userSelect/index.js");
23
23
  const index$k = require("./forms/roleSelect/index.js");
24
24
  const index$l = require("./forms/formItem/index.js");
25
25
  const index$m = require("./bus/approvalHistory/index.js");
26
- const index$n = require("./details/header/index.js");
27
- const index$o = require("./details/footer/index.js");
28
- const index$p = require("./details/main/index.js");
26
+ const index$n = require("./bus/document/index.js");
27
+ const index$o = require("./details/header/index.js");
28
+ const index$p = require("./details/footer/index.js");
29
+ const index$q = require("./details/main/index.js");
29
30
  exports.Table = index.Table;
30
31
  exports.Form = index$1.Form;
31
32
  exports.Text = index$2.Text;
@@ -49,6 +50,7 @@ exports.UserSelect = index$j.UserSelect;
49
50
  exports.RoleSelect = index$k.RoleSelect;
50
51
  exports.FormItem = index$l.FormItem;
51
52
  exports.ApprovalHistory = index$m.ApprovalHistory;
52
- exports.header = index$n.header;
53
- exports.footer = index$o.footer;
54
- exports.main = index$p.main;
53
+ exports.Document = index$n.Document;
54
+ exports.header = index$o.header;
55
+ exports.footer = index$p.footer;
56
+ exports.main = index$q.main;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const vue = require("vue");
4
+ const index$1 = require("../../forms/subTitle/index.js");
5
+ const index = require("../../forms/h2/index.js");
6
+ const getInstance = require("../../../utils/getInstance.js");
7
+ const _hoisted_1 = {
8
+ key: 0,
9
+ style: { "height": "60px", "position": "relative" }
10
+ };
11
+ const _hoisted_2 = { class: "document-content" };
12
+ const path = "/tech/file/components/DocElement";
13
+ const _sfc_main = /* @__PURE__ */ Object.assign({
14
+ inheritAttrs: false
15
+ }, {
16
+ __name: "Document",
17
+ props: {
18
+ config: {
19
+ type: Object,
20
+ required: true
21
+ },
22
+ localConfig: {
23
+ type: Object,
24
+ required: true
25
+ },
26
+ formMode: {
27
+ type: String,
28
+ default: ""
29
+ }
30
+ },
31
+ setup(__props) {
32
+ const props = __props;
33
+ const ctx = getInstance.getCurrentVueInstance();
34
+ vue.ref("");
35
+ const formData = vue.inject("formData");
36
+ vue.inject("rowHeight");
37
+ vue.inject("gridLayout");
38
+ vue.inject("gridLayoutFieldsData");
39
+ vue.inject("setFormItemHeight");
40
+ const fieldsData = props.localConfig.fieldsData.map((item) => {
41
+ return item.component;
42
+ });
43
+ const hiddenFields = props.localConfig.hiddenFields;
44
+ const accept = vue.computed(() => {
45
+ const acceptArr = [];
46
+ const acceptType = props.config.acceptType;
47
+ if (acceptType.includes("image")) {
48
+ acceptArr.push("image/*");
49
+ }
50
+ if (acceptType.includes("video")) {
51
+ acceptArr.push("video/*");
52
+ }
53
+ if (acceptType.includes("audio")) {
54
+ acceptArr.push("audio/*");
55
+ }
56
+ if (acceptType.includes("text")) {
57
+ acceptArr.push("text/plain");
58
+ }
59
+ if (acceptType.includes("doc")) {
60
+ acceptArr.push(".doc");
61
+ acceptArr.push(".docx");
62
+ }
63
+ if (acceptType.includes("xls")) {
64
+ acceptArr.push(".xls");
65
+ acceptArr.push(".xlsx");
66
+ }
67
+ if (acceptType.includes("ppt")) {
68
+ acceptArr.push(".ppt");
69
+ acceptArr.push(".pptx");
70
+ }
71
+ if (acceptType.includes("pdf")) {
72
+ acceptArr.push("application/pdf");
73
+ }
74
+ if (acceptType.includes("zip")) {
75
+ acceptArr.push("application/zip");
76
+ acceptArr.push("application/x-rar-compressed");
77
+ }
78
+ let accept2 = "";
79
+ if (acceptArr.length < 13) {
80
+ accept2 = acceptArr.join(",");
81
+ }
82
+ return accept2;
83
+ });
84
+ const paramList = vue.computed(() => {
85
+ props.config.essentialParams.map((item) => {
86
+ const modeNo = item.scenario;
87
+ const businessObj = item.businessKey;
88
+ const fieldId = businessObj.value;
89
+ const field = [...fieldsData, ...hiddenFields].find(
90
+ (fieldItem) => fieldItem.id == fieldId
91
+ );
92
+ let busNo = "";
93
+ if (field) {
94
+ busNo = formData.value[field.fieldName];
95
+ }
96
+ return {
97
+ modeNo,
98
+ busNo
99
+ };
100
+ });
101
+ });
102
+ const currentComponent = vue.computed(() => {
103
+ var _a;
104
+ const route = ctx.$router.getRoutes().find((item) => item.path == path);
105
+ console.log("🚀 ~ ctx.$router.getRoutes():", ctx.$router.getRoutes());
106
+ return (_a = route == null ? void 0 : route.components) == null ? void 0 : _a.default;
107
+ });
108
+ return (_ctx, _cache) => {
109
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
110
+ __props.config.titleMode != "none" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
111
+ __props.config.titleMode == "label" ? (vue.openBlock(), vue.createBlock(vue.unref(index.H2), {
112
+ key: 0,
113
+ config: __props.config
114
+ }, null, 8, ["config"])) : __props.config.titleMode == "subLabel" ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.SubTitle), {
115
+ key: 1,
116
+ config: __props.config
117
+ }, null, 8, ["config"])) : vue.createCommentVNode("", true)
118
+ ])) : vue.createCommentVNode("", true),
119
+ vue.createElementVNode("div", _hoisted_2, [
120
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(currentComponent)), {
121
+ isEdit: __props.formMode != "query",
122
+ isSupplement: __props.config.isSupplement,
123
+ multiple: __props.config.multiple,
124
+ download: __props.config.download,
125
+ accept: vue.unref(accept),
126
+ paramList: vue.unref(paramList)
127
+ }, null, 8, ["isEdit", "isSupplement", "multiple", "download", "accept", "paramList"]))
128
+ ])
129
+ ], 64);
130
+ };
131
+ }
132
+ });
133
+ exports.default = _sfc_main;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Document$1 = require("./Document.vue.js");
4
+ const install = require("../../../utils/install.js");
5
+ const Document = install.default.withInstall("Document", Document$1.default);
6
+ exports.Document = Document;
7
+ exports.default = Document;
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const index = require("./approvalHistory/index.js");
4
+ const index$1 = require("./document/index.js");
4
5
  exports.ApprovalHistory = index.ApprovalHistory;
6
+ exports.Document = index$1.Document;
@@ -180,7 +180,7 @@ const _sfc_main = {
180
180
  const field = props.fieldsList.find((field2) => field2.id === item.field);
181
181
  if (field) {
182
182
  const values = tableSelectionRows.value.map((row) => row[item.value]);
183
- formData[field.fieldName] = values.join("|");
183
+ formData[field.fieldName] = values.join(",");
184
184
  }
185
185
  });
186
186
  }
@@ -418,5 +418,5 @@ const _sfc_main = {
418
418
  };
419
419
  }
420
420
  };
421
- const DialogRenderer = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-282440f9"]]);
421
+ const DialogRenderer = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-8b571a63"]]);
422
422
  exports.default = DialogRenderer;
@@ -5,6 +5,7 @@ require("../../../../../../node_modules/element-plus/es/index.js");
5
5
  ;/* empty css */
6
6
  ;/* empty css */
7
7
  const vue = require("vue");
8
+ const common = require("../../../utils/common.js");
8
9
  const index = require("../../../../../../node_modules/element-plus/es/components/checkbox/index.js");
9
10
  const _sfc_main = /* @__PURE__ */ Object.assign({
10
11
  inheritAttrs: false
@@ -39,6 +40,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
39
40
  emits: ["update:modelValue", "change"],
40
41
  setup(__props, { emit: __emit }) {
41
42
  const props = __props;
43
+ const formData = vue.inject("formData", null);
44
+ const fieldsData = vue.inject("fieldsData", []);
45
+ const hiddenFields = vue.inject("hiddenFields", []);
42
46
  const emit = __emit;
43
47
  const inputValue = vue.computed({
44
48
  get: () => {
@@ -56,6 +60,16 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
56
60
  var _a;
57
61
  return ((_a = props.optionConfig) == null ? void 0 : _a.options) || [];
58
62
  });
63
+ function handlerChange(val) {
64
+ common.setFormDataByFieldMapping(
65
+ val,
66
+ true,
67
+ options.value,
68
+ props.optionConfig.fieldMapping,
69
+ formData,
70
+ [...fieldsData.value, ...hiddenFields.value]
71
+ );
72
+ }
59
73
  return (_ctx, _cache) => {
60
74
  const _component_el_checkbox = index.ElCheckbox;
61
75
  const _component_el_checkbox_group = index.ElCheckboxGroup;
@@ -66,7 +80,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
66
80
  disabled: __props.disabled,
67
81
  style: {
68
82
  pointerEvents: __props.readonly ? "none" : "auto"
69
- }
83
+ },
84
+ onChange: handlerChange
70
85
  }), {
71
86
  default: vue.withCtx(() => [
72
87
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(options.value, (option) => {
@@ -231,6 +231,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
231
231
  }
232
232
  });
233
233
  }
234
+ debugger;
234
235
  formData.value = { ...defaultData, ...setFormData(props.modelValue, true) };
235
236
  formRules.value = rules;
236
237
  };
@@ -924,6 +925,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
924
925
  if (!linkaged) {
925
926
  return;
926
927
  }
928
+ debugger;
927
929
  const changedFields = findChangedFields(newVal, prevFormData.value);
928
930
  if (changedFields.length > 0) {
929
931
  applyLinkageEffectsForChangedFields(changedFields);
@@ -1054,5 +1056,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
1054
1056
  };
1055
1057
  }
1056
1058
  });
1057
- const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-8baf793f"]]);
1059
+ const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-75d6c58f"]]);
1058
1060
  exports.default = _Form;
@@ -12,12 +12,13 @@ const index$2 = require("../h2/index.js");
12
12
  const index$4 = require("../subForm/index.js");
13
13
  const index$5 = require("../subTable/index.js");
14
14
  const index$6 = require("../../bus/approvalHistory/index.js");
15
+ const index$7 = require("../../bus/document/index.js");
15
16
  const index$1 = require("../index.js");
16
17
  const index = require("../../bus/index.js");
17
18
  ;/* empty css */
18
19
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
19
- const index$7 = require("../../../../../../node_modules/element-plus/es/components/form/index.js");
20
- const index$8 = require("../../../../../../node_modules/element-plus/es/components/tooltip/index.js");
20
+ const index$8 = require("../../../../../../node_modules/element-plus/es/components/form/index.js");
21
+ const index$9 = require("../../../../../../node_modules/element-plus/es/components/tooltip/index.js");
21
22
  const _hoisted_1 = {
22
23
  key: 0,
23
24
  class: "iconfont icon-iconZheng credit-icon"
@@ -109,8 +110,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
109
110
  getInnerComponentRef
110
111
  });
111
112
  return (_ctx, _cache) => {
112
- const _component_el_tooltip = index$8.ElTooltip;
113
- const _component_el_form_item = index$7.ElFormItem;
113
+ const _component_el_tooltip = index$9.ElTooltip;
114
+ const _component_el_form_item = index$8.ElFormItem;
114
115
  return __props.config.fieldType == "h2" ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.H2), {
115
116
  key: 0,
116
117
  config: __props.config
@@ -137,11 +138,17 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
137
138
  ref: innerComponentRef,
138
139
  config: __props.config,
139
140
  localConfig: __props.localConfig
140
- }, null, 8, ["config", "localConfig"])) : __props.config.fieldType == "blank" || __props.config.fieldType == "divider" ? (vue.openBlock(), vue.createElementBlock("div", {
141
+ }, null, 8, ["config", "localConfig"])) : __props.config.fieldType == "document" ? (vue.openBlock(), vue.createBlock(vue.unref(index$7.Document), {
141
142
  key: 5,
143
+ ref_key: "innerComponentRef",
144
+ ref: innerComponentRef,
145
+ config: __props.config,
146
+ localConfig: __props.localConfig
147
+ }, null, 8, ["config", "localConfig"])) : __props.config.fieldType == "blank" || __props.config.fieldType == "divider" ? (vue.openBlock(), vue.createElementBlock("div", {
148
+ key: 6,
142
149
  class: vue.normalizeClass(__props.config.fieldType)
143
150
  }, null, 2)) : (vue.openBlock(), vue.createBlock(_component_el_form_item, {
144
- key: 6,
151
+ key: 7,
145
152
  prop: __props.config.fieldName,
146
153
  required: __props.config.required,
147
154
  error: __props.error,
@@ -190,5 +197,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
190
197
  };
191
198
  }
192
199
  });
193
- const _FormItem = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-df2a70b8"]]);
200
+ const _FormItem = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-f9232dbc"]]);
194
201
  exports.default = _FormItem;
@@ -5,6 +5,7 @@ require("../../../../../../node_modules/element-plus/es/index.js");
5
5
  ;/* empty css */
6
6
  ;/* empty css */
7
7
  const vue = require("vue");
8
+ const common = require("../../../utils/common.js");
8
9
  const index = require("../../../../../../node_modules/element-plus/es/components/radio/index.js");
9
10
  const _sfc_main = /* @__PURE__ */ Object.assign({
10
11
  inheritAttrs: false
@@ -39,6 +40,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
39
40
  emits: ["update:modelValue", "change"],
40
41
  setup(__props, { emit: __emit }) {
41
42
  const props = __props;
43
+ const formData = vue.inject("formData", null);
44
+ const fieldsData = vue.inject("fieldsData", []);
45
+ const hiddenFields = vue.inject("hiddenFields", []);
42
46
  const emit = __emit;
43
47
  const inputValue = vue.computed({
44
48
  get: () => props.modelValue,
@@ -51,6 +55,16 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
51
55
  var _a;
52
56
  return ((_a = props.optionConfig) == null ? void 0 : _a.options) || [];
53
57
  });
58
+ function handlerChange(val) {
59
+ common.setFormDataByFieldMapping(
60
+ val,
61
+ false,
62
+ options.value,
63
+ props.optionConfig.fieldMapping,
64
+ formData,
65
+ [...fieldsData.value, ...hiddenFields.value]
66
+ );
67
+ }
54
68
  return (_ctx, _cache) => {
55
69
  const _component_el_radio = index.ElRadio;
56
70
  const _component_el_radio_group = index.ElRadioGroup;
@@ -61,7 +75,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
61
75
  disabled: __props.disabled,
62
76
  style: {
63
77
  pointerEvents: __props.readonly ? "none" : "auto"
64
- }
78
+ },
79
+ onChange: handlerChange
65
80
  }), {
66
81
  default: vue.withCtx(() => [
67
82
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(options.value, (option) => {
@@ -9,6 +9,7 @@ require("../../../../../../node_modules/element-plus/es/index.js");
9
9
  ;/* empty css */
10
10
  ;/* empty css */
11
11
  const vue = require("vue");
12
+ const common = require("../../../utils/common.js");
12
13
  const index = require("../../../../../../node_modules/element-plus/es/components/select/index.js");
13
14
  const _sfc_main = /* @__PURE__ */ Object.assign({
14
15
  inheritAttrs: false
@@ -55,6 +56,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
55
56
  emits: ["update:modelValue", "change"],
56
57
  setup(__props, { emit: __emit }) {
57
58
  const props = __props;
59
+ const formData = vue.inject("formData", null);
60
+ const fieldsData = vue.inject("fieldsData", []);
61
+ const hiddenFields = vue.inject("hiddenFields", []);
58
62
  const emit = __emit;
59
63
  const inputValue = vue.computed({
60
64
  get: () => props.modelValue,
@@ -67,6 +71,16 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
67
71
  if (!props.optionConfig) return [];
68
72
  return props.optionConfig.options || [];
69
73
  });
74
+ function handlerChange(val) {
75
+ common.setFormDataByFieldMapping(
76
+ val,
77
+ props.multiple,
78
+ options.value,
79
+ props.optionConfig.fieldMapping,
80
+ formData,
81
+ [...fieldsData.value, ...hiddenFields.value]
82
+ );
83
+ }
70
84
  return (_ctx, _cache) => {
71
85
  const _component_el_option = index.ElOption;
72
86
  const _component_el_select = index.ElSelect;
@@ -81,7 +95,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
81
95
  filterable: __props.filterable,
82
96
  style: [{ "width": "100%" }, {
83
97
  pointerEvents: __props.readonly ? "none" : "auto"
84
- }]
98
+ }],
99
+ onChange: handlerChange
85
100
  }), {
86
101
  default: vue.withCtx(() => [
87
102
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(options.value, (option) => {
@@ -33,9 +33,7 @@ const handleSearchData = (filterValues, completeFilterFields) => {
33
33
  Object.keys(filterValues).forEach((key) => {
34
34
  const value = filterValues[key];
35
35
  if (value !== "" && value !== null && value !== void 0) {
36
- const fieldConfig = completeFilterFields.find(
37
- (field) => field.id == key
38
- );
36
+ const fieldConfig = completeFilterFields.find((field) => field.id == key);
39
37
  const fieldName = (fieldConfig == null ? void 0 : fieldConfig.fieldName) || key;
40
38
  const maxKey = `${key}_max`;
41
39
  const maxValue = filterValues[maxKey];
@@ -54,7 +52,25 @@ const handleSearchData = (filterValues, completeFilterFields) => {
54
52
  });
55
53
  return filters;
56
54
  };
55
+ const setFormDataByFieldMapping = (value, multiple, options, fieldMapping, formData, fields) => {
56
+ let selectedOptions = [];
57
+ if (multiple) {
58
+ selectedOptions = options.filter((opt) => value.includes(opt.value));
59
+ } else {
60
+ selectedOptions = options.filter((opt) => opt.value == value);
61
+ }
62
+ if (fieldMapping && Array.isArray(fieldMapping)) {
63
+ fieldMapping.forEach((item) => {
64
+ const field = fields.find((field2) => field2.id === item.field);
65
+ if (field) {
66
+ const values = selectedOptions.map((row) => row[item.value]);
67
+ formData.value[field.fieldName] = values.join(",");
68
+ }
69
+ });
70
+ }
71
+ };
57
72
  exports.cloneDeep = cloneDeep;
58
73
  exports.handleSearchData = handleSearchData;
59
74
  exports.isEqual = isEqual;
60
75
  exports.removeEmptyValues = removeEmptyValues;
76
+ exports.setFormDataByFieldMapping = setFormDataByFieldMapping;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fecp/designer",
3
- "version": "5.4.8",
3
+ "version": "5.4.11",
4
4
  "main": "lib/designer/index.js",
5
5
  "module": "es/designer/index.mjs",
6
6
  "files": [