yxuse 1.0.35 → 1.0.37

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.es6.js CHANGED
@@ -1,51 +1,177 @@
1
- import { h as c } from "./index.es5.js";
2
- const u = () => {
3
- var e;
4
- const t = sessionStorage.getItem("GlobalState");
5
- return ((e = JSON.parse(t)) == null ? void 0 : e.token) || null;
6
- }, g = () => {
7
- var e;
8
- const t = sessionStorage.getItem("GlobalState");
9
- return ((e = JSON.parse(t)) == null ? void 0 : e.userInfo) || null;
10
- }, f = async () => u() ? await c.request("/account/home/menu", "GET", "", !1, !0) : [], p = async (t) => {
11
- if (console.log("=======", u()), !u())
12
- return null;
13
- console.log("====request===", c.request);
14
- const { data: s } = await c.request("/account/auth/route/list", "GET", "", !1, !0);
15
- console.log(s);
16
- const e = s.filter((o) => o.routeTag.includes(t)), r = e.filter((o) => o.routeType === "VIEW"), n = e.filter((o) => o.routeType === "BTN");
17
- return {
18
- userMenuList: r,
19
- userBtnList: n
20
- };
21
- }, m = (t) => {
22
- let s = [];
23
- const e = /* @__PURE__ */ Object.assign({}), r = /* @__PURE__ */ Object.assign({});
24
- return t.forEach((n) => {
25
- const o = `/src/views${n.routeView}/config.ts`, i = `/src/views${n.routeView}/index.vue`;
26
- if (e[i] && r[o]) {
27
- const a = r[o], l = {
28
- path: n.routeView,
29
- name: n.routeView.split("/")[1],
30
- meta: {
31
- title: a.title,
32
- icon: a.icon
33
- },
34
- component: e[i]
1
+ import { d as y, o as d, c as f, w as c, a as S, F as v, r as N, b as g, e as T, m, f as s, g as w, j as _, k as D, u as h, l as C, n as x, t as k } from "./index.es5.js";
2
+ const V = {
3
+ tableData: {
4
+ type: Array,
5
+ require: !0
6
+ },
7
+ rowKey: {
8
+ type: String,
9
+ require: !0
10
+ },
11
+ columns: {
12
+ type: Array,
13
+ require: !0,
14
+ default: () => []
15
+ },
16
+ sortHandle: {
17
+ type: String,
18
+ default: "",
19
+ require: !1
20
+ },
21
+ border: {
22
+ type: Boolean,
23
+ default: !1
24
+ },
25
+ align: {
26
+ type: String,
27
+ default: "center",
28
+ require: !1
29
+ }
30
+ }, O = /* @__PURE__ */ y({
31
+ __name: "DynamicComponents",
32
+ props: {
33
+ col: null,
34
+ row: null
35
+ },
36
+ setup(r) {
37
+ const n = r;
38
+ return (o, u) => {
39
+ var i, l, t;
40
+ return d(), f(g(`el-${(i = n.col) == null ? void 0 : i.type}`), m({
41
+ modelValue: r.row[(l = n.col) == null ? void 0 : l.prop],
42
+ "onUpdate:modelValue": u[0] || (u[0] = (e) => {
43
+ var a;
44
+ return r.row[(a = n.col) == null ? void 0 : a.prop] = e;
45
+ })
46
+ }, (t = n.col) == null ? void 0 : t.config), {
47
+ default: c(() => {
48
+ var e;
49
+ return [
50
+ n.col.type === "select" ? (d(!0), S(v, { key: 0 }, N((e = n.col) == null ? void 0 : e.config.options, (a) => (d(), f(g("el-option"), {
51
+ key: a.value,
52
+ label: a.label,
53
+ value: a.value
54
+ }, null, 8, ["label", "value"]))), 128)) : T("", !0)
55
+ ];
56
+ }),
57
+ _: 1
58
+ }, 16, ["modelValue"]);
59
+ };
60
+ }
61
+ });
62
+ function j(r) {
63
+ return typeof r == "function" || Object.prototype.toString.call(r) === "[object Object]" && !_(r);
64
+ }
65
+ const q = {
66
+ "operate-handle": (r, n) => !!(r || n)
67
+ }, B = /* @__PURE__ */ y({
68
+ name: "YxTable",
69
+ props: V,
70
+ emits: q,
71
+ setup(r, {
72
+ attrs: n,
73
+ slots: o,
74
+ emit: u
75
+ }) {
76
+ return () => {
77
+ const i = (e, a) => {
78
+ var p;
79
+ return e.slotName && ((p = o[e.slotName]) == null ? void 0 : p.call(o, a));
80
+ }, l = r.columns.map((e) => s(w("el-table-column"), m(e, {
81
+ align: r.align
82
+ }), {
83
+ default: (a) => (e == null ? void 0 : e.renderType) === "operate" ? t(e, a) : e != null && e.renderType && (e == null ? void 0 : e.renderType) !== "operate" ? s(O, {
84
+ col: e,
85
+ row: a.row
86
+ }, null) : (e == null ? void 0 : e.slotName) && i(e, a)
87
+ })), t = (e, a) => {
88
+ var p;
89
+ return s("div", {
90
+ class: "flex justify-center cursor-pointer"
91
+ }, [(p = e.operate) == null ? void 0 : p.map((b) => s("span", {
92
+ onClick: () => u("operate-handle", b.key, a.row),
93
+ class: "mr-10 whitespace-nowrap"
94
+ }, [b.label]))]);
35
95
  };
36
- s.push(l);
37
- }
38
- }), s;
39
- }, w = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
40
- __proto__: null,
41
- getToken: u,
42
- getUserInfo: g,
43
- getUserPermissions: p,
44
- getUserRouteList: f,
45
- getUserRouter: m
46
- }, Symbol.toStringTag, { value: "Module" }));
96
+ return s("div", null, [s(w("el-table"), m(n, {
97
+ "row-key": r.rowKey,
98
+ data: r.tableData,
99
+ border: r.border
100
+ }), j(l) ? l : {
101
+ default: () => [l]
102
+ })]);
103
+ };
104
+ }
105
+ }), K = /* @__PURE__ */ y({
106
+ __name: "index",
107
+ setup(r) {
108
+ (async () => {
109
+ const t = await C();
110
+ console.log(t);
111
+ })();
112
+ const o = D([]), u = [
113
+ { label: "展开行", type: "expand", slotName: "expand" },
114
+ { label: "序号", type: "index" },
115
+ { label: "id", prop: "id" },
116
+ { label: "名字", prop: "name" },
117
+ { label: "slot", prop: "slot", slotName: "testSlot" },
118
+ {
119
+ label: "time",
120
+ prop: "time",
121
+ formatter: ({ time: t }) => new Date(t).toLocaleString()
122
+ },
123
+ {
124
+ label: "input",
125
+ prop: "name",
126
+ renderType: "input",
127
+ formatter: ({ time: t }) => new Date(t).toLocaleString()
128
+ },
129
+ {
130
+ label: "select",
131
+ prop: "name",
132
+ renderType: "select",
133
+ config: {
134
+ options: [{ label: "test", value: "test" }]
135
+ }
136
+ },
137
+ {
138
+ label: "操作",
139
+ fixed: "right",
140
+ width: 200,
141
+ renderType: "operate",
142
+ operate: [
143
+ { label: "修改", key: "change" },
144
+ { label: "重置", key: "reset" },
145
+ { label: "权限", key: "power" },
146
+ { label: "删除", key: "del" }
147
+ ]
148
+ }
149
+ ], i = "uid";
150
+ for (let t = 0; t < 20; t++)
151
+ o.value.push({
152
+ id: t,
153
+ name: "123" + t,
154
+ uid: "test" + t,
155
+ time: Date.now(),
156
+ slot: "123"
157
+ });
158
+ const l = (t, e) => {
159
+ console.log(t, e);
160
+ };
161
+ return (t, e) => (d(), S("div", null, [
162
+ s(h(B), m({ tableData: o.value, columns: u, rowKey: i }, { onOperateHandle: l }), {
163
+ expand: c(({ row: a }) => [
164
+ x(k(JSON.stringify(a)), 1)
165
+ ]),
166
+ testSlot: c(({ row: a }) => [
167
+ x(k(JSON.stringify(a)), 1)
168
+ ]),
169
+ _: 1
170
+ }, 16)
171
+ ]));
172
+ }
173
+ });
47
174
  export {
48
- p as g,
49
- w as i
175
+ K as default
50
176
  };
51
177
  //# sourceMappingURL=index.es6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es6.js","sources":["../packages/api/auth/index.ts"],"sourcesContent":["/*\r\n * @Author: WangXin\r\n * @Date: 2023-08-17 09:29:40\r\n * @LastEditors: WangXin\r\n * @LastEditTime: 2023-09-04 17:39:23\r\n * @FilePath: \\yxUse\\packages\\api\\auth\\index.ts\r\n * @Description:\r\n *\r\n * Copyright (c) 2023 by YuXing, All Rights Reserved.\r\n */\r\nimport { http } from \"../../utils/http\";\r\nexport const getToken = () => {\r\n\tconst GlobalState = sessionStorage.getItem(\"GlobalState\");\r\n\tconst token = JSON.parse(GlobalState)?.token || null;\r\n\treturn token;\r\n};\r\n\r\nexport const getUserInfo = () => {\r\n\tconst GlobalState = sessionStorage.getItem(\"GlobalState\");\r\n\tconst userInfo = JSON.parse(GlobalState)?.userInfo || null;\r\n\treturn userInfo;\r\n};\r\n\r\nexport const getUserRouteList = async () => {\r\n\tif (!getToken()) return [];\r\n\tconst data = await http.request<any>(\"/account/home/menu\", \"GET\", \"\", false, true);\r\n\treturn data;\r\n};\r\n\r\n/**\r\n *\r\n * @param systemName 系统名称\r\n * @description 综合管理分系统->integrated\r\n * @description 站控分系统->station\r\n * @description 综合管理->integrated\r\n * @description 轨道分系统->orbit\r\n * @description 任务计划分系统->traceplan\r\n * @description 遥控分系统->telecommand\r\n * @description 遥测分系统->telemetry\r\n */\r\nexport const getUserPermissions = async (systemName: string) => {\r\n\tconsole.log(\"=======\", getToken());\r\n\tif (!getToken()) return null;\r\n\tconsole.log(\"====request===\", http.request);\r\n\tconst { data } = await http.request<any>(\"/account/auth/route/list\", \"GET\", \"\", false, true);\r\n\tconsole.log(data);\r\n\tconst systemPermissionList = data.filter(route => route.routeTag.includes(systemName));\r\n\tconst userMenuList = systemPermissionList.filter(item => item.routeType === \"VIEW\");\r\n\tconst userBtnList = systemPermissionList.filter(item => item.routeType === \"BTN\");\r\n\treturn {\r\n\t\tuserMenuList,\r\n\t\tuserBtnList\r\n\t};\r\n\ttry {\r\n\t} catch (err) {\r\n\t\tconsole.log(\"===\", err);\r\n\r\n\t\treturn null;\r\n\t}\r\n};\r\n/**\r\n *\r\n * @param userMenuList 用户路由数据\r\n * @returns UserRouter 用户动态路由\r\n * @description 综合管理分系统->integrated\r\n * @description 站控分系统->station\r\n */\r\nexport const getUserRouter = (userMenuList): any[] => {\r\n\tlet menuList = [];\r\n\tconst modules = import.meta.glob(\"@/views/**/*.vue\");\r\n\t//页面配置项\r\n\tconst viewConfig = import.meta.glob(\"@/views/**/config.ts\", {\r\n\t\timport: \"viewConfig\",\r\n\t\teager: true\r\n\t});\r\n\tuserMenuList.forEach((item: any) => {\r\n\t\tconst configKey = `/src/views${item.routeView}/config.ts`;\r\n\t\tconst viewKey = `/src/views${item.routeView}/index.vue`;\r\n\t\t// const globPath = import.meta.env.VITE_APP_IDENTIFY; //自动加入系统标识路径\r\n\t\tif (modules[viewKey] && viewConfig[configKey]) {\r\n\t\t\tconst pageConfig: any = viewConfig[configKey];\r\n\t\t\tconst routerObject = {\r\n\t\t\t\tpath: item.routeView,\r\n\t\t\t\tname: item.routeView.split(\"/\")[1],\r\n\t\t\t\tmeta: {\r\n\t\t\t\t\ttitle: pageConfig.title,\r\n\t\t\t\t\ticon: pageConfig.icon\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: modules[viewKey]\r\n\t\t\t};\r\n\t\t\tmenuList.push(routerObject);\r\n\t\t}\r\n\t});\r\n\treturn menuList;\r\n};\r\n"],"names":["getToken","GlobalState","_a","getUserInfo","getUserRouteList","http","getUserPermissions","systemName","data","systemPermissionList","route","userMenuList","item","userBtnList","getUserRouter","menuList","modules","viewConfig","configKey","viewKey","pageConfig","routerObject"],"mappings":";AAWO,MAAMA,IAAW,MAAM;;AACvB,QAAAC,IAAc,eAAe,QAAQ,aAAa;AAEjD,WADOC,IAAA,KAAK,MAAMD,CAAW,MAAtB,gBAAAC,EAAyB,UAAS;AAEjD,GAEaC,IAAc,MAAM;;AAC1B,QAAAF,IAAc,eAAe,QAAQ,aAAa;AAEjD,WADUC,IAAA,KAAK,MAAMD,CAAW,MAAtB,gBAAAC,EAAyB,aAAY;AAEvD,GAEaE,IAAmB,YAC1BJ,EAAS,IACD,MAAMK,EAAK,QAAa,sBAAsB,OAAO,IAAI,IAAO,EAAI,IADzD,IAgBZC,IAAqB,OAAOC,MAAuB;AAE/D,MADQ,QAAA,IAAI,WAAWP,EAAU,CAAA,GAC7B,CAACA,EAAS;AAAU,WAAA;AAChB,UAAA,IAAI,kBAAkBK,EAAK,OAAO;AACpC,QAAA,EAAE,MAAAG,EAAK,IAAI,MAAMH,EAAK,QAAa,4BAA4B,OAAO,IAAI,IAAO,EAAI;AAC3F,UAAQ,IAAIG,CAAI;AACV,QAAAC,IAAuBD,EAAK,OAAO,CAAAE,MAASA,EAAM,SAAS,SAASH,CAAU,CAAC,GAC/EI,IAAeF,EAAqB,OAAO,CAAQG,MAAAA,EAAK,cAAc,MAAM,GAC5EC,IAAcJ,EAAqB,OAAO,CAAQG,MAAAA,EAAK,cAAc,KAAK;AACzE,SAAA;AAAA,IACN,cAAAD;AAAA,IACA,aAAAE;AAAA,EAAA;AAQF,GAQaC,IAAgB,CAACH,MAAwB;AACrD,MAAII,IAAW,CAAA;AACT,QAAAC,uCAEAC,IAAa,uBAAA,OAAA;AAIN,SAAAN,EAAA,QAAQ,CAACC,MAAc;AAC7B,UAAAM,IAAY,aAAaN,EAAK,uBAC9BO,IAAU,aAAaP,EAAK;AAElC,QAAII,EAAQG,CAAO,KAAKF,EAAWC,CAAS,GAAG;AACxC,YAAAE,IAAkBH,EAAWC,CAAS,GACtCG,IAAe;AAAA,QACpB,MAAMT,EAAK;AAAA,QACX,MAAMA,EAAK,UAAU,MAAM,GAAG,EAAE,CAAC;AAAA,QACjC,MAAM;AAAA,UACL,OAAOQ,EAAW;AAAA,UAClB,MAAMA,EAAW;AAAA,QAClB;AAAA,QACA,WAAWJ,EAAQG,CAAO;AAAA,MAAA;AAE3B,MAAAJ,EAAS,KAAKM,CAAY;AAAA;AAAA,EAC3B,CACA,GACMN;AACR;;;;;;;;"}
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yxuse",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "private": false,
5
5
  "keywords": [
6
6
  "yx"
package/lib/index.cjs7.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index.cjs5.js"),c=require("./index.cjs6.js"),m={tableData:{type:Array,require:!0},rowKey:{type:String,require:!0},columns:{type:Array,require:!0,default:()=>[]},sortHandle:{type:String,default:"",require:!1},border:{type:Boolean,default:!1},align:{type:String,default:"center",require:!1}},y=e.defineComponent({__name:"DynamicComponents",props:{col:null,row:null},setup(a){const o=a;return(i,p)=>{var s,l,r;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(`el-${(s=o.col)==null?void 0:s.type}`),e.mergeProps({modelValue:a.row[(l=o.col)==null?void 0:l.prop],"onUpdate:modelValue":p[0]||(p[0]=t=>{var n;return a.row[(n=o.col)==null?void 0:n.prop]=t})},(r=o.col)==null?void 0:r.config),{default:e.withCtx(()=>{var t;return[o.col.type==="select"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList((t=o.col)==null?void 0:t.config.options,n=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent("el-option"),{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128)):e.createCommentVNode("",!0)]}),_:1},16,["modelValue"])}}});function b(a){return typeof a=="function"||Object.prototype.toString.call(a)==="[object Object]"&&!e.isVNode(a)}const f={"operate-handle":(a,o)=>!!(a||o)},g=e.defineComponent({name:"YxTable",props:m,emits:f,setup(a,{attrs:o,slots:i,emit:p}){return()=>{const s=(t,n)=>{var u;return t.slotName&&((u=i[t.slotName])==null?void 0:u.call(i,n))},l=a.columns.map(t=>e.createVNode(e.resolveComponent("el-table-column"),e.mergeProps(t,{align:a.align}),{default:n=>(t==null?void 0:t.renderType)==="operate"?r(t,n):t!=null&&t.renderType&&(t==null?void 0:t.renderType)!=="operate"?e.createVNode(y,{col:t,row:n.row},null):(t==null?void 0:t.slotName)&&s(t,n)})),r=(t,n)=>{var u;return e.createVNode("div",{class:"flex justify-center cursor-pointer"},[(u=t.operate)==null?void 0:u.map(d=>e.createVNode("span",{onClick:()=>p("operate-handle",d.key,n.row),class:"mr-10 whitespace-nowrap"},[d.label]))])};return e.createVNode("div",null,[e.createVNode(e.resolveComponent("el-table"),e.mergeProps(o,{"row-key":a.rowKey,data:a.tableData,border:a.border}),b(l)?l:{default:()=>[l]})])}}}),w=e.defineComponent({__name:"index",setup(a){(async()=>{const r=await c.getUserPermissions();console.log(r)})();const i=e.ref([]),p=[{label:"展开行",type:"expand",slotName:"expand"},{label:"序号",type:"index"},{label:"id",prop:"id"},{label:"名字",prop:"name"},{label:"slot",prop:"slot",slotName:"testSlot"},{label:"time",prop:"time",formatter:({time:r})=>new Date(r).toLocaleString()},{label:"input",prop:"name",renderType:"input",formatter:({time:r})=>new Date(r).toLocaleString()},{label:"select",prop:"name",renderType:"select",config:{options:[{label:"test",value:"test"}]}},{label:"操作",fixed:"right",width:200,renderType:"operate",operate:[{label:"修改",key:"change"},{label:"重置",key:"reset"},{label:"权限",key:"power"},{label:"删除",key:"del"}]}],s="uid";for(let r=0;r<20;r++)i.value.push({id:r,name:"123"+r,uid:"test"+r,time:Date.now(),slot:"123"});const l=(r,t)=>{console.log(r,t)};return(r,t)=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(g),e.mergeProps({tableData:i.value,columns:p,rowKey:s},{onOperateHandle:l}),{expand:e.withCtx(({row:n})=>[e.createTextVNode(e.toDisplayString(JSON.stringify(n)),1)]),testSlot:e.withCtx(({row:n})=>[e.createTextVNode(e.toDisplayString(JSON.stringify(n)),1)]),_:1},16)]))}});exports.default=w;
2
- //# sourceMappingURL=index.cjs7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs7.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":"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"}
package/lib/index.es7.js DELETED
@@ -1,178 +0,0 @@
1
- import { d as y, o as d, c as b, w as c, a as S, F as v, r as N, b as g, e as T, m, f as s, g as w, i as _, j as D, u as h, k as x, t as k } from "./index.es5.js";
2
- import { g as C } from "./index.es6.js";
3
- const V = {
4
- tableData: {
5
- type: Array,
6
- require: !0
7
- },
8
- rowKey: {
9
- type: String,
10
- require: !0
11
- },
12
- columns: {
13
- type: Array,
14
- require: !0,
15
- default: () => []
16
- },
17
- sortHandle: {
18
- type: String,
19
- default: "",
20
- require: !1
21
- },
22
- border: {
23
- type: Boolean,
24
- default: !1
25
- },
26
- align: {
27
- type: String,
28
- default: "center",
29
- require: !1
30
- }
31
- }, O = /* @__PURE__ */ y({
32
- __name: "DynamicComponents",
33
- props: {
34
- col: null,
35
- row: null
36
- },
37
- setup(r) {
38
- const n = r;
39
- return (o, i) => {
40
- var u, l, t;
41
- return d(), b(g(`el-${(u = n.col) == null ? void 0 : u.type}`), m({
42
- modelValue: r.row[(l = n.col) == null ? void 0 : l.prop],
43
- "onUpdate:modelValue": i[0] || (i[0] = (e) => {
44
- var a;
45
- return r.row[(a = n.col) == null ? void 0 : a.prop] = e;
46
- })
47
- }, (t = n.col) == null ? void 0 : t.config), {
48
- default: c(() => {
49
- var e;
50
- return [
51
- n.col.type === "select" ? (d(!0), S(v, { key: 0 }, N((e = n.col) == null ? void 0 : e.config.options, (a) => (d(), b(g("el-option"), {
52
- key: a.value,
53
- label: a.label,
54
- value: a.value
55
- }, null, 8, ["label", "value"]))), 128)) : T("", !0)
56
- ];
57
- }),
58
- _: 1
59
- }, 16, ["modelValue"]);
60
- };
61
- }
62
- });
63
- function j(r) {
64
- return typeof r == "function" || Object.prototype.toString.call(r) === "[object Object]" && !_(r);
65
- }
66
- const q = {
67
- "operate-handle": (r, n) => !!(r || n)
68
- }, B = /* @__PURE__ */ y({
69
- name: "YxTable",
70
- props: V,
71
- emits: q,
72
- setup(r, {
73
- attrs: n,
74
- slots: o,
75
- emit: i
76
- }) {
77
- return () => {
78
- const u = (e, a) => {
79
- var p;
80
- return e.slotName && ((p = o[e.slotName]) == null ? void 0 : p.call(o, a));
81
- }, l = r.columns.map((e) => s(w("el-table-column"), m(e, {
82
- align: r.align
83
- }), {
84
- default: (a) => (e == null ? void 0 : e.renderType) === "operate" ? t(e, a) : e != null && e.renderType && (e == null ? void 0 : e.renderType) !== "operate" ? s(O, {
85
- col: e,
86
- row: a.row
87
- }, null) : (e == null ? void 0 : e.slotName) && u(e, a)
88
- })), t = (e, a) => {
89
- var p;
90
- return s("div", {
91
- class: "flex justify-center cursor-pointer"
92
- }, [(p = e.operate) == null ? void 0 : p.map((f) => s("span", {
93
- onClick: () => i("operate-handle", f.key, a.row),
94
- class: "mr-10 whitespace-nowrap"
95
- }, [f.label]))]);
96
- };
97
- return s("div", null, [s(w("el-table"), m(n, {
98
- "row-key": r.rowKey,
99
- data: r.tableData,
100
- border: r.border
101
- }), j(l) ? l : {
102
- default: () => [l]
103
- })]);
104
- };
105
- }
106
- }), L = /* @__PURE__ */ y({
107
- __name: "index",
108
- setup(r) {
109
- (async () => {
110
- const t = await C();
111
- console.log(t);
112
- })();
113
- const o = D([]), i = [
114
- { label: "展开行", type: "expand", slotName: "expand" },
115
- { label: "序号", type: "index" },
116
- { label: "id", prop: "id" },
117
- { label: "名字", prop: "name" },
118
- { label: "slot", prop: "slot", slotName: "testSlot" },
119
- {
120
- label: "time",
121
- prop: "time",
122
- formatter: ({ time: t }) => new Date(t).toLocaleString()
123
- },
124
- {
125
- label: "input",
126
- prop: "name",
127
- renderType: "input",
128
- formatter: ({ time: t }) => new Date(t).toLocaleString()
129
- },
130
- {
131
- label: "select",
132
- prop: "name",
133
- renderType: "select",
134
- config: {
135
- options: [{ label: "test", value: "test" }]
136
- }
137
- },
138
- {
139
- label: "操作",
140
- fixed: "right",
141
- width: 200,
142
- renderType: "operate",
143
- operate: [
144
- { label: "修改", key: "change" },
145
- { label: "重置", key: "reset" },
146
- { label: "权限", key: "power" },
147
- { label: "删除", key: "del" }
148
- ]
149
- }
150
- ], u = "uid";
151
- for (let t = 0; t < 20; t++)
152
- o.value.push({
153
- id: t,
154
- name: "123" + t,
155
- uid: "test" + t,
156
- time: Date.now(),
157
- slot: "123"
158
- });
159
- const l = (t, e) => {
160
- console.log(t, e);
161
- };
162
- return (t, e) => (d(), S("div", null, [
163
- s(h(B), m({ tableData: o.value, columns: i, rowKey: u }, { onOperateHandle: l }), {
164
- expand: c(({ row: a }) => [
165
- x(k(JSON.stringify(a)), 1)
166
- ]),
167
- testSlot: c(({ row: a }) => [
168
- x(k(JSON.stringify(a)), 1)
169
- ]),
170
- _: 1
171
- }, 16)
172
- ]));
173
- }
174
- });
175
- export {
176
- L as default
177
- };
178
- //# sourceMappingURL=index.es7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.es7.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":"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"}