@fecp/designer 5.3.5 → 5.3.7
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/es/designer.css +197 -240
- package/es/node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/config-provider/src/hooks/use-global-config.mjs +1 -1
- package/es/packages/designer/package.json.mjs +1 -1
- package/es/packages/designer/src/components/FilterConfigDisplay.vue.mjs +2 -3
- package/es/packages/designer/src/components/FormulaEditorInput.vue.mjs +33 -8
- package/es/packages/designer/src/components/ValueSelectorPopover.vue2.mjs +62 -39
- package/es/packages/designer/src/layout/aside/HiddenFieldDialog.vue.mjs +3 -3
- package/es/packages/designer/src/layout/header/index.vue.mjs +1 -1
- package/es/packages/designer/src/packages/advancedFilter/AdvancedFilter.vue2.mjs +4 -4
- package/es/packages/designer/src/packages/advancedFilter/ValueInput.vue2.mjs +34 -28
- package/es/packages/designer/src/packages/dataLinkage/index.vue.mjs +75 -69
- package/es/packages/designer/src/packages/dialogGlobal/index.vue.mjs +1 -0
- package/es/packages/designer/src/packages/eventFlow/dialog/action/Dialog.vue.mjs +49 -11
- package/es/packages/designer/src/packages/eventFlow/dialog/action/config.mjs +2 -2
- package/es/packages/designer/src/packages/form/aside/index.mjs +1 -0
- package/es/packages/designer/src/packages/form/components/SubForm.vue.mjs +33 -7
- package/es/packages/designer/src/packages/form/index.vue.mjs +15 -2
- package/es/packages/designer/src/packages/form/property/subForm.vue.mjs +53 -11
- package/es/packages/designer/src/packages/formulaEditor/components/FieldVariable.vue2.mjs +3 -2
- package/es/packages/designer/src/packages/table/headerBtn.vue.mjs +1 -0
- package/es/packages/vue/src/components/bus/approvalHistory/ApprovalHistory.vue.mjs +2 -2
- package/es/packages/vue/src/components/forms/form/Form.vue.mjs +35 -12
- package/es/packages/vue/src/components/forms/form/validation.mjs +18 -6
- package/es/packages/vue/src/components/forms/subForm/SubForm.vue.mjs +33 -5
- package/es/packages/vue/src/components/forms/subTable/SubTable.vue.mjs +1 -1
- package/es/packages/vue/src/utils/eventFlow/actionHandlers.mjs +10 -3
- package/lib/designer.css +197 -240
- package/lib/packages/designer/package.json.js +1 -1
- package/lib/packages/designer/src/components/FilterConfigDisplay.vue.js +2 -3
- package/lib/packages/designer/src/components/FormulaEditorInput.vue.js +32 -7
- package/lib/packages/designer/src/components/ValueSelectorPopover.vue2.js +68 -45
- package/lib/packages/designer/src/layout/aside/HiddenFieldDialog.vue.js +3 -3
- package/lib/packages/designer/src/layout/header/index.vue.js +1 -1
- package/lib/packages/designer/src/packages/advancedFilter/AdvancedFilter.vue2.js +4 -4
- package/lib/packages/designer/src/packages/advancedFilter/ValueInput.vue2.js +34 -28
- package/lib/packages/designer/src/packages/dataLinkage/index.vue.js +75 -69
- package/lib/packages/designer/src/packages/dialogGlobal/index.vue.js +1 -0
- package/lib/packages/designer/src/packages/eventFlow/dialog/action/Dialog.vue.js +48 -10
- package/lib/packages/designer/src/packages/eventFlow/dialog/action/config.js +2 -2
- package/lib/packages/designer/src/packages/form/aside/index.js +1 -0
- package/lib/packages/designer/src/packages/form/components/SubForm.vue.js +33 -7
- package/lib/packages/designer/src/packages/form/index.vue.js +15 -2
- package/lib/packages/designer/src/packages/form/property/subForm.vue.js +53 -11
- package/lib/packages/designer/src/packages/formulaEditor/components/FieldVariable.vue2.js +3 -2
- package/lib/packages/designer/src/packages/table/headerBtn.vue.js +1 -0
- package/lib/packages/vue/src/components/bus/approvalHistory/ApprovalHistory.vue.js +2 -2
- package/lib/packages/vue/src/components/forms/form/Form.vue.js +47 -24
- package/lib/packages/vue/src/components/forms/form/validation.js +18 -6
- package/lib/packages/vue/src/components/forms/subForm/SubForm.vue.js +32 -4
- package/lib/packages/vue/src/components/forms/subTable/SubTable.vue.js +1 -1
- package/lib/packages/vue/src/utils/eventFlow/actionHandlers.js +10 -3
- package/package.json +1 -1
|
@@ -127,8 +127,12 @@ const _sfc_main = {
|
|
|
127
127
|
desc: "让字段在特定条件成立时显示,反之隐藏"
|
|
128
128
|
},
|
|
129
129
|
{ label: "必填", name: "required", desc: "让字段在特定条件成立时变为必填" },
|
|
130
|
-
{
|
|
131
|
-
|
|
130
|
+
{
|
|
131
|
+
label: "只读",
|
|
132
|
+
name: "disabled",
|
|
133
|
+
desc: "让字段在特定条件成立时变为不可编辑"
|
|
134
|
+
},
|
|
135
|
+
// { label: "禁用", name: "disabled", desc: "让字段在特定条件成立时变为禁用" },
|
|
132
136
|
{ label: "属性", name: "property", desc: "让字段的其他属性根据条件动态变化" }
|
|
133
137
|
]);
|
|
134
138
|
const activeTab = vue.ref("dataLink");
|
|
@@ -140,14 +144,14 @@ const _sfc_main = {
|
|
|
140
144
|
const editingRuleIndex = vue.ref(-1);
|
|
141
145
|
const fieldAssignments = vue.ref([]);
|
|
142
146
|
const filterTitle = vue.ref("");
|
|
143
|
-
const filterSuccessDesc = vue.ref("
|
|
147
|
+
const filterSuccessDesc = vue.ref("条件满足时或不设置条件,数据联动赋值以下字段");
|
|
144
148
|
function handleAddRule(tab) {
|
|
145
149
|
const name = tab.name;
|
|
146
150
|
filterTitle.value = `${tab.label}联动规则`;
|
|
147
151
|
editingRuleIndex.value = -1;
|
|
148
152
|
switch (name) {
|
|
149
153
|
case "dataLink":
|
|
150
|
-
filterSuccessDesc.value =
|
|
154
|
+
filterSuccessDesc.value = `条件满足时或不设置条件,数据联动赋值以下字段`;
|
|
151
155
|
break;
|
|
152
156
|
case "visibility":
|
|
153
157
|
filterSuccessDesc.value = `条件满足时,显示以下字段`;
|
|
@@ -323,68 +327,71 @@ const _sfc_main = {
|
|
|
323
327
|
class: "rule-card",
|
|
324
328
|
shadow: "hover"
|
|
325
329
|
}, {
|
|
326
|
-
default: vue.withCtx(() =>
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
vue.
|
|
355
|
-
vue.createElementVNode("div",
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
330
|
+
default: vue.withCtx(() => {
|
|
331
|
+
var _a3;
|
|
332
|
+
return [
|
|
333
|
+
vue.createElementVNode("div", _hoisted_5, [
|
|
334
|
+
vue.createElementVNode("div", _hoisted_6, [
|
|
335
|
+
vue.createVNode(_component_el_button, {
|
|
336
|
+
type: "primary",
|
|
337
|
+
link: "",
|
|
338
|
+
size: "small",
|
|
339
|
+
onClick: ($event) => handleEditRule(tab, item, idx)
|
|
340
|
+
}, {
|
|
341
|
+
default: vue.withCtx(() => _cache[3] || (_cache[3] = [
|
|
342
|
+
vue.createTextVNode(" 编辑 ")
|
|
343
|
+
])),
|
|
344
|
+
_: 2
|
|
345
|
+
}, 1032, ["onClick"]),
|
|
346
|
+
vue.createVNode(_component_el_button, {
|
|
347
|
+
type: "danger",
|
|
348
|
+
link: "",
|
|
349
|
+
size: "small",
|
|
350
|
+
onClick: ($event) => handleDeleteRule(tab, idx)
|
|
351
|
+
}, {
|
|
352
|
+
default: vue.withCtx(() => _cache[4] || (_cache[4] = [
|
|
353
|
+
vue.createTextVNode(" 删除 ")
|
|
354
|
+
])),
|
|
355
|
+
_: 2
|
|
356
|
+
}, 1032, ["onClick"])
|
|
357
|
+
]),
|
|
358
|
+
item.filterConfig && ((_a3 = item.filterConfig.conditions) == null ? void 0 : _a3.length) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, [
|
|
359
|
+
_cache[5] || (_cache[5] = vue.createElementVNode("div", { class: "rule-section-title" }, "触发条件", -1)),
|
|
360
|
+
vue.createElementVNode("div", _hoisted_8, [
|
|
361
|
+
vue.createElementVNode("div", _hoisted_9, [
|
|
362
|
+
vue.createVNode(FilterConfigDisplay.default, {
|
|
363
|
+
config: item.filterConfig,
|
|
364
|
+
"field-label-getter": getFieldLabel
|
|
365
|
+
}, null, 8, ["config"])
|
|
366
|
+
])
|
|
367
|
+
])
|
|
368
|
+
])) : vue.createCommentVNode("", true),
|
|
369
|
+
vue.createElementVNode("div", _hoisted_10, [
|
|
370
|
+
vue.createElementVNode("div", _hoisted_11, vue.toDisplayString(getFieldTitle(tab.name)), 1),
|
|
371
|
+
vue.createElementVNode("div", _hoisted_12, [
|
|
372
|
+
tab.name === "dataLink" && item.fieldAssignments && item.fieldAssignments.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_13, [
|
|
373
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(item.fieldAssignments, (assignment, index2) => {
|
|
374
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
375
|
+
key: index2,
|
|
376
|
+
class: "field-assignment-display-item"
|
|
377
|
+
}, [
|
|
378
|
+
vue.createElementVNode("span", _hoisted_14, "「" + vue.toDisplayString(getFieldLabel(assignment.fieldId)) + "」", 1),
|
|
379
|
+
_cache[6] || (_cache[6] = vue.createElementVNode("span", { class: "field-operator" }, "=", -1)),
|
|
380
|
+
vue.createElementVNode("span", _hoisted_15, [
|
|
381
|
+
assignment.isField ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
382
|
+
vue.createTextVNode(" 「" + vue.toDisplayString(getFieldLabel(assignment.value)) + "」 ", 1)
|
|
383
|
+
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
384
|
+
vue.createTextVNode(vue.toDisplayString(formatFormulaText(assignment)), 1)
|
|
385
|
+
], 64))
|
|
386
|
+
])
|
|
387
|
+
]);
|
|
388
|
+
}), 128))
|
|
389
|
+
])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_16, vue.toDisplayString(item.dataLinkFieldList.map((fieldId) => `${getFieldLabel(fieldId)}`).join(", ")), 1))
|
|
360
390
|
])
|
|
361
|
-
])
|
|
362
|
-
])) : vue.createCommentVNode("", true),
|
|
363
|
-
vue.createElementVNode("div", _hoisted_10, [
|
|
364
|
-
vue.createElementVNode("div", _hoisted_11, vue.toDisplayString(getFieldTitle(tab.name)), 1),
|
|
365
|
-
vue.createElementVNode("div", _hoisted_12, [
|
|
366
|
-
tab.name === "dataLink" && item.fieldAssignments && item.fieldAssignments.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_13, [
|
|
367
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(item.fieldAssignments, (assignment, index2) => {
|
|
368
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
369
|
-
key: index2,
|
|
370
|
-
class: "field-assignment-display-item"
|
|
371
|
-
}, [
|
|
372
|
-
vue.createElementVNode("span", _hoisted_14, "「" + vue.toDisplayString(getFieldLabel(assignment.fieldId)) + "」", 1),
|
|
373
|
-
_cache[6] || (_cache[6] = vue.createElementVNode("span", { class: "field-operator" }, "=", -1)),
|
|
374
|
-
vue.createElementVNode("span", _hoisted_15, [
|
|
375
|
-
assignment.isField ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
376
|
-
vue.createTextVNode(" 「" + vue.toDisplayString(getFieldLabel(assignment.value)) + "」 ", 1)
|
|
377
|
-
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
378
|
-
vue.createTextVNode(vue.toDisplayString(formatFormulaText(assignment)), 1)
|
|
379
|
-
], 64))
|
|
380
|
-
])
|
|
381
|
-
]);
|
|
382
|
-
}), 128))
|
|
383
|
-
])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_16, vue.toDisplayString(item.dataLinkFieldList.map((fieldId) => `${getFieldLabel(fieldId)}`).join(", ")), 1))
|
|
384
391
|
])
|
|
385
392
|
])
|
|
386
|
-
]
|
|
387
|
-
|
|
393
|
+
];
|
|
394
|
+
}),
|
|
388
395
|
_: 2
|
|
389
396
|
}, 1024);
|
|
390
397
|
}), 128))
|
|
@@ -435,7 +442,7 @@ const _sfc_main = {
|
|
|
435
442
|
title: vue.unref(filterTitle)
|
|
436
443
|
}, {
|
|
437
444
|
default: vue.withCtx(({ filterConfigData }) => {
|
|
438
|
-
var _a, _b
|
|
445
|
+
var _a, _b;
|
|
439
446
|
return [
|
|
440
447
|
vue.createElementVNode("span", _hoisted_18, vue.toDisplayString(vue.unref(filterSuccessDesc)), 1),
|
|
441
448
|
vue.unref(currentTab).name !== "dataLink" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_19, [
|
|
@@ -530,14 +537,13 @@ const _sfc_main = {
|
|
|
530
537
|
link: "",
|
|
531
538
|
icon: "CirclePlus",
|
|
532
539
|
onClick: addFieldAssignment,
|
|
533
|
-
class: "add-assignment-btn"
|
|
534
|
-
disabled: !filterConfigData || ((_c = filterConfigData.conditions) == null ? void 0 : _c.length) === 0
|
|
540
|
+
class: "add-assignment-btn"
|
|
535
541
|
}, {
|
|
536
542
|
default: vue.withCtx(() => _cache[7] || (_cache[7] = [
|
|
537
543
|
vue.createTextVNode(" 添加字段赋值 ")
|
|
538
544
|
])),
|
|
539
|
-
_:
|
|
540
|
-
}
|
|
545
|
+
_: 1
|
|
546
|
+
})
|
|
541
547
|
]))
|
|
542
548
|
];
|
|
543
549
|
}),
|
|
@@ -547,5 +553,5 @@ const _sfc_main = {
|
|
|
547
553
|
};
|
|
548
554
|
}
|
|
549
555
|
};
|
|
550
|
-
const DataLinkage = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
556
|
+
const DataLinkage = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-2626b920"]]);
|
|
551
557
|
exports.default = DataLinkage;
|
|
@@ -75,6 +75,7 @@ require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typesc
|
|
|
75
75
|
;/* empty css */
|
|
76
76
|
;/* empty css */
|
|
77
77
|
require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-tab-pane.css.js");
|
|
78
|
+
;/* empty css */
|
|
78
79
|
;/* empty css */
|
|
79
80
|
;/* empty css */
|
|
80
81
|
require("../../axios/config.js");
|
|
@@ -61,6 +61,11 @@ const _sfc_main = {
|
|
|
61
61
|
},
|
|
62
62
|
{ immediate: true }
|
|
63
63
|
);
|
|
64
|
+
function handleDialogSourceChange() {
|
|
65
|
+
props.formData.dialogId = null;
|
|
66
|
+
currDialog.value = {};
|
|
67
|
+
tableOptions.value = null;
|
|
68
|
+
}
|
|
64
69
|
const handleDialogChange = async (dialogId) => {
|
|
65
70
|
if (!dialogId) {
|
|
66
71
|
currDialog.value = {};
|
|
@@ -83,6 +88,8 @@ const _sfc_main = {
|
|
|
83
88
|
console.error("🚀 ~ 获取表格配置失败:", error);
|
|
84
89
|
}
|
|
85
90
|
}
|
|
91
|
+
} else if (currDialog.value.contentSource === "form") {
|
|
92
|
+
props.formData.subFormMode = currDialog.value.subFormMode;
|
|
86
93
|
} else {
|
|
87
94
|
tableOptions.value = null;
|
|
88
95
|
}
|
|
@@ -122,17 +129,18 @@ const _sfc_main = {
|
|
|
122
129
|
default: vue.withCtx(() => [
|
|
123
130
|
vue.createVNode(_component_el_radio_group, {
|
|
124
131
|
modelValue: __props.formData.dialogSource,
|
|
125
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => __props.formData.dialogSource = $event)
|
|
132
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => __props.formData.dialogSource = $event),
|
|
133
|
+
onChange: handleDialogSourceChange
|
|
126
134
|
}, {
|
|
127
135
|
default: vue.withCtx(() => [
|
|
128
136
|
vue.createVNode(_component_el_radio_button, { value: "global" }, {
|
|
129
|
-
default: vue.withCtx(() => _cache[
|
|
137
|
+
default: vue.withCtx(() => _cache[8] || (_cache[8] = [
|
|
130
138
|
vue.createTextVNode("全局")
|
|
131
139
|
])),
|
|
132
140
|
_: 1
|
|
133
141
|
}),
|
|
134
142
|
vue.createVNode(_component_el_radio_button, { value: "custom" }, {
|
|
135
|
-
default: vue.withCtx(() => _cache[
|
|
143
|
+
default: vue.withCtx(() => _cache[9] || (_cache[9] = [
|
|
136
144
|
vue.createTextVNode("自定义")
|
|
137
145
|
])),
|
|
138
146
|
_: 1
|
|
@@ -169,7 +177,7 @@ const _sfc_main = {
|
|
|
169
177
|
]),
|
|
170
178
|
_: 1
|
|
171
179
|
}),
|
|
172
|
-
__props.formData.dialogSource == "global" && __props.formData.dialogId ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
180
|
+
__props.formData.dialogSource == "global" && __props.formData.dialogId && currDialog.value.contentSource == "table" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
173
181
|
vue.createVNode(_component_el_form_item, { label: "选择模式" }, {
|
|
174
182
|
default: vue.withCtx(() => [
|
|
175
183
|
vue.createVNode(_component_el_radio_group, {
|
|
@@ -178,19 +186,19 @@ const _sfc_main = {
|
|
|
178
186
|
}, {
|
|
179
187
|
default: vue.withCtx(() => [
|
|
180
188
|
vue.createVNode(_component_el_radio_button, { value: "none" }, {
|
|
181
|
-
default: vue.withCtx(() => _cache[
|
|
189
|
+
default: vue.withCtx(() => _cache[10] || (_cache[10] = [
|
|
182
190
|
vue.createTextVNode("无")
|
|
183
191
|
])),
|
|
184
192
|
_: 1
|
|
185
193
|
}),
|
|
186
194
|
vue.createVNode(_component_el_radio_button, { value: "single" }, {
|
|
187
|
-
default: vue.withCtx(() => _cache[
|
|
195
|
+
default: vue.withCtx(() => _cache[11] || (_cache[11] = [
|
|
188
196
|
vue.createTextVNode("单选")
|
|
189
197
|
])),
|
|
190
198
|
_: 1
|
|
191
199
|
}),
|
|
192
200
|
vue.createVNode(_component_el_radio_button, { value: "multiple" }, {
|
|
193
|
-
default: vue.withCtx(() => _cache[
|
|
201
|
+
default: vue.withCtx(() => _cache[12] || (_cache[12] = [
|
|
194
202
|
vue.createTextVNode("多选")
|
|
195
203
|
])),
|
|
196
204
|
_: 1
|
|
@@ -238,7 +246,10 @@ const _sfc_main = {
|
|
|
238
246
|
_: 1
|
|
239
247
|
})
|
|
240
248
|
], 64)) : vue.createCommentVNode("", true),
|
|
241
|
-
|
|
249
|
+
__props.formData.selectionMode != "none" ? (vue.openBlock(), vue.createBlock(_component_el_form_item, {
|
|
250
|
+
key: 1,
|
|
251
|
+
label: "回调事件配置"
|
|
252
|
+
}, {
|
|
242
253
|
default: vue.withCtx(() => [
|
|
243
254
|
vue.createVNode(OnlyFLowConfigButton.default, {
|
|
244
255
|
config: __props.formData.callbackEventConfig,
|
|
@@ -246,8 +257,35 @@ const _sfc_main = {
|
|
|
246
257
|
}, null, 8, ["config"])
|
|
247
258
|
]),
|
|
248
259
|
_: 1
|
|
249
|
-
})
|
|
250
|
-
], 64)) : vue.
|
|
260
|
+
})) : vue.createCommentVNode("", true)
|
|
261
|
+
], 64)) : currDialog.value.contentSource == "form" ? (vue.openBlock(), vue.createBlock(_component_el_form_item, {
|
|
262
|
+
key: 1,
|
|
263
|
+
label: "表单模式"
|
|
264
|
+
}, {
|
|
265
|
+
default: vue.withCtx(() => [
|
|
266
|
+
vue.createVNode(_component_el_radio_group, {
|
|
267
|
+
modelValue: __props.formData.subFormMode,
|
|
268
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => __props.formData.subFormMode = $event)
|
|
269
|
+
}, {
|
|
270
|
+
default: vue.withCtx(() => [
|
|
271
|
+
vue.createVNode(_component_el_radio_button, { value: "edit" }, {
|
|
272
|
+
default: vue.withCtx(() => _cache[13] || (_cache[13] = [
|
|
273
|
+
vue.createTextVNode("编辑")
|
|
274
|
+
])),
|
|
275
|
+
_: 1
|
|
276
|
+
}),
|
|
277
|
+
vue.createVNode(_component_el_radio_button, { value: "query" }, {
|
|
278
|
+
default: vue.withCtx(() => _cache[14] || (_cache[14] = [
|
|
279
|
+
vue.createTextVNode("查看")
|
|
280
|
+
])),
|
|
281
|
+
_: 1
|
|
282
|
+
})
|
|
283
|
+
]),
|
|
284
|
+
_: 1
|
|
285
|
+
}, 8, ["modelValue"])
|
|
286
|
+
]),
|
|
287
|
+
_: 1
|
|
288
|
+
})) : vue.createCommentVNode("", true)
|
|
251
289
|
], 64);
|
|
252
290
|
};
|
|
253
291
|
}
|
|
@@ -59,8 +59,8 @@ const menuData = [
|
|
|
59
59
|
index: "form",
|
|
60
60
|
label: "表单",
|
|
61
61
|
items: [
|
|
62
|
-
{ index: "form-setValue", label: "
|
|
63
|
-
{ index: "form-submit", label: "
|
|
62
|
+
{ index: "form-setValue", label: "请求表单赋值", desc: "通过请求设置表单字段的值", component: FormSetValue.default, default: { fieldMapping: [] } },
|
|
63
|
+
{ index: "form-submit", label: "请求表单提交", desc: "提交表单数据到后台服务", component: FormSubmit.default, default: { formValidate: true, fieldMapping: [], extraParams: [] } }
|
|
64
64
|
]
|
|
65
65
|
},
|
|
66
66
|
{
|
|
@@ -6,7 +6,6 @@ const index$1 = require("../../../../../../node_modules/.pnpm/@element-plus_icon
|
|
|
6
6
|
const H2Wrapper = require("./H2Wrapper.vue.js");
|
|
7
7
|
const SubTitle = require("./SubTitle.vue.js");
|
|
8
8
|
;/* empty css */
|
|
9
|
-
;/* empty css */
|
|
10
9
|
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
|
|
11
10
|
const index = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/icon/index.js");
|
|
12
11
|
const _hoisted_1 = { class: "sub-form-container" };
|
|
@@ -41,13 +40,40 @@ const _sfc_main = {
|
|
|
41
40
|
const mode = ((_a = props.componentData) == null ? void 0 : _a.titleMode) || "none";
|
|
42
41
|
return mode;
|
|
43
42
|
});
|
|
44
|
-
const
|
|
43
|
+
const formSource = vue.computed(() => {
|
|
45
44
|
var _a;
|
|
46
|
-
return ((_a = props.componentData) == null ? void 0 : _a.
|
|
45
|
+
return ((_a = props.componentData) == null ? void 0 : _a.formSource) || "select";
|
|
46
|
+
});
|
|
47
|
+
const formName = vue.computed(() => {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
if (formSource.value === "select") {
|
|
50
|
+
return ((_a = props.componentData) == null ? void 0 : _a.subFormName) || "";
|
|
51
|
+
} else if (formSource.value === "dynamic") {
|
|
52
|
+
const dynamicValue = (_b = props.componentData) == null ? void 0 : _b.dynamicSubFormKey;
|
|
53
|
+
if (dynamicValue && typeof dynamicValue === "object" && dynamicValue !== null) {
|
|
54
|
+
return dynamicValue.label || "";
|
|
55
|
+
}
|
|
56
|
+
return dynamicValue || "";
|
|
57
|
+
}
|
|
58
|
+
return "";
|
|
47
59
|
});
|
|
48
60
|
const formKey = vue.computed(() => {
|
|
49
61
|
var _a;
|
|
50
|
-
|
|
62
|
+
if (formSource.value === "select") {
|
|
63
|
+
return ((_a = props.componentData) == null ? void 0 : _a.subFormKey) || "";
|
|
64
|
+
} else if (formSource.value === "dynamic") {
|
|
65
|
+
return "动态表单";
|
|
66
|
+
}
|
|
67
|
+
return "";
|
|
68
|
+
});
|
|
69
|
+
const hasForm = vue.computed(() => {
|
|
70
|
+
var _a, _b;
|
|
71
|
+
if (formSource.value === "select") {
|
|
72
|
+
return !!((_a = props.componentData) == null ? void 0 : _a.subFormName);
|
|
73
|
+
} else if (formSource.value === "dynamic") {
|
|
74
|
+
return !!((_b = props.componentData) == null ? void 0 : _b.dynamicSubFormKey);
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
51
77
|
});
|
|
52
78
|
return (_ctx, _cache) => {
|
|
53
79
|
const _component_el_icon = index.ElIcon;
|
|
@@ -62,9 +88,9 @@ const _sfc_main = {
|
|
|
62
88
|
}, null, 8, ["componentData"])) : vue.createCommentVNode("", true)
|
|
63
89
|
])) : vue.createCommentVNode("", true),
|
|
64
90
|
vue.createElementVNode("div", {
|
|
65
|
-
class: vue.normalizeClass(["sub-form-display", { "is-empty": !
|
|
91
|
+
class: vue.normalizeClass(["sub-form-display", { "is-empty": !hasForm.value, "has-form": hasForm.value }])
|
|
66
92
|
}, [
|
|
67
|
-
!
|
|
93
|
+
!hasForm.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
|
|
68
94
|
vue.createVNode(_component_el_icon, { class: "icon" }, {
|
|
69
95
|
default: vue.withCtx(() => [
|
|
70
96
|
vue.createVNode(vue.unref(index$1.DocumentAdd))
|
|
@@ -97,5 +123,5 @@ const _sfc_main = {
|
|
|
97
123
|
};
|
|
98
124
|
}
|
|
99
125
|
};
|
|
100
|
-
const SubForm = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
126
|
+
const SubForm = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-cd333a16"]]);
|
|
101
127
|
exports.default = SubForm;
|
|
@@ -330,6 +330,16 @@ const _sfc_main = {
|
|
|
330
330
|
var _a;
|
|
331
331
|
return ((_a = gridLayout.value) == null ? void 0 : _a.state.isDragging) || false;
|
|
332
332
|
});
|
|
333
|
+
function isLinkedVisibility(id) {
|
|
334
|
+
var _a;
|
|
335
|
+
const linkedVisibility = ((_a = editConfigData.value.linkedConfig) == null ? void 0 : _a.visibility) || [];
|
|
336
|
+
for (const item of linkedVisibility) {
|
|
337
|
+
if (item.dataLinkFieldList.includes(id)) {
|
|
338
|
+
return true;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
return false;
|
|
342
|
+
}
|
|
333
343
|
__expose({
|
|
334
344
|
onFormDragMove
|
|
335
345
|
});
|
|
@@ -519,7 +529,10 @@ const _sfc_main = {
|
|
|
519
529
|
vue.createElementVNode("div", {
|
|
520
530
|
class: vue.normalizeClass(["component-content", {
|
|
521
531
|
"is-disabled": item.component.disabled,
|
|
522
|
-
"is-readonly": item.component.readOnly && !item.component.disabled
|
|
532
|
+
"is-readonly": item.component.readOnly && !item.component.disabled,
|
|
533
|
+
"is-linked-visibility": isLinkedVisibility(
|
|
534
|
+
item.component.id
|
|
535
|
+
)
|
|
523
536
|
}])
|
|
524
537
|
}, [
|
|
525
538
|
item.component.fieldType == "subTitle" ? (vue.openBlock(), vue.createBlock(SubTitle.default, {
|
|
@@ -569,5 +582,5 @@ const _sfc_main = {
|
|
|
569
582
|
};
|
|
570
583
|
}
|
|
571
584
|
};
|
|
572
|
-
const formWorkArea = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
585
|
+
const formWorkArea = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-f689abe4"]]);
|
|
573
586
|
exports.default = formWorkArea;
|
|
@@ -14,6 +14,7 @@ const vue = require("vue");
|
|
|
14
14
|
const common = require("../../utils/common.js");
|
|
15
15
|
const TemplateSelector = require("../../../components/TemplateSelector.vue.js");
|
|
16
16
|
const eventBus = require("../../utils/eventBus.js");
|
|
17
|
+
const ValueSelector = require("../../../components/ValueSelector.vue2.js");
|
|
17
18
|
const index = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/collapse/index.js");
|
|
18
19
|
const index$1 = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/form/index.js");
|
|
19
20
|
const index$2 = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input/index.js");
|
|
@@ -50,7 +51,7 @@ const _sfc_main = {
|
|
|
50
51
|
return vue.openBlock(), vue.createBlock(_component_el_collapse, {
|
|
51
52
|
class: "setting",
|
|
52
53
|
modelValue: vue.unref(activeName),
|
|
53
|
-
"onUpdate:modelValue": _cache[
|
|
54
|
+
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.isRef(activeName) ? activeName.value = $event : null)
|
|
54
55
|
}, {
|
|
55
56
|
default: vue.withCtx(() => [
|
|
56
57
|
vue.createVNode(_component_el_collapse_item, {
|
|
@@ -87,19 +88,19 @@ const _sfc_main = {
|
|
|
87
88
|
}, {
|
|
88
89
|
default: vue.withCtx(() => [
|
|
89
90
|
vue.createVNode(_component_el_radio_button, { value: "none" }, {
|
|
90
|
-
default: vue.withCtx(() => _cache[
|
|
91
|
+
default: vue.withCtx(() => _cache[12] || (_cache[12] = [
|
|
91
92
|
vue.createTextVNode("无")
|
|
92
93
|
])),
|
|
93
94
|
_: 1
|
|
94
95
|
}),
|
|
95
96
|
vue.createVNode(_component_el_radio_button, { value: "label" }, {
|
|
96
|
-
default: vue.withCtx(() => _cache[
|
|
97
|
+
default: vue.withCtx(() => _cache[13] || (_cache[13] = [
|
|
97
98
|
vue.createTextVNode("标题")
|
|
98
99
|
])),
|
|
99
100
|
_: 1
|
|
100
101
|
}),
|
|
101
102
|
vue.createVNode(_component_el_radio_button, { value: "subLabel" }, {
|
|
102
|
-
default: vue.withCtx(() => _cache[
|
|
103
|
+
default: vue.withCtx(() => _cache[14] || (_cache[14] = [
|
|
103
104
|
vue.createTextVNode("子标题")
|
|
104
105
|
])),
|
|
105
106
|
_: 1
|
|
@@ -136,7 +137,7 @@ const _sfc_main = {
|
|
|
136
137
|
}, {
|
|
137
138
|
default: vue.withCtx(() => [
|
|
138
139
|
vue.createVNode(_component_el_radio_button, { value: "main" }, {
|
|
139
|
-
default: vue.withCtx(() => _cache[
|
|
140
|
+
default: vue.withCtx(() => _cache[15] || (_cache[15] = [
|
|
140
141
|
vue.createTextVNode("主页面获取")
|
|
141
142
|
])),
|
|
142
143
|
_: 1
|
|
@@ -145,7 +146,7 @@ const _sfc_main = {
|
|
|
145
146
|
value: "self",
|
|
146
147
|
disabled: ""
|
|
147
148
|
}, {
|
|
148
|
-
default: vue.withCtx(() => _cache[
|
|
149
|
+
default: vue.withCtx(() => _cache[16] || (_cache[16] = [
|
|
149
150
|
vue.createTextVNode("子表单自加载")
|
|
150
151
|
])),
|
|
151
152
|
_: 1
|
|
@@ -174,20 +175,61 @@ const _sfc_main = {
|
|
|
174
175
|
]),
|
|
175
176
|
_: 1
|
|
176
177
|
}),
|
|
177
|
-
vue.createVNode(_component_el_form_item, { label: "
|
|
178
|
+
vue.createVNode(_component_el_form_item, { label: "表单来源" }, {
|
|
179
|
+
default: vue.withCtx(() => [
|
|
180
|
+
vue.createVNode(_component_el_radio_group, {
|
|
181
|
+
modelValue: vue.unref(currentItem).formSource,
|
|
182
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(currentItem).formSource = $event),
|
|
183
|
+
size: "small"
|
|
184
|
+
}, {
|
|
185
|
+
default: vue.withCtx(() => [
|
|
186
|
+
vue.createVNode(_component_el_radio_button, { value: "select" }, {
|
|
187
|
+
default: vue.withCtx(() => _cache[17] || (_cache[17] = [
|
|
188
|
+
vue.createTextVNode("选择表单")
|
|
189
|
+
])),
|
|
190
|
+
_: 1
|
|
191
|
+
}),
|
|
192
|
+
vue.createVNode(_component_el_radio_button, { value: "dynamic" }, {
|
|
193
|
+
default: vue.withCtx(() => _cache[18] || (_cache[18] = [
|
|
194
|
+
vue.createTextVNode("动态表单")
|
|
195
|
+
])),
|
|
196
|
+
_: 1
|
|
197
|
+
})
|
|
198
|
+
]),
|
|
199
|
+
_: 1
|
|
200
|
+
}, 8, ["modelValue"])
|
|
201
|
+
]),
|
|
202
|
+
_: 1
|
|
203
|
+
}),
|
|
204
|
+
vue.unref(currentItem).formSource == "select" ? (vue.openBlock(), vue.createBlock(_component_el_form_item, {
|
|
205
|
+
key: 1,
|
|
206
|
+
label: "选择子表单"
|
|
207
|
+
}, {
|
|
178
208
|
default: vue.withCtx(() => [
|
|
179
209
|
vue.createVNode(TemplateSelector.default, {
|
|
180
210
|
modelValue: vue.unref(currentItem).subFormName,
|
|
181
|
-
"onUpdate:modelValue": _cache[
|
|
211
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(currentItem).subFormName = $event),
|
|
182
212
|
templateKey: vue.unref(currentItem).subFormKey,
|
|
183
|
-
"onUpdate:templateKey": _cache[
|
|
213
|
+
"onUpdate:templateKey": _cache[8] || (_cache[8] = ($event) => vue.unref(currentItem).subFormKey = $event),
|
|
184
214
|
templateId: vue.unref(currentItem).subFormId,
|
|
185
|
-
"onUpdate:templateId": _cache[
|
|
215
|
+
"onUpdate:templateId": _cache[9] || (_cache[9] = ($event) => vue.unref(currentItem).subFormId = $event),
|
|
186
216
|
templateType: "form"
|
|
187
217
|
}, null, 8, ["modelValue", "templateKey", "templateId"])
|
|
188
218
|
]),
|
|
189
219
|
_: 1
|
|
190
|
-
})
|
|
220
|
+
})) : vue.unref(currentItem).formSource == "dynamic" ? (vue.openBlock(), vue.createBlock(_component_el_form_item, {
|
|
221
|
+
key: 2,
|
|
222
|
+
label: "表单标识"
|
|
223
|
+
}, {
|
|
224
|
+
default: vue.withCtx(() => [
|
|
225
|
+
vue.createVNode(ValueSelector.default, {
|
|
226
|
+
modelValue: vue.unref(currentItem).dynamicSubFormKey,
|
|
227
|
+
"onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(currentItem).dynamicSubFormKey = $event),
|
|
228
|
+
size: "default"
|
|
229
|
+
}, null, 8, ["modelValue"])
|
|
230
|
+
]),
|
|
231
|
+
_: 1
|
|
232
|
+
})) : vue.createCommentVNode("", true)
|
|
191
233
|
]),
|
|
192
234
|
_: 1
|
|
193
235
|
}, 8, ["model"]))
|
|
@@ -33,7 +33,8 @@ const _sfc_main = {
|
|
|
33
33
|
multipleSelection: "数组",
|
|
34
34
|
checkbox: "数组",
|
|
35
35
|
date: "日期",
|
|
36
|
-
switch: "布尔值"
|
|
36
|
+
switch: "布尔值",
|
|
37
|
+
hidden: "隐藏域"
|
|
37
38
|
};
|
|
38
39
|
const searchVariable = vue.ref("");
|
|
39
40
|
const filterFieldList = vue.ref([]);
|
|
@@ -80,5 +81,5 @@ const _sfc_main = {
|
|
|
80
81
|
};
|
|
81
82
|
}
|
|
82
83
|
};
|
|
83
|
-
const FieldVariable = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
84
|
+
const FieldVariable = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-c2ceeb58"]]);
|
|
84
85
|
exports.default = FieldVariable;
|
|
@@ -43,6 +43,7 @@ require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typesc
|
|
|
43
43
|
;/* empty css */
|
|
44
44
|
const index$1 = require("../../../../../node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.js");
|
|
45
45
|
;/* empty css */
|
|
46
|
+
;/* empty css */
|
|
46
47
|
require("../../store/index.js");
|
|
47
48
|
;/* empty css */
|
|
48
49
|
;/* empty css */
|
|
@@ -70,7 +70,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
70
70
|
if (foundItem) {
|
|
71
71
|
foundItem.fixedH = true;
|
|
72
72
|
foundItem.h = dom.offsetHeight + titleHeight;
|
|
73
|
-
setFormItemHeight(props.config.id, dom.offsetHeight + titleHeight);
|
|
73
|
+
setFormItemHeight(props.config.id, true, dom.offsetHeight + titleHeight);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
return (_ctx, _cache) => {
|
|
@@ -127,5 +127,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
|
|
|
127
127
|
};
|
|
128
128
|
}
|
|
129
129
|
});
|
|
130
|
-
const _ApprovalHistory = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
130
|
+
const _ApprovalHistory = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-f7d02612"]]);
|
|
131
131
|
exports.default = _ApprovalHistory;
|