@dinert/element-plus 1.0.8 → 1.1.1
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/element-plus.umd.js +1 -1
- 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 +108 -18
- package/es/node_modules/@element-plus/icons-vue/dist/index.mjs.map +1 -1
- package/es/packages/assets/fonts/iconfont.mjs +40 -0
- package/es/packages/assets/fonts/iconfont.mjs.map +1 -0
- package/es/packages/assets/scss/dinert-dialog.scss.mjs +2 -0
- package/es/packages/assets/scss/dinert-dialog.scss.mjs.map +1 -0
- package/es/packages/assets/scss/dinert-form.scss.mjs +1 -4
- package/es/packages/assets/scss/dinert-form.scss.mjs.map +1 -1
- package/es/packages/assets/scss/dinert-table-page.scss.mjs +1 -4
- package/es/packages/assets/scss/dinert-table-page.scss.mjs.map +1 -1
- package/es/packages/assets/scss/dinert-table.scss.mjs +1 -4
- package/es/packages/assets/scss/dinert-table.scss.mjs.map +1 -1
- package/es/packages/assets/scss/dinert-tooltip.scss.mjs +1 -4
- package/es/packages/assets/scss/dinert-tooltip.scss.mjs.map +1 -1
- package/es/packages/components/dialog/index.mjs +10 -0
- package/es/packages/components/dialog/index.mjs.map +1 -0
- package/es/packages/components/dialog/src/index.mjs +87 -0
- package/es/packages/components/dialog/src/index.mjs.map +1 -0
- package/es/packages/components/form/src/cascader.mjs +10 -16
- package/es/packages/components/form/src/cascader.mjs.map +1 -1
- package/es/packages/components/form/src/checkbox.mjs +17 -15
- package/es/packages/components/form/src/checkbox.mjs.map +1 -1
- package/es/packages/components/form/src/date.mjs +6 -8
- package/es/packages/components/form/src/date.mjs.map +1 -1
- package/es/packages/components/form/src/index.mjs +155 -152
- package/es/packages/components/form/src/index.mjs.map +1 -1
- package/es/packages/components/form/src/input-autocomplete.mjs +5 -7
- package/es/packages/components/form/src/input-autocomplete.mjs.map +1 -1
- package/es/packages/components/form/src/input-number.mjs +9 -16
- package/es/packages/components/form/src/input-number.mjs.map +1 -1
- package/es/packages/components/form/src/input.mjs +12 -19
- package/es/packages/components/form/src/input.mjs.map +1 -1
- package/es/packages/components/form/src/radio.mjs +14 -16
- package/es/packages/components/form/src/radio.mjs.map +1 -1
- package/es/packages/components/form/src/rate.mjs +7 -13
- package/es/packages/components/form/src/rate.mjs.map +1 -1
- package/es/packages/components/form/src/select-v2.mjs +34 -0
- package/es/packages/components/form/src/select-v2.mjs.map +1 -0
- package/es/packages/components/form/src/select.mjs +7 -8
- package/es/packages/components/form/src/select.mjs.map +1 -1
- package/es/packages/components/form/src/switch.mjs +5 -12
- package/es/packages/components/form/src/switch.mjs.map +1 -1
- package/es/packages/components/form/src/tree-select.mjs +5 -6
- package/es/packages/components/form/src/tree-select.mjs.map +1 -1
- package/es/packages/components/form/utils/index.mjs +43 -41
- package/es/packages/components/form/utils/index.mjs.map +1 -1
- package/es/packages/components/index.mjs +6 -4
- package/es/packages/components/index.mjs.map +1 -1
- package/es/packages/components/table/hooks/index.mjs +14 -14
- package/es/packages/components/table/hooks/index.mjs.map +1 -1
- package/es/packages/components/table/src/index.mjs +151 -112
- package/es/packages/components/table/src/index.mjs.map +1 -1
- package/es/packages/components/table/src/recuve-table-column.mjs +170 -133
- package/es/packages/components/table/src/recuve-table-column.mjs.map +1 -1
- package/es/packages/components/table-page/src/index.mjs +19 -18
- package/es/packages/components/table-page/src/index.mjs.map +1 -1
- package/es/packages/components/tooltip/src/index.mjs +17 -15
- package/es/packages/components/tooltip/src/index.mjs.map +1 -1
- package/es/packages/hooks/{useTablePage → TablePage}/index.mjs +45 -33
- package/es/packages/hooks/TablePage/index.mjs.map +1 -0
- package/es/packages/index.mjs +14 -12
- package/es/packages/index.mjs.map +1 -1
- package/es/packages/utils/tools.mjs +38 -40
- package/es/packages/utils/tools.mjs.map +1 -1
- package/es/src/components/dialog/index.d.ts +4 -0
- package/es/src/components/dialog/src/drag.d.ts +5 -0
- package/es/src/components/dialog/src/index.d.ts +3 -0
- package/es/src/components/dialog/src/type.d.ts +15 -0
- package/es/src/components/dialog/types/index.d.ts +10 -0
- package/es/src/components/form/index.d.ts +4 -3
- package/es/src/components/form/src/cascader.d.ts +7 -9
- package/es/src/components/form/src/checkbox.d.ts +7 -8
- package/es/src/components/form/src/date.d.ts +7 -8
- package/es/src/components/form/src/index.d.ts +4 -3
- package/es/src/components/form/src/input-autocomplete.d.ts +7 -8
- package/es/src/components/form/src/input-number.d.ts +7 -8
- package/es/src/components/form/src/input.d.ts +7 -8
- package/es/src/components/form/src/radio.d.ts +7 -8
- package/es/src/components/form/src/rate.d.ts +6 -7
- package/es/src/components/form/src/select-v2.d.ts +27 -0
- package/es/src/components/form/src/select.d.ts +7 -9
- package/es/src/components/form/src/switch.d.ts +7 -8
- package/es/src/components/form/src/tree-select.d.ts +7 -19
- package/es/src/components/form/types/components.d.ts +40 -0
- package/es/src/components/form/types/index.d.ts +46 -21
- package/es/src/components/form/types/utils.d.ts +5 -0
- package/es/src/components/form/utils/index.d.ts +1 -0
- package/es/src/components/index.d.ts +2 -0
- package/es/src/components/table/hooks/index.d.ts +1 -1
- package/es/src/components/table/index.d.ts +13 -25270
- package/es/src/components/table/src/index.d.ts +14 -25272
- package/es/src/components/table/src/recuve-table-column.d.ts +14 -3
- package/es/src/components/table/types/index.d.ts +26 -39
- package/es/src/components/table-page/index.d.ts +815 -0
- package/es/src/components/table-page/src/index.d.ts +816 -0
- package/es/src/hooks/TablePage/index.d.ts +55 -0
- package/{lib/src/hooks/useTablePage → es/src/hooks/TablePage}/types/index.d.ts +1 -2
- package/es/src/index.d.ts +3 -3
- package/es/src/utils/tools.d.ts +1 -1
- package/es/src/views/test-table-page/types/index.d.ts +24 -0
- package/es/style.css +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/src/components/dialog/index.d.ts +4 -0
- package/lib/src/components/dialog/src/drag.d.ts +5 -0
- package/lib/src/components/dialog/src/index.d.ts +3 -0
- package/lib/src/components/dialog/src/type.d.ts +15 -0
- package/lib/src/components/dialog/types/index.d.ts +10 -0
- package/lib/src/components/form/index.d.ts +4 -3
- package/lib/src/components/form/src/cascader.d.ts +7 -9
- package/lib/src/components/form/src/checkbox.d.ts +7 -8
- package/lib/src/components/form/src/date.d.ts +7 -8
- package/lib/src/components/form/src/index.d.ts +4 -3
- package/lib/src/components/form/src/input-autocomplete.d.ts +7 -8
- package/lib/src/components/form/src/input-number.d.ts +7 -8
- package/lib/src/components/form/src/input.d.ts +7 -8
- package/lib/src/components/form/src/radio.d.ts +7 -8
- package/lib/src/components/form/src/rate.d.ts +6 -7
- package/lib/src/components/form/src/select-v2.d.ts +27 -0
- package/lib/src/components/form/src/select.d.ts +7 -9
- package/lib/src/components/form/src/switch.d.ts +7 -8
- package/lib/src/components/form/src/tree-select.d.ts +7 -19
- package/lib/src/components/form/types/components.d.ts +40 -0
- package/lib/src/components/form/types/index.d.ts +46 -21
- package/lib/src/components/form/types/utils.d.ts +5 -0
- package/lib/src/components/form/utils/index.d.ts +1 -0
- package/lib/src/components/index.d.ts +2 -0
- package/lib/src/components/table/hooks/index.d.ts +1 -1
- package/lib/src/components/table/index.d.ts +13 -25270
- package/lib/src/components/table/src/index.d.ts +14 -25272
- package/lib/src/components/table/src/recuve-table-column.d.ts +14 -3
- package/lib/src/components/table/types/index.d.ts +26 -39
- package/lib/src/components/table-page/index.d.ts +815 -0
- package/lib/src/components/table-page/src/index.d.ts +816 -0
- package/lib/src/hooks/TablePage/index.d.ts +55 -0
- package/{es/src/hooks/useTablePage → lib/src/hooks/TablePage}/types/index.d.ts +1 -2
- package/lib/src/index.d.ts +3 -3
- package/lib/src/utils/tools.d.ts +1 -1
- package/lib/src/views/test-table-page/types/index.d.ts +24 -0
- package/lib/style.css +1 -1
- package/package.json +87 -89
- package/es/packages/hooks/useTablePage/index.mjs.map +0 -1
- package/es/src/hooks/useTablePage/index.d.ts +0 -49
- package/lib/src/hooks/useTablePage/index.d.ts +0 -49
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getPropByPath as
|
|
3
|
-
import { treeNode as
|
|
4
|
-
import { Setting as
|
|
5
|
-
function
|
|
6
|
-
return typeof
|
|
1
|
+
import { defineComponent as $, ref as E, watch as F, nextTick as A, createVNode as n, Fragment as v, resolveComponent as u, mergeProps as x, withDirectives as P, resolveDirective as W, createTextVNode as T, computed as N, isVNode as m } from "vue";
|
|
2
|
+
import { getPropByPath as B, dataTransformRod as K } from "../../../utils/tools.mjs";
|
|
3
|
+
import { treeNode as S, allShow as I, treeProps as q, allowDrop as z, checkTree as G, nodeDragEnd as H } from "../hooks/index.mjs";
|
|
4
|
+
import { Setting as J, ArrowDown as M } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
|
|
5
|
+
function R(d) {
|
|
6
|
+
return typeof d == "function" || Object.prototype.toString.call(d) === "[object Object]" && !m(d);
|
|
7
7
|
}
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
for (const
|
|
11
|
-
|
|
12
|
-
return
|
|
13
|
-
},
|
|
14
|
-
R.value++, R.value === 1 && v.value && D(v.value, t.table.tableColumns);
|
|
15
|
-
}, J = {
|
|
8
|
+
const Q = (d) => {
|
|
9
|
+
const p = {};
|
|
10
|
+
for (const s in d)
|
|
11
|
+
s !== "children" && (p[s] = d[s]);
|
|
12
|
+
return p;
|
|
13
|
+
}, U = {
|
|
16
14
|
index: 60,
|
|
17
15
|
selection: 40,
|
|
18
16
|
expand: 40
|
|
19
|
-
},
|
|
17
|
+
}, ee = /* @__PURE__ */ $({
|
|
20
18
|
name: "dinert-recuve-table-column",
|
|
21
19
|
props: {
|
|
22
20
|
onlyClass: {
|
|
@@ -33,211 +31,250 @@ const v = N(), R = N(0), z = (t) => {
|
|
|
33
31
|
tableColumns: {
|
|
34
32
|
type: Array,
|
|
35
33
|
default: () => []
|
|
34
|
+
},
|
|
35
|
+
defaultCheckedKeys: {
|
|
36
|
+
type: Array,
|
|
37
|
+
default: () => []
|
|
36
38
|
}
|
|
37
39
|
},
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
emits: ["CheckedChange"],
|
|
41
|
+
setup(d, {
|
|
42
|
+
emit: p
|
|
43
|
+
}) {
|
|
44
|
+
const s = E();
|
|
45
|
+
return F(() => {
|
|
40
46
|
var o;
|
|
41
|
-
return (o =
|
|
47
|
+
return (o = d.table) == null ? void 0 : o.key;
|
|
42
48
|
}, () => {
|
|
43
|
-
|
|
49
|
+
A(() => {
|
|
44
50
|
var o;
|
|
45
|
-
|
|
51
|
+
s.value && S(s.value, (o = d.table) == null ? void 0 : o.tableColumns);
|
|
46
52
|
});
|
|
47
53
|
}, {
|
|
48
54
|
immediate: !0
|
|
49
55
|
}), {
|
|
50
|
-
settingRender: (o) =>
|
|
51
|
-
value: o.popoverValue
|
|
52
|
-
onBeforeEnter: () => G(o)
|
|
56
|
+
settingRender: (o) => n(u("el-popover"), {
|
|
57
|
+
value: o.popoverValue
|
|
53
58
|
}, {
|
|
54
59
|
default: () => {
|
|
55
|
-
var
|
|
56
|
-
return
|
|
60
|
+
var k;
|
|
61
|
+
return n("ul", {
|
|
57
62
|
class: "el-popover-classify"
|
|
58
|
-
}, [
|
|
63
|
+
}, [n("li", null, [n(u("el-button"), {
|
|
59
64
|
class: "allSelect",
|
|
60
|
-
|
|
65
|
+
link: !0,
|
|
61
66
|
type: "primary",
|
|
62
|
-
onClick: () => {
|
|
67
|
+
onClick: async () => {
|
|
63
68
|
var a;
|
|
64
|
-
return
|
|
69
|
+
return I(s.value, ((a = o.table) == null ? void 0 : a.tableColumns) || []);
|
|
65
70
|
}
|
|
66
71
|
}, {
|
|
67
|
-
default: () => [
|
|
68
|
-
})]),
|
|
69
|
-
ref:
|
|
72
|
+
default: () => [T("全选")]
|
|
73
|
+
})]), n(u("el-tree"), {
|
|
74
|
+
ref: s,
|
|
70
75
|
draggable: !0,
|
|
71
|
-
data: (
|
|
76
|
+
data: (k = o.table) == null ? void 0 : k.tableColumns,
|
|
72
77
|
"default-expand-all": !0,
|
|
78
|
+
defaultCheckedKeys: o.defaultCheckedKeys,
|
|
73
79
|
"show-checkbox": !0,
|
|
74
80
|
"node-key": "prop",
|
|
75
|
-
props:
|
|
76
|
-
allowDrop:
|
|
77
|
-
onCheckChange:
|
|
78
|
-
|
|
81
|
+
props: q,
|
|
82
|
+
allowDrop: z,
|
|
83
|
+
onCheckChange: async (a, c, b) => {
|
|
84
|
+
await G(a, c, b), p("CheckedChange", a, c, b);
|
|
85
|
+
},
|
|
86
|
+
onNodeDragEnd: (a, c) => H(a, c, s.value)
|
|
79
87
|
}, {
|
|
80
88
|
default: ({
|
|
81
89
|
data: a
|
|
82
|
-
}) =>
|
|
90
|
+
}) => n("div", {
|
|
83
91
|
class: "text-dot tree-item"
|
|
84
|
-
}, [
|
|
92
|
+
}, [n(u("el-tooltip"), {
|
|
85
93
|
content: a.label,
|
|
86
94
|
placement: "top",
|
|
87
95
|
disabled: a.label && a.label.length < 8
|
|
88
96
|
}, {
|
|
89
|
-
default: () =>
|
|
97
|
+
default: () => n("span", null, [a.label])
|
|
90
98
|
})])
|
|
91
99
|
})]);
|
|
92
100
|
},
|
|
93
|
-
reference: () =>
|
|
101
|
+
reference: () => n(u("el-icon"), {
|
|
94
102
|
class: "setting-icon"
|
|
95
103
|
}, {
|
|
96
|
-
default: () => [
|
|
104
|
+
default: () => [n(J, null, null)]
|
|
97
105
|
})
|
|
98
106
|
}),
|
|
99
|
-
moreRender: (o,
|
|
107
|
+
moreRender: (o, k, {
|
|
100
108
|
value: a,
|
|
101
|
-
scope:
|
|
102
|
-
isSlotValue:
|
|
103
|
-
slotValue:
|
|
109
|
+
scope: c,
|
|
110
|
+
isSlotValue: b,
|
|
111
|
+
slotValue: V
|
|
104
112
|
}) => {
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return Object.keys(
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
key:
|
|
112
|
-
...
|
|
113
|
-
sort: typeof
|
|
114
|
-
}),
|
|
115
|
-
}),
|
|
113
|
+
const O = o.operations || {}, h = N(() => {
|
|
114
|
+
let l = 0;
|
|
115
|
+
const t = [];
|
|
116
|
+
return Object.keys(O).forEach((i) => {
|
|
117
|
+
const r = O[i];
|
|
118
|
+
(typeof r.show != "function" && [!0, void 0].includes(r.show) || typeof r.show == "function" && [!0, void 0].includes(r.show(c, o, r))) && t.push({
|
|
119
|
+
key: i,
|
|
120
|
+
...r,
|
|
121
|
+
sort: typeof r.sort > "u" ? l : r.sort
|
|
122
|
+
}), l += 10;
|
|
123
|
+
}), t.sort((i, r) => i.sort - r.sort), t;
|
|
116
124
|
});
|
|
117
|
-
let
|
|
118
|
-
|
|
119
|
-
const
|
|
120
|
-
return
|
|
121
|
-
const
|
|
122
|
-
return l(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
},
|
|
127
|
-
|
|
125
|
+
let y = o.maxOperations || 3;
|
|
126
|
+
y = h.value.length > y ? y - 1 : y;
|
|
127
|
+
const f = N(() => h.value.slice(0, y)), w = N(() => h.value.slice(y, h.value.length));
|
|
128
|
+
return h.value && h.value.length ? n(v, null, [f.value.map((l) => {
|
|
129
|
+
const t = typeof l.message == "function" ? l.message(c, o, l) : l.message;
|
|
130
|
+
return l.key === "delete" ? n(u("el-popconfirm"), x({
|
|
131
|
+
title: "是否删除该数据"
|
|
132
|
+
}, {
|
|
133
|
+
...l.confirm
|
|
134
|
+
}, {
|
|
135
|
+
onConfirm: () => l.click && l.click(c, o, l)
|
|
136
|
+
}), {
|
|
137
|
+
reference: () => n(u("el-button"), x({
|
|
138
|
+
...l,
|
|
139
|
+
type: l.type || "primary",
|
|
140
|
+
link: l.link === void 0 ? !0 : l.link
|
|
141
|
+
}, {
|
|
142
|
+
key: l.key
|
|
143
|
+
}), R(t) ? t : {
|
|
144
|
+
default: () => [t]
|
|
145
|
+
})
|
|
146
|
+
}) : n(u("el-button"), x({
|
|
147
|
+
...l,
|
|
148
|
+
type: l.type || "primary",
|
|
149
|
+
link: l.link === void 0 ? !0 : l.link
|
|
150
|
+
}, {
|
|
151
|
+
onClick: () => l.click && l.click(c, o, l),
|
|
152
|
+
key: l.key
|
|
153
|
+
}), R(t) ? t : {
|
|
154
|
+
default: () => [t]
|
|
128
155
|
});
|
|
129
|
-
}),
|
|
156
|
+
}), w.value.length && h.value.length > y && n(u("el-dropdown"), {
|
|
130
157
|
teleported: !0,
|
|
131
|
-
onCommand: (
|
|
158
|
+
onCommand: (l) => l.click && l.click(c, o, l)
|
|
132
159
|
}, {
|
|
133
|
-
default: () =>
|
|
160
|
+
default: () => n(u("el-button"), {
|
|
134
161
|
type: "primary",
|
|
135
|
-
|
|
162
|
+
link: !0,
|
|
163
|
+
text: !0
|
|
136
164
|
}, {
|
|
137
|
-
default: () => [
|
|
138
|
-
default: () => [
|
|
165
|
+
default: () => [T("更多"), n(u("el-icon"), null, {
|
|
166
|
+
default: () => [n(M, null, null)]
|
|
139
167
|
})]
|
|
140
168
|
}),
|
|
141
169
|
dropdown: () => {
|
|
142
|
-
let
|
|
143
|
-
return
|
|
144
|
-
const
|
|
145
|
-
return
|
|
146
|
-
command:
|
|
147
|
-
},
|
|
148
|
-
default: () => [
|
|
170
|
+
let l;
|
|
171
|
+
return n(u("el-dropdown-menu"), null, R(l = w.value.map((t) => {
|
|
172
|
+
const i = typeof t.message == "function" ? t.message(c, o, t) : t.message;
|
|
173
|
+
return n(u("el-dropdown-item"), {
|
|
174
|
+
command: t
|
|
175
|
+
}, R(i) ? i : {
|
|
176
|
+
default: () => [i]
|
|
149
177
|
});
|
|
150
|
-
})) ?
|
|
151
|
-
default: () => [
|
|
178
|
+
})) ? l : {
|
|
179
|
+
default: () => [l]
|
|
152
180
|
});
|
|
153
181
|
}
|
|
154
|
-
}) || null]) :
|
|
155
|
-
class: "cell-item"
|
|
156
|
-
}, [
|
|
182
|
+
}) || null]) : n("div", {
|
|
183
|
+
class: "cell-item-text"
|
|
184
|
+
}, [b && V || a]);
|
|
157
185
|
}
|
|
158
186
|
};
|
|
159
187
|
},
|
|
160
188
|
render() {
|
|
161
|
-
const
|
|
162
|
-
return
|
|
189
|
+
const d = this.$slots, p = d.default, s = d.header;
|
|
190
|
+
return n(v, null, [
|
|
163
191
|
// eslint-disable-next-line array-callback-return, consistent-return
|
|
164
192
|
this.tableColumns && this.tableColumns.map((e) => {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
193
|
+
var w;
|
|
194
|
+
let g = typeof e.show == "function" ? e.show(e) : e.show;
|
|
195
|
+
g = g === void 0 || g === !0;
|
|
196
|
+
const o = e.checked === void 0 || e.checked === !0, k = !["index", "selection", "expand"].includes(e.type), a = e.prop === "operations" && e.fixed === void 0 ? "right" : e.fixed, c = e.showOverflowTooltip === void 0 && e.prop !== "operations" ? !0 : e.showOverflowTooltip, b = `${e.prop || ""} ${e.className || ""} ${e.setting ? "setting" : ""}`;
|
|
197
|
+
let V = e.prop === "operations" && e.align === void 0 ? "center" : e.align;
|
|
198
|
+
const O = e.prop === "operations" && e.width === void 0 ? 200 : e.width, h = e.formatter && typeof e.formatter == "function", y = Q(e);
|
|
199
|
+
let D = 0;
|
|
200
|
+
const f = (w = e.prop) == null ? void 0 : w.toLocaleLowerCase();
|
|
201
|
+
if (f != null && f.includes("time") ? D = 170 : (f != null && f.includes("status") || f != null && f.includes("state")) && (D = 80, V = e.align || "center"), g && o && k)
|
|
202
|
+
return n(u("el-table-column"), x(y, {
|
|
170
203
|
key: e.prop,
|
|
171
204
|
fixed: a,
|
|
172
|
-
"show-overflow-tooltip":
|
|
173
|
-
className:
|
|
174
|
-
width:
|
|
175
|
-
|
|
205
|
+
"show-overflow-tooltip": c,
|
|
206
|
+
className: b,
|
|
207
|
+
width: O,
|
|
208
|
+
minWidth: e.minWidth || D,
|
|
209
|
+
align: V
|
|
176
210
|
}), {
|
|
177
|
-
default: (
|
|
178
|
-
var
|
|
179
|
-
const
|
|
180
|
-
...
|
|
211
|
+
default: (l) => {
|
|
212
|
+
var j;
|
|
213
|
+
const t = B(l.row, e.prop || ""), i = K(t, (j = this.table) == null ? void 0 : j.errData), r = p == null ? void 0 : p({
|
|
214
|
+
...l,
|
|
181
215
|
prop: e.prop
|
|
182
|
-
}),
|
|
183
|
-
if (
|
|
184
|
-
const
|
|
185
|
-
return
|
|
216
|
+
}), C = r && r[0] && r[0].children;
|
|
217
|
+
if (h) {
|
|
218
|
+
const _ = e.formatter && e.formatter(l, e, t, l.$index);
|
|
219
|
+
return n(v, null, [C ? n("div", {
|
|
186
220
|
class: "cell-item"
|
|
187
|
-
}, [
|
|
188
|
-
...
|
|
221
|
+
}, [p == null ? void 0 : p({
|
|
222
|
+
...l,
|
|
189
223
|
prop: e.prop
|
|
190
|
-
})]) :
|
|
191
|
-
class: "cell-item"
|
|
192
|
-
|
|
193
|
-
}, null), l(s("dinert-recuve-table-column"), {
|
|
224
|
+
})]) : P(n("div", {
|
|
225
|
+
class: "cell-item"
|
|
226
|
+
}, null), [[W("dompurify-html"), _]]), n(u("dinert-recuve-table-column"), {
|
|
194
227
|
table: this.table,
|
|
195
228
|
key: e.prop,
|
|
196
229
|
tableColumns: e.children,
|
|
197
230
|
"popover-value": this.popoverValue,
|
|
198
231
|
"only-class": this.onlyClass
|
|
199
|
-
},
|
|
232
|
+
}, d)]);
|
|
200
233
|
} else
|
|
201
|
-
return
|
|
234
|
+
return n(v, null, [n("div", {
|
|
202
235
|
class: "cell-item"
|
|
203
236
|
}, [this.moreRender(e, this, {
|
|
204
|
-
value:
|
|
205
|
-
scope:
|
|
206
|
-
isSlotValue:
|
|
207
|
-
slotValue:
|
|
208
|
-
})]),
|
|
237
|
+
value: i,
|
|
238
|
+
scope: l,
|
|
239
|
+
isSlotValue: C,
|
|
240
|
+
slotValue: r
|
|
241
|
+
})]), n(u("dinert-recuve-table-column"), {
|
|
209
242
|
table: this.table,
|
|
210
243
|
key: e.prop,
|
|
211
244
|
tableColumns: e.children,
|
|
212
245
|
"popover-value": this.popoverValue,
|
|
213
246
|
"only-class": this.onlyClass
|
|
214
|
-
},
|
|
247
|
+
}, d)]);
|
|
215
248
|
},
|
|
216
|
-
header: (
|
|
217
|
-
var
|
|
218
|
-
const
|
|
219
|
-
|
|
249
|
+
header: (l) => {
|
|
250
|
+
var r, C;
|
|
251
|
+
const t = s == null ? void 0 : s({
|
|
252
|
+
...l,
|
|
220
253
|
data: e,
|
|
221
|
-
|
|
222
|
-
}),
|
|
223
|
-
return
|
|
254
|
+
prop: e.prop
|
|
255
|
+
}), i = t && t[0] && t[0].children;
|
|
256
|
+
return s ? n(v, null, [T(" "), n("span", null, [i ? s == null ? void 0 : s({
|
|
257
|
+
...l,
|
|
258
|
+
data: e,
|
|
259
|
+
prop: e.prop
|
|
260
|
+
}) : l.column.label]), e.setting && ((r = this.table) == null ? void 0 : r.setting) !== !1 && this.settingRender(this)]) : n(v, null, [n("span", null, [l.column.label]), e.setting && ((C = this.table) == null ? void 0 : C.setting) !== !1 && this.settingRender(this)]);
|
|
224
261
|
}
|
|
225
262
|
});
|
|
226
|
-
if (
|
|
227
|
-
const
|
|
228
|
-
return
|
|
263
|
+
if (g && o) {
|
|
264
|
+
const l = e.align === void 0 ? "center" : "left", t = e.width === void 0 ? U[e.type || ""] || 60 : e.width;
|
|
265
|
+
return n(u("el-table-column"), x(e, {
|
|
229
266
|
key: e.prop,
|
|
230
267
|
fixed: a,
|
|
231
|
-
align:
|
|
268
|
+
align: l,
|
|
232
269
|
"reserve-selection": e.reserveSelection,
|
|
233
|
-
width:
|
|
234
|
-
}),
|
|
270
|
+
width: t
|
|
271
|
+
}), this.$slots);
|
|
235
272
|
}
|
|
236
273
|
})
|
|
237
274
|
]);
|
|
238
275
|
}
|
|
239
276
|
});
|
|
240
277
|
export {
|
|
241
|
-
|
|
278
|
+
ee as default
|
|
242
279
|
};
|
|
243
280
|
//# sourceMappingURL=recuve-table-column.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recuve-table-column.mjs","sources":["../../../../../packages/components/table/src/recuve-table-column.tsx"],"sourcesContent":["import {defineComponent, watch, ref, nextTick, computed} from 'vue'\n\nimport {getPropByPath, dataTransformRod, escapeHTML} from '@packages/utils/tools'\nimport {treeNode, allowDrop, checkTree, nodeDragEnd, allShow, treeProps} from '@packages/components/table/hooks'\nimport {Setting, ArrowDown} from '@element-plus/icons-vue'\nimport type {TableColumnCtx} from 'element-plus'\n\n\nimport type Node from 'element-plus/es/components/tree/src/model/node'\nimport type {\n RecuveTableColumnProps,\n RewriteTableProps,\n TablePageProps,\n RewriteTableColumnCtx,\n FunctionsProps\n} from '@packages/components/table/types/index'\n\nimport type {PropType} from 'vue'\n\nimport type {ElSelect} from 'element-plus'\n\nconst selectTable = ref<InstanceType<typeof ElSelect>>()\n\nconst popoverIndex = ref(0)\n\nconst filterColumn = (column: any) => {\n const obj: any = {}\n for (const prop in column) {\n if (prop !== 'children') {\n obj[prop] = column[prop]\n }\n }\n return obj\n}\n\nconst treeBeforeEnter = (props: TablePageProps) => {\n popoverIndex.value++\n if (popoverIndex.value === 1 && selectTable.value) {\n treeNode(selectTable.value, props.table.tableColumns)\n }\n}\n\nconst mapWidth: Record<string, any> = {\n index: 60,\n selection: 40,\n expand: 40\n}\n\n\nexport default defineComponent({\n name: 'dinert-recuve-table-column',\n props: {\n onlyClass: {\n type: String,\n default: ''\n },\n popoverValue: {\n type: Boolean,\n default: false\n },\n table: {\n type: Object as PropType<RewriteTableProps>,\n },\n tableColumns: {\n type: Array as PropType<RewriteTableColumnCtx[]>,\n default: () => ([])\n }\n },\n setup(props) {\n\n watch(() => props.table?.key, () => {\n nextTick(() => {\n selectTable.value && treeNode(selectTable.value, props.table?.tableColumns)\n })\n }, {\n immediate: true\n })\n\n const settingRender = (props: RecuveTableColumnProps) => {\n return (\n <el-popover\n value={props.popoverValue}\n onBeforeEnter={() => treeBeforeEnter((props as TablePageProps))}\n v-slots={\n {\n default: () => (\n <ul class=\"el-popover-classify\">\n <li>\n <el-link class=\"allSelect\" underline={false}\n type={'primary'} onClick={() => allShow(selectTable.value, props.table?.tableColumns || [])}\n >全选</el-link>\n </li>\n <el-tree\n ref={selectTable}\n draggable\n data={props.table?.tableColumns}\n default-expand-all\n show-checkbox\n node-key={'prop'}\n props={treeProps}\n allowDrop={allowDrop}\n onCheckChange={checkTree}\n onNodeDragEnd={(e: Node) => nodeDragEnd(e, (selectTable.value as any))}\n v-slots={\n {\n default: ({data}: {data: Node}) => (\n <div class=\"text-dot tree-item\">\n <el-tooltip content={data.label}\n placement={'top'}\n disabled={data.label && data.label.length < 8}\n v-slots={\n {\n default: () => (<span>{ data.label }</span>)\n }\n }\n >\n </el-tooltip>\n </div>\n )\n }\n }\n >\n\n </el-tree>\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 const moreRender = (column: RewriteTableColumnCtx, _this: any, {\n value,\n scope,\n isSlotValue,\n slotValue\n }: any) => {\n const itemFunc = column.functions || {}\n const functions = computed(() => {\n const result: any = []\n let index = 0\n Object.keys((itemFunc)).forEach(key => {\n const value = itemFunc[key]\n result.push({\n key: key,\n ...value,\n sort: typeof value.sort === 'undefined' ? index : value.sort,\n })\n index++\n })\n\n result.sort((a: any, b: any) => {\n return a.sort - b.sort\n })\n return result\n })\n let maxOperations = column.maxOperations || 3\n const functionsLen = functions.value.length\n maxOperations = functionsLen > maxOperations ? maxOperations - 1 : maxOperations\n\n const defaultFunctions = computed(() => {\n const list = functions.value.slice(0, maxOperations)\n return list\n })\n\n const seniorFunctions = computed(() => {\n const list = functions.value.slice(maxOperations, functions.value.length)\n return list\n })\n\n\n if (functions.value && functions.value.length) {\n return (\n <>\n {defaultFunctions.value.map((item2: FunctionsProps) => {\n const message = typeof item2.message === 'function' ? item2.message(scope, column, item2) : item2.message\n return (\n <el-link type={item2.type || 'primary'} onClick={() => item2.click && item2.click(scope, column, item2)} key={item2.key}>{message}</el-link>\n )\n })}\n {(seniorFunctions.value.length && functions.value.length > maxOperations\n && <el-dropdown teleported={true}\n onCommand={(item: any) => (item.click && item.click(scope, column, item))}\n v-slots= {{\n default: () => {\n return (\n <el-link type=\"primary\" underline={false}>\n 更多<el-icon><ArrowDown /></el-icon>\n </el-link>\n )\n },\n dropdown: () => {\n\n return (\n <el-dropdown-menu>\n {\n seniorFunctions.value.map((item: any) => {\n const message = typeof item.message === 'function' ? item.message(scope, column, item) : item.message\n\n return (\n <el-dropdown-item command={item}>{message}</el-dropdown-item>\n )\n })\n }\n </el-dropdown-menu>\n )\n }\n }}>\n\n </el-dropdown>) || null\n\n }\n </>\n )\n }\n\n return <div class=\"cell-item\">{ (isSlotValue && slotValue) || value}</div>\n }\n\n return {\n settingRender,\n moreRender\n }\n },\n render() {\n const defaultSlot = this.$slots.default\n\n return (\n <>\n {\n // eslint-disable-next-line array-callback-return, consistent-return\n this.tableColumns && this.tableColumns.map(item => {\n let show = typeof item.show === 'function' ? item.show(item) : item.show\n show = item.show === undefined || item.show === true\n const checked = item.checked === undefined || item.checked === true\n const custom = !['index', 'selection', 'expand'].includes((item.type as string)) || item.custom\n const fixed = item.prop === 'operations' && item.fixed === undefined ? 'right' : item.fixed\n const showOverflowTooltip = item.showOverflowTooltip === undefined && item.prop !== 'operations' ? true : item.showOverflowTooltip\n const className = `${item.prop || ''} ${item.className || ''}`\n const align = item.prop === 'operations' && item.align === undefined ? 'center' : item.align\n const width = item.prop === 'operations' && item.width === undefined ? 200 : item.width\n const formatter = item.formatter && typeof item.formatter === 'function'\n const noChildItem = filterColumn(item)\n\n\n if (show && checked && custom) {\n return (\n <el-table-column\n {...noChildItem}\n key={item.prop}\n fixed={fixed}\n show-overflow-tooltip={showOverflowTooltip}\n className={className}\n width={width}\n align={align}\n v-slots= {{\n default: (scope: any) => {\n const deepValue = getPropByPath(scope.row, item.prop || '')\n const value = dataTransformRod(deepValue, this.table?.errData)\n\n const slotValue = defaultSlot?.({...scope, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n\n if (formatter) {\n const htmlValue = item.formatter && item.formatter(scope, (item as TableColumnCtx<any>), deepValue, scope.$index)\n const escapeValue = escapeHTML(htmlValue)\n\n return (\n <>\n {isSlotValue\n ? <div class=\"cell-item\">{ defaultSlot?.({...scope, prop: item.prop})}</div>\n : <div class=\"cell-item\" v-html={escapeValue}></div>}\n\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={defaultSlot}\n >\n </dinert-recuve-table-column>\n </>\n )\n } else {\n\n return (\n <>\n <div class=\"cell-item\">\n {this.moreRender(item, this, {\n value,\n scope,\n isSlotValue,\n slotValue\n })}\n </div>\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={defaultSlot}\n >\n </dinert-recuve-table-column>\n </>\n )\n }\n },\n header: (scope: any) => {\n\n const slotValue = defaultSlot?.({header: 'header_' + item.prop, data: item, ...scope})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n if (defaultSlot) {\n return (\n <> {(isSlotValue && slotValue) || <span>{scope.column.label}</span>}\n {item.setting && this.table?.setting !== false && this.settingRender((this as RecuveTableColumnProps))}\n </>\n )\n } else {\n return (\n <>\n <span>{scope.column.label}</span>\n {item.setting && this.table?.setting !== false && this.settingRender(this as RecuveTableColumnProps)}\n </>\n )\n }\n }\n }}\n >\n\n\n </el-table-column>\n )\n } else if (show && checked) {\n const align = item.align === undefined ? 'center' : 'left'\n const width = item.width === undefined ? mapWidth[item.type || ''] || 60 : item.width\n\n return (<el-table-column\n {...item}\n key={item.prop}\n fixed={fixed}\n align={align}\n reserve-selection={item.reserveSelection}\n width={width}\n >\n </el-table-column>)\n }\n\n })\n }\n\n </>\n )\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","selectTable","ref","popoverIndex","filterColumn","column","obj","prop","treeBeforeEnter","props","value","treeNode","table","tableColumns","mapWidth","index","selection","expand","defineComponent","name","onlyClass","type","String","default","popoverValue","Boolean","Array","setup","watch","key","nextTick","immediate","settingRender","_createVNode","_resolveComponent","onBeforeEnter","onClick","allShow","_createTextVNode","treeProps","allowDrop","checkTree","e","nodeDragEnd","data","label","length","reference","Setting","moreRender","_this","scope","isSlotValue","slotValue","itemFunc","functions","computed","result","keys","forEach","push","sort","a","b","maxOperations","defaultFunctions","slice","seniorFunctions","_Fragment","map","item2","message","click","item","ArrowDown","dropdown","_slot","render","defaultSlot","$slots","show","undefined","checked","custom","includes","fixed","showOverflowTooltip","className","align","width","formatter","noChildItem","_mergeProps","deepValue","getPropByPath","row","dataTransformRod","_a","errData","children","htmlValue","$index","escapeValue","escapeHTML","header","setting","_b","reserveSelection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recuve-table-column.mjs","sources":["../../../../../packages/components/table/src/recuve-table-column.tsx"],"sourcesContent":["import {defineComponent, watch, ref, nextTick, computed} from 'vue'\n\nimport {getPropByPath, dataTransformRod} from '@packages/utils/tools'\nimport {treeNode, allowDrop, checkTree, nodeDragEnd, allShow, treeProps} from '@packages/components/table/hooks'\nimport {Setting, ArrowDown} from '@element-plus/icons-vue'\nimport type {TableColumnCtx} from 'element-plus'\n\n\nimport type Node from 'element-plus/es/components/tree/src/model/node'\nimport type {\n RecuveTableColumnProps,\n RewriteTableProps,\n RewriteTableColumnCtx,\n OperationsProps\n} from '@packages/components/table/types/index'\n\nimport type {PropType} from 'vue'\n\nimport type {ElSelect} from 'element-plus'\n\n\nconst filterColumn = (column: any) => {\n const obj: any = {}\n for (const prop in column) {\n if (prop !== 'children') {\n obj[prop] = column[prop]\n }\n }\n return obj\n}\n\nconst mapWidth: Record<string, any> = {\n index: 60,\n selection: 40,\n expand: 40\n}\n\n\nexport default defineComponent({\n name: 'dinert-recuve-table-column',\n props: {\n onlyClass: {\n type: String,\n default: ''\n },\n popoverValue: {\n type: Boolean,\n default: false\n },\n table: {\n type: Object as PropType<RewriteTableProps>,\n },\n tableColumns: {\n type: Array as PropType<RewriteTableColumnCtx[]>,\n default: () => ([])\n },\n defaultCheckedKeys: {\n type: Array,\n default: () => ([])\n }\n },\n emits: ['CheckedChange'],\n setup(props, {emit}) {\n const selectTable = ref<InstanceType<typeof ElSelect>>()\n\n watch(() => props.table?.key, () => {\n nextTick(() => {\n selectTable.value && treeNode(selectTable.value, props.table?.tableColumns)\n })\n }, {\n immediate: true\n })\n const settingRender = (props: RecuveTableColumnProps) => {\n return (\n <el-popover\n value={props.popoverValue}\n v-slots={\n {\n default: () => (\n <ul class=\"el-popover-classify\">\n <li>\n <el-button class=\"allSelect\" link\n type={'primary'} onClick={async () => allShow(selectTable.value, props.table?.tableColumns || [])}\n >全选</el-button>\n </li>\n <el-tree\n ref={selectTable}\n draggable\n data={props.table?.tableColumns}\n default-expand-all\n defaultCheckedKeys={props.defaultCheckedKeys}\n show-checkbox\n node-key={'prop'}\n props={treeProps}\n allowDrop={allowDrop}\n onCheckChange={async (data: Node, checked: boolean, childChecked: boolean) => {\n // eslint-disable-next-line @typescript-eslint/await-thenable\n await checkTree(data, checked, childChecked)\n emit('CheckedChange', data, checked, childChecked)\n }}\n onNodeDragEnd={(currentNode: Node, targetNode: Node) => nodeDragEnd(currentNode, targetNode, (selectTable.value as any))}\n v-slots={\n {\n default: ({data}: {data: Node}) => (\n <div class=\"text-dot tree-item\">\n <el-tooltip content={data.label}\n placement={'top'}\n disabled={data.label && data.label.length < 8}\n v-slots={\n {\n default: () => (<span>{ data.label }</span>)\n }\n }\n >\n </el-tooltip>\n </div>\n )\n }\n }\n >\n\n </el-tree>\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 const moreRender = (column: RewriteTableColumnCtx, _this: any, {\n value,\n scope,\n isSlotValue,\n slotValue\n }: any) => {\n const itemOperations = column.operations || {}\n const operations = computed(() => {\n let index = 0\n const result: any = []\n Object.keys((itemOperations)).forEach(key => {\n const tempObj = itemOperations[key]\n if ((typeof tempObj.show !== 'function' && [true, undefined].includes(tempObj.show))\n || (typeof tempObj.show === 'function' && [true, undefined].includes(tempObj.show(scope, column, tempObj)))\n ) {\n result.push({\n key: key,\n ...tempObj,\n sort: typeof tempObj.sort === 'undefined' ? index : tempObj.sort,\n })\n }\n\n index += 10\n })\n\n result.sort((a: any, b: any) => {\n return a.sort - b.sort\n })\n return result\n })\n let maxOperations = 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\n if (operations.value && operations.value.length) {\n return (\n <>\n {defaultFunctions.value.map((item2: OperationsProps) => {\n const message = typeof item2.message === 'function' ? item2.message(scope, column, item2) : item2.message\n\n\n if ((item2 as any).key === 'delete') {\n\n return (\n <el-popconfirm title=\"是否删除该数据\" {...{...item2.confirm}} onConfirm={() => item2.click && item2.click(scope, column, item2)}>\n {{\n reference: () => {\n return (<el-button {...{\n ...item2,\n type: item2.type || 'primary',\n link: item2.link === undefined ? true : item2.link\n }}\n key={(item2 as any).key}>\n {message}\n </el-button>)\n }\n }}\n </el-popconfirm>\n\n )\n }\n return (<el-button {...{\n ...item2,\n type: item2.type || 'primary',\n link: item2.link === undefined ? true : item2.link\n }}\n onClick={() => item2.click && item2.click(scope, column, item2)}\n key={(item2 as any).key}>\n {message}\n </el-button>)\n\n })}\n\n {(seniorFunctions.value.length && operations.value.length > maxOperations\n && <el-dropdown teleported={true}\n onCommand={(item: any) => (item.click && item.click(scope, column, item))}\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\n return (\n <el-dropdown-menu>\n {\n seniorFunctions.value.map((item: any) => {\n const message = typeof item.message === 'function' ? item.message(scope, column, item) : item.message\n\n return (\n <el-dropdown-item command={item}>{message}</el-dropdown-item>\n )\n })\n }\n </el-dropdown-menu>\n )\n }\n }}>\n\n </el-dropdown>) || null\n\n }\n </>\n )\n }\n return <div class=\"cell-item-text\">{ (isSlotValue && slotValue) || value}</div>\n }\n\n return {\n settingRender,\n moreRender\n }\n },\n render() {\n const solts = this.$slots\n const defaultSlot = solts.default\n const headerSlot = solts.header\n return (\n <>\n {\n // eslint-disable-next-line array-callback-return, consistent-return\n this.tableColumns && this.tableColumns.map(item => {\n let show = typeof item.show === 'function' ? item.show(item) : item.show\n show = show === undefined || show === true\n const checked = item.checked === undefined || item.checked === true\n const custom = !['index', 'selection', 'expand'].includes((item.type as string))\n const fixed = item.prop === 'operations' && item.fixed === undefined ? 'right' : item.fixed\n const showOverflowTooltip = item.showOverflowTooltip === undefined && item.prop !== 'operations' ? true : item.showOverflowTooltip\n const className = `${item.prop || ''} ${item.className || ''} ${item.setting ? 'setting' : ''}`\n let align = item.prop === 'operations' && item.align === undefined ? 'center' : item.align\n const width = item.prop === 'operations' && item.width === undefined ? 200 : item.width\n const formatter = item.formatter && typeof item.formatter === 'function'\n const noChildItem = filterColumn(item)\n let minWidth = 0\n const propLowerCase = item.prop?.toLocaleLowerCase()\n if (propLowerCase?.includes('time')) {\n minWidth = 170\n } else if (propLowerCase?.includes('status') || propLowerCase?.includes('state')) {\n minWidth = 80\n align = item.align || 'center'\n }\n\n if (show && checked && custom) {\n return (\n <el-table-column\n {...noChildItem}\n key={item.prop}\n fixed={fixed}\n show-overflow-tooltip={showOverflowTooltip}\n className={className}\n width={width}\n minWidth={item.minWidth || minWidth}\n align={align}\n v-slots= {{\n default: (scope: any) => {\n const deepValue = getPropByPath(scope.row, item.prop || '')\n const value = dataTransformRod(deepValue, this.table?.errData)\n\n const slotValue = defaultSlot?.({...scope, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n\n if (formatter) {\n const htmlValue = item.formatter && item.formatter(scope, (item as TableColumnCtx<any>), deepValue, scope.$index)\n\n return (\n <>\n {isSlotValue\n ? <div class=\"cell-item\">{ defaultSlot?.({...scope, prop: item.prop})}</div>\n : <div class=\"cell-item\" v-dompurify-html={htmlValue}></div>}\n\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={solts}\n >\n </dinert-recuve-table-column>\n </>\n )\n } else {\n\n return (\n <>\n <div class=\"cell-item\">\n {this.moreRender(item, this, {\n value,\n scope,\n isSlotValue,\n slotValue\n })}\n </div>\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={solts}\n >\n </dinert-recuve-table-column>\n </>\n )\n }\n },\n header: (scope: any) => {\n const slotValue = headerSlot?.({...scope, data: item, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n if (headerSlot) {\n return (\n <> {<span>{isSlotValue ? headerSlot?.({...scope, data: item, prop: item.prop}) : scope.column.label}</span>}\n {item.setting && this.table?.setting !== false && this.settingRender((this as RecuveTableColumnProps))}\n </>\n )\n } else {\n return (\n <>\n <span>{scope.column.label}</span>\n {item.setting && this.table?.setting !== false && this.settingRender(this as RecuveTableColumnProps)}\n </>\n )\n }\n }\n }}\n >\n\n\n </el-table-column>\n )\n } else if (show && checked) {\n const align = item.align === undefined ? 'center' : 'left'\n const width = item.width === undefined ? mapWidth[item.type || ''] || 60 : item.width\n\n return (<el-table-column\n {...item}\n key={item.prop}\n fixed={fixed}\n align={align}\n reserve-selection={item.reserveSelection}\n width={width}\n v-slots={this.$slots}\n >\n </el-table-column>)\n }\n\n })\n }\n\n </>\n )\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","filterColumn","column","obj","prop","mapWidth","index","selection","expand","defineComponent","name","props","onlyClass","type","String","default","popoverValue","Boolean","table","tableColumns","Array","defaultCheckedKeys","emits","setup","emit","selectTable","ref","watch","key","nextTick","value","treeNode","immediate","settingRender","_createVNode","_resolveComponent","allShow","_createTextVNode","treeProps","allowDrop","data","checked","childChecked","checkTree","onNodeDragEnd","currentNode","targetNode","nodeDragEnd","label","length","reference","Setting","moreRender","_this","scope","isSlotValue","slotValue","itemOperations","operations","computed","result","keys","forEach","tempObj","show","undefined","includes","push","sort","a","b","maxOperations","defaultFunctions","slice","seniorFunctions","_Fragment","map","item2","message","_mergeProps","confirm","onConfirm","click","link","onClick","item","ArrowDown","dropdown","_slot","render","solts","$slots","defaultSlot","headerSlot","header","custom","fixed","showOverflowTooltip","className","setting","align","width","formatter","noChildItem","minWidth","propLowerCase","toLocaleLowerCase","deepValue","getPropByPath","row","dataTransformRod","_a","errData","children","htmlValue","$index","_withDirectives","_resolveDirective","_b","reserveSelection"],"mappings":"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"}
|