yxuse 1.0.41 → 1.0.43
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/index.cjs4.js +236 -1
- package/lib/index.cjs5.js +9106 -22
- package/lib/index.cjs5.js.gz +0 -0
- 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.es5.js +2595 -2571
- package/lib/index.es5.js.gz +0 -0
- package/lib/index.es5.js.map +1 -1
- package/lib/index.es6.js +78 -62
- package/lib/index.es6.js.map +1 -1
- package/package.json +1 -1
package/lib/index.es6.js
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var f = (r, n, l) => new Promise((i, s) => {
|
|
2
|
+
var o = (t) => {
|
|
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 = {
|
|
3
19
|
tableData: {
|
|
4
20
|
type: Array,
|
|
5
21
|
require: !0
|
|
@@ -27,7 +43,7 @@ const V = {
|
|
|
27
43
|
default: "center",
|
|
28
44
|
require: !1
|
|
29
45
|
}
|
|
30
|
-
},
|
|
46
|
+
}, j = /* @__PURE__ */ y({
|
|
31
47
|
__name: "DynamicComponents",
|
|
32
48
|
props: {
|
|
33
49
|
col: null,
|
|
@@ -35,23 +51,23 @@ const V = {
|
|
|
35
51
|
},
|
|
36
52
|
setup(r) {
|
|
37
53
|
const n = r;
|
|
38
|
-
return (
|
|
39
|
-
var
|
|
40
|
-
return d(),
|
|
41
|
-
modelValue: r.row[(
|
|
42
|
-
"onUpdate:modelValue":
|
|
43
|
-
var
|
|
44
|
-
return r.row[(
|
|
54
|
+
return (l, i) => {
|
|
55
|
+
var s, o, a;
|
|
56
|
+
return d(), g(w(`el-${(s = n.col) == null ? void 0 : s.type}`), m({
|
|
57
|
+
modelValue: r.row[(o = n.col) == null ? void 0 : o.prop],
|
|
58
|
+
"onUpdate:modelValue": i[0] || (i[0] = (e) => {
|
|
59
|
+
var t;
|
|
60
|
+
return r.row[(t = n.col) == null ? void 0 : t.prop] = e;
|
|
45
61
|
})
|
|
46
|
-
}, (
|
|
62
|
+
}, (a = n.col) == null ? void 0 : a.config), {
|
|
47
63
|
default: c(() => {
|
|
48
64
|
var e;
|
|
49
65
|
return [
|
|
50
|
-
n.col.type === "select" ? (d(!0),
|
|
51
|
-
key:
|
|
52
|
-
label:
|
|
53
|
-
value:
|
|
54
|
-
}, null, 8, ["label", "value"]))), 128)) :
|
|
66
|
+
n.col.type === "select" ? (d(!0), v(N, { key: 0 }, T((e = n.col) == null ? void 0 : e.config.options, (t) => (d(), g(w("el-option"), {
|
|
67
|
+
key: t.value,
|
|
68
|
+
label: t.label,
|
|
69
|
+
value: t.value
|
|
70
|
+
}, null, 8, ["label", "value"]))), 128)) : _("", !0)
|
|
55
71
|
];
|
|
56
72
|
}),
|
|
57
73
|
_: 1
|
|
@@ -59,57 +75,57 @@ const V = {
|
|
|
59
75
|
};
|
|
60
76
|
}
|
|
61
77
|
});
|
|
62
|
-
function
|
|
63
|
-
return typeof r == "function" || Object.prototype.toString.call(r) === "[object Object]" && !
|
|
78
|
+
function q(r) {
|
|
79
|
+
return typeof r == "function" || Object.prototype.toString.call(r) === "[object Object]" && !D(r);
|
|
64
80
|
}
|
|
65
|
-
const
|
|
81
|
+
const B = {
|
|
66
82
|
"operate-handle": (r, n) => !!(r || n)
|
|
67
|
-
},
|
|
83
|
+
}, H = /* @__PURE__ */ y({
|
|
68
84
|
name: "YxTable",
|
|
69
|
-
props:
|
|
70
|
-
emits:
|
|
85
|
+
props: O,
|
|
86
|
+
emits: B,
|
|
71
87
|
setup(r, {
|
|
72
88
|
attrs: n,
|
|
73
|
-
slots:
|
|
74
|
-
emit:
|
|
89
|
+
slots: l,
|
|
90
|
+
emit: i
|
|
75
91
|
}) {
|
|
76
92
|
return () => {
|
|
77
|
-
const
|
|
78
|
-
var
|
|
79
|
-
return e.slotName && ((
|
|
80
|
-
},
|
|
93
|
+
const s = (e, t) => {
|
|
94
|
+
var u;
|
|
95
|
+
return e.slotName && ((u = l[e.slotName]) == null ? void 0 : u.call(l, t));
|
|
96
|
+
}, o = r.columns.map((e) => p(x("el-table-column"), m(e, {
|
|
81
97
|
align: r.align
|
|
82
98
|
}), {
|
|
83
|
-
default: (
|
|
99
|
+
default: (t) => (e == null ? void 0 : e.renderType) === "operate" ? a(e, t) : e != null && e.renderType && (e == null ? void 0 : e.renderType) !== "operate" ? p(j, {
|
|
84
100
|
col: e,
|
|
85
|
-
row:
|
|
86
|
-
}, null) : (e == null ? void 0 : e.slotName) &&
|
|
87
|
-
})),
|
|
88
|
-
var
|
|
89
|
-
return
|
|
101
|
+
row: t.row
|
|
102
|
+
}, null) : (e == null ? void 0 : e.slotName) && s(e, t)
|
|
103
|
+
})), a = (e, t) => {
|
|
104
|
+
var u;
|
|
105
|
+
return p("div", {
|
|
90
106
|
class: "flex justify-center cursor-pointer"
|
|
91
|
-
}, [(
|
|
92
|
-
onClick: () =>
|
|
107
|
+
}, [(u = e.operate) == null ? void 0 : u.map((b) => p("span", {
|
|
108
|
+
onClick: () => i("operate-handle", b.key, t.row),
|
|
93
109
|
class: "mr-10 whitespace-nowrap"
|
|
94
110
|
}, [b.label]))]);
|
|
95
111
|
};
|
|
96
|
-
return
|
|
112
|
+
return p("div", null, [p(x("el-table"), m(n, {
|
|
97
113
|
"row-key": r.rowKey,
|
|
98
114
|
data: r.tableData,
|
|
99
115
|
border: r.border
|
|
100
|
-
}),
|
|
101
|
-
default: () => [
|
|
116
|
+
}), q(o) ? o : {
|
|
117
|
+
default: () => [o]
|
|
102
118
|
})]);
|
|
103
119
|
};
|
|
104
120
|
}
|
|
105
|
-
}),
|
|
121
|
+
}), P = /* @__PURE__ */ y({
|
|
106
122
|
__name: "index",
|
|
107
123
|
setup(r) {
|
|
108
|
-
(
|
|
109
|
-
const
|
|
110
|
-
console.log(
|
|
111
|
-
})();
|
|
112
|
-
const
|
|
124
|
+
(() => f(this, null, function* () {
|
|
125
|
+
const a = yield V();
|
|
126
|
+
console.log(a);
|
|
127
|
+
}))();
|
|
128
|
+
const l = h([]), i = [
|
|
113
129
|
{ label: "展开行", type: "expand", slotName: "expand" },
|
|
114
130
|
{ label: "序号", type: "index" },
|
|
115
131
|
{ label: "id", prop: "id" },
|
|
@@ -118,13 +134,13 @@ const q = {
|
|
|
118
134
|
{
|
|
119
135
|
label: "time",
|
|
120
136
|
prop: "time",
|
|
121
|
-
formatter: ({ time:
|
|
137
|
+
formatter: ({ time: a }) => new Date(a).toLocaleString()
|
|
122
138
|
},
|
|
123
139
|
{
|
|
124
140
|
label: "input",
|
|
125
141
|
prop: "name",
|
|
126
142
|
renderType: "input",
|
|
127
|
-
formatter: ({ time:
|
|
143
|
+
formatter: ({ time: a }) => new Date(a).toLocaleString()
|
|
128
144
|
},
|
|
129
145
|
{
|
|
130
146
|
label: "select",
|
|
@@ -146,25 +162,25 @@ const q = {
|
|
|
146
162
|
{ label: "删除", key: "del" }
|
|
147
163
|
]
|
|
148
164
|
}
|
|
149
|
-
],
|
|
150
|
-
for (let
|
|
151
|
-
|
|
152
|
-
id:
|
|
153
|
-
name: "123" +
|
|
154
|
-
uid: "test" +
|
|
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,
|
|
155
171
|
time: Date.now(),
|
|
156
172
|
slot: "123"
|
|
157
173
|
});
|
|
158
|
-
const
|
|
159
|
-
console.log(
|
|
174
|
+
const o = (a, e) => {
|
|
175
|
+
console.log(a, e);
|
|
160
176
|
};
|
|
161
|
-
return (
|
|
162
|
-
|
|
163
|
-
expand: c(({ row:
|
|
164
|
-
|
|
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)
|
|
165
181
|
]),
|
|
166
|
-
testSlot: c(({ row:
|
|
167
|
-
|
|
182
|
+
testSlot: c(({ row: t }) => [
|
|
183
|
+
k(S(JSON.stringify(t)), 1)
|
|
168
184
|
]),
|
|
169
185
|
_: 1
|
|
170
186
|
}, 16)
|
|
@@ -172,6 +188,6 @@ const q = {
|
|
|
172
188
|
}
|
|
173
189
|
});
|
|
174
190
|
export {
|
|
175
|
-
|
|
191
|
+
P as default
|
|
176
192
|
};
|
|
177
193
|
//# 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","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,YAAA;AACC,YAAAgB,IAAA,MAAAC;AACA,cAAA,IAAAD,CAAA;AAAA,IAAgB;AAUjB,UAAAF,IAAAI,EAAA,CAAA,CAAA,GACAlB,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,MAAAmB,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,GAEDN,IAAA;AACA,aAAAO,IAAA,GAAAA,IAAA,IAAAA;AACC,MAAAN,EAAA,MAAA,KAAA;AAAA,QAAqB,IAAAM;AAAA,QAChB,MAAA,QAAAA;AAAA,QACU,KAAA,SAAAA;AAAA,QACA,MAAA,KAAA,IAAA;AAAA,QACC,MAAA;AAAA,MACT,CAAA;AAGR,UAAAC,IAAA,CAAApC,GAAAC,MAAA;AACC,cAAA,IAAAD,GAAAC,CAAA;AAAA,IAAoB;;;;;;;;;;;;;;"}
|
|
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":"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"}
|