@fecp/designer 5.6.9 → 5.6.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.
- package/es/designer/package.json.mjs +1 -1
- package/es/designer/src/components/FieldSetMapping.vue2.mjs +11 -3
- package/es/designer/src/packages/dialog/useDialogDialog.mjs +1 -1
- package/es/designer/src/packages/dialogGlobal/index.vue.mjs +2 -1
- package/es/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +1 -1
- package/es/designer/src/packages/eventFlow/dialog/action/TableSelection.vue2.mjs +64 -0
- package/es/designer/src/packages/eventFlow/dialog/action/config.mjs +10 -0
- package/es/designer/src/packages/form/property/widgets.vue.mjs +2 -2
- package/es/designer/src/packages/table/headerBtn.vue.mjs +1 -0
- package/es/designer.css +153 -123
- package/es/packages/vue/src/components/dialog/DialogRenderer.vue2.mjs +13 -10
- package/es/packages/vue/src/components/forms/formItem/FormItem.vue.mjs +83 -89
- package/es/packages/vue/src/components/forms/roleSelect/RoleSelect.vue.mjs +28 -31
- package/es/packages/vue/src/components/forms/text/Text.vue.mjs +10 -11
- package/es/packages/vue/src/components/forms/userSelect/UserSelect.vue.mjs +28 -31
- package/es/packages/vue/src/components/table/Table.vue.mjs +23 -3
- package/es/packages/vue/src/utils/datasource.mjs +18 -9
- package/es/packages/vue/src/utils/eventFlow/actionHandlers.mjs +43 -0
- package/es/packages/vue/src/utils/importantDataChange.mjs +1 -15
- package/lib/designer/package.json.js +1 -1
- package/lib/designer/src/components/FieldSetMapping.vue2.js +11 -3
- package/lib/designer/src/packages/dialog/useDialogDialog.js +1 -1
- package/lib/designer/src/packages/dialogGlobal/index.vue.js +2 -1
- package/lib/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +1 -1
- package/lib/designer/src/packages/eventFlow/dialog/action/TableSelection.vue2.js +64 -0
- package/lib/designer/src/packages/eventFlow/dialog/action/config.js +10 -0
- package/lib/designer/src/packages/form/property/widgets.vue.js +2 -2
- package/lib/designer/src/packages/table/headerBtn.vue.js +1 -0
- package/lib/designer.css +153 -123
- package/lib/packages/vue/src/components/dialog/DialogRenderer.vue2.js +12 -9
- package/lib/packages/vue/src/components/forms/formItem/FormItem.vue.js +88 -94
- package/lib/packages/vue/src/components/forms/roleSelect/RoleSelect.vue.js +27 -30
- package/lib/packages/vue/src/components/forms/text/Text.vue.js +9 -10
- package/lib/packages/vue/src/components/forms/userSelect/UserSelect.vue.js +27 -30
- package/lib/packages/vue/src/components/table/Table.vue.js +23 -3
- package/lib/packages/vue/src/utils/datasource.js +18 -9
- package/lib/packages/vue/src/utils/eventFlow/actionHandlers.js +43 -0
- package/lib/packages/vue/src/utils/importantDataChange.js +1 -15
- package/package.json +1 -1
|
@@ -390,6 +390,47 @@ async function handleTableChildSelection(node, data, fields, context) {
|
|
|
390
390
|
};
|
|
391
391
|
}
|
|
392
392
|
}
|
|
393
|
+
async function handleTableSelection(node, data, fields, context) {
|
|
394
|
+
var _a, _b, _c, _d, _e;
|
|
395
|
+
const basic = node.basic || {};
|
|
396
|
+
debugger;
|
|
397
|
+
const tableComponent = (_a = context.components) == null ? void 0 : _a.table;
|
|
398
|
+
const setFormDataMethod = (_c = (_b = tableComponent == null ? void 0 : tableComponent.$) == null ? void 0 : _b.exposed) == null ? void 0 : _c.setFormData;
|
|
399
|
+
const getSelectionMethod = (_e = (_d = tableComponent == null ? void 0 : tableComponent.$) == null ? void 0 : _d.exposed) == null ? void 0 : _e.getSelection;
|
|
400
|
+
if (typeof getSelectionMethod === "function") {
|
|
401
|
+
const rows = await getSelectionMethod();
|
|
402
|
+
const fieldMapping = basic.tableSelectionFieldMapping;
|
|
403
|
+
if (fieldMapping && Array.isArray(fieldMapping)) {
|
|
404
|
+
let formData = {};
|
|
405
|
+
fieldMapping.forEach((mapping) => {
|
|
406
|
+
const { field, value } = mapping;
|
|
407
|
+
const targetField = fields.find((item) => item.id == field);
|
|
408
|
+
if (!targetField) {
|
|
409
|
+
return {
|
|
410
|
+
success: false,
|
|
411
|
+
message: `未找到字段: ${field}`
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
const values = rows.map((row) => row[value]);
|
|
415
|
+
formData[targetField.fieldName] = values.join(",");
|
|
416
|
+
});
|
|
417
|
+
if (typeof setFormDataMethod === "function") {
|
|
418
|
+
setFormDataMethod(formData);
|
|
419
|
+
return {
|
|
420
|
+
success: true,
|
|
421
|
+
message: "赋值成功"
|
|
422
|
+
};
|
|
423
|
+
} else {
|
|
424
|
+
console.error("未找到列表组件的 setFormData 方法");
|
|
425
|
+
return {
|
|
426
|
+
success: false,
|
|
427
|
+
message: "列表组件未正确配置或 setFormData 方法未暴露",
|
|
428
|
+
shouldShowError: true
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
}
|
|
393
434
|
async function handleTableRowDelete(node, data, fields, context) {
|
|
394
435
|
var _a, _b, _c;
|
|
395
436
|
console.log("[EventFlow] 执行表格行删除:", node.basic);
|
|
@@ -830,6 +871,7 @@ const defaultActionHandlers = {
|
|
|
830
871
|
"table-row-delete": handleTableRowDelete,
|
|
831
872
|
"table-child-refresh": handleTableChildRefresh,
|
|
832
873
|
"table-child-selection": handleTableChildSelection,
|
|
874
|
+
"table-selection": handleTableSelection,
|
|
833
875
|
"form-setValue": handleFormSetValue,
|
|
834
876
|
"form-submit": handleFormSubmit,
|
|
835
877
|
custom: handleCustomAction,
|
|
@@ -852,5 +894,6 @@ export {
|
|
|
852
894
|
handleTableChildSelection,
|
|
853
895
|
handleTableRefresh,
|
|
854
896
|
handleTableRowDelete,
|
|
897
|
+
handleTableSelection,
|
|
855
898
|
handleUpload
|
|
856
899
|
};
|
|
@@ -7,7 +7,7 @@ function camelToColumn(fieldName) {
|
|
|
7
7
|
if (!fieldName) return "";
|
|
8
8
|
return fieldName.replace(/([A-Z])/g, "_$1").toUpperCase();
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
[
|
|
11
11
|
{
|
|
12
12
|
logId: "67edd238e0d1eabf032c456adef6b215",
|
|
13
13
|
tableName: "LEASE_INIT_APPLY",
|
|
@@ -51,12 +51,6 @@ const MOCK_DATA = [
|
|
|
51
51
|
runTime: 69
|
|
52
52
|
}
|
|
53
53
|
];
|
|
54
|
-
async function mockFetchChanges(params) {
|
|
55
|
-
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
56
|
-
return MOCK_DATA.filter(
|
|
57
|
-
(item) => item.tableName === params.tableName && item.keyName === params.keyName && item.keyValue === params.keyValue
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
54
|
class ImportantDataChangeManager {
|
|
61
55
|
/**
|
|
62
56
|
* @param {Array} configList - 配置组 [{ tableName, keyField: { type, value } }]
|
|
@@ -96,7 +90,6 @@ class ImportantDataChangeManager {
|
|
|
96
90
|
* TODO: 替换 mock API 为真实后端接口
|
|
97
91
|
*/
|
|
98
92
|
async fetchChanges() {
|
|
99
|
-
var _a;
|
|
100
93
|
const allRecords = [];
|
|
101
94
|
for (const config of this.configList) {
|
|
102
95
|
const keyName = this._getKeyName(config.keyField);
|
|
@@ -107,13 +100,6 @@ class ImportantDataChangeManager {
|
|
|
107
100
|
keyName,
|
|
108
101
|
keyValue
|
|
109
102
|
});
|
|
110
|
-
debugger;
|
|
111
|
-
await mockFetchChanges({
|
|
112
|
-
tableName: (_a = config.tableName) == null ? void 0 : _a.toUpperCase(),
|
|
113
|
-
keyName,
|
|
114
|
-
keyValue
|
|
115
|
-
});
|
|
116
|
-
debugger;
|
|
117
103
|
allRecords.push(...records);
|
|
118
104
|
}
|
|
119
105
|
this.changeRecords = allRecords;
|
|
@@ -69,6 +69,14 @@ const _sfc_main = {
|
|
|
69
69
|
type: Boolean,
|
|
70
70
|
default: false
|
|
71
71
|
},
|
|
72
|
+
hasField: {
|
|
73
|
+
type: Boolean,
|
|
74
|
+
default: true
|
|
75
|
+
},
|
|
76
|
+
hasHidden: {
|
|
77
|
+
type: Boolean,
|
|
78
|
+
default: true
|
|
79
|
+
},
|
|
72
80
|
size: {
|
|
73
81
|
type: String,
|
|
74
82
|
default: ""
|
|
@@ -278,7 +286,7 @@ const _sfc_main = {
|
|
|
278
286
|
filterable: ""
|
|
279
287
|
}, {
|
|
280
288
|
default: Vue.withCtx(() => [
|
|
281
|
-
Vue.unref(formFields).length > 0 ? (Vue.openBlock(), Vue.createBlock(_component_el_option_group, {
|
|
289
|
+
__props.hasField && Vue.unref(formFields).length > 0 ? (Vue.openBlock(), Vue.createBlock(_component_el_option_group, {
|
|
282
290
|
key: 0,
|
|
283
291
|
label: "表单字段"
|
|
284
292
|
}, {
|
|
@@ -293,7 +301,7 @@ const _sfc_main = {
|
|
|
293
301
|
]),
|
|
294
302
|
_: 1
|
|
295
303
|
})) : Vue.createCommentVNode("", true),
|
|
296
|
-
Vue.unref(hiddenFields).length > 0 ? (Vue.openBlock(), Vue.createBlock(_component_el_option_group, {
|
|
304
|
+
__props.hasHidden && Vue.unref(hiddenFields).length > 0 ? (Vue.openBlock(), Vue.createBlock(_component_el_option_group, {
|
|
297
305
|
key: 1,
|
|
298
306
|
label: "隐藏域"
|
|
299
307
|
}, {
|
|
@@ -406,5 +414,5 @@ const _sfc_main = {
|
|
|
406
414
|
};
|
|
407
415
|
}
|
|
408
416
|
};
|
|
409
|
-
const FieldSetMapping = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-
|
|
417
|
+
const FieldSetMapping = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-f3c710c3"]]);
|
|
410
418
|
exports.default = FieldSetMapping;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index = require("./index.
|
|
3
|
+
const index = require("./index.vue.js");
|
|
4
4
|
const Vue = require("vue");
|
|
5
5
|
function useDialogDialog() {
|
|
6
6
|
const dialogDialogVisible = Vue.ref(false);
|
|
@@ -76,6 +76,7 @@ const widgets = require("../table/property/widgets.vue.js");
|
|
|
76
76
|
;/* empty css */
|
|
77
77
|
;/* empty css */
|
|
78
78
|
;/* empty css */
|
|
79
|
+
;/* empty css */
|
|
79
80
|
;/* empty css */
|
|
80
81
|
;/* empty css */
|
|
81
82
|
;/* empty css */
|
|
@@ -86,7 +87,7 @@ const widgets = require("../table/property/widgets.vue.js");
|
|
|
86
87
|
require("../../../../node_modules/element-plus/theme-chalk/el-tab-pane.css.js");
|
|
87
88
|
;/* empty css */
|
|
88
89
|
;/* empty css */
|
|
89
|
-
;/* empty css
|
|
90
|
+
;/* empty css */
|
|
90
91
|
;/* empty css */
|
|
91
92
|
;/* empty css */
|
|
92
93
|
;/* empty css */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index = require("./index.
|
|
3
|
+
const index = require("./index.vue.js");
|
|
4
4
|
const Vue = require("vue");
|
|
5
5
|
function useDialogGlobalDialog() {
|
|
6
6
|
const dialogGlobalDialogVisible = Vue.ref(false);
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
require("../../../../../../node_modules/element-plus/es/index.js");
|
|
4
|
+
;/* empty css */
|
|
5
|
+
;/* empty css */
|
|
6
|
+
const Vue = require("vue");
|
|
7
|
+
const FieldSetMapping = require("../../../../components/FieldSetMapping.vue2.js");
|
|
8
|
+
const common = require("../../../utils/common.js");
|
|
9
|
+
const index = require("../../../../api/index.js");
|
|
10
|
+
;/* empty css */
|
|
11
|
+
const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
|
|
12
|
+
const index$1 = require("../../../../../../node_modules/element-plus/es/components/form/index.js");
|
|
13
|
+
const _sfc_main = {
|
|
14
|
+
__name: "TableSelection",
|
|
15
|
+
props: {
|
|
16
|
+
formData: Object
|
|
17
|
+
},
|
|
18
|
+
setup(__props) {
|
|
19
|
+
const currentInstance = Vue.getCurrentInstance();
|
|
20
|
+
const ctx = currentInstance.proxy;
|
|
21
|
+
const props = __props;
|
|
22
|
+
const fieldList = Vue.computed(() => {
|
|
23
|
+
const fieldList2 = common.getEditConfigDataFields();
|
|
24
|
+
const editConfigData = common.getEditConfigData();
|
|
25
|
+
const hiddenFields = (editConfigData == null ? void 0 : editConfigData.hiddenFields) || [];
|
|
26
|
+
return [...fieldList2, ...hiddenFields];
|
|
27
|
+
});
|
|
28
|
+
const subTableOptions = Vue.ref({});
|
|
29
|
+
Vue.watch(
|
|
30
|
+
() => props.formData.selectSubTableFieldId,
|
|
31
|
+
(id) => {
|
|
32
|
+
const fieldItem = common.getEditConfigDataFields().find((item) => item.id == id);
|
|
33
|
+
if (fieldItem) {
|
|
34
|
+
const subTableId = fieldItem.subTableId;
|
|
35
|
+
index.default.getById(ctx.$http, subTableId).then((data) => {
|
|
36
|
+
subTableOptions.value = JSON.parse(data.context);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
immediate: true
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
return (_ctx, _cache) => {
|
|
45
|
+
const _component_el_form_item = index$1.ElFormItem;
|
|
46
|
+
return Vue.openBlock(), Vue.createBlock(_component_el_form_item, { label: "选取后隐藏域赋值映射" }, {
|
|
47
|
+
default: Vue.withCtx(() => [
|
|
48
|
+
Vue.createVNode(FieldSetMapping.default, {
|
|
49
|
+
modelValue: __props.formData.tableSelectionFieldMapping,
|
|
50
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => __props.formData.tableSelectionFieldMapping = $event),
|
|
51
|
+
fieldLabel: "赋值隐藏域字段",
|
|
52
|
+
valueLabel: "列表字段",
|
|
53
|
+
valueOptions: Vue.unref(fieldList),
|
|
54
|
+
hasField: false,
|
|
55
|
+
valueSelectMode: ""
|
|
56
|
+
}, null, 8, ["modelValue", "valueOptions"])
|
|
57
|
+
]),
|
|
58
|
+
_: 1
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const TableSelection = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-de74c7a5"]]);
|
|
64
|
+
exports.default = TableSelection;
|
|
@@ -13,6 +13,7 @@ const TableRowDelete = require("./TableRowDelete.vue2.js");
|
|
|
13
13
|
const Dialog = require("./Dialog.vue.js");
|
|
14
14
|
const Upload = require("./Upload.vue2.js");
|
|
15
15
|
const TableChildSelection = require("./TableChildSelection.vue2.js");
|
|
16
|
+
const TableSelection = require("./TableSelection.vue2.js");
|
|
16
17
|
const RiskSch = require("./RiskSch.vue.js");
|
|
17
18
|
const menuData = [
|
|
18
19
|
{
|
|
@@ -166,6 +167,15 @@ const menuData = [
|
|
|
166
167
|
resetTableAfterDelete: true
|
|
167
168
|
}
|
|
168
169
|
},
|
|
170
|
+
{
|
|
171
|
+
index: "table-selection",
|
|
172
|
+
label: "列表勾选数据赋值",
|
|
173
|
+
desc: "将列表勾选的数据赋值到隐藏域字段",
|
|
174
|
+
component: TableSelection.default,
|
|
175
|
+
default: {
|
|
176
|
+
tableSelectionFieldMapping: []
|
|
177
|
+
}
|
|
178
|
+
},
|
|
169
179
|
{
|
|
170
180
|
index: "table-child-refresh",
|
|
171
181
|
label: "子列表数据刷新",
|
|
@@ -54,8 +54,8 @@ const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_exp
|
|
|
54
54
|
require("../../../components/TemplateSelector.vue.js");
|
|
55
55
|
require("../../table/default.js");
|
|
56
56
|
;/* empty css */
|
|
57
|
-
;/* empty css
|
|
58
|
-
;/* empty css
|
|
57
|
+
;/* empty css */
|
|
58
|
+
;/* empty css */
|
|
59
59
|
require("../../../store/index.js");
|
|
60
60
|
;/* empty css */
|
|
61
61
|
const index$2 = require("../../../../../node_modules/element-plus/es/components/collapse/index.js");
|