yxuse 1.0.48 → 1.0.50
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/lib/api.cjs.js +1 -1
- package/lib/api.es.js +5 -4
- package/lib/api.es.js.map +1 -1
- package/lib/components.cjs.js +2 -0
- package/lib/components.cjs.js.map +1 -0
- package/lib/components.es.js +6 -0
- package/lib/components.es.js.map +1 -0
- package/lib/icons.cjs.js +2 -0
- package/lib/icons.cjs.js.map +1 -0
- package/lib/icons.es.js +5 -0
- package/lib/icons.es.js.map +1 -0
- package/lib/index.cjs.js +1 -1
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.cjs2.js +1 -1
- package/lib/index.cjs2.js.map +1 -1
- package/lib/index.cjs3.js +1 -1
- package/lib/index.cjs3.js.map +1 -1
- package/lib/index.cjs4.js +1 -1
- package/lib/index.cjs4.js.map +1 -1
- package/lib/index.cjs5.js +1 -34
- package/lib/index.cjs5.js.map +1 -1
- package/lib/index.cjs6.js +1 -1
- package/lib/index.cjs6.js.map +1 -1
- package/lib/index.cjs7.js +4 -0
- package/lib/index.cjs7.js.gz +0 -0
- package/lib/index.cjs7.js.map +1 -0
- package/lib/index.es.js +14 -9
- package/lib/index.es.js.map +1 -1
- package/lib/index.es2.js +16 -4
- package/lib/index.es2.js.map +1 -1
- package/lib/index.es3.js +7 -28
- package/lib/index.es3.js.map +1 -1
- package/lib/index.es4.js +8 -240
- package/lib/index.es4.js.map +1 -1
- package/lib/index.es5.js +243 -9316
- package/lib/index.es5.js.map +1 -1
- package/lib/index.es6.js +56 -136
- package/lib/index.es6.js.map +1 -1
- package/lib/index.es7.js +3766 -0
- package/lib/index.es7.js.gz +0 -0
- package/lib/index.es7.js.map +1 -0
- package/lib/theme.cjs.js +1 -1
- package/lib/theme.es.js +1 -1
- package/lib/utils.cjs.js +1 -1
- package/lib/utils.es.js +6 -2
- package/lib/utils.es.js.map +1 -1
- package/lib/vue.runtime.esm-bundler.cjs.js +9 -0
- package/lib/vue.runtime.esm-bundler.cjs.js.gz +0 -0
- package/lib/vue.runtime.esm-bundler.cjs.js.map +1 -0
- package/lib/vue.runtime.esm-bundler.es.js +3754 -0
- package/lib/vue.runtime.esm-bundler.es.js.gz +0 -0
- package/lib/vue.runtime.esm-bundler.es.js.map +1 -0
- package/package.json +18 -10
- package/lib/index.cjs5.js.gz +0 -0
- package/lib/index.es5.js.gz +0 -0
- package/lib/style.css +0 -1
- package/lib/style.css.gz +0 -0
package/lib/index.es6.js
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
try {
|
|
4
|
-
e(l.next(t));
|
|
5
|
-
} catch (u) {
|
|
6
|
-
s(u);
|
|
7
|
-
}
|
|
8
|
-
}, a = (t) => {
|
|
9
|
-
try {
|
|
10
|
-
e(l.throw(t));
|
|
11
|
-
} catch (u) {
|
|
12
|
-
s(u);
|
|
13
|
-
}
|
|
14
|
-
}, e = (t) => t.done ? i(t.value) : Promise.resolve(t.value).then(o, a);
|
|
15
|
-
e((l = l.apply(r, n)).next());
|
|
16
|
-
});
|
|
17
|
-
import { d as y, o as d, c as g, w as c, a as v, F as N, r as T, b as w, e as _, m, f as p, g as x, j as D, k as h, u as C, l as V, n as k, t as S } from "./index.es5.js";
|
|
18
|
-
const O = {
|
|
1
|
+
import { M as g, E as m, X as c, Q as w, O as d, _ as f, F as v, a1 as k, $ as x, Z as S, P as l, a2 as b, a0 as T } from "./vue.runtime.esm-bundler.es.js";
|
|
2
|
+
const C = {
|
|
19
3
|
tableData: {
|
|
20
4
|
type: Array,
|
|
21
5
|
require: !0
|
|
@@ -43,31 +27,31 @@ const O = {
|
|
|
43
27
|
default: "center",
|
|
44
28
|
require: !1
|
|
45
29
|
}
|
|
46
|
-
},
|
|
30
|
+
}, _ = /* @__PURE__ */ g({
|
|
47
31
|
__name: "DynamicComponents",
|
|
48
32
|
props: {
|
|
49
33
|
col: null,
|
|
50
34
|
row: null
|
|
51
35
|
},
|
|
52
|
-
setup(
|
|
53
|
-
const
|
|
54
|
-
return (
|
|
55
|
-
var
|
|
56
|
-
return
|
|
57
|
-
modelValue:
|
|
58
|
-
"onUpdate:modelValue":
|
|
59
|
-
var
|
|
60
|
-
return
|
|
36
|
+
setup(t) {
|
|
37
|
+
const a = t;
|
|
38
|
+
return (u, s) => {
|
|
39
|
+
var i, n, p;
|
|
40
|
+
return m(), c(f(`el-${(i = a.col) == null ? void 0 : i.type}`), d({
|
|
41
|
+
modelValue: t.row[(n = a.col) == null ? void 0 : n.prop],
|
|
42
|
+
"onUpdate:modelValue": s[0] || (s[0] = (e) => {
|
|
43
|
+
var r;
|
|
44
|
+
return t.row[(r = a.col) == null ? void 0 : r.prop] = e;
|
|
61
45
|
})
|
|
62
|
-
}, (
|
|
63
|
-
default:
|
|
46
|
+
}, (p = a.col) == null ? void 0 : p.config), {
|
|
47
|
+
default: w(() => {
|
|
64
48
|
var e;
|
|
65
49
|
return [
|
|
66
|
-
|
|
67
|
-
key:
|
|
68
|
-
label:
|
|
69
|
-
value:
|
|
70
|
-
}, null, 8, ["label", "value"]))), 128)) :
|
|
50
|
+
a.col.type === "select" ? (m(!0), v(x, { key: 0 }, k((e = a.col) == null ? void 0 : e.config.options, (r) => (m(), c(f("el-option"), {
|
|
51
|
+
key: r.value,
|
|
52
|
+
label: r.label,
|
|
53
|
+
value: r.value
|
|
54
|
+
}, null, 8, ["label", "value"]))), 128)) : S("", !0)
|
|
71
55
|
];
|
|
72
56
|
}),
|
|
73
57
|
_: 1
|
|
@@ -75,119 +59,55 @@ const O = {
|
|
|
75
59
|
};
|
|
76
60
|
}
|
|
77
61
|
});
|
|
78
|
-
function
|
|
79
|
-
return typeof
|
|
62
|
+
function j(t) {
|
|
63
|
+
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !T(t);
|
|
80
64
|
}
|
|
81
|
-
const
|
|
82
|
-
"operate-handle": (
|
|
83
|
-
},
|
|
65
|
+
const N = {
|
|
66
|
+
"operate-handle": (t, a) => !!(t || a)
|
|
67
|
+
}, O = /* @__PURE__ */ g({
|
|
84
68
|
name: "YxTable",
|
|
85
|
-
props:
|
|
86
|
-
emits:
|
|
87
|
-
setup(
|
|
88
|
-
attrs:
|
|
89
|
-
slots:
|
|
90
|
-
emit:
|
|
69
|
+
props: C,
|
|
70
|
+
emits: N,
|
|
71
|
+
setup(t, {
|
|
72
|
+
attrs: a,
|
|
73
|
+
slots: u,
|
|
74
|
+
emit: s
|
|
91
75
|
}) {
|
|
92
76
|
return () => {
|
|
93
|
-
const
|
|
94
|
-
var
|
|
95
|
-
return e.slotName && ((
|
|
96
|
-
},
|
|
97
|
-
align:
|
|
77
|
+
const i = (e, r) => {
|
|
78
|
+
var o;
|
|
79
|
+
return e.slotName && ((o = u[e.slotName]) == null ? void 0 : o.call(u, r));
|
|
80
|
+
}, n = t.columns.map((e) => l(b("el-table-column"), d(e, {
|
|
81
|
+
align: t.align
|
|
98
82
|
}), {
|
|
99
|
-
default: (
|
|
83
|
+
default: (r) => (e == null ? void 0 : e.renderType) === "operate" ? p(e, r) : e != null && e.renderType && (e == null ? void 0 : e.renderType) !== "operate" ? l(_, {
|
|
100
84
|
col: e,
|
|
101
|
-
row:
|
|
102
|
-
}, null) : (e == null ? void 0 : e.slotName) &&
|
|
103
|
-
})),
|
|
104
|
-
var
|
|
105
|
-
return
|
|
85
|
+
row: r.row
|
|
86
|
+
}, null) : (e == null ? void 0 : e.slotName) && i(e, r)
|
|
87
|
+
})), p = (e, r) => {
|
|
88
|
+
var o;
|
|
89
|
+
return l("div", {
|
|
106
90
|
class: "flex justify-center cursor-pointer"
|
|
107
|
-
}, [(
|
|
108
|
-
onClick: () =>
|
|
91
|
+
}, [(o = e.operate) == null ? void 0 : o.map((y) => l("span", {
|
|
92
|
+
onClick: () => s("operate-handle", y.key, r.row),
|
|
109
93
|
class: "mr-10 whitespace-nowrap"
|
|
110
|
-
}, [
|
|
94
|
+
}, [y.label]))]);
|
|
111
95
|
};
|
|
112
|
-
return
|
|
113
|
-
"row-key":
|
|
114
|
-
data:
|
|
115
|
-
border:
|
|
116
|
-
}),
|
|
117
|
-
default: () => [
|
|
96
|
+
return l("div", null, [l(b("el-table"), d(a, {
|
|
97
|
+
"row-key": t.rowKey,
|
|
98
|
+
data: t.tableData,
|
|
99
|
+
border: t.border
|
|
100
|
+
}), j(n) ? n : {
|
|
101
|
+
default: () => [n]
|
|
118
102
|
})]);
|
|
119
103
|
};
|
|
120
104
|
}
|
|
121
|
-
}),
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const a = yield V();
|
|
126
|
-
console.log(a);
|
|
127
|
-
}))();
|
|
128
|
-
const l = h([]), i = [
|
|
129
|
-
{ label: "展开行", type: "expand", slotName: "expand" },
|
|
130
|
-
{ label: "序号", type: "index" },
|
|
131
|
-
{ label: "id", prop: "id" },
|
|
132
|
-
{ label: "名字", prop: "name" },
|
|
133
|
-
{ label: "slot", prop: "slot", slotName: "testSlot" },
|
|
134
|
-
{
|
|
135
|
-
label: "time",
|
|
136
|
-
prop: "time",
|
|
137
|
-
formatter: ({ time: a }) => new Date(a).toLocaleString()
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
label: "input",
|
|
141
|
-
prop: "name",
|
|
142
|
-
renderType: "input",
|
|
143
|
-
formatter: ({ time: a }) => new Date(a).toLocaleString()
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
label: "select",
|
|
147
|
-
prop: "name",
|
|
148
|
-
renderType: "select",
|
|
149
|
-
config: {
|
|
150
|
-
options: [{ label: "test", value: "test" }]
|
|
151
|
-
}
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
label: "操作",
|
|
155
|
-
fixed: "right",
|
|
156
|
-
width: 200,
|
|
157
|
-
renderType: "operate",
|
|
158
|
-
operate: [
|
|
159
|
-
{ label: "修改", key: "change" },
|
|
160
|
-
{ label: "重置", key: "reset" },
|
|
161
|
-
{ label: "权限", key: "power" },
|
|
162
|
-
{ label: "删除", key: "del" }
|
|
163
|
-
]
|
|
164
|
-
}
|
|
165
|
-
], s = "uid";
|
|
166
|
-
for (let a = 0; a < 20; a++)
|
|
167
|
-
l.value.push({
|
|
168
|
-
id: a,
|
|
169
|
-
name: "123" + a,
|
|
170
|
-
uid: "test" + a,
|
|
171
|
-
time: Date.now(),
|
|
172
|
-
slot: "123"
|
|
173
|
-
});
|
|
174
|
-
const o = (a, e) => {
|
|
175
|
-
console.log(a, e);
|
|
176
|
-
};
|
|
177
|
-
return (a, e) => (d(), v("div", null, [
|
|
178
|
-
p(C(H), m({ tableData: l.value, columns: i, rowKey: s }, { onOperateHandle: o }), {
|
|
179
|
-
expand: c(({ row: t }) => [
|
|
180
|
-
k(S(JSON.stringify(t)), 1)
|
|
181
|
-
]),
|
|
182
|
-
testSlot: c(({ row: t }) => [
|
|
183
|
-
k(S(JSON.stringify(t)), 1)
|
|
184
|
-
]),
|
|
185
|
-
_: 1
|
|
186
|
-
}, 16)
|
|
187
|
-
]));
|
|
188
|
-
}
|
|
189
|
-
});
|
|
105
|
+
}), q = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
106
|
+
__proto__: null,
|
|
107
|
+
YxTable: O
|
|
108
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
190
109
|
export {
|
|
191
|
-
|
|
110
|
+
O as Y,
|
|
111
|
+
q as c
|
|
192
112
|
};
|
|
193
113
|
//# sourceMappingURL=index.es6.js.map
|
package/lib/index.es6.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es6.js","sources":["../packages/components/YxTable/interface/index.ts","../packages/components/YxTable/index.tsx","../example/table/index.vue"],"sourcesContent":["/*\r\n * @Author: WangXin\r\n * @Date: 2023-08-28 10:58:42\r\n * @LastEditors: WangXin\r\n * @LastEditTime: 2023-08-29 09:20:56\r\n * @FilePath: \\yxUse\\packages\\components\\YxTable\\interface\\index.ts\r\n * @Description:\r\n *\r\n * Copyright (c) 2023 by YuXing, All Rights Reserved.\r\n */\r\nimport type { PropType } from \"vue\";\r\nexport const yxTableProps = {\r\n\ttableData: {\r\n\t\ttype: Array as PropType<TableProps[\"tableData\"]>,\r\n\t\trequire: true\r\n\t},\r\n\trowKey: {\r\n\t\ttype: String,\r\n\t\trequire: true\r\n\t},\r\n\tcolumns: {\r\n\t\ttype: Array as PropType<TableColumn[]>,\r\n\t\trequire: true,\r\n\t\tdefault: () => []\r\n\t},\r\n\tsortHandle: {\r\n\t\ttype: String,\r\n\t\tdefault: \"\",\r\n\t\trequire: false\r\n\t},\r\n\tborder: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\talign: {\r\n\t\ttype: String,\r\n\t\tdefault: \"center\",\r\n\t\trequire: false\r\n\t}\r\n};\r\nexport interface TableProps {\r\n\t/**表格数据 */\r\n\ttableData: Array<any>;\r\n\trowKey: string;\r\n\tcolumns: TableColumn[];\r\n\tpageInfo?: PageInfo;\r\n\t/**对齐方式 */\r\n\talign?: string;\r\n\tborder?: boolean;\r\n\tsearchFormConfig?: FormConfig[];\r\n\tsearchParams?: { [key: string]: any };\r\n\t/**是否开启拖拽 */\r\n\tsort?: boolean;\r\n\tsortHandle?: string; //拖拽节点类名\r\n\tload?: Function;\r\n}\r\nexport interface FormConfig {\r\n\tlabel: string; //名称\r\n\ttype: string; //类型\r\n\tkey?: string; // 指定数据绑定的key\r\n\toptions?: Array<{ [key: string]: any }> | Function; //下拉框选项配置\r\n\twidth?: number; //文字宽度\r\n\tcomponentWidth?: string; //组件宽度\r\n\tdateType?: string; //日期渲染的类型\r\n\tinputType?: string; //文本框类型\r\n\tdisabled?: boolean; //是否禁用\r\n\tclearable?: boolean; //是否能清除\r\n}\r\nexport interface PageInfo {\r\n\tsize: number;\r\n\tcurrent: number;\r\n\ttotal: number;\r\n}\r\nexport interface TableColumn {\r\n\t/** 列的名字 */\r\n\tlabel?: string;\r\n\t/** 对应数据的key */\r\n\tprop?: string;\r\n\t/** 宽度 */\r\n\twidth?: number;\r\n\t/** 列的类型 */\r\n\ttype?: \"index\" | \"selection\" | \"expand\";\r\n\t/** 渲染类型 */\r\n\trenderType?: string;\r\n\t/** 操作栏 */\r\n\toperate?: any[];\r\n\t/** 固定栏 */\r\n\tfixed?: string;\r\n\t/** 开关打开的value */\r\n\tactiveValue?: string | number | boolean;\r\n\t/** 开关关闭的value */\r\n\tinactiveValue?: string | number | boolean;\r\n\t/** 对数据进行格式化 */\r\n\tformatter?: Function;\r\n\t/** 插槽名称 */\r\n\tslotName?: string;\r\n\t/** 动态组件配置 */\r\n\tconfig?: Record<string, any>;\r\n}\r\n","/*\r\n * @Author: WangXin\r\n * @Date: 2023-08-28 10:10:35\r\n * @LastEditors: WangXin\r\n * @LastEditTime: 2023-08-29 09:20:21\r\n * @FilePath: \\yxUse\\packages\\components\\YxTable\\index.tsx\r\n * @Description:\r\n *\r\n * Copyright (c) 2023 by YuXing, All Rights Reserved.\r\n */\r\nimport { defineComponent } from \"vue\";\r\nimport type { ExtractPropTypes } from \"vue\";\r\nimport type { TableColumn, TableRow } from \"./interface/index\";\r\nimport { yxTableProps } from \"./interface/index\";\r\nimport DynamicComponents from \"./components/DynamicComponents.vue\";\r\nexport type YxTableProps = ExtractPropTypes<typeof yxTableProps>;\r\n\r\nconst yxTableEmits = {\r\n\t\"operate-handle\": (key: string, row: object) => (key || row ? true : false)\r\n};\r\nexport type TabNavEmits = typeof yxTableEmits;\r\n\r\nconst YxTable = defineComponent({\r\n\tname: \"YxTable\",\r\n\tprops: yxTableProps,\r\n\temits: yxTableEmits,\r\n\tsetup(props, { attrs, slots, emit }) {\r\n\t\treturn () => {\r\n\t\t\t//动态插槽\r\n\t\t\tconst columnSlots = (col: TableColumn, scope: TableRow) => col.slotName && slots[col.slotName]?.(scope);\r\n\t\t\t//处理列\r\n\t\t\tconst columns = props.columns.map((col: TableColumn) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<el-table-column {...col} align={props.align}>\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tdefault: (scope: any) => {\r\n\t\t\t\t\t\t\t\t//先处理操作栏\r\n\t\t\t\t\t\t\t\tif (col?.renderType === \"operate\") return renderOperate(col, scope);\r\n\t\t\t\t\t\t\t\t//处理动态渲染的组件\r\n\t\t\t\t\t\t\t\tif (col?.renderType && col?.renderType !== \"operate\") return <DynamicComponents col={col} row={scope.row} />;\r\n\t\t\t\t\t\t\t\t//处理自定义插槽\r\n\t\t\t\t\t\t\t\treturn col?.slotName && columnSlots(col, scope);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t\t\t//操作栏\r\n\t\t\tconst renderOperate = (col: TableColumn, scope) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<div class=\"flex justify-center cursor-pointer\">\r\n\t\t\t\t\t\t{col.operate?.map(op => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<span onClick={() => emit(\"operate-handle\", op.key, scope.row)} class=\"mr-10 whitespace-nowrap\">\r\n\t\t\t\t\t\t\t\t\t{op.label}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t);\r\n\t\t\t};\r\n\t\t\treturn (\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-table {...attrs} row-key={props.rowKey} data={props.tableData} border={props.border}>\r\n\t\t\t\t\t\t{columns}\r\n\t\t\t\t\t</el-table>\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t};\r\n\t}\r\n});\r\nexport default YxTable;\r\n","<!--\r\n * @Author: WangXin\r\n * @Date: 2023-08-28 10:13:48\r\n * @LastEditors: WangXin\r\n * @LastEditTime: 2023-09-04 17:23:30\r\n * @FilePath: \\yxUse\\example\\table\\index.vue\r\n * @Description: \r\n * \r\n * Copyright (c) 2023 by YuXing, All Rights Reserved. \r\n-->\r\n<script setup lang=\"ts\">\r\nimport { ref } from \"vue\";\r\nimport YxTable from \"../../packages/components/YxTable\";\r\nimport type { TableColumn } from \"../../packages/components/YxTable/interface/index.ts\";\r\nimport { auth } from \"../../packages/api\";\r\nconst test = async () => {\r\n\tconst data = await auth.getUserPermissions();\r\n\tconsole.log(data);\r\n};\r\ntest();\r\ninterface User {\r\n\tid: number;\r\n\tname: string;\r\n\tuid: string;\r\n\ttime: number;\r\n\tslot: string;\r\n}\r\nconst tableData = ref<User[]>([]);\r\nconst columns: TableColumn[] = [\r\n\t{ label: \"展开行\", type: \"expand\", slotName: \"expand\" },\r\n\t{ label: \"序号\", type: \"index\" },\r\n\t{ label: \"id\", prop: \"id\" },\r\n\t{ label: \"名字\", prop: \"name\" },\r\n\t{ label: \"slot\", prop: \"slot\", slotName: \"testSlot\" },\r\n\t{\r\n\t\tlabel: \"time\",\r\n\t\tprop: \"time\",\r\n\t\tformatter: ({ time }) => new Date(time).toLocaleString()\r\n\t},\r\n\t{\r\n\t\tlabel: \"input\",\r\n\t\tprop: \"name\",\r\n\t\trenderType: \"input\",\r\n\t\tformatter: ({ time }) => new Date(time).toLocaleString()\r\n\t},\r\n\t{\r\n\t\tlabel: \"select\",\r\n\t\tprop: \"name\",\r\n\t\trenderType: \"select\",\r\n\t\tconfig: {\r\n\t\t\toptions: [{ label: \"test\", value: \"test\" }]\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tlabel: \"操作\",\r\n\t\tfixed: \"right\",\r\n\t\twidth: 200,\r\n\t\trenderType: \"operate\",\r\n\t\toperate: [\r\n\t\t\t{ label: \"修改\", key: \"change\" },\r\n\t\t\t{ label: \"重置\", key: \"reset\" },\r\n\t\t\t{ label: \"权限\", key: \"power\" },\r\n\t\t\t{ label: \"删除\", key: \"del\" }\r\n\t\t]\r\n\t}\r\n];\r\nconst rowKey = \"uid\";\r\nfor (let index = 0; index < 20; index++) {\r\n\ttableData.value.push({\r\n\t\tid: index,\r\n\t\tname: \"123\" + index,\r\n\t\tuid: \"test\" + index,\r\n\t\ttime: Date.now(),\r\n\t\tslot: \"123\"\r\n\t});\r\n}\r\nconst operateHandle = (key, row) => {\r\n\tconsole.log(key, row);\r\n};\r\n</script>\r\n<template>\r\n\t<div>\r\n\t\t<YxTable v-bind=\"{ tableData, columns, rowKey }\" @operate-handle=\"operateHandle\">\r\n\t\t\t<template #expand=\"{ row }\"> {{ JSON.stringify(row) }} </template>\r\n\t\t\t<template #testSlot=\"{ row }\"> {{ JSON.stringify(row) }} </template>\r\n\t\t</YxTable>\r\n\t</div>\r\n</template>\r\n<style scoped lang=\"scss\"></style>\r\n"],"names":["yxTableProps","_isSlot","s","_isVNode","yxTableEmits","key","row","YxTable","defineComponent","name","props","emits","setup","attrs","slots","emit","columnSlots","col","scope","slotName","columns","map","_createVNode","_resolveComponent","_mergeProps","align","default","renderType","renderOperate","DynamicComponents","operate","op","label","rowKey","tableData","border","__async","data","auth.getUserPermissions","ref","time","index","operateHandle"],"mappings":";;;;;;;;;;;;;;;;;AAWO,MAAMA,IAAe;AAAA,EAC3B,WAAW;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS,MAAM,CAAC;AAAA,EACjB;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EACV;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBmE,SAAAC,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,MAAA,qBAAA,CAAAC,EAAAD,CAAA;AAAA;AAGnE,MAAME,IAAe;AAAA,EACpB,kBAAkB,CAACC,GAAaC,MAAiBD,GAAAA,KAAOC;AACzD,GAGMC,IAAUC,gBAAAA,EAAgB;AAAA,EAC/BC,MAAM;AAAA,EACNC,OAAOV;AAAAA,EACPW,OAAOP;AAAAA,EACPQ,MAAMF,GAAO;AAAA,IAAEG,OAAAA;AAAAA,IAAOC,OAAAA;AAAAA,IAAOC,MAAAA;AAAAA,EAAK,GAAG;AACpC,WAAO,MAAM;AAEZ,YAAMC,IAAc,CAACC,GAAkBC;;AAAoBD,eAAAA,EAAIE,cAAYL,IAAAA,EAAMG,EAAIE,cAAVL,gBAAAA,EAAAA,KAAAA,GAAsBI;AAAAA,SAE3FE,IAAUV,EAAMU,QAAQC,IAAKJ,CAAAA,MAClCK,EAAAC,EAAA,iBAAA,GAAAC,EACsBP,GAAG;AAAA,QAAA,OAASP,EAAMe;AAAAA,MAAK,CAAA,GAAA;AAAA,QAE1CC,SAAUR,CAAAA,OAELD,KAAAA,gBAAAA,EAAKU,gBAAe,YAAkBC,EAAcX,GAAKC,CAAK,IAE9DD,KAAAA,QAAAA,EAAKU,eAAcV,KAAAA,gBAAAA,EAAKU,gBAAe,YAAWL,EAAAO,GAAA;AAAA,UAAA,KAA+BZ;AAAAA,UAAG,KAAOC,EAAMZ;AAAAA,QAAG,GAAA,IAAA,KAEjGW,KAAAA,gBAAAA,EAAKE,aAAYH,EAAYC,GAAKC,CAAK;AAAA,MAC9C,CAAA,CAIJ,GAEKU,IAAgB,CAACX,GAAkBC,MAAU;;AAClD,eAAAI,EAAA,OAAA;AAAA,UAAA,OACY;AAAA,QAAoC,GAAA,EAC7CL,IAAAA,EAAIa,YAAJb,gBAAAA,EAAaI,IAAIU,CAAAA,MACjBT,EAAA,QAAA;AAAA,UAAA,SACgB,MAAMP,EAAK,kBAAkBgB,EAAG1B,KAAKa,EAAMZ,GAAG;AAAA,UAAC,OAAQ;AAAA,WACpEyB,CAAAA,EAAGC,KAAK,CAAA,EAGV,CAAA;AAAA;AAIL,aAAAV,EAAA,OAAA,MAAA,CAAAA,EAAAC,EAAA,UAAA,GAAAC,EAEgBX,GAAK;AAAA,QAAA,WAAWH,EAAMuB;AAAAA,QAAM,MAAQvB,EAAMwB;AAAAA,QAAS,QAAUxB,EAAMyB;AAAAA,MAC/Ef,CAAAA,GAAAA,EAAAA,CAAO,IAAPA,IAAO;AAAA,QAAA,SAAA,MAAA,CAAPA,CAAO;AAAA,MAAA,CAAA,CAAA,CAAA;AAAA;EAKb;AACD,CAAC;;;ACnDD,KAJA,MAAAgB,EAAA;AACC,YAAAC,IAAA,MAAAC;AACA,cAAA,IAAAD,CAAA;AAAA,IAAgB;AAUjB,UAAAH,IAAAK,EAAA,CAAA,CAAA,GACAnB,IAAA;AAAA,MAA+B,EAAA,OAAA,OAAA,MAAA,UAAA,UAAA,SAAA;AAAA,MACqB,EAAA,OAAA,MAAA,MAAA,QAAA;AAAA,MACtB,EAAA,OAAA,MAAA,MAAA,KAAA;AAAA,MACH,EAAA,OAAA,MAAA,MAAA,OAAA;AAAA,MACE,EAAA,OAAA,QAAA,MAAA,QAAA,UAAA,WAAA;AAAA,MACwB;AAAA,QACpD,OAAA;AAAA,QACQ,MAAA;AAAA,QACD,WAAA,CAAA,EAAA,MAAAoB,EAAA,MAAA,IAAA,KAAAA,CAAA,EAAA,eAAA;AAAA,MACiD;AAAA,MACxD;AAAA,QACA,OAAA;AAAA,QACQ,MAAA;AAAA,QACD,YAAA;AAAA,QACM,WAAA,CAAA,EAAA,MAAAA,EAAA,MAAA,IAAA,KAAAA,CAAA,EAAA,eAAA;AAAA,MAC2C;AAAA,MACxD;AAAA,QACA,OAAA;AAAA,QACQ,MAAA;AAAA,QACD,YAAA;AAAA,QACM,QAAA;AAAA,UACJ,SAAA,CAAA,EAAA,OAAA,QAAA,OAAA,OAAA,CAAA;AAAA,QACmC;AAAA,MAC3C;AAAA,MACD;AAAA,QACA,OAAA;AAAA,QACQ,OAAA;AAAA,QACA,OAAA;AAAA,QACA,YAAA;AAAA,QACK,SAAA;AAAA,UACH,EAAA,OAAA,MAAA,KAAA,SAAA;AAAA,UACqB,EAAA,OAAA,MAAA,KAAA,QAAA;AAAA,UACD,EAAA,OAAA,MAAA,KAAA,QAAA;AAAA,UACA,EAAA,OAAA,MAAA,KAAA,MAAA;AAAA,QACF;AAAA,MAC3B;AAAA,IACD,GAEDP,IAAA;AACA,aAAAQ,IAAA,GAAAA,IAAA,IAAAA;AACC,MAAAP,EAAA,MAAA,KAAA;AAAA,QAAqB,IAAAO;AAAA,QAChB,MAAA,QAAAA;AAAA,QACU,KAAA,SAAAA;AAAA,QACA,MAAA,KAAA,IAAA;AAAA,QACC,MAAA;AAAA,MACT,CAAA;AAGR,UAAAC,IAAA,CAAArC,GAAAC,MAAA;AACC,cAAA,IAAAD,GAAAC,CAAA;AAAA,IAAoB;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.es6.js","sources":["../packages/components/YxTable/src/interface/index.ts","../packages/components/YxTable/src/index.tsx"],"sourcesContent":["/*\r\n * @Author: WangXin\r\n * @Date: 2023-08-28 10:58:42\r\n * @LastEditors: WangXin\r\n * @LastEditTime: 2023-08-29 09:20:56\r\n * @FilePath: \\yxUse\\packages\\components\\YxTable\\interface\\index.ts\r\n * @Description:\r\n *\r\n * Copyright (c) 2023 by YuXing, All Rights Reserved.\r\n */\r\nimport type { PropType } from \"vue\";\r\nexport const yxTableProps = {\r\n\ttableData: {\r\n\t\ttype: Array as PropType<TableProps[\"tableData\"]>,\r\n\t\trequire: true\r\n\t},\r\n\trowKey: {\r\n\t\ttype: String,\r\n\t\trequire: true\r\n\t},\r\n\tcolumns: {\r\n\t\ttype: Array as PropType<TableColumn[]>,\r\n\t\trequire: true,\r\n\t\tdefault: () => []\r\n\t},\r\n\tsortHandle: {\r\n\t\ttype: String,\r\n\t\tdefault: \"\",\r\n\t\trequire: false\r\n\t},\r\n\tborder: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\talign: {\r\n\t\ttype: String,\r\n\t\tdefault: \"center\",\r\n\t\trequire: false\r\n\t}\r\n};\r\nexport interface TableProps {\r\n\t/**表格数据 */\r\n\ttableData: Array<any>;\r\n\trowKey: string;\r\n\tcolumns: TableColumn[];\r\n\tpageInfo?: PageInfo;\r\n\t/**对齐方式 */\r\n\talign?: string;\r\n\tborder?: boolean;\r\n\tsearchFormConfig?: FormConfig[];\r\n\tsearchParams?: { [key: string]: any };\r\n\t/**是否开启拖拽 */\r\n\tsort?: boolean;\r\n\tsortHandle?: string; //拖拽节点类名\r\n\tload?: Function;\r\n}\r\nexport interface FormConfig {\r\n\tlabel: string; //名称\r\n\ttype: string; //类型\r\n\tkey?: string; // 指定数据绑定的key\r\n\toptions?: Array<{ [key: string]: any }> | Function; //下拉框选项配置\r\n\twidth?: number; //文字宽度\r\n\tcomponentWidth?: string; //组件宽度\r\n\tdateType?: string; //日期渲染的类型\r\n\tinputType?: string; //文本框类型\r\n\tdisabled?: boolean; //是否禁用\r\n\tclearable?: boolean; //是否能清除\r\n}\r\nexport interface PageInfo {\r\n\tsize: number;\r\n\tcurrent: number;\r\n\ttotal: number;\r\n}\r\nexport interface TableColumn {\r\n\t/** 列的名字 */\r\n\tlabel?: string;\r\n\t/** 对应数据的key */\r\n\tprop?: string;\r\n\t/** 宽度 */\r\n\twidth?: number;\r\n\t/** 列的类型 */\r\n\ttype?: \"index\" | \"selection\" | \"expand\";\r\n\t/** 渲染类型 */\r\n\trenderType?: string;\r\n\t/** 操作栏 */\r\n\toperate?: any[];\r\n\t/** 固定栏 */\r\n\tfixed?: string;\r\n\t/** 开关打开的value */\r\n\tactiveValue?: string | number | boolean;\r\n\t/** 开关关闭的value */\r\n\tinactiveValue?: string | number | boolean;\r\n\t/** 对数据进行格式化 */\r\n\tformatter?: Function;\r\n\t/** 插槽名称 */\r\n\tslotName?: string;\r\n\t/** 动态组件配置 */\r\n\tconfig?: Record<string, any>;\r\n}\r\n","/*\r\n * @Author: WangXin\r\n * @Date: 2023-08-28 10:10:35\r\n * @LastEditors: WangXin\r\n * @LastEditTime: 2023-08-29 09:20:21\r\n * @FilePath: \\yxUse\\packages\\components\\YxTable\\index.tsx\r\n * @Description:\r\n *\r\n * Copyright (c) 2023 by YuXing, All Rights Reserved.\r\n */\r\nimport { defineComponent } from \"vue\";\r\nimport type { ExtractPropTypes } from \"vue\";\r\nimport type { TableColumn, TableRow } from \"./interface/index\";\r\nimport { yxTableProps } from \"./interface/index\";\r\nimport DynamicComponents from \"./components/DynamicComponents.vue\";\r\nexport type YxTableProps = ExtractPropTypes<typeof yxTableProps>;\r\n\r\nconst yxTableEmits = {\r\n\t\"operate-handle\": (key: string, row: object) => (key || row ? true : false)\r\n};\r\n\r\nexport type TabNavEmits = typeof yxTableEmits;\r\n\r\nconst YxTable = defineComponent({\r\n\tname: \"YxTable\",\r\n\tprops: yxTableProps,\r\n\temits: yxTableEmits,\r\n\tsetup(props, { attrs, slots, emit }) {\r\n\t\treturn () => {\r\n\t\t\t//动态插槽\r\n\t\t\tconst columnSlots = (col: TableColumn, scope: TableRow) => col.slotName && slots[col.slotName]?.(scope);\r\n\t\t\t//处理列\r\n\t\t\tconst columns = props.columns.map((col: TableColumn) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<el-table-column {...col} align={props.align}>\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tdefault: (scope: any) => {\r\n\t\t\t\t\t\t\t\t//先处理操作栏\r\n\t\t\t\t\t\t\t\tif (col?.renderType === \"operate\") return renderOperate(col, scope);\r\n\t\t\t\t\t\t\t\t//处理动态渲染的组件\r\n\t\t\t\t\t\t\t\tif (col?.renderType && col?.renderType !== \"operate\") return <DynamicComponents col={col} row={scope.row} />;\r\n\t\t\t\t\t\t\t\t//处理自定义插槽\r\n\t\t\t\t\t\t\t\treturn col?.slotName && columnSlots(col, scope);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t\t\t//操作栏\r\n\t\t\tconst renderOperate = (col: TableColumn, scope) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<div class=\"flex justify-center cursor-pointer\">\r\n\t\t\t\t\t\t{col.operate?.map(op => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<span onClick={() => emit(\"operate-handle\", op.key, scope.row)} class=\"mr-10 whitespace-nowrap\">\r\n\t\t\t\t\t\t\t\t\t{op.label}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t);\r\n\t\t\t};\r\n\t\t\treturn (\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-table {...attrs} row-key={props.rowKey} data={props.tableData} border={props.border}>\r\n\t\t\t\t\t\t{columns}\r\n\t\t\t\t\t</el-table>\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t};\r\n\t}\r\n});\r\n\r\nexport default YxTable;\r\n"],"names":["yxTableProps","_isSlot","s","_isVNode","yxTableEmits","key","row","YxTable","defineComponent","name","props","emits","setup","attrs","slots","emit","columnSlots","col","scope","slotName","columns","map","_createVNode","_resolveComponent","_mergeProps","align","default","renderType","renderOperate","DynamicComponents","operate","op","label","rowKey","tableData","border"],"mappings":";AAWO,MAAMA,IAAe;AAAA,EAC3B,WAAW;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS,MAAM,CAAC;AAAA,EACjB;AAAA,EACA,YAAY;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EACV;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBmE,SAAAC,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,MAAA,qBAAA,CAAAC,EAAAD,CAAA;AAAA;AAGnE,MAAME,IAAe;AAAA,EACpB,kBAAkB,CAACC,GAAaC,MAAiBD,GAAAA,KAAOC;AACzD,GAIMC,IAAUC,gBAAAA,EAAgB;AAAA,EAC/BC,MAAM;AAAA,EACNC,OAAOV;AAAAA,EACPW,OAAOP;AAAAA,EACPQ,MAAMF,GAAO;AAAA,IAAEG,OAAAA;AAAAA,IAAOC,OAAAA;AAAAA,IAAOC,MAAAA;AAAAA,EAAK,GAAG;AACpC,WAAO,MAAM;AAEZ,YAAMC,IAAc,CAACC,GAAkBC;;AAAoBD,eAAAA,EAAIE,cAAYL,IAAAA,EAAMG,EAAIE,cAAVL,gBAAAA,EAAAA,KAAAA,GAAsBI;AAAAA,SAE3FE,IAAUV,EAAMU,QAAQC,IAAKJ,CAAAA,MAClCK,EAAAC,EAAA,iBAAA,GAAAC,EACsBP,GAAG;AAAA,QAAA,OAASP,EAAMe;AAAAA,MAAK,CAAA,GAAA;AAAA,QAE1CC,SAAUR,CAAAA,OAELD,KAAAA,gBAAAA,EAAKU,gBAAe,YAAkBC,EAAcX,GAAKC,CAAK,IAE9DD,KAAAA,QAAAA,EAAKU,eAAcV,KAAAA,gBAAAA,EAAKU,gBAAe,YAAWL,EAAAO,GAAA;AAAA,UAAA,KAA+BZ;AAAAA,UAAG,KAAOC,EAAMZ;AAAAA,QAAG,GAAA,IAAA,KAEjGW,KAAAA,gBAAAA,EAAKE,aAAYH,EAAYC,GAAKC,CAAK;AAAA,MAC9C,CAAA,CAIJ,GAEKU,IAAgB,CAACX,GAAkBC,MAAU;;AAClD,eAAAI,EAAA,OAAA;AAAA,UAAA,OACY;AAAA,QAAoC,GAAA,EAC7CL,IAAAA,EAAIa,YAAJb,gBAAAA,EAAaI,IAAIU,CAAAA,MACjBT,EAAA,QAAA;AAAA,UAAA,SACgB,MAAMP,EAAK,kBAAkBgB,EAAG1B,KAAKa,EAAMZ,GAAG;AAAA,UAAC,OAAQ;AAAA,WACpEyB,CAAAA,EAAGC,KAAK,CAAA,EAGV,CAAA;AAAA;AAIL,aAAAV,EAAA,OAAA,MAAA,CAAAA,EAAAC,EAAA,UAAA,GAAAC,EAEgBX,GAAK;AAAA,QAAA,WAAWH,EAAMuB;AAAAA,QAAM,MAAQvB,EAAMwB;AAAAA,QAAS,QAAUxB,EAAMyB;AAAAA,MAC/Ef,CAAAA,GAAAA,EAAAA,CAAO,IAAPA,IAAO;AAAA,QAAA,SAAA,MAAA,CAAPA,CAAO;AAAA,MAAA,CAAA,CAAA,CAAA;AAAA;EAKb;AACD,CAAC;;;;"}
|