m-eleplus-crud 0.0.13 → 0.0.15
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/dist/index.full.js +3 -2
- package/dist/index.full.min.js +1 -1
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +1 -1
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +3 -2
- package/es/components/crud/src/crud.d.ts +7 -0
- package/es/components/table/src/table.d.ts +7 -0
- package/es/index.mjs +5 -5
- package/es/packages/components/barcode/index.mjs +2 -2
- package/es/packages/components/barcode/src/barcode.mjs +18 -53
- package/es/packages/components/barcode/src/barcode.mjs.map +1 -1
- package/es/packages/components/barcode/src/barcode2.mjs +53 -18
- package/es/packages/components/barcode/src/barcode2.mjs.map +1 -1
- package/es/packages/components/crud/src/crud.mjs.map +1 -1
- package/es/packages/components/dialog/index.mjs +2 -2
- package/es/packages/components/dialog/src/dialog.mjs +75 -116
- package/es/packages/components/dialog/src/dialog.mjs.map +1 -1
- package/es/packages/components/dialog/src/dialog2.mjs +116 -75
- package/es/packages/components/dialog/src/dialog2.mjs.map +1 -1
- package/es/packages/components/form/index.mjs +2 -2
- package/es/packages/components/form/src/form.mjs +25 -640
- package/es/packages/components/form/src/form.mjs.map +1 -1
- package/es/packages/components/form/src/form2.mjs +640 -25
- package/es/packages/components/form/src/form2.mjs.map +1 -1
- package/es/packages/components/index.mjs +5 -5
- package/es/packages/components/picture/index.mjs +2 -2
- package/es/packages/components/picture/src/picture.mjs +26 -19
- package/es/packages/components/picture/src/picture.mjs.map +1 -1
- package/es/packages/components/picture/src/picture2.mjs +19 -26
- package/es/packages/components/picture/src/picture2.mjs.map +1 -1
- package/es/packages/components/search/index.mjs +2 -2
- package/es/packages/components/search/src/search.mjs +25 -438
- package/es/packages/components/search/src/search.mjs.map +1 -1
- package/es/packages/components/search/src/search2.mjs +438 -25
- package/es/packages/components/search/src/search2.mjs.map +1 -1
- package/es/packages/components/table/src/table.mjs.map +1 -1
- package/es/packages/components/table/src/table2.mjs +3 -2
- package/es/packages/components/table/src/table2.mjs.map +1 -1
- package/lib/components/crud/src/crud.d.ts +7 -0
- package/lib/components/table/src/table.d.ts +7 -0
- package/lib/index.js +5 -5
- package/lib/packages/components/barcode/index.js +2 -2
- package/lib/packages/components/barcode/src/barcode.js +19 -57
- package/lib/packages/components/barcode/src/barcode.js.map +1 -1
- package/lib/packages/components/barcode/src/barcode2.js +57 -19
- package/lib/packages/components/barcode/src/barcode2.js.map +1 -1
- package/lib/packages/components/crud/src/crud.js.map +1 -1
- package/lib/packages/components/dialog/index.js +2 -2
- package/lib/packages/components/dialog/src/dialog.js +76 -116
- package/lib/packages/components/dialog/src/dialog.js.map +1 -1
- package/lib/packages/components/dialog/src/dialog2.js +116 -76
- package/lib/packages/components/dialog/src/dialog2.js.map +1 -1
- package/lib/packages/components/form/index.js +2 -2
- package/lib/packages/components/form/src/form.js +26 -640
- package/lib/packages/components/form/src/form.js.map +1 -1
- package/lib/packages/components/form/src/form2.js +640 -26
- package/lib/packages/components/form/src/form2.js.map +1 -1
- package/lib/packages/components/index.js +5 -5
- package/lib/packages/components/picture/index.js +2 -2
- package/lib/packages/components/picture/src/picture.js +26 -20
- package/lib/packages/components/picture/src/picture.js.map +1 -1
- package/lib/packages/components/picture/src/picture2.js +20 -26
- package/lib/packages/components/picture/src/picture2.js.map +1 -1
- package/lib/packages/components/search/index.js +2 -2
- package/lib/packages/components/search/src/search.js +26 -438
- package/lib/packages/components/search/src/search.js.map +1 -1
- package/lib/packages/components/search/src/search2.js +438 -26
- package/lib/packages/components/search/src/search2.js.map +1 -1
- package/lib/packages/components/table/src/table.js.map +1 -1
- package/lib/packages/components/table/src/table2.js +3 -2
- package/lib/packages/components/table/src/table2.js.map +1 -1
- package/package.json +1 -1
- package/web-types.json +1 -1
|
@@ -1,30 +1,443 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { defineComponent, useSlots, ref, watch, resolveComponent, openBlock, createElementBlock, createVNode, unref, withModifiers, withCtx, Fragment, renderList, createBlock, createCommentVNode, renderSlot, mergeProps, withKeys, createTextVNode, toDisplayString } from 'vue';
|
|
2
|
+
import { get, set, cloneDeep } from 'lodash-unified';
|
|
3
|
+
import { searchProps, searchEmits } from './search.mjs';
|
|
4
|
+
import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
|
|
5
|
+
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
6
|
+
import { useGlobalConfig } from '../../config-provider/src/hooks/use-global-config.mjs';
|
|
7
|
+
import { debugWarn } from '../../../utils/error.mjs';
|
|
4
8
|
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
const COMPONENT_NAME = "MSearch";
|
|
10
|
+
const __default__ = defineComponent({
|
|
11
|
+
name: COMPONENT_NAME
|
|
12
|
+
});
|
|
13
|
+
const _sfc_main = defineComponent({
|
|
14
|
+
...__default__,
|
|
15
|
+
props: searchProps,
|
|
16
|
+
emits: searchEmits,
|
|
17
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
18
|
+
const props = __props;
|
|
19
|
+
const emit = __emit;
|
|
20
|
+
const slots = useSlots();
|
|
21
|
+
const { t } = useLocale();
|
|
22
|
+
const INPUT_TYPES = ["input", "textarea", "number", "password"];
|
|
23
|
+
const SELECT_TYPES = ["select", "checkbox", "radio", "switch"];
|
|
24
|
+
const DATE_TYPES = [
|
|
25
|
+
"year",
|
|
26
|
+
"month",
|
|
27
|
+
"date",
|
|
28
|
+
"datetime",
|
|
29
|
+
"week",
|
|
30
|
+
"datetimerange",
|
|
31
|
+
"daterange",
|
|
32
|
+
"monthrange",
|
|
33
|
+
"yearrange",
|
|
34
|
+
"time",
|
|
35
|
+
"timerange"
|
|
36
|
+
];
|
|
37
|
+
const searchOption = ref({
|
|
38
|
+
searchBtnText: t("m.search.searchBtnText"),
|
|
39
|
+
resetBtnText: t("m.search.resetBtnText"),
|
|
40
|
+
searchBtnIcon: "Search",
|
|
41
|
+
resetBtnIcon: "Delete",
|
|
42
|
+
labelWidth: "80px",
|
|
43
|
+
colIndex: 3,
|
|
44
|
+
col: false,
|
|
45
|
+
column: []
|
|
46
|
+
});
|
|
47
|
+
const formRef = ref();
|
|
48
|
+
const globalConfig = useGlobalConfig();
|
|
49
|
+
const searchCol = ref(true);
|
|
50
|
+
const proxys = new Proxy(props.model, {
|
|
51
|
+
get(target, property) {
|
|
52
|
+
return get(target, property);
|
|
53
|
+
},
|
|
54
|
+
set(target, property, value) {
|
|
55
|
+
set(target, property, value);
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const initValue = () => {
|
|
60
|
+
var _a;
|
|
61
|
+
if (searchOption.value && searchOption.value.column) {
|
|
62
|
+
for (let i = 0; i < ((_a = searchOption.value.column) == null ? void 0 : _a.length); i++) {
|
|
63
|
+
const column = searchOption.value.column[i];
|
|
64
|
+
if (column.prop && proxys[column.prop] === void 0) {
|
|
65
|
+
if (column.value) {
|
|
66
|
+
proxys[column.prop] = column.value;
|
|
67
|
+
} else {
|
|
68
|
+
const ARR_TYPES = [
|
|
69
|
+
"checkbox",
|
|
70
|
+
"datetimerange",
|
|
71
|
+
"daterange",
|
|
72
|
+
"monthrange",
|
|
73
|
+
"yearrange",
|
|
74
|
+
"timerange"
|
|
75
|
+
];
|
|
76
|
+
if (column.type === "select" && column.multiple || ARR_TYPES.includes(column.type || "")) {
|
|
77
|
+
proxys[column.prop] = [];
|
|
78
|
+
} else {
|
|
79
|
+
proxys[column.prop] = "";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const getValueFormatByType = (type) => {
|
|
87
|
+
let format = "";
|
|
88
|
+
switch (type) {
|
|
89
|
+
case "yearrange":
|
|
90
|
+
case "year":
|
|
91
|
+
format = "YYYY";
|
|
92
|
+
break;
|
|
93
|
+
case "monthrange":
|
|
94
|
+
case "month":
|
|
95
|
+
format = "YYYY-MM";
|
|
96
|
+
break;
|
|
97
|
+
case "daterange":
|
|
98
|
+
case "week":
|
|
99
|
+
case "date":
|
|
100
|
+
format = "YYYY-MM-DD";
|
|
101
|
+
break;
|
|
102
|
+
case "datetimerange":
|
|
103
|
+
case "datetime":
|
|
104
|
+
format = "YYYY-MM-DD HH:mm:ss";
|
|
105
|
+
break;
|
|
106
|
+
case "time":
|
|
107
|
+
format = "HH:mm:ss";
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
return format;
|
|
111
|
+
};
|
|
112
|
+
const search = (page = 1) => {
|
|
113
|
+
var _a;
|
|
114
|
+
if (searchOption.value.column && searchOption.value.column.length) {
|
|
115
|
+
(_a = formRef.value) == null ? void 0 : _a.validate((valid) => {
|
|
116
|
+
if (valid) {
|
|
117
|
+
if (proxys.page) {
|
|
118
|
+
proxys.page = page;
|
|
119
|
+
}
|
|
120
|
+
emit("search", proxys);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
} else {
|
|
124
|
+
if (proxys.page) {
|
|
125
|
+
proxys.page = page;
|
|
126
|
+
}
|
|
127
|
+
emit("search", proxys);
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
const reset = () => {
|
|
131
|
+
var _a;
|
|
132
|
+
if (proxys.page) {
|
|
133
|
+
proxys.page = 1;
|
|
134
|
+
}
|
|
135
|
+
if (proxys.limit) {
|
|
136
|
+
proxys.limit = 10;
|
|
137
|
+
}
|
|
138
|
+
(_a = formRef.value) == null ? void 0 : _a.resetFields();
|
|
139
|
+
emit("reset");
|
|
140
|
+
};
|
|
141
|
+
const toggleCol = () => {
|
|
142
|
+
searchCol.value = !searchCol.value;
|
|
143
|
+
};
|
|
144
|
+
const getAllRemoteDics = () => {
|
|
145
|
+
var _a, _b, _c, _d;
|
|
146
|
+
const hasDicUrl = (_b = (_a = searchOption.value) == null ? void 0 : _a.column) == null ? void 0 : _b.some((column) => column.dicUrl);
|
|
147
|
+
if (hasDicUrl && !((_c = globalConfig.value) == null ? void 0 : _c.httpGet)) {
|
|
148
|
+
debugWarn("MSearch", "global config httpGet is null");
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const updateRemoteDic = (column) => {
|
|
152
|
+
return new Promise((resolve) => {
|
|
153
|
+
let isSuccess = false;
|
|
154
|
+
globalConfig.value.httpGet(column.dicUrl, column.dicQuery, column.dicHeaders).then((e) => {
|
|
155
|
+
const { list, label, value } = column.dicFormatter(e);
|
|
156
|
+
if (list && Array.isArray(list)) {
|
|
157
|
+
column["dicData"] = list.map((item) => {
|
|
158
|
+
const lastLabel = label.replace(/\{(\w+)\}/g, (match, key) => {
|
|
159
|
+
return item[key] || match;
|
|
160
|
+
});
|
|
161
|
+
return {
|
|
162
|
+
label: lastLabel,
|
|
163
|
+
value: item[value]
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
isSuccess = true;
|
|
167
|
+
}
|
|
168
|
+
}).finally(() => {
|
|
169
|
+
if (!isSuccess) {
|
|
170
|
+
column["dicData"] = [];
|
|
171
|
+
}
|
|
172
|
+
resolve(null);
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
};
|
|
176
|
+
for (let i = 0; i < (((_d = searchOption.value) == null ? void 0 : _d.column) || []).length; i++) {
|
|
177
|
+
const column = searchOption.value.column[i];
|
|
178
|
+
if (column.dicUrl) {
|
|
179
|
+
if (!column.dicFormatter) {
|
|
180
|
+
debugWarn("MSearch", "dicUrl and dicFormatter must be used together");
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
updateRemoteDic(column);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
const wrapSelectData = (arr) => {
|
|
188
|
+
if (!arr) {
|
|
189
|
+
return [];
|
|
190
|
+
}
|
|
191
|
+
return [{ label: "\u5168\u90E8", value: "" }, ...arr];
|
|
192
|
+
};
|
|
193
|
+
watch(
|
|
194
|
+
() => props.option,
|
|
195
|
+
(newVal) => {
|
|
196
|
+
if (newVal) {
|
|
197
|
+
searchOption.value = Object.assign({}, searchOption.value, newVal);
|
|
198
|
+
if (newVal.column) {
|
|
199
|
+
searchOption.value.column = cloneDeep(
|
|
200
|
+
newVal.column.filter(
|
|
201
|
+
(column) => !(props.permission[column.prop || ""] === false)
|
|
202
|
+
).sort((a, b) => (b.order || 0) - (a.order || 0))
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
getAllRemoteDics();
|
|
206
|
+
initValue();
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
immediate: true,
|
|
211
|
+
deep: true
|
|
212
|
+
}
|
|
213
|
+
);
|
|
214
|
+
__expose({
|
|
215
|
+
search,
|
|
216
|
+
reset
|
|
217
|
+
});
|
|
218
|
+
return (_ctx, _cache) => {
|
|
219
|
+
const _component_el_input = resolveComponent("el-input");
|
|
220
|
+
const _component_el_option = resolveComponent("el-option");
|
|
221
|
+
const _component_el_select = resolveComponent("el-select");
|
|
222
|
+
const _component_el_date_picker = resolveComponent("el-date-picker");
|
|
223
|
+
const _component_el_time_picker = resolveComponent("el-time-picker");
|
|
224
|
+
const _component_el_form_item = resolveComponent("el-form-item");
|
|
225
|
+
const _component_el_col = resolveComponent("el-col");
|
|
226
|
+
const _component_el_button = resolveComponent("el-button");
|
|
227
|
+
const _component_ArrowDown = resolveComponent("ArrowDown");
|
|
228
|
+
const _component_ArrowUp = resolveComponent("ArrowUp");
|
|
229
|
+
const _component_el_icon = resolveComponent("el-icon");
|
|
230
|
+
const _component_el_link = resolveComponent("el-link");
|
|
231
|
+
const _component_el_row = resolveComponent("el-row");
|
|
232
|
+
const _component_el_form = resolveComponent("el-form");
|
|
233
|
+
return searchOption.value.column && searchOption.value.column.length ? (openBlock(), createElementBlock("div", {
|
|
234
|
+
key: 0,
|
|
235
|
+
class: "m-search"
|
|
236
|
+
}, [
|
|
237
|
+
createVNode(_component_el_form, {
|
|
238
|
+
ref_key: "formRef",
|
|
239
|
+
ref: formRef,
|
|
240
|
+
inline: true,
|
|
241
|
+
model: unref(proxys),
|
|
242
|
+
size: _ctx.size || unref(globalConfig).size,
|
|
243
|
+
disabled: _ctx.loading,
|
|
244
|
+
"label-width": searchOption.value.labelWidth,
|
|
245
|
+
onSubmit: withModifiers(() => {
|
|
246
|
+
}, ["prevent"])
|
|
247
|
+
}, {
|
|
248
|
+
default: withCtx(() => [
|
|
249
|
+
createVNode(_component_el_row, { gutter: 0 }, {
|
|
250
|
+
default: withCtx(() => [
|
|
251
|
+
(openBlock(true), createElementBlock(
|
|
252
|
+
Fragment,
|
|
253
|
+
null,
|
|
254
|
+
renderList(searchOption.value.column, (column, columnIndex) => {
|
|
255
|
+
return openBlock(), createElementBlock(
|
|
256
|
+
Fragment,
|
|
257
|
+
{ key: columnIndex },
|
|
258
|
+
[
|
|
259
|
+
!searchOption.value.col || !searchCol.value || columnIndex < (searchOption.value.colIndex || 3) ? (openBlock(), createBlock(_component_el_col, {
|
|
260
|
+
key: 0,
|
|
261
|
+
span: column.span || 6
|
|
262
|
+
}, {
|
|
263
|
+
default: withCtx(() => [
|
|
264
|
+
createVNode(_component_el_form_item, {
|
|
265
|
+
style: { "width": "100%" },
|
|
266
|
+
"label-width": column.labelWidth || searchOption.value.labelWidth,
|
|
267
|
+
label: column.label + ":",
|
|
268
|
+
prop: column.prop,
|
|
269
|
+
rules: column.rules
|
|
270
|
+
}, {
|
|
271
|
+
default: withCtx(() => [
|
|
272
|
+
createCommentVNode("\u63D2\u69FD"),
|
|
273
|
+
unref(slots)[column.prop || ""] ? renderSlot(_ctx.$slots, column.prop, mergeProps({
|
|
274
|
+
key: 0,
|
|
275
|
+
ref_for: true
|
|
276
|
+
}, { size: _ctx.size || unref(globalConfig).size, loading: _ctx.loading })) : !column.type || INPUT_TYPES.includes(column.type) ? (openBlock(), createElementBlock(
|
|
277
|
+
Fragment,
|
|
278
|
+
{ key: 1 },
|
|
279
|
+
[
|
|
280
|
+
createCommentVNode(""),
|
|
281
|
+
createCommentVNode("\u8F93\u5165\u6846"),
|
|
282
|
+
createVNode(_component_el_input, {
|
|
283
|
+
modelValue: unref(proxys)[column.prop || ""],
|
|
284
|
+
"onUpdate:modelValue": ($event) => unref(proxys)[column.prop || ""] = $event,
|
|
285
|
+
modelModifiers: { trim: true },
|
|
286
|
+
placeholder: column.placeholder,
|
|
287
|
+
style: { "width": "100%" },
|
|
288
|
+
type: "text",
|
|
289
|
+
onKeyup: withKeys(($event) => search(1), ["enter"])
|
|
290
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "placeholder", "onKeyup"])
|
|
291
|
+
],
|
|
292
|
+
64
|
|
293
|
+
)) : SELECT_TYPES.includes(column.type) ? (openBlock(), createElementBlock(
|
|
294
|
+
Fragment,
|
|
295
|
+
{ key: 2 },
|
|
296
|
+
[
|
|
297
|
+
createCommentVNode(""),
|
|
298
|
+
createCommentVNode("\u5355\u9009/\u591A\u9009"),
|
|
299
|
+
createVNode(_component_el_select, {
|
|
300
|
+
modelValue: unref(proxys)[column.prop || ""],
|
|
301
|
+
"onUpdate:modelValue": ($event) => unref(proxys)[column.prop || ""] = $event,
|
|
302
|
+
style: { "width": "100%" },
|
|
303
|
+
placeholder: column.placeholder,
|
|
304
|
+
multiple: column.multiple || column.type === "checkbox",
|
|
305
|
+
clearable: column.clearable === void 0 ? true : column.clearable,
|
|
306
|
+
"empty-values": [null, void 0]
|
|
307
|
+
}, {
|
|
308
|
+
default: withCtx(() => [
|
|
309
|
+
(openBlock(true), createElementBlock(
|
|
310
|
+
Fragment,
|
|
311
|
+
null,
|
|
312
|
+
renderList(wrapSelectData(column.dicData), (dicItem, dicIndex) => {
|
|
313
|
+
return openBlock(), createBlock(_component_el_option, {
|
|
314
|
+
key: dicIndex,
|
|
315
|
+
label: dicItem.label,
|
|
316
|
+
value: dicItem.value
|
|
317
|
+
}, null, 8, ["label", "value"]);
|
|
318
|
+
}),
|
|
319
|
+
128
|
|
320
|
+
))
|
|
321
|
+
]),
|
|
322
|
+
_: 2
|
|
323
|
+
}, 1032, ["modelValue", "onUpdate:modelValue", "placeholder", "multiple", "clearable"])
|
|
324
|
+
],
|
|
325
|
+
64
|
|
326
|
+
)) : DATE_TYPES.includes(column.type) ? (openBlock(), createElementBlock(
|
|
327
|
+
Fragment,
|
|
328
|
+
{ key: 3 },
|
|
329
|
+
[
|
|
330
|
+
createCommentVNode(""),
|
|
331
|
+
createCommentVNode("\u65F6\u95F4\u9009\u62E9"),
|
|
332
|
+
column.type !== "time" && column.type !== "timerange" ? (openBlock(), createBlock(_component_el_date_picker, {
|
|
333
|
+
key: 0,
|
|
334
|
+
modelValue: unref(proxys)[column.prop || ""],
|
|
335
|
+
"onUpdate:modelValue": ($event) => unref(proxys)[column.prop || ""] = $event,
|
|
336
|
+
type: column.type,
|
|
337
|
+
clearable: column.clearable,
|
|
338
|
+
"start-placeholder": column.startPlaceholder,
|
|
339
|
+
"end-placeholder": column.endPlaceholder,
|
|
340
|
+
format: column.format,
|
|
341
|
+
"value-format": column.valueFormat || getValueFormatByType(column.type)
|
|
342
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "type", "clearable", "start-placeholder", "end-placeholder", "format", "value-format"])) : (openBlock(), createBlock(_component_el_time_picker, {
|
|
343
|
+
key: 1,
|
|
344
|
+
modelValue: unref(proxys)[column.prop || ""],
|
|
345
|
+
"onUpdate:modelValue": ($event) => unref(proxys)[column.prop || ""] = $event,
|
|
346
|
+
"is-range": column.type === "timerange",
|
|
347
|
+
clearable: column.clearable,
|
|
348
|
+
"start-placeholder": column.startPlaceholder,
|
|
349
|
+
"end-placeholder": column.endPlaceholder,
|
|
350
|
+
"value-format": column.valueFormat || getValueFormatByType(column.type)
|
|
351
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "is-range", "clearable", "start-placeholder", "end-placeholder", "value-format"]))
|
|
352
|
+
],
|
|
353
|
+
64
|
|
354
|
+
)) : createCommentVNode("v-if", true)
|
|
355
|
+
]),
|
|
356
|
+
_: 2
|
|
357
|
+
}, 1032, ["label-width", "label", "prop", "rules"])
|
|
358
|
+
]),
|
|
359
|
+
_: 2
|
|
360
|
+
}, 1032, ["span"])) : createCommentVNode("v-if", true)
|
|
361
|
+
],
|
|
362
|
+
64
|
|
363
|
+
);
|
|
364
|
+
}),
|
|
365
|
+
128
|
|
366
|
+
)),
|
|
367
|
+
createVNode(_component_el_col, { span: 6 }, {
|
|
368
|
+
default: withCtx(() => [
|
|
369
|
+
createVNode(_component_el_form_item, {
|
|
370
|
+
class: "m-search-btns",
|
|
371
|
+
style: { "width": "100%" }
|
|
372
|
+
}, {
|
|
373
|
+
default: withCtx(() => [
|
|
374
|
+
createVNode(_component_el_button, {
|
|
375
|
+
type: "primary",
|
|
376
|
+
icon: searchOption.value.searchBtnIcon,
|
|
377
|
+
loading: _ctx.loading,
|
|
378
|
+
onClick: ($event) => search(1)
|
|
379
|
+
}, {
|
|
380
|
+
default: withCtx(() => [
|
|
381
|
+
createTextVNode(
|
|
382
|
+
toDisplayString(searchOption.value.searchBtnText),
|
|
383
|
+
1
|
|
384
|
+
)
|
|
385
|
+
]),
|
|
386
|
+
_: 1
|
|
387
|
+
}, 8, ["icon", "loading", "onClick"]),
|
|
388
|
+
createVNode(_component_el_button, {
|
|
389
|
+
type: "default",
|
|
390
|
+
icon: searchOption.value.resetBtnIcon,
|
|
391
|
+
loading: _ctx.loading,
|
|
392
|
+
onClick: reset
|
|
393
|
+
}, {
|
|
394
|
+
default: withCtx(() => [
|
|
395
|
+
createTextVNode(
|
|
396
|
+
toDisplayString(searchOption.value.resetBtnText),
|
|
397
|
+
1
|
|
398
|
+
)
|
|
399
|
+
]),
|
|
400
|
+
_: 1
|
|
401
|
+
}, 8, ["icon", "loading"]),
|
|
402
|
+
searchOption.value.col ? (openBlock(), createBlock(_component_el_link, {
|
|
403
|
+
key: 0,
|
|
404
|
+
style: { "width": "54px", "margin-left": "12px" },
|
|
405
|
+
underline: "never",
|
|
406
|
+
disabled: _ctx.loading,
|
|
407
|
+
type: "default",
|
|
408
|
+
onClick: toggleCol
|
|
409
|
+
}, {
|
|
410
|
+
default: withCtx(() => [
|
|
411
|
+
createVNode(_component_el_icon, { style: { "margin-right": "6px" } }, {
|
|
412
|
+
default: withCtx(() => [
|
|
413
|
+
searchCol.value ? (openBlock(), createBlock(_component_ArrowDown, { key: 0 })) : (openBlock(), createBlock(_component_ArrowUp, { key: 1 }))
|
|
414
|
+
]),
|
|
415
|
+
_: 1
|
|
416
|
+
}),
|
|
417
|
+
createTextVNode(
|
|
418
|
+
" " + toDisplayString(searchCol.value ? unref(t)("m.search.expandBtn") : unref(t)("m.search.colBtn")),
|
|
419
|
+
1
|
|
420
|
+
)
|
|
421
|
+
]),
|
|
422
|
+
_: 1
|
|
423
|
+
}, 8, ["disabled"])) : createCommentVNode("v-if", true)
|
|
424
|
+
]),
|
|
425
|
+
_: 1
|
|
426
|
+
})
|
|
427
|
+
]),
|
|
428
|
+
_: 1
|
|
429
|
+
})
|
|
430
|
+
]),
|
|
431
|
+
_: 3
|
|
432
|
+
})
|
|
433
|
+
]),
|
|
434
|
+
_: 3
|
|
435
|
+
}, 8, ["model", "size", "disabled", "label-width", "onSubmit"])
|
|
436
|
+
])) : createCommentVNode("v-if", true);
|
|
437
|
+
};
|
|
22
438
|
}
|
|
23
439
|
});
|
|
24
|
-
|
|
25
|
-
search: (model) => isObject(model),
|
|
26
|
-
reset: () => true
|
|
27
|
-
};
|
|
440
|
+
var Search = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "search.vue"]]);
|
|
28
441
|
|
|
29
|
-
export {
|
|
442
|
+
export { Search as default };
|
|
30
443
|
//# sourceMappingURL=search2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search2.mjs","sources":["../../../../../../../packages/components/search/src/search.ts"],"sourcesContent":["import { ICommonColumn } from '@m-eleplus-crud/components/common'\r\nimport { useSizeProp } from '@m-eleplus-crud/hooks'\r\nimport { buildProps, definePropType, isObject } from '@m-eleplus-crud/utils'\r\n\r\nimport { ColumnType } from '../../common'\r\nimport type { ExtractPropTypes } from 'vue'\r\nimport type { FormItemRule } from 'element-plus'\r\n\r\n/**\r\n * @description 公开的search column配置\r\n */\r\nexport interface ISearchCommonColumn {\r\n /**\r\n * @description label宽度\r\n */\r\n labelWidth?: string\r\n /**\r\n * @description 搜索排序\r\n */\r\n order?: number\r\n /**\r\n * @description 搜索校验规则\r\n */\r\n rules?: FormItemRule[]\r\n /**\r\n * @description 栅栏宽度\r\n */\r\n span?: number\r\n /**\r\n * @description 最大长度\r\n */\r\n maxlength?: number\r\n /**\r\n * @description 搜索默认值\r\n */\r\n value?: any\r\n /**\r\n * @description 输入框占位文本\r\n */\r\n placeholder?: string\r\n /**\r\n * @description 可清除\r\n */\r\n clearable?: boolean\r\n}\r\n\r\n/**\r\n * @description 搜索列配置\r\n */\r\nexport interface ISearchColumn extends ICommonColumn, ISearchCommonColumn {\r\n /**\r\n * @description 类型\r\n */\r\n type?: ColumnType\r\n}\r\n\r\n/**\r\n * @description 公开的search配置\r\n */\r\nexport interface ISearchCommonOption {\r\n /**\r\n * @description 搜索按钮文本\r\n */\r\n searchBtnText?: string\r\n /**\r\n * @description 重置按钮文本\r\n */\r\n resetBtnText?: string\r\n /**\r\n * @description 搜索按钮icon\r\n */\r\n searchBtnIcon?: string\r\n /**\r\n * @description 重置按钮icon\r\n */\r\n resetBtnIcon?: string\r\n /**\r\n * @description label宽度\r\n */\r\n labelWidth?: string\r\n /**\r\n * @description 收缩展示个数\r\n */\r\n colIndex?: number\r\n /**\r\n * @description 是否开启收缩\r\n */\r\n col?: boolean\r\n}\r\n\r\n/**\r\n * @description 搜索信息配置\r\n */\r\nexport interface ISearchOption extends ISearchCommonOption {\r\n /**\r\n * @description 搜索列配置\r\n */\r\n column: ISearchColumn[]\r\n}\r\n\r\nexport const searchProps = buildProps({\r\n /**\r\n * @description 尺寸大小\r\n */\r\n size: useSizeProp,\r\n /**\r\n * @description 查询加载状态\r\n */\r\n loading: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n /**\r\n * @description 搜索权限配置\r\n */\r\n permission: {\r\n type: Object,\r\n default: {},\r\n },\r\n /**\r\n * @description 搜索表单数据\r\n */\r\n model: {\r\n type: Object,\r\n required: true,\r\n },\r\n /**\r\n * @description 搜索配置\r\n */\r\n option: {\r\n type: definePropType<ISearchOption>(Object),\r\n required: false,\r\n },\r\n} as const)\r\nexport type SearchProps = ExtractPropTypes<typeof searchProps>\r\n\r\nexport const searchEmits = {\r\n /**\r\n * 搜索\r\n * @param model 搜索表单数据\r\n * @returns\r\n */\r\n search: (model: any) => isObject(model),\r\n /**\r\n * 重置\r\n * @returns\r\n */\r\n reset: () => true,\r\n}\r\nexport type SearchEmits = typeof searchEmits\r\n"],"names":[],"mappings":";;;;AAoGO,MAAM,cAAc,UAAW,CAAA;AAAA,EAIpC,IAAM,EAAA,WAAA;AAAA,EAIN,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,EAAC;AAAA,GACZ;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,eAA8B,MAAM,CAAA;AAAA,IAC1C,QAAU,EAAA,KAAA;AAAA,GACZ;AACF,CAAU,EAAA;AAGH,MAAM,WAAc,GAAA;AAAA,EAMzB,MAAQ,EAAA,CAAC,KAAe,KAAA,QAAA,CAAS,KAAK,CAAA;AAAA,EAKtC,OAAO,MAAM,IAAA;AACf;;;;"}
|
|
1
|
+
{"version":3,"file":"search2.mjs","sources":["../../../../../../../packages/components/search/src/search.vue"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport { ref, useSlots, watch } from 'vue'\r\nimport { cloneDeep, get, set } from 'lodash-unified'\r\nimport { useLocale } from '@m-eleplus-crud/hooks'\r\nimport { useGlobalConfig } from '@m-eleplus-crud/components'\r\nimport { debugWarn } from '@m-eleplus-crud/utils'\r\nimport { searchEmits, searchProps } from './search'\r\nimport type { ISearchColumn, ISearchOption } from './search'\r\n\r\nimport type { FormInstance } from 'element-plus'\r\n\r\nconst COMPONENT_NAME = 'MSearch'\r\ndefineOptions({\r\n name: COMPONENT_NAME,\r\n})\r\n\r\nconst props = defineProps(searchProps)\r\nconst emit = defineEmits(searchEmits)\r\n\r\n// 插槽信息\r\nconst slots = useSlots() as any\r\n\r\n// 国际化\r\nconst { t } = useLocale()\r\n\r\n// 输入框类型\r\nconst INPUT_TYPES = ['input', 'textarea', 'number', 'password']\r\n\r\n// 下拉选择类型\r\nconst SELECT_TYPES = ['select', 'checkbox', 'radio', 'switch']\r\n\r\n// 时间选择类型\r\nconst DATE_TYPES = [\r\n 'year',\r\n 'month',\r\n 'date',\r\n 'datetime',\r\n 'week',\r\n 'datetimerange',\r\n 'daterange',\r\n 'monthrange',\r\n 'yearrange',\r\n 'time',\r\n 'timerange',\r\n]\r\n\r\nconst searchOption = ref<ISearchOption>({\r\n searchBtnText: t('m.search.searchBtnText'),\r\n resetBtnText: t('m.search.resetBtnText'),\r\n // 搜索按钮默认Search图标\r\n searchBtnIcon: 'Search',\r\n // 重置按钮默认Delete图标\r\n resetBtnIcon: 'Delete',\r\n // 默认label宽度80px\r\n labelWidth: '80px',\r\n // 默认展示3个\r\n colIndex: 3,\r\n // 默认不折叠\r\n col: false,\r\n // 搜索列配置\r\n column: [],\r\n})\r\n\r\n// 表单ref\r\nconst formRef = ref<FormInstance>()\r\n\r\n// 全局配置\r\nconst globalConfig = useGlobalConfig()\r\n\r\n// 搜索选项折叠\r\nconst searchCol = ref(true)\r\n\r\n// 代理model\r\nconst proxys: any = new Proxy(props.model as any, {\r\n get(target, property) {\r\n return get(target, property)\r\n },\r\n set(target, property, value) {\r\n set(target, property, value)\r\n return true\r\n },\r\n})\r\n\r\n/**\r\n * 初始化搜索表单的值\r\n */\r\nconst initValue = () => {\r\n // 初始化搜索表单的值\r\n if (searchOption.value && searchOption.value.column) {\r\n for (let i = 0; i < searchOption.value.column?.length; i++) {\r\n const column = searchOption.value.column[i]\r\n if (column.prop && proxys[column.prop] === undefined) {\r\n if (column.value) {\r\n proxys[column.prop] = column.value\r\n } else {\r\n const ARR_TYPES = [\r\n 'checkbox',\r\n 'datetimerange',\r\n 'daterange',\r\n 'monthrange',\r\n 'yearrange',\r\n 'timerange',\r\n ]\r\n if (\r\n (column.type === 'select' && column.multiple) ||\r\n ARR_TYPES.includes(column.type || '')\r\n ) {\r\n proxys[column.prop] = []\r\n } else {\r\n proxys[column.prop] = ''\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 根据类型获取默认时间格式\r\n * @param type 类型\r\n */\r\nconst getValueFormatByType = (type: string) => {\r\n let format = ''\r\n switch (type) {\r\n case 'yearrange':\r\n case 'year':\r\n format = 'YYYY'\r\n break\r\n case 'monthrange':\r\n case 'month':\r\n format = 'YYYY-MM'\r\n break\r\n case 'daterange':\r\n case 'week':\r\n case 'date':\r\n format = 'YYYY-MM-DD'\r\n break\r\n case 'datetimerange':\r\n case 'datetime':\r\n format = 'YYYY-MM-DD HH:mm:ss'\r\n break\r\n case 'time':\r\n format = 'HH:mm:ss'\r\n break\r\n }\r\n return format\r\n}\r\n\r\n/**\r\n * 查询搜索触发\r\n * @param page 第一页\r\n */\r\nconst search = (page = 1) => {\r\n if (searchOption.value.column && searchOption.value.column.length) {\r\n formRef.value?.validate((valid) => {\r\n if (valid) {\r\n // 搜索从第一页开始搜索,也支持传入页码\r\n if (proxys.page) {\r\n proxys.page = page\r\n }\r\n // emit搜索事件 如果非第一页,自动重置第一页\r\n emit('search', proxys)\r\n }\r\n })\r\n } else {\r\n // 搜索从第一页开始搜索,也支持传入页码\r\n if (proxys.page) {\r\n proxys.page = page\r\n }\r\n // emit搜索事件 如果非第一页,自动重置第一页\r\n emit('search', proxys)\r\n }\r\n}\r\n\r\n/**\r\n * 重置搜索\r\n */\r\nconst reset = () => {\r\n // 重置分页参数\r\n if (proxys.page) {\r\n proxys.page = 1\r\n }\r\n if (proxys.limit) {\r\n proxys.limit = 10\r\n }\r\n // 清空搜索表单的字段\r\n formRef.value?.resetFields()\r\n // emit重置事件\r\n emit('reset')\r\n}\r\n\r\n/**\r\n * 展开/折叠搜索\r\n */\r\nconst toggleCol = () => {\r\n searchCol.value = !searchCol.value\r\n}\r\n\r\n/**\r\n * 处理需要远程获取字典的配置\r\n */\r\nconst getAllRemoteDics = () => {\r\n const hasDicUrl = searchOption.value?.column?.some((column) => column.dicUrl)\r\n if (hasDicUrl && !globalConfig.value?.httpGet) {\r\n debugWarn('MSearch', 'global config httpGet is null')\r\n return\r\n }\r\n /**\r\n * 调用接口设置到dicData\r\n * @param column 列配置\r\n */\r\n const updateRemoteDic = (column: ISearchColumn) => {\r\n return new Promise((resolve) => {\r\n let isSuccess = false\r\n // @ts-ignore\r\n globalConfig.value\r\n .httpGet(column.dicUrl, column.dicQuery, column.dicHeaders)\r\n .then((e: any) => {\r\n // @ts-ignore\r\n const { list, label, value } = column.dicFormatter(e)\r\n if (list && Array.isArray(list)) {\r\n column['dicData'] = list.map((item) => {\r\n const lastLabel = label.replace(/\\{(\\w+)\\}/g, (match, key) => {\r\n return item[key] || match\r\n })\r\n return {\r\n label: lastLabel,\r\n value: item[value],\r\n }\r\n })\r\n isSuccess = true\r\n }\r\n })\r\n .finally(() => {\r\n if (!isSuccess) {\r\n column['dicData'] = []\r\n }\r\n resolve(null)\r\n })\r\n })\r\n }\r\n for (let i = 0; i < (searchOption.value?.column || []).length; i++) {\r\n // @ts-ignore\r\n const column = searchOption.value.column[i]\r\n if (column.dicUrl) {\r\n if (!column.dicFormatter) {\r\n debugWarn('MSearch', 'dicUrl and dicFormatter must be used together')\r\n continue\r\n }\r\n updateRemoteDic(column)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 包裹处理下拉框组件数据\r\n * @param arr 下拉框数据\r\n */\r\nconst wrapSelectData = (arr: any) => {\r\n if (!arr) {\r\n return []\r\n }\r\n return [{ label: '全部', value: '' }, ...arr]\r\n}\r\n\r\n\r\n/**\r\n * @description 监听搜索列的变化\r\n */\r\nwatch(\r\n () => props.option as ISearchOption,\r\n (newVal: ISearchOption) => {\r\n if (newVal) {\r\n searchOption.value = Object.assign({}, searchOption.value, newVal)\r\n if (newVal.column) {\r\n searchOption.value.column = cloneDeep(\r\n newVal.column\r\n .filter(\r\n (column) => !(props.permission[column.prop || ''] === false)\r\n )\r\n .sort((a, b) => (b.order || 0) - (a.order || 0))\r\n )\r\n }\r\n // 处理远程字典的配置\r\n getAllRemoteDics()\r\n // 初始化搜索表单的值\r\n initValue()\r\n }\r\n },\r\n {\r\n immediate: true,\r\n deep: true,\r\n }\r\n)\r\n\r\ndefineExpose({\r\n /**\r\n * @description 搜索方法\r\n */\r\n search,\r\n /**\r\n * @description 重置方法\r\n */\r\n reset,\r\n})\r\n</script>\r\n\r\n<template>\r\n <div\r\n v-if=\"searchOption.column && searchOption.column.length\"\r\n class=\"m-search\"\r\n >\r\n <el-form\r\n ref=\"formRef\"\r\n :inline=\"true\"\r\n :model=\"proxys\"\r\n :size=\"size || globalConfig.size\"\r\n :disabled=\"loading\"\r\n :label-width=\"searchOption.labelWidth\"\r\n @submit.prevent\r\n >\r\n <el-row :gutter=\"0\">\r\n <template\r\n v-for=\"(column, columnIndex) in searchOption.column\"\r\n :key=\"columnIndex\"\r\n >\r\n <el-col\r\n v-if=\"\r\n !searchOption.col ||\r\n !searchCol ||\r\n columnIndex < (searchOption.colIndex || 3)\r\n \"\r\n :span=\"column.span || 6\"\r\n >\r\n <el-form-item\r\n style=\"width: 100%\"\r\n :label-width=\"column.labelWidth || searchOption.labelWidth\"\r\n :label=\"column.label + ':'\"\r\n :prop=\"column.prop\"\r\n :rules=\"column.rules\"\r\n >\r\n <!--插槽-->\r\n <slot\r\n v-if=\"slots[column.prop || '']\"\r\n :name=\"column.prop\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n <!--输入框-->\r\n <template\r\n v-else-if=\"!column.type || INPUT_TYPES.includes(column.type)\"\r\n >\r\n <el-input\r\n v-model.trim=\"proxys[column.prop || '']\"\r\n :placeholder=\"column.placeholder\"\r\n style=\"width: 100%\"\r\n type=\"text\"\r\n @keyup.enter=\"search(1)\"\r\n />\r\n </template>\r\n <!---->\r\n <!--单选/多选-->\r\n <template\r\n v-else-if=\"SELECT_TYPES.includes(column.type as string)\"\r\n >\r\n <el-select\r\n v-model=\"proxys[column.prop || '']\"\r\n style=\"width: 100%\"\r\n :placeholder=\"column.placeholder\"\r\n :multiple=\"column.multiple || column.type === 'checkbox'\"\r\n :clearable=\"column.clearable === undefined ? true : column.clearable\"\r\n :empty-values=\"[null, undefined]\"\r\n >\r\n <el-option\r\n v-for=\"(dicItem, dicIndex) in wrapSelectData(column.dicData)\"\r\n :key=\"dicIndex\"\r\n :label=\"dicItem.label\"\r\n :value=\"dicItem.value\"\r\n />\r\n </el-select>\r\n </template>\r\n <!---->\r\n <!--时间选择-->\r\n <template v-else-if=\"DATE_TYPES.includes(column.type as string)\">\r\n <el-date-picker\r\n v-if=\"column.type !== 'time' && column.type !== 'timerange'\"\r\n v-model=\"proxys[column.prop || '']\"\r\n :type=\"column.type\"\r\n :clearable=\"column.clearable\"\r\n :start-placeholder=\"column.startPlaceholder\"\r\n :end-placeholder=\"column.endPlaceholder\"\r\n :format=\"column.format\"\r\n :value-format=\"\r\n column.valueFormat || getValueFormatByType(column.type)\r\n \"\r\n />\r\n <el-time-picker\r\n v-else\r\n v-model=\"proxys[column.prop || '']\"\r\n :is-range=\"column.type === 'timerange'\"\r\n :clearable=\"column.clearable\"\r\n :start-placeholder=\"column.startPlaceholder\"\r\n :end-placeholder=\"column.endPlaceholder\"\r\n :value-format=\"\r\n column.valueFormat || getValueFormatByType(column.type)\r\n \"\r\n />\r\n </template>\r\n </el-form-item>\r\n </el-col>\r\n </template>\r\n <el-col :span=\"6\">\r\n <el-form-item class=\"m-search-btns\" style=\"width: 100%\">\r\n <el-button\r\n type=\"primary\"\r\n :icon=\"searchOption.searchBtnIcon\"\r\n :loading=\"loading\"\r\n @click=\"search(1)\"\r\n >\r\n {{ searchOption.searchBtnText }}\r\n </el-button>\r\n <el-button\r\n type=\"default\"\r\n :icon=\"searchOption.resetBtnIcon\"\r\n :loading=\"loading\"\r\n @click=\"reset\"\r\n >\r\n {{ searchOption.resetBtnText }}\r\n </el-button>\r\n <el-link\r\n v-if=\"searchOption.col\"\r\n style=\"width: 54px; margin-left: 12px\"\r\n underline=\"never\"\r\n :disabled=\"loading\"\r\n type=\"default\"\r\n @click=\"toggleCol\"\r\n >\r\n <el-icon style=\"margin-right: 6px\">\r\n <ArrowDown v-if=\"searchCol\" />\r\n <ArrowUp v-else />\r\n </el-icon>\r\n {{ searchCol ? t('m.search.expandBtn') : t('m.search.colBtn') }}\r\n </el-link>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </div>\r\n</template>\r\n"],"names":["DO_defineComponent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.mjs","sources":["../../../../../../../packages/components/table/src/table.ts"],"sourcesContent":["import { buildProps, definePropType, isArray } from '@m-eleplus-crud/utils'\r\nimport { useSizeProp } from '@m-eleplus-crud/hooks'\r\n\r\nimport { ColumnType, ICommonColumn } from '../../common'\r\n\r\nimport type { ExtractPropTypes, VNode } from 'vue'\r\n\r\n/**\r\n * @description 公开的table column配置\r\n */\r\nexport interface ITableCommonColumn {\r\n /**\r\n * @description 对齐方式\r\n */\r\n align?: 'left' | 'center' | 'right'\r\n /**\r\n * @description 超出隐藏\r\n */\r\n overHidden?: boolean\r\n /**\r\n * @description 帮助信息文本\r\n */\r\n help?: string\r\n /**\r\n * @description 格式化内容\r\n * @param row 行数据\r\n * @param column 列信息\r\n * @param index 行索引\r\n * @returns\r\n */\r\n formatter?: (row: any, column: ITableColumn, index: number) => VNode | string\r\n /**\r\n * @description 列宽度\r\n */\r\n width?: number\r\n /**\r\n * @description 二维码宽度,默认70\r\n */\r\n qrcodeWidth?: number\r\n /**\r\n * @description 二维码高度,默认70\r\n */\r\n qrcodeHeight?: number\r\n /**\r\n * 一维码宽度,默认2\r\n */\r\n barcodeWith?: number\r\n /**\r\n * 一维码高度,默认50\r\n */\r\n barcodeHeight?: number\r\n}\r\n\r\nexport interface ITableColumn extends ICommonColumn, ITableCommonColumn {\r\n /**\r\n * @description 类型\r\n */\r\n type?: ColumnType | 'index' | 'single' | 'selection'\r\n}\r\n\r\n/**\r\n * @description 公开的table配置\r\n */\r\nexport interface ITableCommonOption {\r\n /**\r\n * @description 是否显示操作栏\r\n */\r\n menu?: boolean\r\n /**\r\n * @description 是否为斑马纹\r\n */\r\n stripe?: boolean\r\n /**\r\n * @description 是否带有纵向边框\r\n */\r\n border?: boolean\r\n /**\r\n * @description 操作栏宽度\r\n */\r\n menuWidth?: number\r\n /**\r\n * @description 操作栏列冻结列 ,true 表示固定在左侧\r\n */\r\n menuFixed?: true | 'left' | 'right'\r\n /**\r\n * @description 操作栏按钮的对齐方式\r\n */\r\n menuAlign?: 'left' | 'center' | 'right'\r\n /**\r\n * @description 操作栏标题名称\r\n */\r\n menuTitle?: string\r\n /**\r\n * @description 表格rowKey\r\n */\r\n rowKey?: string\r\n}\r\n\r\nexport interface ITableOption extends ITableCommonOption {\r\n /**\r\n * @description 列配置\r\n */\r\n column: ITableColumn[]\r\n}\r\n\r\nexport const tableProps = buildProps({\r\n /**\r\n * @description 表格尺寸\r\n */\r\n size: useSizeProp,\r\n /**\r\n * @description 表格加载状态\r\n */\r\n loading: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n /**\r\n * @description 表格数据\r\n */\r\n data: {\r\n required: true,\r\n type: Array,\r\n },\r\n /**\r\n * @description 选择数据\r\n */\r\n select: {\r\n required: false,\r\n type: Array,\r\n },\r\n /**\r\n * @description 配置信息\r\n */\r\n option: {\r\n type: definePropType<ITableOption>(Object),\r\n required: false,\r\n },\r\n /**\r\n * @description 权限配置\r\n */\r\n permission: {\r\n type: Object,\r\n default: {},\r\n },\r\n /**\r\n * @description 表格高度\r\n */\r\n height: {\r\n type: Number,\r\n required: false,\r\n },\r\n /**\r\n * @description 表格最大高度\r\n */\r\n maxHeight: {\r\n type: Number,\r\n required: false,\r\n },\r\n} as const)\r\n\r\nexport type TableProps = ExtractPropTypes<typeof tableProps>\r\n\r\nexport const tableEmits = {\r\n 'update:select': (arr: any[]) => isArray(arr),\r\n /**\r\n * 表格选择数据触发\r\n * @param arr 选择的数据\r\n * @returns\r\n */\r\n selectionChange: (arr: any[]) => isArray(arr),\r\n}\r\nexport type TableEmits = typeof tableEmits\r\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"table.mjs","sources":["../../../../../../../packages/components/table/src/table.ts"],"sourcesContent":["import { buildProps, definePropType, isArray } from '@m-eleplus-crud/utils'\r\nimport { useSizeProp } from '@m-eleplus-crud/hooks'\r\n\r\nimport { ColumnType, ICommonColumn } from '../../common'\r\n\r\nimport type { ExtractPropTypes, VNode } from 'vue'\r\n\r\n/**\r\n * @description 公开的table column配置\r\n */\r\nexport interface ITableCommonColumn {\r\n /**\r\n * @description 对齐方式\r\n */\r\n align?: 'left' | 'center' | 'right'\r\n /**\r\n * @description 超出隐藏\r\n */\r\n overHidden?: boolean\r\n /**\r\n * @description 帮助信息文本\r\n */\r\n help?: string\r\n /**\r\n * @description 格式化内容\r\n * @param row 行数据\r\n * @param column 列信息\r\n * @param index 行索引\r\n * @returns\r\n */\r\n formatter?: (row: any, column: ITableColumn, index: number) => VNode | string\r\n /**\r\n * @description 列宽度\r\n */\r\n width?: number\r\n /**\r\n * @description 二维码宽度,默认70\r\n */\r\n qrcodeWidth?: number\r\n /**\r\n * @description 二维码高度,默认70\r\n */\r\n qrcodeHeight?: number\r\n /**\r\n * 一维码宽度,默认2\r\n */\r\n barcodeWith?: number\r\n /**\r\n * 一维码高度,默认50\r\n */\r\n barcodeHeight?: number\r\n}\r\n\r\nexport interface ITableColumn extends ICommonColumn, ITableCommonColumn {\r\n /**\r\n * @description 类型\r\n */\r\n type?: ColumnType | 'index' | 'single' | 'selection',\r\n /**\r\n * @description 仅对 type=selection 的列有效,类型为 Function,Function 的返回值用来决定这一行的 CheckBox 是否可以勾选\r\n * @param row 行数据\r\n * @param index 索引\r\n * @returns \r\n */\r\n selectable?: (row: any, index: number) => boolean\r\n}\r\n\r\n/**\r\n * @description 公开的table配置\r\n */\r\nexport interface ITableCommonOption {\r\n /**\r\n * @description 是否显示操作栏\r\n */\r\n menu?: boolean\r\n /**\r\n * @description 是否为斑马纹\r\n */\r\n stripe?: boolean\r\n /**\r\n * @description 是否带有纵向边框\r\n */\r\n border?: boolean\r\n /**\r\n * @description 操作栏宽度\r\n */\r\n menuWidth?: number\r\n /**\r\n * @description 操作栏列冻结列 ,true 表示固定在左侧\r\n */\r\n menuFixed?: true | 'left' | 'right'\r\n /**\r\n * @description 操作栏按钮的对齐方式\r\n */\r\n menuAlign?: 'left' | 'center' | 'right'\r\n /**\r\n * @description 操作栏标题名称\r\n */\r\n menuTitle?: string\r\n /**\r\n * @description 表格rowKey\r\n */\r\n rowKey?: string\r\n}\r\n\r\nexport interface ITableOption extends ITableCommonOption {\r\n /**\r\n * @description 列配置\r\n */\r\n column: ITableColumn[]\r\n}\r\n\r\nexport const tableProps = buildProps({\r\n /**\r\n * @description 表格尺寸\r\n */\r\n size: useSizeProp,\r\n /**\r\n * @description 表格加载状态\r\n */\r\n loading: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n /**\r\n * @description 表格数据\r\n */\r\n data: {\r\n required: true,\r\n type: Array,\r\n },\r\n /**\r\n * @description 选择数据\r\n */\r\n select: {\r\n required: false,\r\n type: Array,\r\n },\r\n /**\r\n * @description 配置信息\r\n */\r\n option: {\r\n type: definePropType<ITableOption>(Object),\r\n required: false,\r\n },\r\n /**\r\n * @description 权限配置\r\n */\r\n permission: {\r\n type: Object,\r\n default: {},\r\n },\r\n /**\r\n * @description 表格高度\r\n */\r\n height: {\r\n type: Number,\r\n required: false,\r\n },\r\n /**\r\n * @description 表格最大高度\r\n */\r\n maxHeight: {\r\n type: Number,\r\n required: false,\r\n },\r\n} as const)\r\n\r\nexport type TableProps = ExtractPropTypes<typeof tableProps>\r\n\r\nexport const tableEmits = {\r\n 'update:select': (arr: any[]) => isArray(arr),\r\n /**\r\n * 表格选择数据触发\r\n * @param arr 选择的数据\r\n * @returns\r\n */\r\n selectionChange: (arr: any[]) => isArray(arr),\r\n}\r\nexport type TableEmits = typeof tableEmits\r\n"],"names":[],"mappings":";;;;AAgHO,MAAM,aAAa,UAAW,CAAA;AAAA,EAInC,IAAM,EAAA,WAAA;AAAA,EAIN,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,QAAU,EAAA,IAAA;AAAA,IACV,IAAM,EAAA,KAAA;AAAA,GACR;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,IACV,IAAM,EAAA,KAAA;AAAA,GACR;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,EAAC;AAAA,GACZ;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EAIA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AACF,CAAU,EAAA;AAIH,MAAM,UAAa,GAAA;AAAA,EACxB,eAAiB,EAAA,CAAC,GAAe,KAAA,OAAA,CAAQ,GAAG,CAAA;AAAA,EAM5C,eAAiB,EAAA,CAAC,GAAe,KAAA,OAAA,CAAQ,GAAG,CAAA;AAC9C;;;;"}
|
|
@@ -267,7 +267,8 @@ const _sfc_main = defineComponent({
|
|
|
267
267
|
prop: column.prop,
|
|
268
268
|
align: column.align || "center",
|
|
269
269
|
"show-overflow-tooltip": column.overHidden,
|
|
270
|
-
formatter: column.formatter ? (row, col, cellValue, index) => column.formatter(row, column, index) : null
|
|
270
|
+
formatter: column.formatter ? (row, col, cellValue, index) => column.formatter(row, column, index) : null,
|
|
271
|
+
selectable: column.selectable
|
|
271
272
|
}, createSlots({
|
|
272
273
|
_: 2
|
|
273
274
|
}, [
|
|
@@ -371,7 +372,7 @@ const _sfc_main = defineComponent({
|
|
|
371
372
|
]),
|
|
372
373
|
key: "2"
|
|
373
374
|
} : void 0
|
|
374
|
-
]), 1032, ["type", "width", "label", "prop", "align", "show-overflow-tooltip", "formatter"]);
|
|
375
|
+
]), 1032, ["type", "width", "label", "prop", "align", "show-overflow-tooltip", "formatter", "selectable"]);
|
|
375
376
|
}),
|
|
376
377
|
128
|
|
377
378
|
)),
|