@fecp/designer 5.5.64 → 5.5.65
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/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/useDialogDialog.mjs +1 -1
- 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/headerBtn.vue.mjs +1 -1
- package/es/designer.css +92 -20
- package/es/packages/mobile/index.mjs +2 -0
- package/es/packages/mobile/src/components/all.mjs +2 -0
- package/es/packages/mobile/src/components/base/card/Card.vue.mjs +2 -2
- package/es/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.mjs +18 -4
- package/es/packages/mobile/src/components/dataDisplay/table/Table.vue.mjs +21 -4
- package/es/packages/mobile/src/components/feedback/quickFilter/QuickFilter.vue.mjs +249 -0
- package/es/packages/mobile/src/components/feedback/quickFilter/index.mjs +10 -0
- package/es/packages/mobile/src/components/form/search/Search.vue.mjs +159 -15
- package/es/packages/vue/src/components/details/footer/Footer.vue.mjs +3 -2
- package/es/packages/vue/src/components/forms/cascader/Cascader.vue.mjs +1 -1
- 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/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/useDialogDialog.js +1 -1
- 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/headerBtn.vue.js +1 -1
- package/lib/designer.css +92 -20
- package/lib/packages/mobile/index.js +74 -72
- package/lib/packages/mobile/src/components/all.js +74 -72
- package/lib/packages/mobile/src/components/base/card/Card.vue.js +2 -2
- package/lib/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.js +17 -3
- package/lib/packages/mobile/src/components/dataDisplay/table/Table.vue.js +20 -3
- package/lib/packages/mobile/src/components/feedback/quickFilter/QuickFilter.vue.js +249 -0
- package/lib/packages/mobile/src/components/feedback/quickFilter/index.js +10 -0
- package/lib/packages/mobile/src/components/form/search/Search.vue.js +158 -14
- package/lib/packages/vue/src/components/details/footer/Footer.vue.js +3 -2
- package/lib/packages/vue/src/components/forms/cascader/Cascader.vue.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
/* empty css */
|
|
3
|
+
/* empty css */
|
|
4
|
+
/* empty css */
|
|
5
|
+
/* empty css */
|
|
6
|
+
/* empty css */
|
|
7
|
+
/* empty css */
|
|
8
|
+
/* empty css */
|
|
9
|
+
/* empty css */
|
|
10
|
+
/* empty css */
|
|
11
|
+
import { computed, ref, createBlock, createCommentVNode, unref, openBlock, withCtx, createElementBlock, Fragment, renderList, createElementVNode, normalizeClass, toDisplayString, createVNode, createTextVNode } from "vue";
|
|
12
|
+
/* empty css */
|
|
13
|
+
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
|
|
14
|
+
import { DropdownMenu } from "../../../../node_modules/vant/es/dropdown-menu/index.mjs";
|
|
15
|
+
import { DropdownItem } from "../../../../node_modules/vant/es/dropdown-item/index.mjs";
|
|
16
|
+
import { Button } from "../../../../node_modules/vant/es/button/index.mjs";
|
|
17
|
+
const _hoisted_1 = { class: "dropdown-title" };
|
|
18
|
+
const _hoisted_2 = {
|
|
19
|
+
key: 0,
|
|
20
|
+
class: "title-badge"
|
|
21
|
+
};
|
|
22
|
+
const _hoisted_3 = { class: "filter-container" };
|
|
23
|
+
const _hoisted_4 = { class: "tag-list" };
|
|
24
|
+
const _hoisted_5 = ["onClick"];
|
|
25
|
+
const _hoisted_6 = { class: "filter-footer" };
|
|
26
|
+
const _hoisted_7 = { class: "filter-container" };
|
|
27
|
+
const _hoisted_8 = { class: "group-title" };
|
|
28
|
+
const _hoisted_9 = { class: "tag-list" };
|
|
29
|
+
const _hoisted_10 = ["onClick"];
|
|
30
|
+
const _hoisted_11 = { class: "filter-footer" };
|
|
31
|
+
const _sfc_main = {
|
|
32
|
+
__name: "QuickFilter",
|
|
33
|
+
props: {
|
|
34
|
+
filterData: {
|
|
35
|
+
type: Array,
|
|
36
|
+
default: () => []
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
emits: ["change"],
|
|
40
|
+
setup(__props, { emit: __emit }) {
|
|
41
|
+
const props = __props;
|
|
42
|
+
const emit = __emit;
|
|
43
|
+
const filterDataComputed = computed(() => props.filterData);
|
|
44
|
+
const activeSelections = ref({});
|
|
45
|
+
const confirmedSelections = ref({});
|
|
46
|
+
const itemRefs = ref({});
|
|
47
|
+
const isOptionSelected = (fieldName, value) => {
|
|
48
|
+
var _a;
|
|
49
|
+
return ((_a = activeSelections.value[fieldName]) == null ? void 0 : _a.includes(value)) || false;
|
|
50
|
+
};
|
|
51
|
+
const getConfirmedCount = (fieldName) => {
|
|
52
|
+
var _a;
|
|
53
|
+
return ((_a = confirmedSelections.value[fieldName]) == null ? void 0 : _a.length) || 0;
|
|
54
|
+
};
|
|
55
|
+
const toggleOption = (fieldName, value) => {
|
|
56
|
+
if (!activeSelections.value[fieldName]) {
|
|
57
|
+
activeSelections.value[fieldName] = [];
|
|
58
|
+
}
|
|
59
|
+
const filter = filterDataComputed.value.find((f) => f.fieldName === fieldName);
|
|
60
|
+
const isMultiple = (filter == null ? void 0 : filter.dataType) === "multiple";
|
|
61
|
+
if (isMultiple) {
|
|
62
|
+
const idx = activeSelections.value[fieldName].indexOf(value);
|
|
63
|
+
if (idx > -1) {
|
|
64
|
+
activeSelections.value[fieldName].splice(idx, 1);
|
|
65
|
+
} else {
|
|
66
|
+
activeSelections.value[fieldName].push(value);
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
activeSelections.value[fieldName] = [value];
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const getSelectedLabel = (filter) => {
|
|
73
|
+
var _a;
|
|
74
|
+
const selected = (_a = confirmedSelections.value[filter.fieldName]) == null ? void 0 : _a[0];
|
|
75
|
+
if (selected) {
|
|
76
|
+
const option = filter.options.find((o) => o.value === selected);
|
|
77
|
+
return (option == null ? void 0 : option.label) || "";
|
|
78
|
+
}
|
|
79
|
+
return "";
|
|
80
|
+
};
|
|
81
|
+
const resetFilter = (fieldName) => {
|
|
82
|
+
activeSelections.value[fieldName] = [];
|
|
83
|
+
};
|
|
84
|
+
const confirmFilter = (fieldName) => {
|
|
85
|
+
var _a;
|
|
86
|
+
confirmedSelections.value[fieldName] = [
|
|
87
|
+
...activeSelections.value[fieldName] || []
|
|
88
|
+
];
|
|
89
|
+
(_a = itemRefs.value[fieldName]) == null ? void 0 : _a.toggle();
|
|
90
|
+
emitChange();
|
|
91
|
+
};
|
|
92
|
+
const allFilterRef = ref(null);
|
|
93
|
+
const resetAllFilters = () => {
|
|
94
|
+
filterDataComputed.value.forEach((filter) => {
|
|
95
|
+
activeSelections.value[filter.fieldName] = [];
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
const confirmAllFilters = () => {
|
|
99
|
+
var _a;
|
|
100
|
+
filterDataComputed.value.forEach((filter) => {
|
|
101
|
+
confirmedSelections.value[filter.fieldName] = [
|
|
102
|
+
...activeSelections.value[filter.fieldName] || []
|
|
103
|
+
];
|
|
104
|
+
});
|
|
105
|
+
(_a = allFilterRef.value) == null ? void 0 : _a.toggle();
|
|
106
|
+
emitChange();
|
|
107
|
+
};
|
|
108
|
+
const dropdownItemOpen = (fieldName) => {
|
|
109
|
+
activeSelections.value[fieldName] = [
|
|
110
|
+
...confirmedSelections.value[fieldName] || []
|
|
111
|
+
];
|
|
112
|
+
};
|
|
113
|
+
const emitChange = () => {
|
|
114
|
+
const result = [];
|
|
115
|
+
filterDataComputed.value.forEach((filter) => {
|
|
116
|
+
const values = confirmedSelections.value[filter.fieldName] || [];
|
|
117
|
+
if (values.length > 0) {
|
|
118
|
+
result.push({
|
|
119
|
+
fieldName: filter.fieldName,
|
|
120
|
+
label: filter.label,
|
|
121
|
+
dataType: filter.dataType,
|
|
122
|
+
values
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
emit("change", result);
|
|
127
|
+
};
|
|
128
|
+
return (_ctx, _cache) => {
|
|
129
|
+
const _component_van_button = Button;
|
|
130
|
+
const _component_van_dropdown_item = DropdownItem;
|
|
131
|
+
const _component_van_dropdown_menu = DropdownMenu;
|
|
132
|
+
return unref(filterDataComputed).length > 0 ? (openBlock(), createBlock(_component_van_dropdown_menu, {
|
|
133
|
+
key: 0,
|
|
134
|
+
"auto-locate": "",
|
|
135
|
+
class: "fec-quick-filter"
|
|
136
|
+
}, {
|
|
137
|
+
default: withCtx(() => [
|
|
138
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(filterDataComputed), (filter) => {
|
|
139
|
+
return openBlock(), createBlock(_component_van_dropdown_item, {
|
|
140
|
+
key: filter.fieldName,
|
|
141
|
+
ref_for: true,
|
|
142
|
+
ref: (el) => unref(itemRefs)[filter.fieldName] = el,
|
|
143
|
+
onOpen: ($event) => dropdownItemOpen(filter.fieldName)
|
|
144
|
+
}, {
|
|
145
|
+
title: withCtx(() => [
|
|
146
|
+
createElementVNode("span", _hoisted_1, [
|
|
147
|
+
createTextVNode(toDisplayString(filter.dataType === "select" ? getSelectedLabel(filter) || filter.label : filter.label) + " ", 1),
|
|
148
|
+
filter.dataType === "multiple" && getConfirmedCount(filter.fieldName) > 0 ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(getConfirmedCount(filter.fieldName)), 1)) : createCommentVNode("", true)
|
|
149
|
+
])
|
|
150
|
+
]),
|
|
151
|
+
default: withCtx(() => [
|
|
152
|
+
createElementVNode("div", _hoisted_3, [
|
|
153
|
+
createElementVNode("div", _hoisted_4, [
|
|
154
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(filter.options, (item) => {
|
|
155
|
+
return openBlock(), createElementBlock("div", {
|
|
156
|
+
key: item.id || item.value,
|
|
157
|
+
class: normalizeClass(["tag-item", { active: isOptionSelected(filter.fieldName, item.value) }]),
|
|
158
|
+
onClick: ($event) => toggleOption(filter.fieldName, item.value)
|
|
159
|
+
}, toDisplayString(item.label), 11, _hoisted_5);
|
|
160
|
+
}), 128))
|
|
161
|
+
]),
|
|
162
|
+
createElementVNode("div", _hoisted_6, [
|
|
163
|
+
createVNode(_component_van_button, {
|
|
164
|
+
size: "small",
|
|
165
|
+
onClick: ($event) => resetFilter(filter.fieldName)
|
|
166
|
+
}, {
|
|
167
|
+
default: withCtx(() => _cache[0] || (_cache[0] = [
|
|
168
|
+
createTextVNode("重置")
|
|
169
|
+
])),
|
|
170
|
+
_: 2
|
|
171
|
+
}, 1032, ["onClick"]),
|
|
172
|
+
createVNode(_component_van_button, {
|
|
173
|
+
type: "primary",
|
|
174
|
+
size: "small",
|
|
175
|
+
onClick: ($event) => confirmFilter(filter.fieldName)
|
|
176
|
+
}, {
|
|
177
|
+
default: withCtx(() => _cache[1] || (_cache[1] = [
|
|
178
|
+
createTextVNode("确定")
|
|
179
|
+
])),
|
|
180
|
+
_: 2
|
|
181
|
+
}, 1032, ["onClick"])
|
|
182
|
+
])
|
|
183
|
+
])
|
|
184
|
+
]),
|
|
185
|
+
_: 2
|
|
186
|
+
}, 1032, ["onOpen"]);
|
|
187
|
+
}), 128)),
|
|
188
|
+
unref(filterDataComputed).length > 0 ? (openBlock(), createBlock(_component_van_dropdown_item, {
|
|
189
|
+
key: 0,
|
|
190
|
+
ref_key: "allFilterRef",
|
|
191
|
+
ref: allFilterRef,
|
|
192
|
+
title: "全部筛选"
|
|
193
|
+
}, {
|
|
194
|
+
default: withCtx(() => [
|
|
195
|
+
createElementVNode("div", _hoisted_7, [
|
|
196
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(filterDataComputed), (filter) => {
|
|
197
|
+
return openBlock(), createElementBlock("div", {
|
|
198
|
+
key: filter.fieldName,
|
|
199
|
+
class: "filter-group"
|
|
200
|
+
}, [
|
|
201
|
+
createElementVNode("h3", _hoisted_8, toDisplayString(filter.label), 1),
|
|
202
|
+
createElementVNode("div", _hoisted_9, [
|
|
203
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(filter.options, (item) => {
|
|
204
|
+
return openBlock(), createElementBlock("div", {
|
|
205
|
+
key: item.id || item.value,
|
|
206
|
+
class: normalizeClass(["tag-item", {
|
|
207
|
+
active: isOptionSelected(filter.fieldName, item.value)
|
|
208
|
+
}]),
|
|
209
|
+
onClick: ($event) => toggleOption(filter.fieldName, item.value)
|
|
210
|
+
}, toDisplayString(item.label), 11, _hoisted_10);
|
|
211
|
+
}), 128))
|
|
212
|
+
])
|
|
213
|
+
]);
|
|
214
|
+
}), 128)),
|
|
215
|
+
createElementVNode("div", _hoisted_11, [
|
|
216
|
+
createVNode(_component_van_button, {
|
|
217
|
+
size: "small",
|
|
218
|
+
onClick: resetAllFilters
|
|
219
|
+
}, {
|
|
220
|
+
default: withCtx(() => _cache[2] || (_cache[2] = [
|
|
221
|
+
createTextVNode("重置")
|
|
222
|
+
])),
|
|
223
|
+
_: 1
|
|
224
|
+
}),
|
|
225
|
+
createVNode(_component_van_button, {
|
|
226
|
+
type: "primary",
|
|
227
|
+
size: "small",
|
|
228
|
+
onClick: confirmAllFilters
|
|
229
|
+
}, {
|
|
230
|
+
default: withCtx(() => _cache[3] || (_cache[3] = [
|
|
231
|
+
createTextVNode("确定")
|
|
232
|
+
])),
|
|
233
|
+
_: 1
|
|
234
|
+
})
|
|
235
|
+
])
|
|
236
|
+
])
|
|
237
|
+
]),
|
|
238
|
+
_: 1
|
|
239
|
+
}, 512)) : createCommentVNode("", true)
|
|
240
|
+
]),
|
|
241
|
+
_: 1
|
|
242
|
+
})) : createCommentVNode("", true);
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
const QuickFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-65884e09"]]);
|
|
247
|
+
export {
|
|
248
|
+
QuickFilter as default
|
|
249
|
+
};
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
/* empty css */
|
|
5
5
|
/* empty css */
|
|
6
6
|
/* empty css */
|
|
7
|
-
import { ref,
|
|
7
|
+
import { getCurrentInstance, ref, watch, createElementBlock, openBlock, Fragment, createVNode, withModifiers, unref, isRef, withCtx, createElementVNode } from "vue";
|
|
8
|
+
import { createDataSource } from "../../../utils/datasource.mjs";
|
|
9
|
+
import QuickFilter from "../../feedback/quickFilter/QuickFilter.vue.mjs";
|
|
8
10
|
import { Search } from "../../../../node_modules/vant/es/search/index.mjs";
|
|
9
11
|
const _sfc_main = {
|
|
10
12
|
__name: "Search",
|
|
@@ -12,29 +14,171 @@ const _sfc_main = {
|
|
|
12
14
|
placeholder: {
|
|
13
15
|
type: String,
|
|
14
16
|
default: ""
|
|
17
|
+
},
|
|
18
|
+
filterMode: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: "input"
|
|
21
|
+
},
|
|
22
|
+
dataSources: {
|
|
23
|
+
type: Array,
|
|
24
|
+
default: () => []
|
|
25
|
+
},
|
|
26
|
+
filterConfig: {
|
|
27
|
+
type: Array,
|
|
28
|
+
default: () => []
|
|
15
29
|
}
|
|
16
30
|
},
|
|
17
|
-
|
|
18
|
-
|
|
31
|
+
emits: ["filterChange"],
|
|
32
|
+
setup(__props, { emit: __emit }) {
|
|
33
|
+
const props = __props;
|
|
34
|
+
const emit = __emit;
|
|
35
|
+
const currentInstance = getCurrentInstance();
|
|
36
|
+
const ctx = currentInstance.proxy;
|
|
37
|
+
const searchData = ref("");
|
|
19
38
|
function onClickFilter() {
|
|
20
|
-
|
|
39
|
+
}
|
|
40
|
+
function onClickButton() {
|
|
41
|
+
onSearch(searchData.value);
|
|
21
42
|
}
|
|
22
43
|
function onSearch(val) {
|
|
23
44
|
}
|
|
24
|
-
function
|
|
25
|
-
|
|
45
|
+
function onQuickFilterChange(result) {
|
|
46
|
+
console.log("筛选数据:", result);
|
|
47
|
+
emit("filterChange", result);
|
|
26
48
|
}
|
|
49
|
+
const filterData = ref([]);
|
|
50
|
+
const loadFieldDataSources = async () => {
|
|
51
|
+
var _a, _b;
|
|
52
|
+
const optionsDatas = [];
|
|
53
|
+
const fields = props.filterConfig;
|
|
54
|
+
const fieldDataSources = /* @__PURE__ */ new Set();
|
|
55
|
+
const dictionaryKeys = /* @__PURE__ */ new Set();
|
|
56
|
+
const dataSourceOptions = ref({});
|
|
57
|
+
const dictionaryOptions = ref({});
|
|
58
|
+
for (const component of fields) {
|
|
59
|
+
const { optionSource, dataSourceValue, dictionaryValue } = component.optionConfig;
|
|
60
|
+
if (optionSource === "dataSource" && dataSourceValue) {
|
|
61
|
+
fieldDataSources.add(dataSourceValue);
|
|
62
|
+
} else if (optionSource === "dictionary" && dictionaryValue) {
|
|
63
|
+
dictionaryKeys.add(dictionaryValue);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
for (const dataSourceId of fieldDataSources) {
|
|
67
|
+
if (dataSourceOptions.value[dataSourceId]) continue;
|
|
68
|
+
try {
|
|
69
|
+
const dsManager = createDataSource({
|
|
70
|
+
http: ctx.$http,
|
|
71
|
+
dataSources: props.dataSources,
|
|
72
|
+
currentDataSourceId: dataSourceId
|
|
73
|
+
});
|
|
74
|
+
const data = await dsManager.fetch();
|
|
75
|
+
let options = [];
|
|
76
|
+
if (Array.isArray(data)) {
|
|
77
|
+
options = data;
|
|
78
|
+
} else if (typeof data === "object") {
|
|
79
|
+
options = Array.isArray(data.data) ? data.data : ((_a = data.data) == null ? void 0 : _a.records) || ((_b = data.data) == null ? void 0 : _b.list) || [];
|
|
80
|
+
}
|
|
81
|
+
dataSourceOptions.value[dataSourceId] = options;
|
|
82
|
+
dsManager.destroy();
|
|
83
|
+
} catch (error) {
|
|
84
|
+
console.error(`Failed to load data source ${dataSourceId}:`, error);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (dictionaryKeys.size > 0) {
|
|
88
|
+
try {
|
|
89
|
+
const keyName = Array.from(dictionaryKeys).join(",");
|
|
90
|
+
const response = await ctx.$http.postForm(
|
|
91
|
+
"/base-server/parm/sysParmDic/getDicListByKey",
|
|
92
|
+
{
|
|
93
|
+
keyName
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
const dictionaryData = response;
|
|
97
|
+
if (typeof dictionaryData === "object") {
|
|
98
|
+
Object.keys(dictionaryData).forEach((dictKey) => {
|
|
99
|
+
if (dictionaryKeys.has(dictKey)) {
|
|
100
|
+
const dictItems = dictionaryData[dictKey];
|
|
101
|
+
if (Array.isArray(dictItems)) {
|
|
102
|
+
dictionaryOptions.value[dictKey] = dictItems;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
} catch (error) {
|
|
108
|
+
console.error("Failed to load dictionary data:", error);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
fields.forEach((component) => {
|
|
112
|
+
if (!component.optionConfig) return;
|
|
113
|
+
let options = [];
|
|
114
|
+
const {
|
|
115
|
+
optionSource,
|
|
116
|
+
dataSourceValue,
|
|
117
|
+
dictionaryValue,
|
|
118
|
+
displayField,
|
|
119
|
+
valueField,
|
|
120
|
+
idField,
|
|
121
|
+
pidField
|
|
122
|
+
} = component.optionConfig;
|
|
123
|
+
if (optionSource === "dataSource" && dataSourceOptions.value[dataSourceValue]) {
|
|
124
|
+
const rawOptions = dataSourceOptions.value[dataSourceValue];
|
|
125
|
+
const labelField = displayField || "label";
|
|
126
|
+
const keyField = valueField || "value";
|
|
127
|
+
options = rawOptions.map((item) => ({
|
|
128
|
+
label: item[labelField],
|
|
129
|
+
value: item[keyField],
|
|
130
|
+
...item
|
|
131
|
+
}));
|
|
132
|
+
optionsDatas.push({ ...component, options });
|
|
133
|
+
} else if (optionSource === "dictionary" && dictionaryOptions.value[dictionaryValue]) {
|
|
134
|
+
const rawOptions = dictionaryOptions.value[dictionaryValue];
|
|
135
|
+
const labelField = "optName";
|
|
136
|
+
const keyField = "optCode";
|
|
137
|
+
options = rawOptions.map((item) => ({
|
|
138
|
+
label: item[labelField],
|
|
139
|
+
value: item[keyField]
|
|
140
|
+
}));
|
|
141
|
+
optionsDatas.push({ ...component, options });
|
|
142
|
+
} else if (optionSource === "custom") {
|
|
143
|
+
optionsDatas.push({
|
|
144
|
+
...component,
|
|
145
|
+
options: component.optionConfig.options || []
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
filterData.value = [...optionsDatas];
|
|
150
|
+
};
|
|
151
|
+
watch(
|
|
152
|
+
() => props.filterConfig.map((item) => ({
|
|
153
|
+
label: item.label
|
|
154
|
+
})),
|
|
155
|
+
() => {
|
|
156
|
+
loadFieldDataSources();
|
|
157
|
+
},
|
|
158
|
+
{ deep: true, immediate: true }
|
|
159
|
+
);
|
|
27
160
|
return (_ctx, _cache) => {
|
|
28
161
|
const _component_van_search = Search;
|
|
29
|
-
return openBlock(),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
162
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
163
|
+
createVNode(_component_van_search, {
|
|
164
|
+
modelValue: unref(searchData),
|
|
165
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(searchData) ? searchData.value = $event : null),
|
|
166
|
+
shape: "round",
|
|
167
|
+
placeholder: __props.placeholder,
|
|
168
|
+
"show-action": __props.filterMode == "input",
|
|
169
|
+
clearable: "",
|
|
170
|
+
onClickInput: _cache[1] || (_cache[1] = withModifiers(($event) => __props.filterMode == "router" && onClickFilter, ["stop"]))
|
|
171
|
+
}, {
|
|
172
|
+
action: withCtx(() => [
|
|
173
|
+
createElementVNode("div", { onClick: onClickButton }, "搜索")
|
|
174
|
+
]),
|
|
175
|
+
_: 1
|
|
176
|
+
}, 8, ["modelValue", "placeholder", "show-action"]),
|
|
177
|
+
createVNode(QuickFilter, {
|
|
178
|
+
"filter-data": unref(filterData),
|
|
179
|
+
onChange: onQuickFilterChange
|
|
180
|
+
}, null, 8, ["filter-data"])
|
|
181
|
+
], 64);
|
|
38
182
|
};
|
|
39
183
|
}
|
|
40
184
|
};
|
|
@@ -32,7 +32,8 @@ const _sfc_main = {
|
|
|
32
32
|
};
|
|
33
33
|
const showFooter = ref(true);
|
|
34
34
|
onMounted(() => {
|
|
35
|
-
|
|
35
|
+
var _a;
|
|
36
|
+
const layoutDom = (_a = formDetailsFooterRef.value) == null ? void 0 : _a.$el.closest(".fec-layout-row");
|
|
36
37
|
if (layoutDom && props.formMode == "query") {
|
|
37
38
|
showFooter.value = false;
|
|
38
39
|
}
|
|
@@ -73,7 +74,7 @@ const _sfc_main = {
|
|
|
73
74
|
};
|
|
74
75
|
}
|
|
75
76
|
};
|
|
76
|
-
const component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
77
|
+
const component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-deabd2d2"]]);
|
|
77
78
|
export {
|
|
78
79
|
component as default
|
|
79
80
|
};
|
|
@@ -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");
|
|
@@ -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
|
;/* empty css */
|
|
37
37
|
;/* empty css */
|
|
38
38
|
;/* 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.vue2.js");
|
|
4
4
|
const Vue = require("vue");
|
|
5
5
|
function useDialogDialog() {
|
|
6
6
|
const dialogDialogVisible = Vue.ref(false);
|
|
@@ -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.vue2.js");
|
|
4
4
|
const Vue = require("vue");
|
|
5
5
|
function useDialogGlobalDialog() {
|
|
6
6
|
const dialogGlobalDialogVisible = Vue.ref(false);
|
|
@@ -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 RiskSchemeSelector = require("../../../../components/RiskSchemeSelector.vue2.js");
|
|
9
|
-
const ValueSelector = require("../../../../components/ValueSelector.
|
|
9
|
+
const ValueSelector = require("../../../../components/ValueSelector.vue.js");
|
|
10
10
|
const ParamsConfig = require("../../../../components/ParamsConfig.vue2.js");
|
|
11
11
|
const index = require("../../../../../../node_modules/element-plus/es/components/form/index.js");
|
|
12
12
|
const index$1 = require("../../../../../../node_modules/element-plus/es/components/switch/index.js");
|
|
@@ -13,7 +13,7 @@ require("../../../../../node_modules/element-plus/es/index.js");
|
|
|
13
13
|
const Vue = require("vue");
|
|
14
14
|
const common = require("../../utils/common.js");
|
|
15
15
|
const eventBus = require("../../utils/eventBus.js");
|
|
16
|
-
const ValueSelector = require("../../../components/ValueSelector.
|
|
16
|
+
const ValueSelector = require("../../../components/ValueSelector.vue.js");
|
|
17
17
|
const index = require("../../../../../node_modules/element-plus/es/components/collapse/index.js");
|
|
18
18
|
const index$1 = require("../../../../../node_modules/element-plus/es/components/form/index.js");
|
|
19
19
|
const index$2 = require("../../../../../node_modules/element-plus/es/components/input/index.js");
|
|
@@ -19,7 +19,7 @@ require("../../../../../node_modules/element-plus/es/index.js");
|
|
|
19
19
|
const Vue = require("vue");
|
|
20
20
|
const common = require("../../utils/common.js");
|
|
21
21
|
require("../../utils/eventBus.js");
|
|
22
|
-
const ValueSelector = require("../../../components/ValueSelector.
|
|
22
|
+
const ValueSelector = require("../../../components/ValueSelector.vue.js");
|
|
23
23
|
const index = require("../../../api/index.js");
|
|
24
24
|
const ParamsConfig = require("../../../components/ParamsConfig.vue2.js");
|
|
25
25
|
;/* empty css */
|
|
@@ -14,7 +14,7 @@ const Vue = require("vue");
|
|
|
14
14
|
const common = require("../../utils/common.js");
|
|
15
15
|
const TemplateSelector = require("../../../components/TemplateSelector.vue2.js");
|
|
16
16
|
const eventBus = require("../../utils/eventBus.js");
|
|
17
|
-
const ValueSelector = require("../../../components/ValueSelector.
|
|
17
|
+
const ValueSelector = require("../../../components/ValueSelector.vue.js");
|
|
18
18
|
const ParamsConfig = require("../../../components/ParamsConfig.vue2.js");
|
|
19
19
|
const index = require("../../../../../node_modules/element-plus/es/components/collapse/index.js");
|
|
20
20
|
const index$1 = require("../../../../../node_modules/element-plus/es/components/form/index.js");
|
|
@@ -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");
|
|
@@ -16,7 +16,7 @@ require("../../../../node_modules/element-plus/es/index.js");
|
|
|
16
16
|
const Vue = require("vue");
|
|
17
17
|
const index$6 = require("../../../../node_modules/@element-plus/icons-vue/dist/index.js");
|
|
18
18
|
const common = require("../utils/common.js");
|
|
19
|
-
const ValueSelector = require("../../components/ValueSelector.
|
|
19
|
+
const ValueSelector = require("../../components/ValueSelector.vue.js");
|
|
20
20
|
const index = require("../../api/index.js");
|
|
21
21
|
;/* empty css */
|
|
22
22
|
const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
|