@dinert/element-plus 1.1.45 → 2.0.0
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/README.md +4 -2
- package/dist/element-plus.umd.js +2 -2
- package/dist/element-plus.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/es/node_modules/@element-plus/icons-vue/dist/index.mjs +22 -97
- package/es/node_modules/@element-plus/icons-vue/dist/index.mjs.map +1 -1
- package/es/packages/assets/scss/dinert-dialog.scss +81 -60
- package/es/packages/assets/scss/dinert-drawer.scss +69 -0
- package/es/packages/assets/scss/dinert-drawer.scss.mjs +2 -0
- package/es/packages/assets/scss/dinert-drawer.scss.mjs.map +1 -0
- package/es/packages/assets/scss/dinert-form.scss +65 -52
- package/es/packages/assets/scss/dinert-table-page.scss +11 -13
- package/es/packages/assets/scss/dinert-table.scss +100 -88
- package/es/packages/assets/scss/dinert-tooltip.scss +2 -3
- package/es/packages/components/dialog/src/index.mjs +112 -48
- package/es/packages/components/dialog/src/index.mjs.map +1 -1
- package/es/packages/components/drawer/index.mjs +10 -0
- package/es/packages/components/drawer/index.mjs.map +1 -0
- package/es/packages/components/drawer/src/index.mjs +88 -0
- package/es/packages/components/drawer/src/index.mjs.map +1 -0
- package/es/packages/components/form/src/cascader.mjs +30 -18
- package/es/packages/components/form/src/cascader.mjs.map +1 -1
- package/es/packages/components/form/src/checkbox.mjs +35 -20
- package/es/packages/components/form/src/checkbox.mjs.map +1 -1
- package/es/packages/components/form/src/date.mjs +35 -22
- package/es/packages/components/form/src/date.mjs.map +1 -1
- package/es/packages/components/form/src/form-item.mjs +384 -0
- package/es/packages/components/form/src/form-item.mjs.map +1 -0
- package/es/packages/components/form/src/index.mjs +48 -244
- package/es/packages/components/form/src/index.mjs.map +1 -1
- package/es/packages/components/form/src/input-autocomplete.mjs +22 -10
- package/es/packages/components/form/src/input-autocomplete.mjs.map +1 -1
- package/es/packages/components/form/src/input-number.mjs +22 -10
- package/es/packages/components/form/src/input-number.mjs.map +1 -1
- package/es/packages/components/form/src/input.mjs +29 -19
- package/es/packages/components/form/src/input.mjs.map +1 -1
- package/es/packages/components/form/src/radio.mjs +28 -13
- package/es/packages/components/form/src/radio.mjs.map +1 -1
- package/es/packages/components/form/src/rate.mjs +22 -10
- package/es/packages/components/form/src/rate.mjs.map +1 -1
- package/es/packages/components/form/src/select-v2.mjs +22 -10
- package/es/packages/components/form/src/select-v2.mjs.map +1 -1
- package/es/packages/components/form/src/select.mjs +24 -10
- package/es/packages/components/form/src/select.mjs.map +1 -1
- package/es/packages/components/form/src/slider.mjs +22 -10
- package/es/packages/components/form/src/slider.mjs.map +1 -1
- package/es/packages/components/form/src/switch.mjs +24 -12
- package/es/packages/components/form/src/switch.mjs.map +1 -1
- package/es/packages/components/form/src/time-picker.mjs +22 -10
- package/es/packages/components/form/src/time-picker.mjs.map +1 -1
- package/es/packages/components/form/src/time-select.mjs +22 -10
- package/es/packages/components/form/src/time-select.mjs.map +1 -1
- package/es/packages/components/form/src/tree-select.mjs +28 -16
- package/es/packages/components/form/src/tree-select.mjs.map +1 -1
- package/es/packages/components/form/utils/index.mjs +35 -93
- package/es/packages/components/form/utils/index.mjs.map +1 -1
- package/es/packages/components/index.mjs +10 -10
- package/es/packages/components/table/hooks/index.mjs +9 -12
- package/es/packages/components/table/hooks/index.mjs.map +1 -1
- package/es/packages/components/table/src/index.mjs +130 -207
- package/es/packages/components/table/src/index.mjs.map +1 -1
- package/es/packages/components/table/src/recuve-table-column.mjs +69 -264
- package/es/packages/components/table/src/recuve-table-column.mjs.map +1 -1
- package/es/packages/components/table/src/table-column-control.mjs +60 -0
- package/es/packages/components/table/src/table-column-control.mjs.map +1 -0
- package/es/packages/components/table/src/table-column-operations.mjs +126 -0
- package/es/packages/components/table/src/table-column-operations.mjs.map +1 -0
- package/es/packages/components/table/src/table-header.mjs +128 -0
- package/es/packages/components/table/src/table-header.mjs.map +1 -0
- package/es/packages/components/table/src/table-setting-control.mjs +49 -0
- package/es/packages/components/table/src/table-setting-control.mjs.map +1 -0
- package/es/packages/components/table-page/src/index.mjs +10 -10
- package/es/packages/components/table-page/src/index.mjs.map +1 -1
- package/es/packages/hooks/TablePage/index.mjs +11 -10
- package/es/packages/hooks/TablePage/index.mjs.map +1 -1
- package/es/packages/index.mjs +8 -8
- package/es/packages/utils/tools.mjs +12 -13
- package/es/packages/utils/tools.mjs.map +1 -1
- package/es/src/components/drawer/index.d.ts +4 -0
- package/es/src/components/drawer/src/index.d.ts +3 -0
- package/es/src/components/drawer/types/index.d.ts +10 -0
- package/es/src/components/form/index.d.ts +62 -6
- package/es/src/components/form/src/cascader.d.ts +5 -2
- package/es/src/components/form/src/checkbox.d.ts +5 -2
- package/es/src/components/form/src/date.d.ts +5 -2
- package/es/src/components/form/src/form-item.d.ts +32 -0
- package/es/src/components/form/src/index.d.ts +63 -8
- package/es/src/components/form/src/input-autocomplete.d.ts +5 -2
- package/es/src/components/form/src/input-number.d.ts +5 -2
- package/es/src/components/form/src/input.d.ts +3 -1
- package/es/src/components/form/src/radio.d.ts +5 -2
- package/es/src/components/form/src/rate.d.ts +5 -2
- package/es/src/components/form/src/select-v2.d.ts +5 -2
- package/es/src/components/form/src/select.d.ts +5 -2
- package/es/src/components/form/src/slider.d.ts +5 -2
- package/es/src/components/form/src/switch.d.ts +5 -2
- package/es/src/components/form/src/time-picker.d.ts +5 -2
- package/es/src/components/form/src/time-select.d.ts +5 -2
- package/es/src/components/form/src/tree-select.d.ts +5 -2
- package/es/src/components/form/types/components.d.ts +1 -2
- package/es/src/components/form/types/index.d.ts +77 -18
- package/es/src/components/form/utils/index.d.ts +2 -1
- package/es/src/components/index.d.ts +2 -2
- package/es/src/components/table/index.d.ts +8 -13
- package/es/src/components/table/src/index.d.ts +8 -13
- package/es/src/components/table/src/recuve-table-column.d.ts +3 -4
- package/es/src/components/table/src/table-column-control.d.ts +20 -0
- package/es/src/components/table/src/table-column-operations.d.ts +41 -0
- package/es/src/components/table/src/table-header.d.ts +88 -0
- package/es/src/components/table/src/table-setting-control.d.ts +55 -0
- package/es/src/components/table/types/index.d.ts +15 -14
- package/es/src/components/table-page/index.d.ts +143 -41
- package/es/src/components/table-page/src/index.d.ts +143 -41
- package/es/src/hooks/TablePage/index.d.ts +1 -1
- package/es/src/views/test-tsx-table/index.d.ts +6 -0
- package/es/style.css +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/src/components/drawer/index.d.ts +4 -0
- package/lib/src/components/drawer/src/index.d.ts +3 -0
- package/lib/src/components/drawer/types/index.d.ts +10 -0
- package/lib/src/components/form/index.d.ts +62 -6
- package/lib/src/components/form/src/cascader.d.ts +5 -2
- package/lib/src/components/form/src/checkbox.d.ts +5 -2
- package/lib/src/components/form/src/date.d.ts +5 -2
- package/lib/src/components/form/src/form-item.d.ts +32 -0
- package/lib/src/components/form/src/index.d.ts +63 -8
- package/lib/src/components/form/src/input-autocomplete.d.ts +5 -2
- package/lib/src/components/form/src/input-number.d.ts +5 -2
- package/lib/src/components/form/src/input.d.ts +3 -1
- package/lib/src/components/form/src/radio.d.ts +5 -2
- package/lib/src/components/form/src/rate.d.ts +5 -2
- package/lib/src/components/form/src/select-v2.d.ts +5 -2
- package/lib/src/components/form/src/select.d.ts +5 -2
- package/lib/src/components/form/src/slider.d.ts +5 -2
- package/lib/src/components/form/src/switch.d.ts +5 -2
- package/lib/src/components/form/src/time-picker.d.ts +5 -2
- package/lib/src/components/form/src/time-select.d.ts +5 -2
- package/lib/src/components/form/src/tree-select.d.ts +5 -2
- package/lib/src/components/form/types/components.d.ts +1 -2
- package/lib/src/components/form/types/index.d.ts +77 -18
- package/lib/src/components/form/utils/index.d.ts +2 -1
- package/lib/src/components/index.d.ts +2 -2
- package/lib/src/components/table/index.d.ts +8 -13
- package/lib/src/components/table/src/index.d.ts +8 -13
- package/lib/src/components/table/src/recuve-table-column.d.ts +3 -4
- package/lib/src/components/table/src/table-column-control.d.ts +20 -0
- package/lib/src/components/table/src/table-column-operations.d.ts +41 -0
- package/lib/src/components/table/src/table-header.d.ts +88 -0
- package/lib/src/components/table/src/table-setting-control.d.ts +55 -0
- package/lib/src/components/table/types/index.d.ts +15 -14
- package/lib/src/components/table-page/index.d.ts +143 -41
- package/lib/src/components/table-page/src/index.d.ts +143 -41
- package/lib/src/hooks/TablePage/index.d.ts +1 -1
- package/lib/src/views/test-tsx-table/index.d.ts +6 -0
- package/lib/style.css +1 -1
- package/package.json +2 -1
- package/es/packages/assets/scss/dinert-tooltip.scss.mjs +0 -2
- package/es/packages/assets/scss/dinert-tooltip.scss.mjs.map +0 -1
- package/es/packages/components/tooltip/index.mjs +0 -10
- package/es/packages/components/tooltip/index.mjs.map +0 -1
- package/es/packages/components/tooltip/src/index.mjs +0 -54
- package/es/packages/components/tooltip/src/index.mjs.map +0 -1
- package/es/src/components/tooltip/index.d.ts +0 -51
- package/es/src/components/tooltip/src/index.d.ts +0 -50
- package/es/src/components/tooltip/types/index.d.ts +0 -10
- package/lib/src/components/tooltip/index.d.ts +0 -51
- package/lib/src/components/tooltip/src/index.d.ts +0 -50
- package/lib/src/components/tooltip/types/index.d.ts +0 -10
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { defineComponent as O, computed as a, createVNode as l, Fragment as j, resolveComponent as r, mergeProps as d, createTextVNode as x, isVNode as B } from "vue";
|
|
2
|
+
import { ElMessageBox as F } from "element-plus";
|
|
3
|
+
import i from "lodash";
|
|
4
|
+
import { ArrowDown as v } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
|
|
5
|
+
function D(e) {
|
|
6
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !B(e);
|
|
7
|
+
}
|
|
8
|
+
const I = /* @__PURE__ */ O({
|
|
9
|
+
name: "TableColumnOperations",
|
|
10
|
+
props: {
|
|
11
|
+
operations: {
|
|
12
|
+
type: Object,
|
|
13
|
+
default: () => ({})
|
|
14
|
+
},
|
|
15
|
+
column: {
|
|
16
|
+
type: Object,
|
|
17
|
+
default: () => ({})
|
|
18
|
+
},
|
|
19
|
+
scope: {
|
|
20
|
+
type: Object,
|
|
21
|
+
default: () => ({})
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
setup(e, s) {
|
|
25
|
+
const c = a(() => {
|
|
26
|
+
const n = [];
|
|
27
|
+
return Object.keys(e.operations).forEach((o) => {
|
|
28
|
+
const t = e.operations[o], b = i.isFunction(t.show) ? t.show(e.scope, e.column, t) : t.show === void 0 ? !0 : t.show, p = i.isFunction(t.message) ? t.message(e.scope, e.column, t) : t.message, w = t.key === "delete" ? "danger" : t.type || "primary", y = t.link === void 0 ? !0 : t.link;
|
|
29
|
+
b && n.push({
|
|
30
|
+
key: o,
|
|
31
|
+
...t,
|
|
32
|
+
message: p,
|
|
33
|
+
type: w,
|
|
34
|
+
link: y
|
|
35
|
+
});
|
|
36
|
+
}), n.sort((o, t) => (o.sort || 1 / 0) - (t.sort || 1 / 0)), n;
|
|
37
|
+
});
|
|
38
|
+
let u = e.column.maxOperations || 3;
|
|
39
|
+
u = c.value.length > u ? u - 1 : u;
|
|
40
|
+
const h = a(() => c.value.slice(0, u)), f = a(() => c.value.slice(u, c.value.length)), k = a(() => f.value.length && c.value.length > u), m = (n, o = null) => {
|
|
41
|
+
i.isObject(n.messageBox) ? F({
|
|
42
|
+
title: "警告",
|
|
43
|
+
message: `是否${n.message}该条数据?`,
|
|
44
|
+
type: "warning",
|
|
45
|
+
showCancelButton: !0,
|
|
46
|
+
cancelButtonText: "取消",
|
|
47
|
+
beforeClose(t, b, p) {
|
|
48
|
+
p();
|
|
49
|
+
},
|
|
50
|
+
...n.messageBox
|
|
51
|
+
}).then(() => {
|
|
52
|
+
i.isFunction(n.clickCb) && n.clickCb(e.scope, e.column, n, o);
|
|
53
|
+
}).catch(() => null) : i.isFunction(n.clickCb) && n.clickCb(e.scope, e.column, n, o);
|
|
54
|
+
};
|
|
55
|
+
let C = null;
|
|
56
|
+
const g = (n = null) => {
|
|
57
|
+
C = n;
|
|
58
|
+
};
|
|
59
|
+
return {
|
|
60
|
+
defaultFunctions: h,
|
|
61
|
+
seniorFunctions: f,
|
|
62
|
+
isShowDropdown: k,
|
|
63
|
+
renderButton: (n) => l(r("el-button"), d(n, {
|
|
64
|
+
key: n.key,
|
|
65
|
+
onClick: (o) => i.isObject(n.popConfirm) ? g(o) : m(n, o)
|
|
66
|
+
}), {
|
|
67
|
+
default: () => [n.message]
|
|
68
|
+
}),
|
|
69
|
+
buttonClick: m,
|
|
70
|
+
popConConfirmClick: (n) => {
|
|
71
|
+
n.clickCb && n.clickCb(e.scope, e.column, n, C);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
},
|
|
75
|
+
render() {
|
|
76
|
+
return l(j, null, [this.defaultFunctions.map((e) => {
|
|
77
|
+
if (i.isObject(e.popConfirm)) {
|
|
78
|
+
const s = {
|
|
79
|
+
title: `是否${e.message}该条数据?`,
|
|
80
|
+
...e.popConfirm
|
|
81
|
+
};
|
|
82
|
+
return l(r("el-popconfirm"), d({
|
|
83
|
+
...s
|
|
84
|
+
}, {
|
|
85
|
+
onConfirm: () => this.popConConfirmClick(e)
|
|
86
|
+
}), {
|
|
87
|
+
reference: () => this.renderButton(e)
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return this.renderButton(e);
|
|
91
|
+
}), this.isShowDropdown ? l(r("el-dropdown"), {
|
|
92
|
+
teleported: !0
|
|
93
|
+
}, {
|
|
94
|
+
default: () => l(r("el-button"), {
|
|
95
|
+
type: "primary",
|
|
96
|
+
link: !0,
|
|
97
|
+
text: !0
|
|
98
|
+
}, {
|
|
99
|
+
default: () => [x("更多"), l(r("el-icon"), null, {
|
|
100
|
+
default: () => [l(v, null, null)]
|
|
101
|
+
})]
|
|
102
|
+
}),
|
|
103
|
+
dropdown: () => {
|
|
104
|
+
let e;
|
|
105
|
+
return l(r("el-dropdown-menu"), null, D(e = this.seniorFunctions.map((s) => l(r("el-dropdown-item"), {
|
|
106
|
+
command: s
|
|
107
|
+
}, {
|
|
108
|
+
default: () => [l(r("el-button"), d({
|
|
109
|
+
onClick: (c) => this.buttonClick(s, c)
|
|
110
|
+
}, {
|
|
111
|
+
text: !0,
|
|
112
|
+
...s
|
|
113
|
+
}), {
|
|
114
|
+
default: () => [s.message]
|
|
115
|
+
})]
|
|
116
|
+
}))) ? e : {
|
|
117
|
+
default: () => [e]
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}) : null]);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
export {
|
|
124
|
+
I as default
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=table-column-operations.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-column-operations.mjs","sources":["../../../../../packages/components/table/src/table-column-operations.tsx"],"sourcesContent":["import {PropType, computed, defineComponent} from 'vue'\nimport type {\n OperationsProps\n} from '@packages/components/table/types/index'\nimport {ElMessageBox} from 'element-plus'\nimport lodash from 'lodash'\nimport {ArrowDown} from '@element-plus/icons-vue'\n\nexport default defineComponent({\n name: 'TableColumnOperations',\n props: {\n operations: {\n type: Object,\n default: () => ({})\n },\n column: {\n type: Object,\n default: () => ({})\n },\n scope: {\n type: Object as PropType<any>,\n default: () => ({})\n }\n },\n\n setup(props, ctx) {\n\n\n const operations = computed<OperationsProps[]>(() => {\n const result: any = []\n Object.keys((props.operations)).forEach(key => {\n const tempObj = props.operations[key]\n const show = lodash.isFunction(tempObj.show) ? tempObj.show(props.scope, props.column, tempObj) : tempObj.show === undefined ? true : tempObj.show\n const message = lodash.isFunction(tempObj.message) ? tempObj.message(props.scope, props.column, tempObj) : tempObj.message\n const type = tempObj.key === 'delete' ? 'danger' : tempObj.type || 'primary'\n const link = tempObj.link === undefined ? true : tempObj.link\n\n if (show) {\n result.push({\n key: key,\n ...tempObj,\n message,\n type,\n link\n })\n\n }\n\n })\n\n result.sort((a: any, b: any) => {\n return (a.sort || Infinity) - (b.sort || Infinity)\n })\n\n return result\n })\n\n let maxOperations = props.column.maxOperations || 3\n const operationsLen = operations.value.length\n maxOperations = operationsLen > maxOperations ? maxOperations - 1 : maxOperations\n\n const defaultFunctions = computed(() => {\n const list = operations.value.slice(0, maxOperations)\n return list\n })\n\n const seniorFunctions = computed(() => {\n const list = operations.value.slice(maxOperations, operations.value.length)\n return list\n })\n\n const isShowDropdown = computed(() => {\n return seniorFunctions.value.length && operations.value.length > maxOperations\n })\n\n const buttonClick = (item: OperationsProps, e: any = null) => {\n\n if (lodash.isObject(item.messageBox)) {\n ElMessageBox({\n title: '警告',\n message: `是否${item.message}该条数据?`,\n type: 'warning',\n showCancelButton: true,\n cancelButtonText: '取消',\n beforeClose(action, instance, done) {\n done()\n },\n ...item.messageBox\n }).then(() => {\n lodash.isFunction(item.clickCb) && item.clickCb(props.scope, props.column, item, e)\n }).catch(() => null)\n } else {\n lodash.isFunction(item.clickCb) && item.clickCb(props.scope, props.column, item, e)\n }\n }\n\n let popButtonEl = null as any\n\n const popConfirmClick = (e: any = null) => {\n popButtonEl = e\n }\n\n const popConConfirmClick = (item: any) => {\n item.clickCb && item.clickCb(props.scope, props.column, item, popButtonEl)\n }\n\n const renderButton = (item: any) => (\n <el-button {...item} key={item.key} onClick={(e: any) => (lodash.isObject(item.popConfirm) ? popConfirmClick(e) : buttonClick(item, e))}>\n {item.message}\n </el-button>\n )\n\n return {\n defaultFunctions,\n seniorFunctions,\n isShowDropdown,\n renderButton,\n\n buttonClick,\n popConConfirmClick\n }\n },\n\n render() {\n return (\n <>\n {\n this.defaultFunctions.map(item => {\n if (lodash.isObject(item.popConfirm)) {\n const popConfirm = {\n title: `是否${item.message}该条数据?`,\n ...item.popConfirm\n }\n\n return (<el-popconfirm {...{...popConfirm}}\n onConfirm={ () => this.popConConfirmClick(item)}>\n {{\n reference: () => {\n return this.renderButton(item)\n }\n }}\n </el-popconfirm>)\n }\n\n return this.renderButton(item)\n })\n }\n\n {this.isShowDropdown\n ? <el-dropdown teleported={true}\n v-slots= {{\n default: () => {\n return (\n <el-button type=\"primary\" link text>\n 更多<el-icon><ArrowDown /></el-icon>\n </el-button>\n )\n },\n dropdown: () => {\n return (\n <el-dropdown-menu>\n {this.seniorFunctions.map(item => {return (<el-dropdown-item command={item}>\n <el-button\n onClick={(e: any) => this.buttonClick(item, e)}\n {...{\n text: true,\n ...item\n }}\n >{item.message}</el-button>\n </el-dropdown-item>)})}\n </el-dropdown-menu>\n )\n }\n }}>\n\n </el-dropdown> : null\n }\n </>\n )\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","operations","type","default","column","scope","setup","ctx","computed","result","keys","forEach","key","tempObj","show","lodash","isFunction","undefined","message","link","push","sort","a","b","Infinity","maxOperations","value","length","defaultFunctions","slice","seniorFunctions","isShowDropdown","buttonClick","item","e","isObject","messageBox","ElMessageBox","title","showCancelButton","cancelButtonText","beforeClose","action","instance","done","then","clickCb","catch","popButtonEl","popConfirmClick","renderButton","_createVNode","_resolveComponent","_mergeProps","popConfirm","popConConfirmClick","render","_Fragment","map","onConfirm","reference","_createTextVNode","ArrowDown","dropdown","_slot","text"],"mappings":"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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { defineComponent as C, ref as g, computed as y, createVNode as l, resolveComponent as i, mergeProps as M, createTextVNode as b, isVNode as T } from "vue";
|
|
2
|
+
import { ArrowDown as k } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
|
|
3
|
+
import v from "./table-column-control.mjs";
|
|
4
|
+
import { allShow as E } from "../hooks/index.mjs";
|
|
5
|
+
import r from "lodash";
|
|
6
|
+
import { ElMessageBox as m } from "element-plus";
|
|
7
|
+
function w(n) {
|
|
8
|
+
return typeof n == "function" || Object.prototype.toString.call(n) === "[object Object]" && !T(n);
|
|
9
|
+
}
|
|
10
|
+
const F = /* @__PURE__ */ C({
|
|
11
|
+
name: "dinert-table-header",
|
|
12
|
+
props: {
|
|
13
|
+
table: {
|
|
14
|
+
type: Object
|
|
15
|
+
},
|
|
16
|
+
header: {
|
|
17
|
+
type: Object,
|
|
18
|
+
default: () => ({})
|
|
19
|
+
},
|
|
20
|
+
isAllData: {
|
|
21
|
+
type: Boolean
|
|
22
|
+
},
|
|
23
|
+
tableColumns: {
|
|
24
|
+
type: Array,
|
|
25
|
+
default: () => []
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
emits: ["CheckedChange", "TooltipMouseEnter", "TooltipMouseLeave", "HeaderTooltipMouseEnter"],
|
|
29
|
+
setup(n, e) {
|
|
30
|
+
const s = g();
|
|
31
|
+
return {
|
|
32
|
+
headerList: y(() => {
|
|
33
|
+
const t = [];
|
|
34
|
+
return Object.keys(n.header).forEach((o) => {
|
|
35
|
+
const a = n.header[o];
|
|
36
|
+
t.push({
|
|
37
|
+
key: o,
|
|
38
|
+
...a
|
|
39
|
+
});
|
|
40
|
+
}), t.sort((o, a) => (o.sort || 1 / 0) - (a.sort || 1 / 0)), t;
|
|
41
|
+
}),
|
|
42
|
+
selectTableRef: s,
|
|
43
|
+
buttonClick: (t, o = null) => {
|
|
44
|
+
r.isObject(t.messageBox) ? m({
|
|
45
|
+
title: "警告",
|
|
46
|
+
message: `是否${t.message}该条数据?`,
|
|
47
|
+
type: "warning",
|
|
48
|
+
showCancelButton: !0,
|
|
49
|
+
cancelButtonText: "取消",
|
|
50
|
+
beforeClose(a, h, f) {
|
|
51
|
+
f();
|
|
52
|
+
},
|
|
53
|
+
...t.messageBox
|
|
54
|
+
}).then(() => {
|
|
55
|
+
r.isFunction(t.clickCb) && t.clickCb(t, o);
|
|
56
|
+
}).catch(() => null) : r.isFunction(t.clickCb) && t.clickCb(t, o);
|
|
57
|
+
},
|
|
58
|
+
tooltipMouseEnter: (t, o) => {
|
|
59
|
+
const a = r.isFunction(o.tooltip) ? o.tooltip(o) : o.tooltip;
|
|
60
|
+
if (r.isObject(a)) {
|
|
61
|
+
const h = r.isFunction(a.content) ? a.content(o) : a.content;
|
|
62
|
+
e.emit("HeaderTooltipMouseEnter", t, h);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
tooltipMouseLeave: (t, o) => {
|
|
66
|
+
e.emit("TooltipMouseLeave", t, o);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
render() {
|
|
71
|
+
var n;
|
|
72
|
+
return l("header", {
|
|
73
|
+
class: "dinert-table-header"
|
|
74
|
+
}, [l("div", {
|
|
75
|
+
class: "dinert-table-header-left"
|
|
76
|
+
}, [this.headerList.map((e) => {
|
|
77
|
+
var d, p;
|
|
78
|
+
if (this.$slots["header_left_" + e.key])
|
|
79
|
+
return (p = (d = this.$slots)["header_left_" + e.key]) == null ? void 0 : p.call(d, e);
|
|
80
|
+
const s = r.isFunction(e.disabled) ? e.disabled(e) : e.disabled, u = r.isFunction(e.show) ? e.show(e) : e.show, c = r.isFunction(e.message) ? e.message(e) : e.message;
|
|
81
|
+
return u || u === void 0 ? l(i("el-button"), M({
|
|
82
|
+
...e,
|
|
83
|
+
disabled: s
|
|
84
|
+
}, {
|
|
85
|
+
onClick: (t) => this.buttonClick(e, t),
|
|
86
|
+
onMouseenter: (t) => this.tooltipMouseEnter(t, e),
|
|
87
|
+
onMouseleave: (t) => this.tooltipMouseLeave(t, e)
|
|
88
|
+
}), w(c) ? c : {
|
|
89
|
+
default: () => [c]
|
|
90
|
+
}) : null;
|
|
91
|
+
})]), ((n = this.table) == null ? void 0 : n.setting) && l("div", {
|
|
92
|
+
class: "dinert-table-header-right"
|
|
93
|
+
}, [l(i("el-button-group"), null, {
|
|
94
|
+
default: () => [l(i("el-button"), {
|
|
95
|
+
type: this.isAllData ? "primary" : "default",
|
|
96
|
+
onClick: async () => {
|
|
97
|
+
var e, s;
|
|
98
|
+
E((e = this.selectTableRef) == null ? void 0 : e.selectTableRef, ((s = this.table) == null ? void 0 : s.tableColumns) || []);
|
|
99
|
+
}
|
|
100
|
+
}, {
|
|
101
|
+
default: () => [b("全部显示")]
|
|
102
|
+
}), l(i("el-popover"), {
|
|
103
|
+
teleported: !0
|
|
104
|
+
}, {
|
|
105
|
+
default: () => l("ul", {
|
|
106
|
+
class: "dinert-popover-classify"
|
|
107
|
+
}, [l(v, {
|
|
108
|
+
onCheckedChange: (e, s, u) => this.$emit("CheckedChange", e, s, u),
|
|
109
|
+
onTooltipMouseEnter: (e, s) => this.$emit("TooltipMouseEnter", e, s),
|
|
110
|
+
onTooltipMouseLeave: (e, s) => this.$emit("TooltipMouseLeave", e, s),
|
|
111
|
+
ref: (e) => this.selectTableRef = e,
|
|
112
|
+
table: this.table
|
|
113
|
+
}, null)]),
|
|
114
|
+
reference: () => l(i("el-button"), {
|
|
115
|
+
type: this.isAllData ? "default" : "primary"
|
|
116
|
+
}, {
|
|
117
|
+
default: () => [b("分类显示"), l(i("el-icon"), null, {
|
|
118
|
+
default: () => [l(k, null, null)]
|
|
119
|
+
})]
|
|
120
|
+
})
|
|
121
|
+
})]
|
|
122
|
+
})])]);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
export {
|
|
126
|
+
F as default
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=table-header.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-header.mjs","sources":["../../../../../packages/components/table/src/table-header.tsx"],"sourcesContent":["import {computed, defineComponent, PropType, ref} from 'vue'\nimport type {HeaderListProps, OperationsProps, RewriteTableColumnCtx, RewriteTableProps} from '@packages/components/table/types/index'\nimport {ArrowDown} from '@element-plus/icons-vue'\nimport DinertTableColumnControl from './table-column-control'\nimport {allShow} from '@packages/components/table/hooks'\nimport lodash from 'lodash'\nimport {ElMessageBox} from 'element-plus'\n\nexport default defineComponent({\n name: 'dinert-table-header',\n props: {\n table: {\n type: Object as PropType<RewriteTableProps>,\n },\n header: {\n type: Object as PropType<HeaderListProps>,\n default: () => ({})\n },\n isAllData: {\n type: Boolean,\n },\n tableColumns: {\n type: Array as PropType<RewriteTableColumnCtx[]>,\n default: () => ([])\n }\n },\n emits: ['CheckedChange', 'TooltipMouseEnter', 'TooltipMouseLeave', 'HeaderTooltipMouseEnter'],\n\n setup(props, ctx) {\n\n const selectTableRef = ref<InstanceType<typeof DinertTableColumnControl>>()\n\n const headerList = computed<HeaderListProps[]>(() => {\n\n const result: HeaderListProps[] = []\n\n // eslint-disable-next-line max-statements\n Object.keys(props.header).forEach(key => {\n const tempObj = props.header[key]\n result.push({\n key: key,\n ...tempObj,\n })\n })\n\n result.sort((a: any, b: any) => {\n return (a.sort || Infinity) - (b.sort || Infinity)\n })\n return result\n })\n\n const buttonClick = (item: HeaderListProps, e: any = null) => {\n\n if (lodash.isObject(item.messageBox)) {\n ElMessageBox({\n title: '警告',\n message: `是否${item.message}该条数据?`,\n type: 'warning',\n showCancelButton: true,\n cancelButtonText: '取消',\n beforeClose(action, instance, done) {\n done()\n },\n ...item.messageBox\n }).then(() => {\n lodash.isFunction(item.clickCb) && item.clickCb(item, e)\n }).catch(() => null)\n } else {\n lodash.isFunction(item.clickCb) && item.clickCb(item, e)\n }\n }\n\n const tooltipMouseEnter = (e: PointerEvent, item: HeaderListProps) => {\n\n const tooltipProps = lodash.isFunction(item.tooltip) ? item.tooltip(item) : item.tooltip\n\n if (lodash.isObject(tooltipProps) as any) {\n const message = lodash.isFunction(tooltipProps.content) ? tooltipProps.content(item as any) : tooltipProps.content\n ctx.emit('HeaderTooltipMouseEnter', e, message)\n }\n\n\n }\n\n const tooltipMouseLeave = (e: PointerEvent, item: HeaderListProps) => {\n\n ctx.emit('TooltipMouseLeave', e, item)\n }\n\n\n return {\n headerList,\n selectTableRef,\n buttonClick,\n tooltipMouseEnter,\n tooltipMouseLeave\n\n }\n },\n render() {\n\n // const isHeader = (this.header && headerList.length) || (this.getSetting && this.header)\n return (\n <header class={'dinert-table-header'}>\n {\n <div class=\"dinert-table-header-left\">\n {\n this.headerList.map((item: HeaderListProps) => {\n if (this.$slots['header_left_' + (item as any).key]) {\n return this.$slots['header_left_' + (item as any).key]?.(item)\n }\n\n const itemDisabled = lodash.isFunction(item.disabled) ? item.disabled(item) : item.disabled\n const itemShow = lodash.isFunction(item.show) ? item.show(item) : item.show\n const message = lodash.isFunction(item.message) ? item.message(item) : item.message\n\n if (itemShow || itemShow === undefined)\n {\n // const tooltip = item.tooltip || {} as any\n // const content = typeof tooltip.content === 'function' ? tooltip.content(item) : tooltip.content\n return (<el-button\n {...{\n ...item,\n disabled: itemDisabled,\n }}\n onClick={(e: any) => this.buttonClick(item, e)}\n onMouseenter={e => this.tooltipMouseEnter(e, item)}\n onMouseleave={e => this.tooltipMouseLeave(e, item)}\n >\n {message}\n </el-button>)\n }\n return null\n })\n }\n </div>\n }\n {\n\n (this.table?.setting && <div class={'dinert-table-header-right'}>\n\n <el-button-group>\n <el-button type={this.isAllData ? 'primary' : 'default'}\n onClick={async () => {\n allShow(this.selectTableRef?.selectTableRef, this.table?.tableColumns || [])}}\n >全部显示\n </el-button>\n <el-popover teleported={true}\n v-slots={\n {\n default: () => (\n <ul class=\"dinert-popover-classify\">\n <DinertTableColumnControl\n onCheckedChange={(data, checked, childChecked) => this.$emit('CheckedChange', data, checked, childChecked)}\n onTooltipMouseEnter={(e, label) => this.$emit('TooltipMouseEnter', e, label)}\n onTooltipMouseLeave={(e, label) => this.$emit('TooltipMouseLeave', e, label)}\n ref={el => (this.selectTableRef = el)}\n table={this.table}\n ></DinertTableColumnControl>\n </ul>\n ),\n reference: () => (\n <el-button type={this.isAllData ? 'default' : 'primary'}>\n 分类显示<el-icon><ArrowDown/></el-icon>\n </el-button>\n )\n }\n\n }\n >\n </el-popover>\n </el-button-group>\n </div>)\n }\n </header>\n )\n\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","table","type","header","default","isAllData","Boolean","tableColumns","Array","emits","setup","ctx","selectTableRef","ref","headerList","computed","result","keys","forEach","key","tempObj","push","sort","a","b","Infinity","buttonClick","item","e","lodash","isObject","messageBox","ElMessageBox","title","message","showCancelButton","cancelButtonText","beforeClose","action","instance","done","then","isFunction","clickCb","catch","tooltipMouseEnter","tooltipProps","tooltip","content","emit","tooltipMouseLeave","render","_createVNode","map","$slots","_b","_a","itemDisabled","disabled","itemShow","show","undefined","_resolveComponent","_mergeProps","setting","allShow","_createTextVNode","DinertTableColumnControl","onCheckedChange","data","checked","childChecked","$emit","onTooltipMouseEnter","label","onTooltipMouseLeave","el","reference","ArrowDown"],"mappings":";;;;;;AAMyC,SAAAA,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,CAAA,MAAAK,qBAAAA,CAAAA,EAAAL,CAAA;AAAA;AAEzC,MAAeM,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,OAAO;AAAA,MACHC,MAAMT;AAAAA,IACT;AAAA,IACDU,QAAQ;AAAA,MACJD,MAAMT;AAAAA,MACNW,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDC,WAAW;AAAA,MACPH,MAAMI;AAAAA,IACT;AAAA,IACDC,cAAc;AAAA,MACVL,MAAMM;AAAAA,MACNJ,SAASA,MAAO,CAAA;AAAA,IACpB;AAAA,EACH;AAAA,EACDK,OAAO,CAAC,iBAAiB,qBAAqB,qBAAqB,yBAAyB;AAAA,EAE5FC,MAAMV,GAAOW,GAAK;AAEd,UAAMC,IAAiBC;AA4DvB,WAAO;AAAA,MACHC,YA3DeC,EAA4B,MAAM;AAEjD,cAAMC,IAA4B,CAAA;AAGlCvB,sBAAOwB,KAAKjB,EAAMG,MAAM,EAAEe,QAAQC,CAAAA,MAAO;AACrC,gBAAMC,IAAUpB,EAAMG,OAAOgB,CAAG;AAChCH,UAAAA,EAAOK,KAAK;AAAA,YACRF,KAAKA;AAAAA,YACL,GAAGC;AAAAA,UACP,CAAC;AAAA,QACL,CAAC,GAEDJ,EAAOM,KAAK,CAACC,GAAQC,OACTD,EAAED,QAAQG,UAAaD,EAAEF,QAAQG,MAC5C,GACMT;AAAAA,MACX,CAAC;AAAA,MA2CGJ,gBAAAA;AAAAA,MACAc,aA1CgBA,CAACC,GAAuBC,IAAS,SAAS;AAE1D,QAAIC,EAAOC,SAASH,EAAKI,UAAU,IAC/BC,EAAa;AAAA,UACTC,OAAO;AAAA,UACPC,SAAU,KAAIP,EAAKO,OAAQ;AAAA,UAC3BhC,MAAM;AAAA,UACNiC,kBAAkB;AAAA,UAClBC,kBAAkB;AAAA,UAClBC,YAAYC,GAAQC,GAAUC,GAAM;AAChCA,YAAAA;UACH;AAAA,UACD,GAAGb,EAAKI;AAAAA,QACZ,CAAC,EAAEU,KAAK,MAAM;AACVZ,UAAAA,EAAOa,WAAWf,EAAKgB,OAAO,KAAKhB,EAAKgB,QAAQhB,GAAMC,CAAC;AAAA,QAC3D,CAAC,EAAEgB,MAAM,MAAM,IAAI,IAEnBf,EAAOa,WAAWf,EAAKgB,OAAO,KAAKhB,EAAKgB,QAAQhB,GAAMC,CAAC;AAAA;MA0B3DiB,mBAtBsBA,CAACjB,GAAiBD,MAA0B;AAElE,cAAMmB,IAAejB,EAAOa,WAAWf,EAAKoB,OAAO,IAAIpB,EAAKoB,QAAQpB,CAAI,IAAIA,EAAKoB;AAEjF,YAAIlB,EAAOC,SAASgB,CAAY,GAAU;AACtC,gBAAMZ,IAAUL,EAAOa,WAAWI,EAAaE,OAAO,IAAIF,EAAaE,QAAQrB,CAAW,IAAImB,EAAaE;AAC3GrC,UAAAA,EAAIsC,KAAK,2BAA2BrB,GAAGM,CAAO;AAAA,QAClD;AAAA;MAgBAgB,mBAXsBA,CAACtB,GAAiBD,MAA0B;AAElEhB,QAAAA,EAAIsC,KAAK,qBAAqBrB,GAAGD,CAAI;AAAA;;EAY5C;AAAA,EACDwB,SAAS;;AAGL,WAAAC,EAAA,UAAA;AAAA,MAAA,OACmB;AAAA,IAAqB,GAAA,CAAAA,EAAA,OAAA;AAAA,MAAA,OAAA;AAAA,IAAA,GAAA,CAIpB,KAAKtC,WAAWuC,IAAK1B,CAAAA,MAA0B;;AAC3C,UAAI,KAAK2B,OAAO,iBAAkB3B,EAAaR,GAAG;AAC9C,gBAAOoC,KAAAC,IAAA,KAAKF,QAAO,iBAAkB3B,EAAaR,SAA3C,gBAAAoC,EAAA,KAAAC,GAAkD7B;AAG7D,YAAM8B,IAAe5B,EAAOa,WAAWf,EAAK+B,QAAQ,IAAI/B,EAAK+B,SAAS/B,CAAI,IAAIA,EAAK+B,UAC7EC,IAAW9B,EAAOa,WAAWf,EAAKiC,IAAI,IAAIjC,EAAKiC,KAAKjC,CAAI,IAAIA,EAAKiC,MACjE1B,IAAUL,EAAOa,WAAWf,EAAKO,OAAO,IAAIP,EAAKO,QAAQP,CAAI,IAAIA,EAAKO;AAE5E,aAAIyB,KAAYA,MAAaE,SAIzBT,EAAAU,EAAA,WAAA,GAAAC,EAAA;AAAA,QAEQ,GAAGpC;AAAAA,QACH+B,UAAUD;AAAAA,MAAY,GAAA;AAAA,QAAA,SAEhB7B,CAAAA,MAAW,KAAKF,YAAYC,GAAMC,CAAC;AAAA,QAAC,cAChCA,CAAAA,MAAK,KAAKiB,kBAAkBjB,GAAGD,CAAI;AAAA,QAAC,cACpCC,CAAAA,MAAK,KAAKsB,kBAAkBtB,GAAGD,CAAI;AAAA,MAAC,CAAA,GAAApC,EAEjD2C,CAAO,IAAPA,IAAO;AAAA,QAAA9B,SAAAA,MAAA,CAAP8B,CAAO;AAAA,MAAA,CAAA,IAGT;AAAA,KACV,CAAC,MAMTsB,IAAA,KAAKvD,UAAL,gBAAAuD,EAAYQ,YAAOZ,EAAA,OAAA;AAAA,MAAA,OAAgB;AAAA,IAA2BA,GAAAA,CAAAA,EAAAU,EAAA,iBAAA,GAAA,MAAA;AAAA,MAAA1D,SAAAA,MAAAgD,CAAAA,EAAAU,EAAA,WAAA,GAAA;AAAA,QAAA,MAGtC,KAAKzD,YAAY,YAAY;AAAA,QAAS,SAC1C,YAAY;;AACjB4D,UAAAA,GAAQT,IAAA,KAAK5C,mBAAL,gBAAA4C,EAAqB5C,kBAAgB2C,IAAA,KAAKtD,UAAL,gBAAAsD,EAAYhD,iBAAgB,CAAA,CAAE;AAAA,QAAC;AAAA,MAAC,GAAA;AAAA,QAAAH,SAAAA,MAAA,CAAA8D,EAAA,MAAA,CAAA;AAAA,MAAAd,CAAAA,GAAAA,EAAAU,EAAA,YAAA,GAAA;AAAA,QAAA,YAG7D;AAAA,SAEhB;AAAA,QACI1D,SAASA,MAAAgD,EAAA,MAAA;AAAA,UAAA,OAAA;AAAA,WAAAA,CAAAA,EAAAe,GAAA;AAAA,UAAA,iBAGoBC,CAACC,GAAMC,GAASC,MAAiB,KAAKC,MAAM,iBAAiBH,GAAMC,GAASC,CAAY;AAAA,UAAC,qBACrFE,CAAC7C,GAAG8C,MAAU,KAAKF,MAAM,qBAAqB5C,GAAG8C,CAAK;AAAA,UAAC,qBACvDC,CAAC/C,GAAG8C,MAAU,KAAKF,MAAM,qBAAqB5C,GAAG8C,CAAK;AAAA,UAAC,KACvEE,CAAAA,MAAO,KAAKhE,iBAAiBgE;AAAAA,UAAG,OAC9B,KAAK3E;AAAAA,WAGvB,IAAA,CAAA,CAAA;AAAA,QACD4E,WAAWA,MAAAzB,EAAAU,EAAA,WAAA,GAAA;AAAA,UAAA,MACU,KAAKzD,YAAY,YAAY;AAAA,QAAS,GAAA;AAAA,UAAAD,SAAAA,MAAA,CAAA8D,EAAAd,MAAAA,GAAAA,EAAAU,EAAA,SAAA,GAAA,MAAA;AAAA,YAAA1D,SAAAA,MAAAgD,CAAAA,EAAA0B,GAAA,MAAA,IAAA,CAAA;AAAA,UAAA,CAAA,CAAA;AAAA,QAAA,CAAA;AAAA,OAI9D,CAAA;AAAA,KAMX,CAAA,CAAA,CAAA,CAAA;AAAA,EAKtB;AACJ,CAAC;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { defineComponent as n, ref as r, createVNode as e, resolveComponent as l, createTextVNode as a } from "vue";
|
|
2
|
+
import { allShow as s } from "../hooks/index.mjs";
|
|
3
|
+
import { Setting as i } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
|
|
4
|
+
import c from "./table-column-control.mjs";
|
|
5
|
+
const b = /* @__PURE__ */ n({
|
|
6
|
+
name: "dinert-table-column-control",
|
|
7
|
+
props: {
|
|
8
|
+
table: {
|
|
9
|
+
type: Object
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
emits: ["CheckedChange"],
|
|
13
|
+
setup() {
|
|
14
|
+
return {
|
|
15
|
+
selectTableRef: r()
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
render() {
|
|
19
|
+
return e(l("el-popover"), {
|
|
20
|
+
teleported: !0
|
|
21
|
+
}, {
|
|
22
|
+
default: () => e("ul", {
|
|
23
|
+
class: "dinert-popover-classify"
|
|
24
|
+
}, [e("li", null, [e(l("el-button"), {
|
|
25
|
+
class: "allSelect",
|
|
26
|
+
link: !0,
|
|
27
|
+
type: "primary",
|
|
28
|
+
onClick: async () => {
|
|
29
|
+
var t, o;
|
|
30
|
+
return s((t = this.selectTableRef) == null ? void 0 : t.selectTableRef, ((o = this.table) == null ? void 0 : o.tableColumns) || []);
|
|
31
|
+
}
|
|
32
|
+
}, {
|
|
33
|
+
default: () => [a("全选")]
|
|
34
|
+
})]), e(c, {
|
|
35
|
+
ref: (t) => this.selectTableRef = t,
|
|
36
|
+
table: this.table
|
|
37
|
+
}, null)]),
|
|
38
|
+
reference: () => e(l("el-icon"), {
|
|
39
|
+
class: "setting-icon"
|
|
40
|
+
}, {
|
|
41
|
+
default: () => [e(i, null, null)]
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
export {
|
|
47
|
+
b as default
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=table-setting-control.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-setting-control.mjs","sources":["../../../../../packages/components/table/src/table-setting-control.tsx"],"sourcesContent":["import {PropType, computed, defineComponent, ref} from 'vue'\n\nimport type {RewriteTableColumnCtx, RewriteTableProps} from '@packages/components/table/types/index'\nimport {getTreeNode} from '@packages/utils/tools'\nimport {allShow} from '@packages/components/table/hooks'\nimport type Node from 'element-plus/es/components/tree/src/model/node'\nimport {Setting} from '@element-plus/icons-vue'\nimport DinertTableColumnControl from './table-column-control'\n\nexport default defineComponent({\n name: 'dinert-table-column-control',\n props: {\n table: {\n type: Object as PropType<RewriteTableProps>,\n }\n },\n emits: ['CheckedChange'],\n setup() {\n\n const selectTableRef = ref<InstanceType<typeof DinertTableColumnControl>>()\n\n\n return {\n selectTableRef,\n\n\n }\n },\n render() {\n\n return (\n <el-popover teleported={true}\n v-slots={\n {\n default: () => (\n <ul class=\"dinert-popover-classify\">\n <li>\n <el-button class=\"allSelect\" link\n type={'primary'} onClick={async () => allShow(this.selectTableRef?.selectTableRef, this.table?.tableColumns || [])}\n >全选</el-button>\n </li>\n <DinertTableColumnControl ref={el => (this.selectTableRef = el)}\n table={this.table}></DinertTableColumnControl>\n </ul>\n ),\n reference: () => (\n <el-icon class=\"setting-icon\">\n <Setting/>\n </el-icon>\n )\n\n }\n }\n >\n </el-popover>\n )\n }\n})\n"],"names":["defineComponent","name","props","table","type","Object","emits","setup","selectTableRef","ref","render","_createVNode","_resolveComponent","default","allShow","_a","_b","tableColumns","_createTextVNode","DinertTableColumnControl","el","reference","Setting"],"mappings":";;;;AASA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,OAAO;AAAA,MACHC,MAAMC;AAAAA,IACV;AAAA,EACH;AAAA,EACDC,OAAO,CAAC,eAAe;AAAA,EACvBC,QAAQ;AAKJ,WAAO;AAAA,MACHC,gBAJmBC;;EAQ1B;AAAA,EACDC,SAAS;AAEL,WAAAC,EAAAC,EAAA,YAAA,GAAA;AAAA,MAAA,YAC4B;AAAA,OAEhB;AAAA,MACIC,SAASA,MAAAF,EAAA,MAAA;AAAA,QAAA,OAAA;AAAA,MAAA,GAAA,CAAAA,EAAA,MAAA,MAAA,CAAAA,EAAAC,EAAA,WAAA,GAAA;AAAA,QAAA,OAAA;AAAA,QAAA,MAAA;AAAA,QAAA,MAIa;AAAA,QAAS,SAAW,YAAA;;AAAYE,iBAAAA,GAAQC,IAAA,KAAKP,mBAAL,gBAAAO,EAAqBP,kBAAgBQ,IAAA,KAAKb,UAAL,gBAAAa,EAAYC,iBAAgB,EAAE;AAAA;AAAA,MAAC,GAAA;AAAA,QAAAJ,SAAAA,MAAA,CAAAK,EAAA,IAAA,CAAA;AAAA,OAAAP,CAAAA,CAAAA,GAAAA,EAAAQ,GAAA;AAAA,QAAA,KAG3FC,CAAAA,MAAO,KAAKZ,iBAAiBY;AAAAA,QAAG,OACpD,KAAKjB;AAAAA,SAEvB,IAAA,CAAA,CAAA;AAAA,MACDkB,WAAWA,MAAAV,EAAAC,EAAA,SAAA,GAAA;AAAA,QAAA,OAAA;AAAA,MAAA,GAAA;AAAA,QAAAC,SAAAA,MAAAF,CAAAA,EAAAW,GAAA,MAAA,IAAA,CAAA;AAAA,MAAA,CAAA;AAAA,KAMd;AAAA,EAKjB;AACJ,CAAC;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as l, ref as r, createVNode as s } from "vue";
|
|
2
2
|
import { DinertTable as h } from "../../table/index.mjs";
|
|
3
3
|
import { DinertForm as f } from "../../form/index.mjs";
|
|
4
4
|
import "../../../assets/scss/dinert-table-page.scss.mjs";
|
|
5
|
-
const b = /* @__PURE__ */
|
|
5
|
+
const b = /* @__PURE__ */ l({
|
|
6
6
|
name: "dinert-table-page",
|
|
7
7
|
props: {
|
|
8
8
|
form: {
|
|
@@ -22,8 +22,8 @@ const b = /* @__PURE__ */ i({
|
|
|
22
22
|
default: !0
|
|
23
23
|
},
|
|
24
24
|
header: {
|
|
25
|
-
type:
|
|
26
|
-
default:
|
|
25
|
+
type: Object,
|
|
26
|
+
default: () => ({})
|
|
27
27
|
},
|
|
28
28
|
tableSlot: {
|
|
29
29
|
type: Boolean,
|
|
@@ -38,9 +38,9 @@ const b = /* @__PURE__ */ i({
|
|
|
38
38
|
tableRef: e,
|
|
39
39
|
formRef: t,
|
|
40
40
|
onUnFold: () => {
|
|
41
|
-
const
|
|
42
|
-
var
|
|
43
|
-
(
|
|
41
|
+
const i = setTimeout(() => {
|
|
42
|
+
var n;
|
|
43
|
+
(n = e.value) == null || n.resizeTaleHeightFn(), clearTimeout(i);
|
|
44
44
|
}, 300);
|
|
45
45
|
}
|
|
46
46
|
};
|
|
@@ -53,12 +53,12 @@ const b = /* @__PURE__ */ i({
|
|
|
53
53
|
return (o = (t = this.$slots)[e.prop]) == null ? void 0 : o.call(t, e);
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
|
-
return
|
|
56
|
+
return s("section", {
|
|
57
57
|
class: ["dinert-table-page", this.search ? "search" : ""],
|
|
58
58
|
ref: (e) => {
|
|
59
59
|
this.tablePageDom = e;
|
|
60
60
|
}
|
|
61
|
-
}, [this.search &&
|
|
61
|
+
}, [this.search && s(f, {
|
|
62
62
|
form: this.form,
|
|
63
63
|
class: "near",
|
|
64
64
|
onSearchFn: () => this.$emit("SearchFn"),
|
|
@@ -67,7 +67,7 @@ const b = /* @__PURE__ */ i({
|
|
|
67
67
|
ref: (e) => {
|
|
68
68
|
this.formRef = e;
|
|
69
69
|
}
|
|
70
|
-
}, this.$slots),
|
|
70
|
+
}, this.$slots), s(h, {
|
|
71
71
|
ref: (e) => {
|
|
72
72
|
this.tableRef = e;
|
|
73
73
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/table-page/src/index.tsx"],"sourcesContent":["import {defineComponent, ref} from 'vue'\n\nimport DinertTable from '@packages/components/table'\nimport DinertForm from '@packages/components/form'\n\nimport type {RewriteTableProps, HeaderListProps} from '@packages/components/table/types/index'\nimport type {PropType} from 'vue'\nimport type {RewriteFormProps} from '@packages/components/form/types'\n\nimport '@packages/assets/scss/dinert-table-page.scss'\n\n\nexport default defineComponent({\n name: 'dinert-table-page',\n props: {\n form: {\n type: Object as PropType<RewriteFormProps>,\n default: () => ({})\n },\n table: {\n type: Object as PropType<RewriteTableProps>,\n default: () => ({})\n },\n search: {\n type: Boolean,\n default: true\n },\n footer: {\n type: Boolean,\n default: true\n },\n header: {\n type:
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/table-page/src/index.tsx"],"sourcesContent":["import {defineComponent, ref} from 'vue'\n\nimport DinertTable from '@packages/components/table'\nimport DinertForm from '@packages/components/form'\n\nimport type {RewriteTableProps, HeaderListProps} from '@packages/components/table/types/index'\nimport type {PropType} from 'vue'\nimport type {RewriteFormProps} from '@packages/components/form/types'\n\nimport '@packages/assets/scss/dinert-table-page.scss'\n\n\nexport default defineComponent({\n name: 'dinert-table-page',\n props: {\n form: {\n type: Object as PropType<RewriteFormProps>,\n default: () => ({})\n },\n table: {\n type: Object as PropType<RewriteTableProps>,\n default: () => ({})\n },\n search: {\n type: Boolean,\n default: true\n },\n footer: {\n type: Boolean,\n default: true\n },\n header: {\n type: Object as PropType<HeaderListProps>,\n default: () => ({})\n },\n tableSlot: {\n type: Boolean,\n default: false\n }\n },\n emits: ['SizeChange', 'CurrentChange', 'SearchFn', 'ResetFn', 'CheckedChange'],\n setup() {\n\n const tablePageDom = ref<HTMLElement>()\n const tableRef = ref<InstanceType<typeof DinertTable>>()\n const formRef = ref<InstanceType<typeof DinertForm>>()\n\n const onUnFold = () => {\n const timer = setTimeout(() => {\n tableRef.value?.resizeTaleHeightFn()\n clearTimeout(timer)\n }, 300)\n }\n\n return {\n tablePageDom,\n tableRef,\n formRef,\n onUnFold\n }\n },\n render() {\n const slots = this.tableSlot ? this.$slots : {\n ...this.$slots,\n default: (scope: any) => this.$slots[(scope.prop)]?.(scope)\n }\n\n return (\n <section class={['dinert-table-page', this.search ? 'search' : '']} ref={el => {this.tablePageDom = el}}>\n {this.search\n && <DinertForm form={this.form}\n class=\"near\"\n v-slots={this.$slots}\n onSearchFn={() => this.$emit('SearchFn')}\n onResetFn={() => this.$emit('ResetFn')}\n onUnFold={this.onUnFold}\n ref={el => {this.formRef = el}}></DinertForm>\n }\n <DinertTable\n ref={el => {this.tableRef = el}}\n table={this.table}\n header={this.header}\n footer={this.footer}\n tableSlot={this.tableSlot}\n v-slots={slots}\n onSizeChange={(val: number) => this.$emit('SizeChange', val)}\n onCurrentChange={(val: number) => this.$emit('CurrentChange', val)}\n onCheckedChange={(data: Node, checked: boolean, childChecked: boolean) => this.$emit('CheckedChange', data, checked, childChecked)}\n >\n </DinertTable>\n </section>\n )\n }\n})\n"],"names":["defineComponent","name","props","form","type","Object","default","table","search","Boolean","footer","header","tableSlot","emits","setup","tablePageDom","ref","tableRef","formRef","onUnFold","timer","setTimeout","value","resizeTaleHeightFn","clearTimeout","render","slots","$slots","scope","_b","_a","prop","_createVNode","el","DinertForm","onSearchFn","$emit","onResetFn","DinertTable","val","onCheckedChange","data","checked","childChecked"],"mappings":";;;;AAYA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,MAAM;AAAA,MACFC,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDC,OAAO;AAAA,MACHH,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDE,QAAQ;AAAA,MACJJ,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACZ;AAAA,IACDI,QAAQ;AAAA,MACJN,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACZ;AAAA,IACDK,QAAQ;AAAA,MACJP,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDM,WAAW;AAAA,MACPR,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACb;AAAA,EACH;AAAA,EACDO,OAAO,CAAC,cAAc,iBAAiB,YAAY,WAAW,eAAe;AAAA,EAC7EC,QAAQ;AAEJ,UAAMC,IAAeC,KACfC,IAAWD,KACXE,IAAUF;AAShB,WAAO;AAAA,MACHD,cAAAA;AAAAA,MACAE,UAAAA;AAAAA,MACAC,SAAAA;AAAAA,MACAC,UAXaA,MAAM;AACnB,cAAMC,IAAQC,WAAW,MAAM;;AAC3BJ,WAAAA,IAAAA,EAASK,UAATL,QAAAA,EAAgBM,sBAChBC,aAAaJ,CAAK;AAAA,QACrB,GAAE,GAAG;AAAA;;EASb;AAAA,EACDK,SAAS;AACL,UAAMC,IAAQ,KAAKd,YAAY,KAAKe,SAAS;AAAA,MACzC,GAAG,KAAKA;AAAAA,MACRrB,SAAUsB,CAAAA,MAAU;;AAAK,gBAAAC,KAAAC,IAAA,KAAKH,QAAQC,EAAMG,UAAnB,gBAAAF,EAAA,KAAAC,GAA4BF;AAAAA;AAAAA;AAGzD,WAAAI,EAAA,WAAA;AAAA,MAAA,OACoB,CAAC,qBAAqB,KAAKxB,SAAS,WAAW,EAAE;AAAA,MAAC,KAAOyB,CAAAA,MAAM;AAAC,aAAKlB,eAAekB;AAAAA,MAAE;AAAA,IAAC,GAAA,CAClG,KAAKzB,UAAMwB,EAAAE,GAAA;AAAA,MAAA,MACS,KAAK/B;AAAAA,MAAI,OAAA;AAAA,MAAA,YAGdgC,MAAM,KAAKC,MAAM,UAAU;AAAA,MAAC,WAC7BC,MAAM,KAAKD,MAAM,SAAS;AAAA,MAAC,UAC5B,KAAKjB;AAAAA,MAAQ,KAClBc,CAAAA,MAAM;AAAC,aAAKf,UAAUe;AAAAA,MAAE;AAAA,IAAC,GAJrB,KAAKN,MAAM,GAIyBK,EAAAM,GAAA;AAAA,MAAA,KAGxCL,CAAAA,MAAM;AAAC,aAAKhB,WAAWgB;AAAAA,MAAG;AAAA,MAAA,OACxB,KAAK1B;AAAAA,MAAK,QACT,KAAKI;AAAAA,MAAM,QACX,KAAKD;AAAAA,MAAM,WACR,KAAKE;AAAAA,MAAS,cAEV2B,CAAAA,MAAgB,KAAKH,MAAM,cAAcG,CAAG;AAAA,MAAC,iBAC1CA,CAAAA,MAAgB,KAAKH,MAAM,iBAAiBG,CAAG;AAAA,MAAC,iBACjDC,CAACC,GAAYC,GAAkBC,MAA0B,KAAKP,MAAM,iBAAiBK,GAAMC,GAASC,CAAY;AAAA,IAAC,GAHzHjB,CAAK,CAAA,CAAA;AAAA,EAQ9B;AACJ,CAAC;"}
|
|
@@ -3,7 +3,7 @@ import { getUuid as b } from "../../utils/tools.mjs";
|
|
|
3
3
|
import i from "lodash";
|
|
4
4
|
class v {
|
|
5
5
|
constructor(e) {
|
|
6
|
-
this.dialogForm = s({ formItem: {}, model: {} }), this.
|
|
6
|
+
this.dialogForm = s({ formItem: {}, model: {} }), this.selectTableDatas = s([]), this.lastSelectDatas = s([]), this.ids = s([]), this.tablePageRef = s(null), this.tableRef = s(null), this.tableOriginRef = s(null), this.formRef = s(null), this.formOriginRef = s(null), this.defaultOptions = {
|
|
7
7
|
table: {
|
|
8
8
|
rowKey: "id",
|
|
9
9
|
className: "table_page" + b(),
|
|
@@ -57,7 +57,7 @@ class v {
|
|
|
57
57
|
getAjaxTableDataParams(e) {
|
|
58
58
|
this.params = this.getTableParams(e);
|
|
59
59
|
const a = i.isEqual(this.params, this.oldParams);
|
|
60
|
-
return e.name === "search" ? (a || (this.table.value.pagination.currentPage = 1, this.params = this.getTableParams(e)), this.oldParams = i.cloneDeep(this.params)) : e.name === "reset" ? (this.resetPagination(), this.params = this.getTableParams(e), this.oldParams = i.cloneDeep(this.params)) : e.name === "delete" ? this.table.value.data && this.table.value.data.length && this.table.value.data.length === 1 && this.table.value.pagination.currentPage > 1 && (this.table.value.pagination.currentPage = this.table.value.pagination.currentPage - 1, this.params = this.getTableParams(e)) : ["current", "size", "reset"].includes(e.name || "") && (this.oldParams = i.cloneDeep(this.params)), (!["size", "current"].includes(e.name || "") || !this.table.value.rowKey || !this.table.value.echoSelect) && (this.
|
|
60
|
+
return e.name === "search" ? (a || (this.table.value.pagination.currentPage = 1, this.params = this.getTableParams(e)), this.oldParams = i.cloneDeep(this.params)) : e.name === "reset" ? (this.resetPagination(), this.params = this.getTableParams(e), this.oldParams = i.cloneDeep(this.params)) : e.name === "delete" ? this.table.value.data && this.table.value.data.length && this.table.value.data.length === 1 && this.table.value.pagination.currentPage > 1 && (this.table.value.pagination.currentPage = this.table.value.pagination.currentPage - 1, this.params = this.getTableParams(e)) : ["current", "size", "reset"].includes(e.name || "") && (this.oldParams = i.cloneDeep(this.params)), (!["size", "current"].includes(e.name || "") || !this.table.value.rowKey || !this.table.value.echoSelect) && (this.selectTableDatas.value = []), this.params;
|
|
61
61
|
}
|
|
62
62
|
// 请求
|
|
63
63
|
ajaxTableData(e) {
|
|
@@ -85,7 +85,8 @@ class v {
|
|
|
85
85
|
}
|
|
86
86
|
// 重置分页参数
|
|
87
87
|
resetPagination() {
|
|
88
|
-
|
|
88
|
+
var e;
|
|
89
|
+
this.table.value.pagination = { ...(e = this.firstOptions.table) == null ? void 0 : e.pagination };
|
|
89
90
|
}
|
|
90
91
|
// 重置表格请求参数
|
|
91
92
|
resetParams() {
|
|
@@ -112,7 +113,7 @@ class v {
|
|
|
112
113
|
}
|
|
113
114
|
// 回显选中
|
|
114
115
|
echoOperations() {
|
|
115
|
-
const e = this.table.value.rowKey, a = (this.
|
|
116
|
+
const e = this.table.value.rowKey, a = (this.selectTableDatas.value || []).map((t) => t[e]);
|
|
116
117
|
this.tablePageRef.value && (this.table.value.data || []).forEach((t) => {
|
|
117
118
|
var l, r, o, n, h, u;
|
|
118
119
|
a.includes(t[e]) ? (o = (r = (l = this.tablePageRef.value) == null ? void 0 : l.tableRef) == null ? void 0 : r.tableRef) == null || o.toggleRowSelection(t, !0) : (u = (h = (n = this.tablePageRef.value) == null ? void 0 : n.tableRef) == null ? void 0 : h.tableRef) == null || u.toggleRowSelection(t, !1);
|
|
@@ -130,14 +131,14 @@ class v {
|
|
|
130
131
|
const e = this.table.value.rowKey;
|
|
131
132
|
this.table.value && (this.table.value.onSelect || (this.table.value.onSelect = (a) => {
|
|
132
133
|
e ? (this.table.value.data.forEach((t) => {
|
|
133
|
-
for (let l = 0; l < this.
|
|
134
|
-
t[e] === this.
|
|
135
|
-
}), this.
|
|
134
|
+
for (let l = 0; l < this.selectTableDatas.value.length; l++)
|
|
135
|
+
t[e] === this.selectTableDatas.value[l][e] && this.selectTableDatas.value.splice(l, 1);
|
|
136
|
+
}), this.selectTableDatas.value = i.uniqBy(a.concat(this.selectTableDatas.value), e)) : this.selectTableDatas.value = a;
|
|
136
137
|
}), this.table.value["onSelect-all"] || (this.table.value["onSelect-all"] = (a) => {
|
|
137
138
|
e ? a.length === 0 ? this.table.value.data.forEach((t) => {
|
|
138
|
-
for (let l = 0; l < this.
|
|
139
|
-
t[e] === this.
|
|
140
|
-
}) : this.
|
|
139
|
+
for (let l = 0; l < this.selectTableDatas.value.length; l++)
|
|
140
|
+
t[e] === this.selectTableDatas.value[l][e] && this.selectTableDatas.value.splice(l, 1);
|
|
141
|
+
}) : this.selectTableDatas.value = i.uniqBy(a.concat(this.selectTableDatas.value), e) : this.selectTableDatas.value = a;
|
|
141
142
|
}));
|
|
142
143
|
}
|
|
143
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../packages/hooks/TablePage/index.ts"],"sourcesContent":["\nimport {Ref, onMounted, ref} from 'vue'\n\nimport type {DinertTablePageProps, AjaxTableProps} from './types'\n\nimport TablePageComponent from '@packages/components/table-page/index'\nimport TableComponent from '@packages/components/table/index'\nimport FormComponent from '@packages/components/form/index'\nimport {getUuid} from '@packages/utils/tools'\nimport lodash from 'lodash'\nimport {MergeProp} from '@packages/components/form/types/utils'\n\n/**\n * T 表格data数据格式\n * D 表单model的数据格式\n * FI 表单formItem的数据格式\n * P 发起请求的数据格式\n * R 请求回来的数据格式\n */\n\nclass TablePage<T, D = any, FI = any, P = object, R = any> {\n dialogForm: Ref<DinertTablePageProps<T, T, FI>['form']> = ref({formItem: {}, model: {}})\n showSearch: Ref<DinertTablePageProps['search']>\n table: Ref<DinertTablePageProps<T, D, FI>['table']>\n form: Ref<DinertTablePageProps<T, D, FI>['form']>\n footer: Ref<DinertTablePageProps['footer']>\n header: Ref<DinertTablePageProps['header']>\n\n selecTableDatas: Ref<T[]> = ref([])\n lastSelectDatas: Ref<T[]> = ref([])\n\n options: DinertTablePageProps<T, D, FI>\n\n ids: Ref<string[]> = ref([])\n\n params: P | any\n oldParams: P | any\n\n tablePageRef: Ref<InstanceType<typeof TablePageComponent> | null> = ref(null)\n\n tableRef: Ref<InstanceType<typeof TablePageComponent>['tableRef'] | null> = ref(null) // DinertTable的Dom\n tableOriginRef: Ref<InstanceType<typeof TableComponent>['tableRef'] | null> = ref(null) // elTable的Dom\n\n formRef: Ref<(InstanceType<typeof TablePageComponent>['formRef']) | null> = ref(null) // DinertForm的Dom\n formOriginRef: Ref<(InstanceType<typeof FormComponent>['formRef']) | null> = ref(null) // elForm的Dom\n\n private readonly defaultOptions: DinertTablePageProps<T, D, FI> = {\n table: {\n rowKey: 'id',\n className: 'table_page' + getUuid(),\n tableColumns: [],\n data: [],\n key: true,\n border: true,\n pagination: {\n total: 0,\n currentPage: 1,\n pageSize: 10,\n },\n },\n form: {\n model: {},\n formItem: {}\n },\n footer: false,\n search: false\n }\n\n\n private readonly firstOptions: DinertTablePageProps<T, D, FI> = {\n table: {\n tableColumns: [],\n data: [],\n key: true,\n pagination: {}\n },\n form: {model: {}, formItem: {}}\n }\n\n\n constructor(options: DinertTablePageProps<T, D, FI> & {initMounteFlag?: boolean}) {\n\n this.options = lodash.defaultsDeep(lodash.cloneDeep(options), this.defaultOptions)\n\n this.firstOptions = lodash.cloneDeep(this.options)\n\n this.table = ref<DinertTablePageProps<T, D, FI>['table'] | any>(this.options.table)\n\n this.form = ref<DinertTablePageProps<T, D, FI>['form'] | any>(this.options.form)\n\n this.footer = ref<DinertTablePageProps<T, D, FI>['footer']>(this.options.footer)\n\n this.header = ref<DinertTablePageProps<T, D, FI>['header']>(this.options.header)\n\n this.showSearch = ref<DinertTablePageProps<T, D, FI>['search']>(this.options.search)\n\n this.params = {}\n this.oldParams = {};\n\n // 在组件挂载时调用\n ([undefined, true].includes(options.initMounteFlag)) && this.initMonunt()\n\n // 监听表格选择的方法,方便表格数据回显\n this.tableSelectEvent()\n }\n\n initMonunt() {\n onMounted(() => {\n this.tableRef.value = this.tablePageRef.value?.tableRef\n this.tableOriginRef.value = this.tablePageRef.value?.tableRef?.tableRef\n\n this.formRef.value = this.tablePageRef.value?.formRef\n this.formOriginRef.value = this.tablePageRef.value?.formRef?.formRef\n })\n }\n\n // 获取请求参数\n getTableParams: (params: P) => (Partial<P>) = () => ({} as P)\n ajaxTableDataAfter: (res: R) => void = () => undefined\n\n sizeChange(size: number) {\n\n const pageSize = this.table.value.pagination.pageSize\n this.table.value.pagination.pageSize = size\n const pagination = this.table.value.pagination\n if ((pageSize as any) > size\n || (pagination.currentPage as any) <= Math.ceil((pagination.total as any) / (pagination.pageSize as any))) {\n this.search({name: 'size', pageSize: size})\n }\n\n }\n\n currentChange(currentPage: number) {\n this.table.value.pagination.currentPage = currentPage\n this.search({name: 'current', currentPage})\n }\n\n async getTableData(options: (MergeProp<P, AjaxTableProps>)) {\n const res = await this.ajaxTableData(options)\n this.changeTableData(res)\n\n typeof this.ajaxTableDataAfter === 'function' && this.ajaxTableDataAfter(res)\n\n this.table.value.key = !this.table.value.key\n return res\n }\n\n // 获取请求的所有参数\n getAjaxTableDataParams(options: MergeProp<P, AjaxTableProps> | any): MergeProp<P, AjaxTableProps> {\n this.params = this.getTableParams(options)\n\n const isSame = lodash.isEqual(this.params, this.oldParams) // 判断当前提交的参数和上一次提交的参数是否相同\n\n if (options.name === 'search') {\n if (!isSame) {\n this.table.value.pagination.currentPage = 1\n this.params = this.getTableParams(options)\n }\n\n this.oldParams = lodash.cloneDeep(this.params)\n } else if (options.name === 'reset') {\n this.resetPagination()\n this.params = this.getTableParams(options)\n\n this.oldParams = lodash.cloneDeep(this.params)\n } else if (options.name === 'delete') {\n if (this.table.value.data && this.table.value.data.length) {\n if (this.table.value.data.length === 1 && (this.table.value as any).pagination.currentPage > 1) {\n this.table.value.pagination.currentPage = (this.table.value.pagination as any).currentPage - 1\n\n this.params = this.getTableParams(options)\n }\n }\n } else if (['current', 'size', 'reset'].includes(options.name || '')) {\n this.oldParams = lodash.cloneDeep(this.params)\n }\n\n if (!['size', 'current'].includes(options.name || '') || !this.table.value.rowKey || !this.table.value.echoSelect) {\n this.selecTableDatas.value = []\n }\n\n return this.params\n }\n\n // 请求\n ajaxTableData(options: (MergeProp<P, AjaxTableProps>)): Promise<R> {\n return new Promise(resolve => {\n resolve(this.getAjaxTableDataParams(options) as any)\n })\n }\n\n changeTableData(res: R | any) {\n if (res && res.data && res.data.length) {\n for (let i = 0; i < res.data.length; i++) {\n res.data[i].index = i + 1 + (res.pageNum as number) * (res.pageSize as number)\n }\n this.table.value.data = res.data\n this.table.value.pagination.total = res.total\n }\n }\n\n\n // 查询\n search(options: (P & AjaxTableProps) | any = {name: 'search'}) {\n\n for (const prop in this.form.value?.model) {\n if ([null, undefined, ''].includes((this.form.value.model as any)[prop])) {\n delete this.form.value?.model[prop]\n }\n }\n return this.getTableData(options)\n }\n\n // 重置查询\n resetSearch(options: (P & AjaxTableProps) | any = {name: 'reset'}) {\n this.resetParams()\n this.search(options)\n }\n\n\n // 重置分页参数\n resetPagination() {\n this.table.value.pagination = {...this.defaultOptions.table.pagination}\n }\n\n // 重置表格请求参数\n resetParams() {\n if (lodash.isEmpty(this.firstOptions.form?.model)) { // 判断查询的默认参数是否为空\n for (const prop in this.form.value?.model) {\n delete this.form.value?.model[prop]\n }\n } else {\n for (const prop in this.form.value?.model) {\n delete this.form.value?.model[prop]\n }\n for (const prop in this.firstOptions.form?.model) {\n this.form.value.model[prop] = this.firstOptions.form?.model[prop]\n }\n }\n }\n\n // 清空参数\n clearParams() {\n for (const prop in this.form.value?.model) {\n delete this.form.value.model[prop]\n }\n }\n\n // 根据key获取表格中的数据\n getTableDataKeys(key: string = 'id') {\n this.ids.value = lodash.map(this.table.value.data || [], key)\n return this.ids.value\n }\n\n // 回显选中\n echoOperations() {\n const rowKey = this.table.value.rowKey as any\n const keys = (this.selecTableDatas.value || []).map((item: any) => item[rowKey])\n if (this.tablePageRef.value) {\n (this.table.value.data || []).forEach((item: any) => {\n if (keys.includes(item[rowKey])) {\n this.tablePageRef.value?.tableRef?.tableRef?.toggleRowSelection(item, true)\n } else {\n this.tablePageRef.value?.tableRef?.tableRef?.toggleRowSelection(item, false)\n }\n })\n }\n\n }\n\n // 懒加载使用\n lazyAddKey<T = any>(arr: any = [], children: string = 'children'): T {\n return arr.map((item: any) => {\n if (item[children]) {\n item.children2 = [...item[children]]\n item.hasChildren = true\n delete item[children]\n }\n return {\n ...item,\n children2: item.children2 ? this.lazyAddKey(item.children2) : []\n }\n })\n }\n\n // 监听表格选择事件,包括全选和单选\n tableSelectEvent() {\n const rowKey: any = this.table.value.rowKey\n if (this.table.value) {\n if (!this.table.value.onSelect) {\n this.table.value.onSelect = (selection: T[]) => {\n if (rowKey) {\n this.table.value.data.forEach((item: any) => {\n for (let i = 0; i < this.selecTableDatas.value.length; i++) {\n if (item[rowKey] === (this.selecTableDatas.value[i]as any)[rowKey]) {\n this.selecTableDatas.value.splice(i, 1)\n }\n }\n })\n this.selecTableDatas.value = lodash.uniqBy(selection.concat(this.selecTableDatas.value), rowKey)\n } else {\n this.selecTableDatas.value = selection\n }\n }\n }\n if (!this.table.value['onSelect-all']) {\n this.table.value['onSelect-all'] = (selection: T[]) => {\n if (rowKey) {\n if (selection.length === 0) {\n this.table.value.data.forEach((item: any) => {\n for (let i = 0; i < this.selecTableDatas.value.length; i++) {\n if (item[rowKey] === (this.selecTableDatas.value[i] as any)[rowKey]) {\n this.selecTableDatas.value.splice(i, 1)\n }\n }\n })\n } else {\n this.selecTableDatas.value = lodash.uniqBy(selection.concat(this.selecTableDatas.value), rowKey)\n }\n\n } else {\n this.selecTableDatas.value = selection\n }\n }\n }\n }\n }\n}\n\n\nexport default TablePage\n"],"names":["TablePage","options","ref","getUuid","lodash","onMounted","_a","_c","_b","_d","_f","_e","size","pageSize","pagination","currentPage","res","isSame","resolve","i","prop","_g","key","rowKey","keys","item","arr","children","selection"],"mappings":";;;AAoBA,MAAMA,EAAqD;AAAA,EA4DvD,YAAYC,GAAsE;AA3DxB,SAAA,aAAAC,EAAI,EAAC,UAAU,CAAA,GAAI,OAAO,IAAG,GAO3D,KAAA,kBAAAA,EAAI,CAAA,CAAE,GACN,KAAA,kBAAAA,EAAI,CAAA,CAAE,GAIb,KAAA,MAAAA,EAAI,CAAA,CAAE,GAK3B,KAAA,eAAoEA,EAAI,IAAI,GAE5E,KAAA,WAA4EA,EAAI,IAAI,GACpF,KAAA,iBAA8EA,EAAI,IAAI,GAEtF,KAAA,UAA4EA,EAAI,IAAI,GACpF,KAAA,gBAA6EA,EAAI,IAAI,GAErF,KAAiB,iBAAiD;AAAA,MAC9D,OAAO;AAAA,QACH,QAAQ;AAAA,QACR,WAAW,eAAeC,EAAQ;AAAA,QAClC,cAAc,CAAC;AAAA,QACf,MAAM,CAAC;AAAA,QACP,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,YAAY;AAAA,UACR,OAAO;AAAA,UACP,aAAa;AAAA,UACb,UAAU;AAAA,QACd;AAAA,MACJ;AAAA,MACA,MAAM;AAAA,QACF,OAAO,CAAC;AAAA,QACR,UAAU,CAAC;AAAA,MACf;AAAA,MACA,QAAQ;AAAA,MACR,QAAQ;AAAA,IAAA,GAIZ,KAAiB,eAA+C;AAAA,MAC5D,OAAO;AAAA,QACH,cAAc,CAAC;AAAA,QACf,MAAM,CAAC;AAAA,QACP,KAAK;AAAA,QACL,YAAY,CAAC;AAAA,MACjB;AAAA,MACA,MAAM,EAAC,OAAO,IAAI,UAAU,CAAA,EAAE;AAAA,IAAA,GAyClC,KAAA,iBAA8C,OAAO,CAAA,IACrD,KAAA,qBAAuC,MAAM;AAAA,OApCpC,KAAA,UAAUC,EAAO,aAAaA,EAAO,UAAUH,CAAO,GAAG,KAAK,cAAc,GAEjF,KAAK,eAAeG,EAAO,UAAU,KAAK,OAAO,GAEjD,KAAK,QAAQF,EAAmD,KAAK,QAAQ,KAAK,GAElF,KAAK,OAAOA,EAAkD,KAAK,QAAQ,IAAI,GAE/E,KAAK,SAASA,EAA8C,KAAK,QAAQ,MAAM,GAE/E,KAAK,SAASA,EAA8C,KAAK,QAAQ,MAAM,GAE/E,KAAK,aAAaA,EAA8C,KAAK,QAAQ,MAAM,GAEnF,KAAK,SAAS,IACd,KAAK,YAAY,IAGhB,CAAC,QAAW,EAAI,EAAE,SAASD,EAAQ,cAAc,KAAM,KAAK,cAG7D,KAAK,iBAAiB;AAAA,EAC1B;AAAA,EAEA,aAAa;AACT,IAAAI,EAAU,MAAM;;AACZ,WAAK,SAAS,SAAQC,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,UAC/C,KAAK,eAAe,SAAQC,KAAAC,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,aAAzB,gBAAAD,EAAmC,UAE/D,KAAK,QAAQ,SAAQE,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,SAC9C,KAAK,cAAc,SAAQC,KAAAC,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,YAAzB,gBAAAD,EAAkC;AAAA,IAAA,CAChE;AAAA,EACL;AAAA,EAMA,WAAWE,GAAc;AAErB,UAAMC,IAAW,KAAK,MAAM,MAAM,WAAW;AACxC,SAAA,MAAM,MAAM,WAAW,WAAWD;AACjC,UAAAE,IAAa,KAAK,MAAM,MAAM;AAC/B,KAAAD,IAAmBD,KAChBE,EAAW,eAAuB,KAAK,KAAMA,EAAW,QAAiBA,EAAW,QAAgB,MACxG,KAAK,OAAO,EAAC,MAAM,QAAQ,UAAUF,GAAK;AAAA,EAGlD;AAAA,EAEA,cAAcG,GAAqB;AAC1B,SAAA,MAAM,MAAM,WAAW,cAAcA,GAC1C,KAAK,OAAO,EAAC,MAAM,WAAW,aAAAA,EAAY,CAAA;AAAA,EAC9C;AAAA,EAEA,MAAM,aAAad,GAAyC;AACxD,UAAMe,IAAM,MAAM,KAAK,cAAcf,CAAO;AAC5C,gBAAK,gBAAgBe,CAAG,GAExB,OAAO,KAAK,sBAAuB,cAAc,KAAK,mBAAmBA,CAAG,GAE5E,KAAK,MAAM,MAAM,MAAM,CAAC,KAAK,MAAM,MAAM,KAClCA;AAAA,EACX;AAAA;AAAA,EAGA,uBAAuBf,GAA2E;AACzF,SAAA,SAAS,KAAK,eAAeA,CAAO;AAEzC,UAAMgB,IAASb,EAAO,QAAQ,KAAK,QAAQ,KAAK,SAAS;AAErD,WAAAH,EAAQ,SAAS,YACZgB,MACI,KAAA,MAAM,MAAM,WAAW,cAAc,GACrC,KAAA,SAAS,KAAK,eAAehB,CAAO,IAG7C,KAAK,YAAYG,EAAO,UAAU,KAAK,MAAM,KACtCH,EAAQ,SAAS,WACxB,KAAK,gBAAgB,GAChB,KAAA,SAAS,KAAK,eAAeA,CAAO,GAEzC,KAAK,YAAYG,EAAO,UAAU,KAAK,MAAM,KACtCH,EAAQ,SAAS,WACpB,KAAK,MAAM,MAAM,QAAQ,KAAK,MAAM,MAAM,KAAK,UAC3C,KAAK,MAAM,MAAM,KAAK,WAAW,KAAM,KAAK,MAAM,MAAc,WAAW,cAAc,MACpF,KAAA,MAAM,MAAM,WAAW,cAAe,KAAK,MAAM,MAAM,WAAmB,cAAc,GAExF,KAAA,SAAS,KAAK,eAAeA,CAAO,KAG1C,CAAC,WAAW,QAAQ,OAAO,EAAE,SAASA,EAAQ,QAAQ,EAAE,MAC/D,KAAK,YAAYG,EAAO,UAAU,KAAK,MAAM,KAG7C,CAAC,CAAC,QAAQ,SAAS,EAAE,SAASH,EAAQ,QAAQ,EAAE,KAAK,CAAC,KAAK,MAAM,MAAM,UAAU,CAAC,KAAK,MAAM,MAAM,gBAC9F,KAAA,gBAAgB,QAAQ,KAG1B,KAAK;AAAA,EAChB;AAAA;AAAA,EAGA,cAAcA,GAAqD;AACxD,WAAA,IAAI,QAAQ,CAAWiB,MAAA;AAClB,MAAAA,EAAA,KAAK,uBAAuBjB,CAAO,CAAQ;AAAA,IAAA,CACtD;AAAA,EACL;AAAA,EAEA,gBAAgBe,GAAc;AAC1B,QAAIA,KAAOA,EAAI,QAAQA,EAAI,KAAK,QAAQ;AACpC,eAASG,IAAI,GAAGA,IAAIH,EAAI,KAAK,QAAQG;AAC7B,QAAAH,EAAA,KAAKG,CAAC,EAAE,QAAQA,IAAI,IAAKH,EAAI,UAAsBA,EAAI;AAE1D,WAAA,MAAM,MAAM,OAAOA,EAAI,MAC5B,KAAK,MAAM,MAAM,WAAW,QAAQA,EAAI;AAAA,IAC5C;AAAA,EACJ;AAAA;AAAA,EAIA,OAAOf,IAAsC,EAAC,MAAM,YAAW;;AAE3D,eAAWmB,MAAQd,IAAA,KAAK,KAAK,UAAV,gBAAAA,EAAiB;AAChC,MAAI,CAAC,MAAM,QAAW,EAAE,EAAE,SAAU,KAAK,KAAK,MAAM,MAAcc,CAAI,CAAC,OACnEZ,IAAO,KAAK,KAAK,UAAjB,eAAAA,EAAwB,MAAMY;AAG/B,WAAA,KAAK,aAAanB,CAAO;AAAA,EACpC;AAAA;AAAA,EAGA,YAAYA,IAAsC,EAAC,MAAM,WAAU;AAC/D,SAAK,YAAY,GACjB,KAAK,OAAOA,CAAO;AAAA,EACvB;AAAA;AAAA,EAIA,kBAAkB;AACT,SAAA,MAAM,MAAM,aAAa,EAAC,GAAG,KAAK,eAAe,MAAM;EAChE;AAAA;AAAA,EAGA,cAAc;;AACV,QAAIG,EAAO,SAAQE,IAAA,KAAK,aAAa,SAAlB,gBAAAA,EAAwB,KAAK;AAC5C,iBAAWc,MAAQZ,IAAA,KAAK,KAAK,UAAV,gBAAAA,EAAiB;AAChC,SAAAD,IAAO,KAAK,KAAK,UAAjB,eAAAA,EAAwB,MAAMa;AAAA,SAE/B;AACH,iBAAWA,MAAQX,IAAA,KAAK,KAAK,UAAV,gBAAAA,EAAiB;AAChC,SAAAE,IAAO,KAAK,KAAK,UAAjB,eAAAA,EAAwB,MAAMS;AAElC,iBAAWA,MAAQV,IAAA,KAAK,aAAa,SAAlB,gBAAAA,EAAwB;AAClC,aAAA,KAAK,MAAM,MAAMU,CAAI,KAAIC,IAAA,KAAK,aAAa,SAAlB,gBAAAA,EAAwB,MAAMD;AAAA,IAEpE;AAAA,EACJ;AAAA;AAAA,EAGA,cAAc;;AACV,eAAWA,MAAQd,IAAA,KAAK,KAAK,UAAV,gBAAAA,EAAiB;AAChC,aAAO,KAAK,KAAK,MAAM,MAAMc,CAAI;AAAA,EAEzC;AAAA;AAAA,EAGA,iBAAiBE,IAAc,MAAM;AAC5B,gBAAA,IAAI,QAAQlB,EAAO,IAAI,KAAK,MAAM,MAAM,QAAQ,CAAC,GAAGkB,CAAG,GACrD,KAAK,IAAI;AAAA,EACpB;AAAA;AAAA,EAGA,iBAAiB;AACP,UAAAC,IAAS,KAAK,MAAM,MAAM,QAC1BC,KAAQ,KAAK,gBAAgB,SAAS,CAAA,GAAI,IAAI,CAACC,MAAcA,EAAKF,CAAM,CAAC;AAC3E,IAAA,KAAK,aAAa,UACjB,KAAK,MAAM,MAAM,QAAQ,IAAI,QAAQ,CAACE,MAAc;;AACjD,MAAID,EAAK,SAASC,EAAKF,CAAM,CAAC,KAC1BhB,KAAAC,KAAAF,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,aAAzB,gBAAAE,EAAmC,aAAnC,QAAAD,EAA6C,mBAAmBkB,GAAM,OAEtEf,KAAAC,KAAAF,IAAA,KAAK,aAAa,UAAlB,gBAAAA,EAAyB,aAAzB,gBAAAE,EAAmC,aAAnC,QAAAD,EAA6C,mBAAmBe,GAAM;AAAA,IAC1E,CACH;AAAA,EAGT;AAAA;AAAA,EAGA,WAAoBC,IAAW,IAAIC,IAAmB,YAAe;AAC1D,WAAAD,EAAI,IAAI,CAACD,OACRA,EAAKE,CAAQ,MACbF,EAAK,YAAY,CAAC,GAAGA,EAAKE,CAAQ,CAAC,GACnCF,EAAK,cAAc,IACnB,OAAOA,EAAKE,CAAQ,IAEjB;AAAA,MACH,GAAGF;AAAA,MACH,WAAWA,EAAK,YAAY,KAAK,WAAWA,EAAK,SAAS,IAAI,CAAC;AAAA,IAAA,EAEtE;AAAA,EACL;AAAA;AAAA,EAGA,mBAAmB;AACT,UAAAF,IAAc,KAAK,MAAM,MAAM;AACjC,IAAA,KAAK,MAAM,UACN,KAAK,MAAM,MAAM,aAClB,KAAK,MAAM,MAAM,WAAW,CAACK,MAAmB;AAC5C,MAAIL,KACA,KAAK,MAAM,MAAM,KAAK,QAAQ,CAACE,MAAc;AACzC,iBAASN,IAAI,GAAGA,IAAI,KAAK,gBAAgB,MAAM,QAAQA;AAC/C,UAAAM,EAAKF,CAAM,MAAO,KAAK,gBAAgB,MAAMJ,CAAC,EAASI,CAAM,KAC7D,KAAK,gBAAgB,MAAM,OAAOJ,GAAG,CAAC;AAAA,MAE9C,CACH,GACI,KAAA,gBAAgB,QAAQf,EAAO,OAAOwB,EAAU,OAAO,KAAK,gBAAgB,KAAK,GAAGL,CAAM,KAE/F,KAAK,gBAAgB,QAAQK;AAAA,IACjC,IAGH,KAAK,MAAM,MAAM,cAAc,MAChC,KAAK,MAAM,MAAM,cAAc,IAAI,CAACA,MAAmB;AACnD,MAAIL,IACIK,EAAU,WAAW,IACrB,KAAK,MAAM,MAAM,KAAK,QAAQ,CAACH,MAAc;AACzC,iBAASN,IAAI,GAAGA,IAAI,KAAK,gBAAgB,MAAM,QAAQA;AAC/C,UAAAM,EAAKF,CAAM,MAAO,KAAK,gBAAgB,MAAMJ,CAAC,EAAUI,CAAM,KAC9D,KAAK,gBAAgB,MAAM,OAAOJ,GAAG,CAAC;AAAA,MAE9C,CACH,IAEI,KAAA,gBAAgB,QAAQf,EAAO,OAAOwB,EAAU,OAAO,KAAK,gBAAgB,KAAK,GAAGL,CAAM,IAInG,KAAK,gBAAgB,QAAQK;AAAA,IACjC;AAAA,EAIhB;AACJ;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../packages/hooks/TablePage/index.ts"],"sourcesContent":["\nimport {Ref, onMounted, ref} from 'vue'\n\nimport type {DinertTablePageProps, AjaxTableProps} from './types'\n\nimport TablePageComponent from '@packages/components/table-page/index'\nimport TableComponent from '@packages/components/table/index'\nimport FormComponent from '@packages/components/form/index'\nimport {getUuid} from '@packages/utils/tools'\nimport lodash from 'lodash'\nimport {MergeProp} from '@packages/components/form/types/utils'\n\n/**\n * T 表格data数据格式\n * D 表单model的数据格式\n * FI 表单formItem的数据格式\n * P 发起请求的数据格式\n * R 请求回来的数据格式\n */\n\nclass TablePage<T, D = any, FI = any, P = object, R = any> {\n dialogForm: Ref<DinertTablePageProps<T, T, FI>['form']> = ref({formItem: {}, model: {}})\n showSearch: Ref<DinertTablePageProps['search']>\n table: Ref<DinertTablePageProps<T, D, FI>['table']>\n form: Ref<DinertTablePageProps<T, D, FI>['form']>\n footer: Ref<DinertTablePageProps['footer']>\n header: Ref<DinertTablePageProps['header']>\n\n selectTableDatas: Ref<T[]> = ref([])\n lastSelectDatas: Ref<T[]> = ref([])\n\n options: DinertTablePageProps<T, D, FI>\n\n ids: Ref<string[]> = ref([])\n\n params: P | any\n oldParams: P | any\n\n tablePageRef: Ref<InstanceType<typeof TablePageComponent> | null> = ref(null)\n\n tableRef: Ref<InstanceType<typeof TablePageComponent>['tableRef'] | null> = ref(null) // DinertTable的Dom\n tableOriginRef: Ref<InstanceType<typeof TableComponent>['tableRef'] | null> = ref(null) // elTable的Dom\n\n formRef: Ref<(InstanceType<typeof TablePageComponent>['formRef']) | null> = ref(null) // DinertForm的Dom\n formOriginRef: Ref<(InstanceType<typeof FormComponent>['formRef']) | null> = ref(null) // elForm的Dom\n\n private readonly defaultOptions: DinertTablePageProps<T, D, FI> = {\n table: {\n rowKey: 'id',\n className: 'table_page' + getUuid(),\n tableColumns: [],\n data: [],\n key: true,\n border: true,\n pagination: {\n total: 0,\n currentPage: 1,\n pageSize: 10,\n },\n },\n form: {\n model: {},\n formItem: {}\n },\n footer: false,\n search: false\n }\n\n\n private readonly firstOptions: DinertTablePageProps<T, D, FI> = {\n table: {\n tableColumns: [],\n data: [],\n key: true,\n pagination: {}\n },\n form: {model: {}, formItem: {}}\n }\n\n\n constructor(options: DinertTablePageProps<T, D, FI> & {initMounteFlag?: boolean}) {\n\n this.options = lodash.defaultsDeep(lodash.cloneDeep(options), this.defaultOptions)\n\n this.firstOptions = lodash.cloneDeep(this.options)\n\n this.table = ref<DinertTablePageProps<T, D, FI>['table'] | any>(this.options.table)\n\n this.form = ref<DinertTablePageProps<T, D, FI>['form'] | any>(this.options.form)\n\n this.footer = ref<DinertTablePageProps<T, D, FI>['footer']>(this.options.footer)\n\n this.header = ref<DinertTablePageProps<T, D, FI>['header']>(this.options.header)\n\n this.showSearch = ref<DinertTablePageProps<T, D, FI>['search']>(this.options.search)\n\n this.params = {}\n this.oldParams = {};\n\n // 在组件挂载时调用\n ([undefined, true].includes(options.initMounteFlag)) && this.initMonunt()\n\n // 监听表格选择的方法,方便表格数据回显\n this.tableSelectEvent()\n }\n\n initMonunt() {\n onMounted(() => {\n this.tableRef.value = this.tablePageRef.value?.tableRef\n this.tableOriginRef.value = this.tablePageRef.value?.tableRef?.tableRef\n\n this.formRef.value = this.tablePageRef.value?.formRef\n this.formOriginRef.value = this.tablePageRef.value?.formRef?.formRef\n })\n }\n\n // 获取请求参数\n getTableParams: (params: P) => (Partial<P>) = () => ({} as P)\n ajaxTableDataAfter: (res: R) => void = () => undefined\n\n sizeChange(size: number) {\n\n const pageSize = this.table.value.pagination.pageSize\n this.table.value.pagination.pageSize = size\n const pagination = this.table.value.pagination\n if ((pageSize as any) > size\n || (pagination.currentPage as any) <= Math.ceil((pagination.total as any) / (pagination.pageSize as any))) {\n this.search({name: 'size', pageSize: size})\n }\n\n }\n\n currentChange(currentPage: number) {\n this.table.value.pagination.currentPage = currentPage\n this.search({name: 'current', currentPage})\n }\n\n async getTableData(options: (MergeProp<P, AjaxTableProps>)) {\n const res = await this.ajaxTableData(options)\n this.changeTableData(res)\n\n typeof this.ajaxTableDataAfter === 'function' && this.ajaxTableDataAfter(res)\n\n this.table.value.key = !this.table.value.key\n return res\n }\n\n // 获取请求的所有参数\n getAjaxTableDataParams(options: MergeProp<P, AjaxTableProps> | any): MergeProp<P, AjaxTableProps> {\n this.params = this.getTableParams(options)\n\n const isSame = lodash.isEqual(this.params, this.oldParams) // 判断当前提交的参数和上一次提交的参数是否相同\n\n if (options.name === 'search') {\n if (!isSame) {\n this.table.value.pagination.currentPage = 1\n this.params = this.getTableParams(options)\n }\n\n this.oldParams = lodash.cloneDeep(this.params)\n } else if (options.name === 'reset') {\n this.resetPagination()\n this.params = this.getTableParams(options)\n\n this.oldParams = lodash.cloneDeep(this.params)\n } else if (options.name === 'delete') {\n if (this.table.value.data && this.table.value.data.length) {\n if (this.table.value.data.length === 1 && (this.table.value as any).pagination.currentPage > 1) {\n this.table.value.pagination.currentPage = (this.table.value.pagination as any).currentPage - 1\n\n this.params = this.getTableParams(options)\n }\n }\n } else if (['current', 'size', 'reset'].includes(options.name || '')) {\n this.oldParams = lodash.cloneDeep(this.params)\n }\n\n if (!['size', 'current'].includes(options.name || '') || !this.table.value.rowKey || !this.table.value.echoSelect) {\n this.selectTableDatas.value = []\n }\n\n return this.params\n }\n\n // 请求\n ajaxTableData(options: (MergeProp<P, AjaxTableProps>)): Promise<R> {\n return new Promise(resolve => {\n resolve(this.getAjaxTableDataParams(options) as any)\n })\n }\n\n changeTableData(res: R | any) {\n if (res && res.data && res.data.length) {\n for (let i = 0; i < res.data.length; i++) {\n res.data[i].index = i + 1 + (res.pageNum as number) * (res.pageSize as number)\n }\n this.table.value.data = res.data\n this.table.value.pagination.total = res.total\n }\n }\n\n\n // 查询\n search(options: (P & AjaxTableProps) | any = {name: 'search'}) {\n\n for (const prop in this.form.value?.model) {\n if ([null, undefined, ''].includes((this.form.value.model as any)[prop])) {\n delete this.form.value?.model[prop]\n }\n }\n return this.getTableData(options)\n }\n\n // 重置查询\n resetSearch(options: (P & AjaxTableProps) | any = {name: 'reset'}) {\n this.resetParams()\n this.search(options)\n }\n\n\n // 重置分页参数\n resetPagination() {\n this.table.value.pagination = {...this.firstOptions.table?.pagination}\n }\n\n // 重置表格请求参数\n resetParams() {\n if (lodash.isEmpty(this.firstOptions.form?.model)) { // 判断查询的默认参数是否为空\n for (const prop in this.form.value?.model) {\n delete this.form.value?.model[prop]\n }\n } else {\n for (const prop in this.form.value?.model) {\n delete this.form.value?.model[prop]\n }\n for (const prop in this.firstOptions.form?.model) {\n this.form.value.model[prop] = this.firstOptions.form?.model[prop]\n }\n }\n }\n\n // 清空参数\n clearParams() {\n for (const prop in this.form.value?.model) {\n delete this.form.value.model[prop]\n }\n }\n\n // 根据key获取表格中的数据\n getTableDataKeys(key: string = 'id') {\n this.ids.value = lodash.map(this.table.value.data || [], key)\n return this.ids.value\n }\n\n // 回显选中\n echoOperations() {\n const rowKey = this.table.value.rowKey as any\n const keys = (this.selectTableDatas.value || []).map((item: any) => item[rowKey])\n if (this.tablePageRef.value) {\n (this.table.value.data || []).forEach((item: any) => {\n if (keys.includes(item[rowKey])) {\n this.tablePageRef.value?.tableRef?.tableRef?.toggleRowSelection(item, true)\n } else {\n this.tablePageRef.value?.tableRef?.tableRef?.toggleRowSelection(item, false)\n }\n })\n }\n\n }\n\n // 懒加载使用\n lazyAddKey<T = any>(arr: any = [], children: string = 'children'): T {\n return arr.map((item: any) => {\n if (item[children]) {\n item.children2 = [...item[children]]\n item.hasChildren = true\n delete item[children]\n }\n return {\n ...item,\n children2: item.children2 ? this.lazyAddKey(item.children2) : []\n }\n })\n }\n\n // 监听表格选择事件,包括全选和单选\n tableSelectEvent() {\n const rowKey: any = this.table.value.rowKey\n if (this.table.value) {\n if (!this.table.value.onSelect) {\n this.table.value.onSelect = (selection: T[]) => {\n if (rowKey) {\n this.table.value.data.forEach((item: any) => {\n for (let i = 0; i < this.selectTableDatas.value.length; i++) {\n if (item[rowKey] === (this.selectTableDatas.value[i]as any)[rowKey]) {\n this.selectTableDatas.value.splice(i, 1)\n }\n }\n })\n this.selectTableDatas.value = lodash.uniqBy(selection.concat(this.selectTableDatas.value), rowKey)\n } else {\n this.selectTableDatas.value = selection\n }\n }\n }\n if (!this.table.value['onSelect-all']) {\n this.table.value['onSelect-all'] = (selection: T[]) => {\n if (rowKey) {\n if (selection.length === 0) {\n this.table.value.data.forEach((item: any) => {\n for (let i = 0; i < this.selectTableDatas.value.length; i++) {\n if (item[rowKey] === (this.selectTableDatas.value[i] as any)[rowKey]) {\n this.selectTableDatas.value.splice(i, 1)\n }\n }\n })\n } else {\n this.selectTableDatas.value = lodash.uniqBy(selection.concat(this.selectTableDatas.value), rowKey)\n }\n\n } else {\n this.selectTableDatas.value = selection\n }\n }\n }\n }\n }\n}\n\n\nexport default TablePage\n"],"names":["TablePage","options","ref","getUuid","lodash","onMounted","_a","_c","_b","_d","_f","_e","size","pageSize","pagination","currentPage","res","isSame","resolve","i","prop","_g","key","rowKey","keys","item","arr","children","selection"],"mappings":"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"}
|