yxuse 1.0.42 → 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.es6.js CHANGED
@@ -1,5 +1,21 @@
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 = {
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
- }, O = /* @__PURE__ */ y({
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 (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;
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
- }, (t = n.col) == null ? void 0 : t.config), {
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), 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)
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 j(r) {
63
- return typeof r == "function" || Object.prototype.toString.call(r) === "[object Object]" && !_(r);
78
+ function q(r) {
79
+ return typeof r == "function" || Object.prototype.toString.call(r) === "[object Object]" && !D(r);
64
80
  }
65
- const q = {
81
+ const B = {
66
82
  "operate-handle": (r, n) => !!(r || n)
67
- }, B = /* @__PURE__ */ y({
83
+ }, H = /* @__PURE__ */ y({
68
84
  name: "YxTable",
69
- props: V,
70
- emits: q,
85
+ props: O,
86
+ emits: B,
71
87
  setup(r, {
72
88
  attrs: n,
73
- slots: o,
74
- emit: u
89
+ slots: l,
90
+ emit: i
75
91
  }) {
76
92
  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, {
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: (a) => (e == null ? void 0 : e.renderType) === "operate" ? t(e, a) : e != null && e.renderType && (e == null ? void 0 : e.renderType) !== "operate" ? s(O, {
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: a.row
86
- }, null) : (e == null ? void 0 : e.slotName) && i(e, a)
87
- })), t = (e, a) => {
88
- var p;
89
- return s("div", {
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
- }, [(p = e.operate) == null ? void 0 : p.map((b) => s("span", {
92
- onClick: () => u("operate-handle", b.key, a.row),
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 s("div", null, [s(w("el-table"), m(n, {
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
- }), j(l) ? l : {
101
- default: () => [l]
116
+ }), q(o) ? o : {
117
+ default: () => [o]
102
118
  })]);
103
119
  };
104
120
  }
105
- }), K = /* @__PURE__ */ y({
121
+ }), P = /* @__PURE__ */ y({
106
122
  __name: "index",
107
123
  setup(r) {
108
- (async () => {
109
- const t = await C();
110
- console.log(t);
111
- })();
112
- const o = D([]), u = [
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: t }) => new Date(t).toLocaleString()
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: t }) => new Date(t).toLocaleString()
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
- ], 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,
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 l = (t, e) => {
159
- console.log(t, e);
174
+ const o = (a, e) => {
175
+ console.log(a, e);
160
176
  };
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)
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: a }) => [
167
- x(k(JSON.stringify(a)), 1)
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
- K as default
191
+ P as default
176
192
  };
177
193
  //# sourceMappingURL=index.es6.js.map
@@ -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":"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"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yxuse",
3
- "version": "1.0.42",
3
+ "version": "1.0.43",
4
4
  "private": false,
5
5
  "keywords": [
6
6
  "yx"