@fecp/designer 5.5.1 → 5.5.3
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/DocumentParam.vue.mjs +1 -1
- package/es/designer/src/components/ParamsConfig.vue2.mjs +1 -1
- package/es/designer/src/components/ValueSelector.vue.mjs +191 -0
- package/es/designer/src/layout/aside/HiddenFieldDialog.vue.mjs +1 -1
- package/es/designer/src/packages/advancedFilter/ValueInput.vue2.mjs +1 -1
- package/es/designer/src/packages/dataLinkage/index.vue.mjs +1 -1
- package/es/designer/src/packages/dialog/index.vue2.mjs +988 -0
- package/es/designer/src/packages/dialog/useDialogDialog.mjs +1 -1
- package/es/designer/src/packages/dialogGlobal/index.vue.mjs +1 -1
- package/es/designer/src/packages/dialogGlobal/index.vue2.mjs +1035 -0
- package/es/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +1 -1
- package/es/designer/src/packages/eventFlow/dialog/action/RiskSch.vue.mjs +1 -1
- package/es/designer/src/packages/form/property/approvalHistory.vue.mjs +1 -1
- package/es/designer/src/packages/form/property/contract.vue.mjs +1 -1
- package/es/designer/src/packages/form/property/subForm.vue.mjs +1 -1
- package/es/designer/src/packages/form/property/widgets.vue.mjs +2 -2
- package/es/designer/src/packages/prod/index.vue.mjs +1 -1
- package/es/designer/src/packages/table/default.mjs +2 -2
- package/es/designer/src/packages/table/headerBtn.vue.mjs +1 -1
- package/es/designer/src/packages/table/tablePagination.vue.mjs +23 -82
- package/es/designer.css +47 -47
- package/es/packages/vue/src/components/dialog/DialogRenderer.vue2.mjs +1 -1
- package/es/packages/vue/src/components/forms/form/Form.vue.mjs +2 -1
- package/es/packages/vue/src/components/forms/text/Text.vue.mjs +1 -1
- package/es/packages/vue/src/components/table/Pagination.vue.mjs +6 -6
- package/es/packages/vue/src/components/table/Table.vue.mjs +5 -4
- package/es/packages/vue/src/components/table/TableColumn.vue.mjs +1 -1
- package/es/packages/vue/src/composables/usePageEvents.mjs +1 -1
- package/es/packages/vue/src/utils/datasource.mjs +1 -1
- package/es/packages/vue/src/utils/parseFilterConfig.mjs +7 -7
- package/lib/designer/package.json.js +1 -1
- package/lib/designer/src/components/DocumentParam.vue.js +1 -1
- package/lib/designer/src/components/ParamsConfig.vue2.js +1 -1
- package/lib/designer/src/components/ValueSelector.vue.js +191 -0
- package/lib/designer/src/layout/aside/HiddenFieldDialog.vue.js +1 -1
- package/lib/designer/src/packages/advancedFilter/ValueInput.vue2.js +1 -1
- package/lib/designer/src/packages/dataLinkage/index.vue.js +1 -1
- package/lib/designer/src/packages/dialog/index.vue2.js +988 -0
- package/lib/designer/src/packages/dialog/useDialogDialog.js +1 -1
- package/lib/designer/src/packages/dialogGlobal/index.vue.js +1 -1
- package/lib/designer/src/packages/dialogGlobal/index.vue2.js +1035 -0
- package/lib/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +1 -1
- package/lib/designer/src/packages/eventFlow/dialog/action/RiskSch.vue.js +1 -1
- package/lib/designer/src/packages/form/property/approvalHistory.vue.js +1 -1
- package/lib/designer/src/packages/form/property/contract.vue.js +1 -1
- package/lib/designer/src/packages/form/property/subForm.vue.js +1 -1
- package/lib/designer/src/packages/form/property/widgets.vue.js +2 -2
- package/lib/designer/src/packages/prod/index.vue.js +1 -1
- package/lib/designer/src/packages/table/default.js +2 -2
- package/lib/designer/src/packages/table/headerBtn.vue.js +1 -1
- package/lib/designer/src/packages/table/tablePagination.vue.js +27 -86
- package/lib/designer.css +47 -47
- package/lib/packages/vue/src/components/dialog/DialogRenderer.vue2.js +1 -1
- package/lib/packages/vue/src/components/forms/form/Form.vue.js +2 -1
- package/lib/packages/vue/src/components/forms/text/Text.vue.js +1 -1
- package/lib/packages/vue/src/components/table/Pagination.vue.js +6 -6
- package/lib/packages/vue/src/components/table/Table.vue.js +5 -4
- package/lib/packages/vue/src/components/table/TableColumn.vue.js +1 -1
- package/lib/packages/vue/src/composables/usePageEvents.js +1 -1
- package/lib/packages/vue/src/utils/datasource.js +1 -1
- package/lib/packages/vue/src/utils/parseFilterConfig.js +7 -7
- package/package.json +1 -1
|
@@ -2,9 +2,9 @@ import { reactive } from "vue";
|
|
|
2
2
|
import { parseRouteParams } from "./parseRouteParams.mjs";
|
|
3
3
|
import "../../../../node_modules/element-plus/es/index.mjs";
|
|
4
4
|
/* empty css */
|
|
5
|
-
/* empty css */
|
|
6
5
|
/* empty css */
|
|
7
6
|
/* empty css */
|
|
7
|
+
/* empty css */
|
|
8
8
|
import { ElLoading } from "../../../../node_modules/element-plus/es/components/loading/index.mjs";
|
|
9
9
|
import { ElMessage } from "../../../../node_modules/element-plus/es/components/message/index.mjs";
|
|
10
10
|
class DataSourceManager {
|
|
@@ -18,15 +18,15 @@ function checkGroupMatch(group, data, fields) {
|
|
|
18
18
|
results.push(checkGroupMatch(g, data, fields));
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
-
if (operator
|
|
22
|
-
return results.every((r) => r
|
|
21
|
+
if (operator == "and") {
|
|
22
|
+
return results.every((r) => r == true);
|
|
23
23
|
} else {
|
|
24
|
-
return results.some((r) => r
|
|
24
|
+
return results.some((r) => r == true);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
function checkConditionMatch(condition, data, fields) {
|
|
28
28
|
const { field, operator, value } = condition;
|
|
29
|
-
const fieldInfo = fields.find((f) => f.id
|
|
29
|
+
const fieldInfo = fields.find((f) => f.id == field);
|
|
30
30
|
const fieldName = (fieldInfo == null ? void 0 : fieldInfo.fieldName) || field;
|
|
31
31
|
const dataValue = data[fieldName];
|
|
32
32
|
const parsedValue = parseSingleParamValue(value, data, fields);
|
|
@@ -44,7 +44,7 @@ function checkConditionMatch(condition, data, fields) {
|
|
|
44
44
|
case "lte":
|
|
45
45
|
return Number(dataValue) <= Number(parsedValue);
|
|
46
46
|
case "range":
|
|
47
|
-
if (!parsedValue || parsedValue.min
|
|
47
|
+
if (!parsedValue || parsedValue.min == null || parsedValue.max == null) return false;
|
|
48
48
|
const numValue = Number(dataValue);
|
|
49
49
|
return numValue >= Number(parsedValue.min) && numValue <= Number(parsedValue.max);
|
|
50
50
|
case "contains":
|
|
@@ -64,7 +64,7 @@ function checkConditionMatch(condition, data, fields) {
|
|
|
64
64
|
}
|
|
65
65
|
return !parsedValue.some((v) => dataValue == v);
|
|
66
66
|
case "is_null":
|
|
67
|
-
return dataValue
|
|
67
|
+
return dataValue == null || dataValue == void 0 || dataValue == "";
|
|
68
68
|
case "is_not_null":
|
|
69
69
|
return dataValue !== null && dataValue !== void 0 && dataValue !== "";
|
|
70
70
|
default:
|
|
@@ -80,7 +80,7 @@ function checkFieldInFilterConfig(filterConfig, fieldId) {
|
|
|
80
80
|
function checkFieldInGroup(group, targetFieldId) {
|
|
81
81
|
const { conditions, groups } = group;
|
|
82
82
|
if (conditions && conditions.length > 0) {
|
|
83
|
-
const foundInConditions = conditions.some((cond) => cond.field
|
|
83
|
+
const foundInConditions = conditions.some((cond) => cond.field == targetFieldId);
|
|
84
84
|
if (foundInConditions) {
|
|
85
85
|
return true;
|
|
86
86
|
}
|
|
@@ -11,7 +11,7 @@ require("../../../node_modules/element-plus/es/index.js");
|
|
|
11
11
|
;/* empty css */
|
|
12
12
|
const vue = require("vue");
|
|
13
13
|
const index$2 = require("../../../node_modules/@element-plus/icons-vue/dist/index.js");
|
|
14
|
-
const ValueSelector = require("./ValueSelector.
|
|
14
|
+
const ValueSelector = require("./ValueSelector.vue.js");
|
|
15
15
|
const index = require("../api/index.js");
|
|
16
16
|
;/* empty css */
|
|
17
17
|
const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
|
|
@@ -6,7 +6,7 @@ require("../../../node_modules/element-plus/es/index.js");
|
|
|
6
6
|
;/* empty css */
|
|
7
7
|
const vue = require("vue");
|
|
8
8
|
const index$1 = require("../../../node_modules/@element-plus/icons-vue/dist/index.js");
|
|
9
|
-
const ValueSelector = require("./ValueSelector.
|
|
9
|
+
const ValueSelector = require("./ValueSelector.vue.js");
|
|
10
10
|
;/* empty css */
|
|
11
11
|
const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
|
|
12
12
|
const index = require("../../../node_modules/element-plus/es/components/button/index.js");
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
require("../../../node_modules/element-plus/es/index.js");
|
|
5
|
+
const ValueSelectorPopover = require("./ValueSelectorPopover.vue2.js");
|
|
6
|
+
const common = require("../packages/utils/common.js");
|
|
7
|
+
;/* empty css */
|
|
8
|
+
const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
|
|
9
|
+
const index = require("../../../node_modules/element-plus/es/components/input-tag/index.js");
|
|
10
|
+
const index$1 = require("../../../node_modules/element-plus/es/components/input/index.js");
|
|
11
|
+
const _sfc_main = {
|
|
12
|
+
__name: "ValueSelector",
|
|
13
|
+
props: {
|
|
14
|
+
// modelValue 的格式:
|
|
15
|
+
// 单选:{ type: 'field', value: '字段ID' }
|
|
16
|
+
// 多选:[{ type: 'field', value: '字段ID1' }, { type: 'field', value: '字段ID2' }]
|
|
17
|
+
modelValue: {
|
|
18
|
+
default: () => null
|
|
19
|
+
},
|
|
20
|
+
placeholder: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: "请输入或选择值"
|
|
23
|
+
},
|
|
24
|
+
readOnly: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: false
|
|
27
|
+
},
|
|
28
|
+
disabled: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
default: false
|
|
31
|
+
},
|
|
32
|
+
multiple: {
|
|
33
|
+
type: Boolean,
|
|
34
|
+
default: false
|
|
35
|
+
},
|
|
36
|
+
size: {
|
|
37
|
+
type: String,
|
|
38
|
+
default: "small"
|
|
39
|
+
}
|
|
40
|
+
// // 可选的字段列表(从父组件传入)
|
|
41
|
+
// availableFields: {
|
|
42
|
+
// type: Array,
|
|
43
|
+
// default: () => [],
|
|
44
|
+
// validator: (value) => Array.isArray(value),
|
|
45
|
+
// },
|
|
46
|
+
},
|
|
47
|
+
emits: ["update:modelValue"],
|
|
48
|
+
setup(__props, { emit: __emit }) {
|
|
49
|
+
const props = __props;
|
|
50
|
+
const emit = __emit;
|
|
51
|
+
const inputComponent = vue.computed(() => {
|
|
52
|
+
return props.multiple ? index.ElInputTag : index$1.ElInput;
|
|
53
|
+
});
|
|
54
|
+
const hiddenFieldsData = vue.computed(() => {
|
|
55
|
+
const editConfigData = common.getEditConfigData();
|
|
56
|
+
return (editConfigData == null ? void 0 : editConfigData.hiddenFields) || [];
|
|
57
|
+
});
|
|
58
|
+
const availableFields = vue.computed(() => {
|
|
59
|
+
const fields = common.getEditConfigDataFields() || [];
|
|
60
|
+
return fields.map((item) => ({
|
|
61
|
+
id: item.id,
|
|
62
|
+
label: item.label,
|
|
63
|
+
fieldName: item.fieldName,
|
|
64
|
+
fieldType: item.fieldType
|
|
65
|
+
}));
|
|
66
|
+
});
|
|
67
|
+
const displayText = vue.computed(() => {
|
|
68
|
+
if (!props.modelValue) return "";
|
|
69
|
+
if (!props.multiple && typeof props.modelValue === "object" && !Array.isArray(props.modelValue)) {
|
|
70
|
+
const val = props.modelValue;
|
|
71
|
+
if (val.label) return val.label;
|
|
72
|
+
const field = availableFields.value.find((f) => f.id === val.value);
|
|
73
|
+
return (field == null ? void 0 : field.label) || (field == null ? void 0 : field.fieldName) || val.value;
|
|
74
|
+
} else if (!props.multiple && typeof props.modelValue === "string") {
|
|
75
|
+
return props.modelValue;
|
|
76
|
+
}
|
|
77
|
+
return "";
|
|
78
|
+
});
|
|
79
|
+
const tags = vue.computed({
|
|
80
|
+
get() {
|
|
81
|
+
if (!props.multiple || !Array.isArray(props.modelValue)) {
|
|
82
|
+
return [];
|
|
83
|
+
}
|
|
84
|
+
return props.modelValue.map((item) => {
|
|
85
|
+
if (item.label) return item.label;
|
|
86
|
+
const field = availableFields.value.find((f) => f.id === item.value);
|
|
87
|
+
return (field == null ? void 0 : field.label) || (field == null ? void 0 : field.fieldName) || item.value;
|
|
88
|
+
}).filter(Boolean);
|
|
89
|
+
},
|
|
90
|
+
set(val) {
|
|
91
|
+
if (Array.isArray(props.modelValue)) {
|
|
92
|
+
const newModelValue = props.modelValue.filter((item) => {
|
|
93
|
+
const itemLabel = item.label || (() => {
|
|
94
|
+
const field = [
|
|
95
|
+
...availableFields.value,
|
|
96
|
+
...hiddenFieldsData.value
|
|
97
|
+
].find((f) => f.id === item.value);
|
|
98
|
+
return (field == null ? void 0 : field.label) || (field == null ? void 0 : field.fieldName) || item.value;
|
|
99
|
+
})();
|
|
100
|
+
return val.includes(itemLabel);
|
|
101
|
+
});
|
|
102
|
+
emit("update:modelValue", newModelValue);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
const unifiedInputValue = vue.computed({
|
|
107
|
+
get() {
|
|
108
|
+
return props.multiple ? tags.value : displayText.value;
|
|
109
|
+
},
|
|
110
|
+
set(val) {
|
|
111
|
+
if (props.multiple && Array.isArray(val)) {
|
|
112
|
+
tags.value = val;
|
|
113
|
+
} else if (!props.multiple && typeof val === "string") {
|
|
114
|
+
emit("update:modelValue", val);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
const handleConfirm = (selected) => {
|
|
119
|
+
let result = null;
|
|
120
|
+
if (selected.type === "field") {
|
|
121
|
+
const field = [...availableFields.value, ...hiddenFieldsData.value].find(
|
|
122
|
+
(f) => f.id === selected.value
|
|
123
|
+
);
|
|
124
|
+
result = {
|
|
125
|
+
label: `\${${(field == null ? void 0 : field.label) || (field == null ? void 0 : field.fieldName) || selected.value}}`,
|
|
126
|
+
type: "field",
|
|
127
|
+
value: selected.value
|
|
128
|
+
};
|
|
129
|
+
} else if (selected.type === "userInfo") {
|
|
130
|
+
result = {
|
|
131
|
+
label: `\${用户信息: ${getUserInfoLabel(selected.value)}}`,
|
|
132
|
+
type: "userInfo",
|
|
133
|
+
value: selected.value
|
|
134
|
+
};
|
|
135
|
+
} else if (selected.type === "urlParam") {
|
|
136
|
+
result = {
|
|
137
|
+
label: `\${路由参数: ${selected.value}}`,
|
|
138
|
+
type: "urlParam",
|
|
139
|
+
value: selected.value
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
if (!result) return;
|
|
143
|
+
if (props.multiple) {
|
|
144
|
+
const currentValue = Array.isArray(props.modelValue) ? props.modelValue : [];
|
|
145
|
+
const exists = currentValue.some((item) => item.value === result.value);
|
|
146
|
+
if (!exists) {
|
|
147
|
+
emit("update:modelValue", [...currentValue, result]);
|
|
148
|
+
}
|
|
149
|
+
} else {
|
|
150
|
+
emit("update:modelValue", result);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
const getUserInfoLabel = (key) => {
|
|
154
|
+
const labels = {
|
|
155
|
+
userCode: "用户编号",
|
|
156
|
+
userName: "用户名称",
|
|
157
|
+
roleCode: "角色编号",
|
|
158
|
+
roleName: "角色名称",
|
|
159
|
+
orgCode: "机构编号",
|
|
160
|
+
orgName: "机构名称"
|
|
161
|
+
};
|
|
162
|
+
return labels[key] || key;
|
|
163
|
+
};
|
|
164
|
+
return (_ctx, _cache) => {
|
|
165
|
+
return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(inputComponent.value), {
|
|
166
|
+
modelValue: unifiedInputValue.value,
|
|
167
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unifiedInputValue.value = $event),
|
|
168
|
+
placeholder: __props.placeholder,
|
|
169
|
+
disabled: __props.disabled,
|
|
170
|
+
readonly: __props.readOnly,
|
|
171
|
+
trigger: __props.multiple ? "Space" : void 0,
|
|
172
|
+
"collapse-tags": "",
|
|
173
|
+
"collapse-tags-tooltip": "",
|
|
174
|
+
"max-collapse-tags": 1,
|
|
175
|
+
class: "value-selector-input",
|
|
176
|
+
size: __props.size
|
|
177
|
+
}, {
|
|
178
|
+
suffix: vue.withCtx(() => [
|
|
179
|
+
vue.createVNode(ValueSelectorPopover.default, {
|
|
180
|
+
"available-fields": availableFields.value,
|
|
181
|
+
disabled: __props.disabled,
|
|
182
|
+
onConfirm: handleConfirm
|
|
183
|
+
}, null, 8, ["available-fields", "disabled"])
|
|
184
|
+
]),
|
|
185
|
+
_: 1
|
|
186
|
+
}, 8, ["modelValue", "placeholder", "disabled", "readonly", "trigger", "size"]);
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
const ValueSelector = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e5b87efa"]]);
|
|
191
|
+
exports.default = ValueSelector;
|
|
@@ -18,7 +18,7 @@ const index$2 = require("../../../../node_modules/@element-plus/icons-vue/dist/i
|
|
|
18
18
|
const common = require("../../packages/utils/common.js");
|
|
19
19
|
const index$5 = require("../../packages/form/aside/index.js");
|
|
20
20
|
const index$6 = require("../../packages/table/aside/index.js");
|
|
21
|
-
const ValueSelector = require("../../components/ValueSelector.
|
|
21
|
+
const ValueSelector = require("../../components/ValueSelector.vue.js");
|
|
22
22
|
;/* empty css */
|
|
23
23
|
const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
|
|
24
24
|
const index = require("../../../../node_modules/element-plus/es/components/dialog/index.js");
|
|
@@ -16,7 +16,7 @@ require("../../../../node_modules/element-plus/theme-chalk/el-tooltip.css.js");
|
|
|
16
16
|
require("../../../../node_modules/element-plus/theme-chalk/el-date-picker.css.js");
|
|
17
17
|
const vue = require("vue");
|
|
18
18
|
const index = require("../../../../node_modules/@vueuse/core/dist/index.js");
|
|
19
|
-
const ValueSelector = require("../../components/ValueSelector.
|
|
19
|
+
const ValueSelector = require("../../components/ValueSelector.vue.js");
|
|
20
20
|
const index$1 = require("../../api/index.js");
|
|
21
21
|
const common = require("../utils/common.js");
|
|
22
22
|
const datasource = require("../utils/datasource.js");
|
|
@@ -32,7 +32,7 @@ require("../../../../node_modules/element-plus/theme-chalk/el-date-picker.css.js
|
|
|
32
32
|
;/* empty css */
|
|
33
33
|
;/* empty css */
|
|
34
34
|
const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
|
|
35
|
-
;/* empty css
|
|
35
|
+
;/* empty css */
|
|
36
36
|
require("../../axios/config.js");
|
|
37
37
|
require("../../../../_virtual/FileSaver.min.js");
|
|
38
38
|
require("../../../../_virtual/index.js");
|