@chewel611/naive-ui-plus 0.0.28 → 0.0.30

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.
@@ -1,277 +1,236 @@
1
- import { useDialog as ye, useMessage as we, NCard as be, NDataTable as ke, NModal as Ce, NSpace as Se, NButton as C, NTooltip as De, NIcon as T, NDropdown as Me } from "naive-ui";
2
- import { defineComponent as Oe, ref as c, computed as K, unref as d, onMounted as xe, openBlock as v, createBlock as H, withCtx as n, createElementVNode as S, createElementBlock as j, renderSlot as I, createCommentVNode as D, createVNode as s, normalizeStyle as X, createTextVNode as $, toDisplayString as Ee, h as N, toRaw as y } from "vue";
3
- import { PlusSquareOutlined as Be, DeleteOutlined as Te, ReloadOutlined as $e, MoreOutlined as Ne } from "@vicons/antd";
4
- import { resetObject as Re } from "../utils/helper.js";
5
- import { cloneDeep as ze } from "lodash";
6
- const Le = { class: "text-lg font-medium" }, _e = { id: "data-content" }, He = {
1
+ import { useDialog as oe, useMessage as ne, NCard as le, NDataTable as ae, NSpace as ie, NTooltip as se, NIcon as w, NDropdown as re, NButton as ce } from "naive-ui";
2
+ import { defineComponent as de, ref as p, computed as H, unref as c, onMounted as ue, openBlock as b, createBlock as T, withCtx as a, createElementVNode as g, createElementBlock as fe, renderSlot as pe, createCommentVNode as R, createVNode as s, toDisplayString as ge, h as C, toRaw as $ } from "vue";
3
+ import { PlusSquareOutlined as me, DeleteOutlined as he, ReloadOutlined as ye, MoreOutlined as ke } from "@vicons/antd";
4
+ const ve = { class: "text-lg font-medium" }, we = { id: "data-content" }, be = {
7
5
  key: 0,
8
6
  class: "rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"
9
- }, je = { key: 1 }, Ie = { key: 2 }, Ue = /* @__PURE__ */ Oe({
7
+ }, Se = /* @__PURE__ */ de({
10
8
  __name: "PTable",
11
9
  props: {
12
10
  title: {},
13
11
  idField: { default: "id" },
14
- item: { default: {} },
15
12
  columns: {},
16
- modalWidth: { default: 800 },
17
- hiddenAdd: { type: Boolean, default: !1 },
18
- hiddenEdit: { type: Boolean, default: !1 },
19
- hiddenDelete: { type: Boolean, default: !1 },
20
13
  onLoad: {},
21
- onGet: {},
22
- onOpenModal: {},
23
- onCloseModal: {},
24
- onSave: {},
25
- onDelete: {}
14
+ onDelete: {},
15
+ onAdd: {},
16
+ onEdit: {}
26
17
  },
27
- setup(f, { expose: Y }) {
28
- const P = c(null), J = ye(), w = we(), M = c(!1), O = c([]), x = c([]), p = c(null), h = c(!1), b = c(!1), E = c(!1), W = c({}), g = c({
18
+ setup(_, { expose: P }) {
19
+ const z = p(null), I = oe(), m = ne(), h = p(!1), y = p([]), k = p([]), d = p({
29
20
  page: 1,
30
21
  itemCount: 0,
31
22
  pageSize: 10,
32
23
  pageSizes: [10, 20, 30, 50],
33
24
  showSizePicker: !0,
34
25
  onChange: async (e) => {
35
- g.value.page = e, await m();
26
+ d.value.page = e, await u();
36
27
  },
37
28
  onUpdatePageSize: async (e) => {
38
- g.value.pageSize = e, await m();
29
+ d.value.pageSize = e, await u();
39
30
  }
40
- }), o = f, Q = (e) => {
41
- const t = (l) => {
42
- const a = [];
43
- return e && e.forEach((r) => {
44
- r.key !== "edit" && r.key !== "delete" && a.push({
45
- label: r.name,
46
- key: r.key,
47
- props: { onClick: () => r.action(l) }
31
+ }), l = _, A = (e) => {
32
+ const t = (o) => {
33
+ const n = [];
34
+ return e && e.forEach((i) => {
35
+ i.key !== "edit" && i.key !== "delete" && n.push({
36
+ label: i.name,
37
+ key: i.key,
38
+ props: { onClick: () => i.action(o) }
48
39
  });
49
- }), a;
40
+ }), n;
50
41
  };
51
42
  return {
52
43
  title: "操作",
53
44
  key: "actions",
54
45
  width: 100,
55
46
  fixed: "right",
56
- render: (l) => {
57
- let a = [];
58
- if (o.hiddenEdit || a.push({
47
+ render: (o) => {
48
+ let n = [];
49
+ if (l.onEdit && n.push({
59
50
  label: "编辑",
60
51
  key: "edit",
61
- props: { onClick: () => ne(l) }
62
- }), o.hiddenDelete || a.push({
52
+ props: { onClick: async () => await l.onEdit(o) }
53
+ }), l.onDelete && n.push({
63
54
  label: "删除",
64
55
  key: "delete",
65
- props: { onClick: () => te(l) }
66
- }), a = [...a, ...t(l)], !(a.length <= 0))
67
- return N(
68
- Me,
56
+ props: { onClick: () => q(o) }
57
+ }), n = [...n, ...t(o)], !(n.length <= 0))
58
+ return C(
59
+ re,
69
60
  {
70
- options: a,
61
+ options: n,
71
62
  placement: "bottom-start"
72
63
  },
73
64
  {
74
- default: () => N(
75
- C,
65
+ default: () => C(
66
+ ce,
76
67
  { size: "small", type: "primary" },
77
- { default: () => ["操作", N(T, () => N(Ne))] }
68
+ { default: () => ["操作", C(w, () => C(ke))] }
78
69
  )
79
70
  }
80
71
  );
81
72
  }
82
73
  };
83
- }, Z = K(() => {
84
- const e = o.columns.filter((l) => l.key != "action").map((l) => ({
85
- title: l.title,
86
- key: l.key,
87
- width: l.width,
88
- fixed: l.fixed ?? !1,
89
- render: l.render,
90
- ellipsis: l.ellipsis ? { tooltip: !0 } : !1
91
- })), t = o.columns.reduce(
92
- (l, a) => a.key === "action" ? a : l,
74
+ }, M = H(() => {
75
+ const e = l.columns.filter((o) => o.key != "action").map((o) => ({
76
+ title: o.title,
77
+ key: o.key,
78
+ width: o.width,
79
+ fixed: o.fixed ?? !1,
80
+ render: o.render,
81
+ ellipsis: o.ellipsis ? { tooltip: !0 } : !1
82
+ })), t = l.columns.reduce(
83
+ (o, n) => n.key === "action" ? n : o,
93
84
  void 0
94
85
  )?.action;
95
- return t && t?.length > 0 || !o.hiddenDelete || !o.hiddenEdit ? [
86
+ return t && t?.length > 0 || l.onEdit || l.onDelete ? [
96
87
  { type: "selection", fixed: "left" },
97
88
  ...e,
98
- Q(t)
89
+ A(t)
99
90
  ] : [{ type: "selection", fixed: "left" }, ...e];
100
- }), ee = async () => {
101
- await m();
102
- }, te = (e) => {
103
- A([e]);
104
- }, oe = () => {
105
- const e = R();
106
- A(e);
107
- }, A = (e) => {
108
- e && e.length > 0 && J.warning({
91
+ }), V = async () => await u(), q = (e) => B([e]), W = () => {
92
+ const e = D();
93
+ B(e);
94
+ }, B = (e) => {
95
+ e && e.length > 0 && I.warning({
109
96
  title: "警告",
110
97
  content: "删除数据不可恢复, 确认删除吗?",
111
98
  positiveText: "确定",
112
99
  negativeText: "取消",
113
100
  onPositiveClick: async () => {
114
- if (o.onDelete)
101
+ if (l.onDelete)
115
102
  try {
116
- await o.onDelete(e) ? (m(), w.success("删除成功")) : w.error("删除失败");
103
+ await l.onDelete(e) ? (u(), m.success("删除成功")) : m.error("删除失败");
117
104
  } catch (t) {
118
- w.error(t.message);
105
+ m.error(t.message);
119
106
  }
120
107
  }
121
108
  });
122
- }, le = () => {
123
- p.value = null, F();
124
- }, ne = async (e) => {
125
- p.value = ze(e), F(p.value, async () => {
126
- o.onGet && (p.value = await o.onGet(e[o.idField])), Object.assign(o.item, p.value);
127
- });
128
- }, V = async () => {
129
- if (o.onSave)
130
- try {
131
- E.value = !0, (h.value ? await o.onSave(void 0, y(o.item)) : await o.onSave(p.value[o.idField], y(o.item))) && (B(), await m());
132
- } catch (e) {
133
- w.error(e.message);
134
- } finally {
135
- E.value = !1;
136
- }
137
- }, F = async (e, t) => {
138
- o.onOpenModal?.(e), await t?.(), e ? (h.value = !1, b.value = !0) : (b.value = !1, h.value = !0);
139
- }, B = () => {
140
- p.value = null, Re(o.item), Object.assign(o.item, { ...y(W.value) }), o.onCloseModal?.(o.item), h.value = !1, b.value = !1;
141
- }, R = () => O.value ? x.value.filter((t) => O.value.includes(t.id)).map((t) => y(t)) : [], ae = () => R()[0], se = () => y(x.value), m = async () => {
142
- if (!M.value) {
143
- M.value = !0;
109
+ }, D = () => y.value ? k.value.filter((t) => y.value.includes(t.id)).map((t) => $(t)) : [], j = () => D()[0], F = () => $(k.value), u = async () => {
110
+ if (!h.value) {
111
+ h.value = !0;
144
112
  try {
145
- if (o.onLoad) {
146
- var { data: e, total: t } = await o.onLoad(
147
- g.value.page,
148
- g.value.pageSize
113
+ if (l.onLoad) {
114
+ var { data: e, total: t } = await l.onLoad(
115
+ d.value.page,
116
+ d.value.pageSize
149
117
  );
150
- x.value = e, g.value.itemCount = t;
118
+ k.value = e, d.value.itemCount = t;
151
119
  }
152
- } catch (l) {
153
- w.error(l.message);
120
+ } catch (o) {
121
+ m.error(o.message);
154
122
  } finally {
155
- M.value = !1;
123
+ h.value = !1;
156
124
  }
157
125
  }
158
- }, ie = K(() => {
159
- const e = d(P);
126
+ }, K = H(() => {
127
+ const e = c(z);
160
128
  if (!e) return;
161
- const t = e?.$el, l = t.querySelector(".n-data-table-thead "), { bottomIncludeBody: a } = re(l), r = 48;
162
- let u = 12, i = 24;
163
- const k = t.querySelector(
129
+ const t = e?.$el, o = t.querySelector(".n-data-table-thead "), { bottomIncludeBody: n } = X(o), i = 48;
130
+ let r = 12, v = 24;
131
+ const f = t.querySelector(
164
132
  ".n-data-table__pagination"
165
133
  );
166
- if (k) {
167
- const z = k.offsetHeight;
168
- u += z || 0;
134
+ if (f) {
135
+ const S = f.offsetHeight;
136
+ r += S || 0;
169
137
  } else
170
- u += 28;
171
- return a - (r + u + i);
172
- }), de = (e) => !e || !e.getBoundingClientRect ? 0 : e.getBoundingClientRect(), re = (e) => {
173
- const t = document.documentElement, l = t.scrollLeft, a = t.scrollTop, r = t.clientLeft, u = t.clientTop, i = window.pageXOffset, k = window.pageYOffset, U = de(e), {
174
- left: z,
175
- top: ue,
176
- width: fe,
177
- height: pe
178
- } = U, ge = (i || l) - (r || 0), me = (k || a) - (u || 0), he = z + i, ve = ue + k, L = he - ge, _ = ve - me, q = window.document.documentElement.clientWidth, G = window.document.documentElement.clientHeight;
138
+ r += 28;
139
+ return n - (i + r + v);
140
+ }), U = (e) => !e || !e.getBoundingClientRect ? 0 : e.getBoundingClientRect(), X = (e) => {
141
+ const t = document.documentElement, o = t.scrollLeft, n = t.scrollTop, i = t.clientLeft, r = t.clientTop, v = window.pageXOffset, f = window.pageYOffset, L = U(e), {
142
+ left: S,
143
+ top: Y,
144
+ width: G,
145
+ height: J
146
+ } = L, Q = (v || o) - (i || 0), Z = (f || n) - (r || 0), ee = S + v, te = Y + f, x = ee - Q, E = te - Z, N = window.document.documentElement.clientWidth, O = window.document.documentElement.clientHeight;
179
147
  return {
180
- left: L,
181
- top: _,
182
- right: q - fe - L,
183
- bottom: G - pe - _,
184
- rightIncludeBody: q - L,
185
- bottomIncludeBody: G - _
148
+ left: x,
149
+ top: E,
150
+ right: N - G - x,
151
+ bottom: O - J - E,
152
+ rightIncludeBody: N - x,
153
+ bottomIncludeBody: O - E
186
154
  };
187
- }, ce = () => {
188
- W.value = { ...y(o.item) };
189
155
  };
190
- return xe(async () => {
191
- ce(), await m();
192
- }), Y({
193
- getData: se,
194
- getSelectedRow: ae,
195
- getSelectedRows: R,
196
- closeModal: B,
197
- refreshData: m,
156
+ return ue(async () => await u()), P({
157
+ getData: F,
158
+ getSelectedRow: j,
159
+ getSelectedRows: D,
160
+ refreshData: u,
198
161
  resetPage: () => {
199
- g.value.page = 1;
162
+ d.value.page = 1;
200
163
  }
201
164
  }), (e, t) => {
202
- const l = De, a = Se, r = ke, u = Ce;
203
- return v(), H(d(be), {
204
- bordered: !1,
205
- "content-class": "!p-0",
206
- "header-class": "!px-0 !pt-0"
207
- }, {
208
- header: n(() => [
209
- s(a, {
165
+ const o = se, n = ie, i = ae;
166
+ return b(), T(c(le), { bordered: !1 }, {
167
+ header: a(() => [
168
+ s(n, {
210
169
  justify: "space-between",
211
170
  align: "center",
212
171
  class: "w-full"
213
172
  }, {
214
- default: n(() => [
215
- S("span", Le, Ee(f.title), 1),
216
- s(a, null, {
217
- default: n(() => [
218
- f.hiddenAdd ? D("", !0) : (v(), H(l, {
173
+ default: a(() => [
174
+ g("span", ve, ge(_.title), 1),
175
+ s(n, null, {
176
+ default: a(() => [
177
+ l.onAdd ? (b(), T(o, {
219
178
  key: 0,
220
179
  trigger: "hover"
221
180
  }, {
222
- trigger: n(() => [
223
- s(d(T), {
181
+ trigger: a(() => [
182
+ s(c(w), {
224
183
  size: "18",
225
184
  class: "mr-1 cursor-pointer hover:text-blue-600",
226
- onClick: le
185
+ onClick: l.onAdd
227
186
  }, {
228
- default: n(() => [
229
- s(d(Be))
187
+ default: a(() => [
188
+ s(c(me))
230
189
  ]),
231
190
  _: 1
232
- })
191
+ }, 8, ["onClick"])
233
192
  ]),
234
- default: n(() => [
235
- t[3] || (t[3] = S("span", null, "新增", -1))
193
+ default: a(() => [
194
+ t[1] || (t[1] = g("span", null, "新增", -1))
236
195
  ]),
237
196
  _: 1
238
- })),
239
- f.hiddenDelete ? D("", !0) : (v(), H(l, {
197
+ })) : R("", !0),
198
+ l.onDelete ? (b(), T(o, {
240
199
  key: 1,
241
200
  trigger: "hover"
242
201
  }, {
243
- trigger: n(() => [
244
- s(d(T), {
202
+ trigger: a(() => [
203
+ s(c(w), {
245
204
  size: "18",
246
205
  class: "mr-1 cursor-pointer hover:text-blue-600",
247
- onClick: oe
206
+ onClick: W
248
207
  }, {
249
- default: n(() => [
250
- s(d(Te))
208
+ default: a(() => [
209
+ s(c(he))
251
210
  ]),
252
211
  _: 1
253
212
  })
254
213
  ]),
255
- default: n(() => [
256
- t[4] || (t[4] = S("span", null, "删除", -1))
214
+ default: a(() => [
215
+ t[2] || (t[2] = g("span", null, "删除", -1))
257
216
  ]),
258
217
  _: 1
259
- })),
260
- s(l, { trigger: "hover" }, {
261
- trigger: n(() => [
262
- s(d(T), {
218
+ })) : R("", !0),
219
+ s(o, { trigger: "hover" }, {
220
+ trigger: a(() => [
221
+ s(c(w), {
263
222
  size: "18",
264
223
  class: "cursor-pointer hover:text-blue-600",
265
- onClick: ee
224
+ onClick: V
266
225
  }, {
267
- default: n(() => [
268
- s(d($e))
226
+ default: a(() => [
227
+ s(c(ye))
269
228
  ]),
270
229
  _: 1
271
230
  })
272
231
  ]),
273
- default: n(() => [
274
- t[5] || (t[5] = S("span", null, "刷新", -1))
232
+ default: a(() => [
233
+ t[3] || (t[3] = g("span", null, "刷新", -1))
275
234
  ]),
276
235
  _: 1
277
236
  })
@@ -282,110 +241,26 @@ const Le = { class: "text-lg font-medium" }, _e = { id: "data-content" }, He = {
282
241
  _: 1
283
242
  })
284
243
  ]),
285
- default: n(() => [
286
- S("div", _e, [
287
- e.$slots.toolbar ? (v(), j("div", He, [
288
- I(e.$slots, "toolbar")
289
- ])) : D("", !0),
290
- s(r, {
244
+ default: a(() => [
245
+ g("div", we, [
246
+ e.$slots.toolbar ? (b(), fe("div", be, [
247
+ pe(e.$slots, "toolbar")
248
+ ])) : R("", !0),
249
+ s(i, {
291
250
  remote: "",
292
251
  ref_key: "$table",
293
- ref: P,
294
- "checked-row-keys": O.value,
295
- "onUpdate:checkedRowKeys": t[0] || (t[0] = (i) => O.value = i),
296
- "max-height": ie.value,
297
- loading: M.value,
252
+ ref: z,
253
+ "checked-row-keys": y.value,
254
+ "onUpdate:checkedRowKeys": t[0] || (t[0] = (r) => y.value = r),
255
+ "max-height": K.value,
256
+ loading: h.value,
298
257
  bordered: !1,
299
258
  "single-line": !1,
300
- columns: Z.value,
301
- data: x.value,
302
- pagination: g.value,
303
- "row-key": (i) => i[f.idField]
304
- }, null, 8, ["checked-row-keys", "max-height", "loading", "columns", "data", "pagination", "row-key"]),
305
- e.$slots.addModal ? (v(), j("div", je, [
306
- s(u, {
307
- title: "新增",
308
- preset: "card",
309
- show: h.value,
310
- "onUpdate:show": t[1] || (t[1] = (i) => h.value = i),
311
- "header-class": "bg-gray-50",
312
- closable: !1,
313
- "close-on-esc": !1,
314
- "mask-closable": !1,
315
- draggable: !0,
316
- style: X({ width: `${f.modalWidth}px` })
317
- }, {
318
- action: n(() => [
319
- s(a, { justify: "end" }, {
320
- default: n(() => [
321
- s(d(C), {
322
- type: "primary",
323
- loading: E.value,
324
- onClick: V
325
- }, {
326
- default: n(() => [...t[6] || (t[6] = [
327
- $("保存", -1)
328
- ])]),
329
- _: 1
330
- }, 8, ["loading"]),
331
- s(d(C), { onClick: B }, {
332
- default: n(() => [...t[7] || (t[7] = [
333
- $("取消", -1)
334
- ])]),
335
- _: 1
336
- })
337
- ]),
338
- _: 1
339
- })
340
- ]),
341
- default: n(() => [
342
- I(e.$slots, "addModal")
343
- ]),
344
- _: 3
345
- }, 8, ["show", "style"])
346
- ])) : D("", !0),
347
- e.$slots.editModal ? (v(), j("div", Ie, [
348
- s(u, {
349
- title: "编辑",
350
- show: b.value,
351
- "onUpdate:show": t[2] || (t[2] = (i) => b.value = i),
352
- preset: "card",
353
- "header-class": "bg-gray-50",
354
- closable: !1,
355
- "close-on-esc": !1,
356
- "mask-closable": !1,
357
- draggable: !0,
358
- style: X({ width: `${f.modalWidth}px` })
359
- }, {
360
- action: n(() => [
361
- s(a, { justify: "end" }, {
362
- default: n(() => [
363
- s(d(C), {
364
- type: "primary",
365
- loading: E.value,
366
- onClick: V
367
- }, {
368
- default: n(() => [...t[8] || (t[8] = [
369
- $("保存", -1)
370
- ])]),
371
- _: 1
372
- }, 8, ["loading"]),
373
- s(d(C), { onClick: B }, {
374
- default: n(() => [...t[9] || (t[9] = [
375
- $("取消", -1)
376
- ])]),
377
- _: 1
378
- })
379
- ]),
380
- _: 1
381
- })
382
- ]),
383
- default: n(() => [
384
- I(e.$slots, "editModal")
385
- ]),
386
- _: 3
387
- }, 8, ["show", "style"])
388
- ])) : D("", !0)
259
+ columns: M.value,
260
+ data: k.value,
261
+ pagination: d.value,
262
+ "row-key": (r) => r[_.idField]
263
+ }, null, 8, ["checked-row-keys", "max-height", "loading", "columns", "data", "pagination", "row-key"])
389
264
  ])
390
265
  ]),
391
266
  _: 3
@@ -394,5 +269,5 @@ const Le = { class: "text-lg font-medium" }, _e = { id: "data-content" }, He = {
394
269
  }
395
270
  });
396
271
  export {
397
- Ue as default
272
+ Se as default
398
273
  };
@@ -4,16 +4,10 @@ export declare const PTablePlugin: {
4
4
  refreshData: () => Promise<void>;
5
5
  getData: <T>() => T[];
6
6
  getSelectedRows: <T>() => T[];
7
- closeModal: () => void;
8
7
  resetPage: () => void;
9
8
  getSelectedRow: <T>() => T;
10
9
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
11
10
  idField: string;
12
- item: any;
13
- modalWidth: number;
14
- hiddenAdd: boolean;
15
- hiddenEdit: boolean;
16
- hiddenDelete: boolean;
17
11
  }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
18
12
  $table: unknown;
19
13
  }, any, import('vue').ComponentProvideOptions, {
@@ -27,16 +21,10 @@ export declare const PTablePlugin: {
27
21
  refreshData: () => Promise<void>;
28
22
  getData: <T>() => T[];
29
23
  getSelectedRows: <T>() => T[];
30
- closeModal: () => void;
31
24
  resetPage: () => void;
32
25
  getSelectedRow: <T>() => T;
33
26
  }, {}, {}, {}, {
34
27
  idField: string;
35
- item: any;
36
- modalWidth: number;
37
- hiddenAdd: boolean;
38
- hiddenEdit: boolean;
39
- hiddenDelete: boolean;
40
28
  }>;
41
29
  __isFragment?: never;
42
30
  __isTeleport?: never;
@@ -45,20 +33,12 @@ export declare const PTablePlugin: {
45
33
  refreshData: () => Promise<void>;
46
34
  getData: <T>() => T[];
47
35
  getSelectedRows: <T>() => T[];
48
- closeModal: () => void;
49
36
  resetPage: () => void;
50
37
  getSelectedRow: <T>() => T;
51
38
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
52
39
  idField: string;
53
- item: any;
54
- modalWidth: number;
55
- hiddenAdd: boolean;
56
- hiddenEdit: boolean;
57
- hiddenDelete: boolean;
58
40
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
59
41
  $slots: {
60
42
  toolbar?(_: {}): any;
61
- addModal?(_: {}): any;
62
- editModal?(_: {}): any;
63
43
  };
64
44
  }) & import('vue').Plugin;
@@ -17,27 +17,19 @@ export type DataTableColumnDefine = {
17
17
  export type DataTableProps = {
18
18
  title?: string;
19
19
  idField?: string;
20
- item?: any;
21
20
  columns: DataTableColumnDefine[];
22
- modalWidth?: number;
23
- hiddenAdd?: boolean;
24
- hiddenEdit?: boolean;
25
- hiddenDelete?: boolean;
26
21
  onLoad: (page: number, pageSize: number) => Promise<{
27
22
  data: any[];
28
23
  total: number;
29
24
  }>;
30
- onGet?: (id: string | number) => Promise<any>;
31
- onOpenModal?: (item?: any) => void;
32
- onCloseModal?: (item?: any) => void;
33
- onSave?: (id?: string | number, row?: any) => Promise<boolean> | boolean;
34
- onDelete?: (rows: any[]) => Promise<boolean> | boolean;
25
+ onDelete?: (rows: any[]) => Promise<boolean>;
26
+ onAdd?: () => Promise<void>;
27
+ onEdit?: (row: any) => Promise<void>;
35
28
  };
36
29
  export type DataTableMethods = {
37
30
  refreshData: () => Promise<void>;
38
31
  getData: <T>() => T[];
39
32
  getSelectedRows: <T>() => T[];
40
- closeModal: () => void;
41
33
  resetPage: () => void;
42
34
  getSelectedRow: <T>() => T;
43
35
  };
@@ -2113,7 +2113,6 @@ declare const __VLS_component: import('vue').DefineComponent<ModalProps, {
2113
2113
  }>, {
2114
2114
  width: number;
2115
2115
  height: number;
2116
- closable: boolean;
2117
2116
  saveBtnText: string;
2118
2117
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
2119
2118
  $modal: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("naive-ui"),e=require("vue"),m=e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},closable:{type:Boolean,default:!1},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{}},emits:["update:visible","update:loading"],setup(l,{expose:c,emit:u}){const i=s.useMessage(),a=l,o=u,f=async()=>{o("update:loading",!0);try{a.onSave&&await a.onSave()&&n()}catch(t){i.error(t.message)}finally{o("update:loading",!1)}},n=()=>{o("update:visible",!1),o("update:loading",!1)},g=async()=>{try{a.onClose?await a.onClose()&&n():n()}catch(t){i.error(t.message),o("update:loading",!1)}};return c({open:()=>{o("update:visible",!0),o("update:loading",!1)},close:()=>{o("update:visible",!1),o("update:loading",!1)}}),(t,d)=>{const p=s.NText,r=s.NButton,h=s.NSpace;return e.openBlock(),e.createBlock(e.unref(s.NModal),e.mergeProps({ref:"$modal",preset:"card"},t.$attrs,{"header-class":"bg-gray-50",show:a.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${a.width}px`},onClose:n}),{header:e.withCtx(()=>[t.$slots.header?e.renderSlot(t.$slots,"header",{key:0}):a.title?(e.openBlock(),e.createBlock(p,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(t.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${a.height}px`})},[e.renderSlot(t.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(t.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(h,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(r,{type:"primary",loading:l.loading,onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(t.$slots,"action-extra",{loading:l.loading}),e.createVNode(r,{onClick:g,loading:l.loading},{default:e.withCtx(()=>[...d[0]||(d[0]=[e.createTextVNode("取消",-1)])]),_:1},8,["loading"])]),_:3})]),_:3},16,["show","style"])}}});exports.default=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("naive-ui"),e=require("vue"),m=e.defineComponent({__name:"PModal",props:{saveBtnText:{default:"保存"},title:{},width:{default:800},height:{default:500},visible:{type:Boolean},loading:{type:Boolean},onSave:{},onClose:{}},emits:["update:visible","update:loading"],setup(l,{expose:c,emit:u}){const i=s.useMessage(),a=l,o=u,f=async()=>{o("update:loading",!0);try{a.onSave&&await a.onSave()&&n()}catch(t){i.error(t.message)}finally{o("update:loading",!1)}},n=()=>{o("update:visible",!1),o("update:loading",!1)},g=async()=>{try{a.onClose?await a.onClose()&&n():n()}catch(t){i.error(t.message),o("update:loading",!1)}};return c({open:()=>{o("update:visible",!0),o("update:loading",!1)},close:()=>{o("update:visible",!1),o("update:loading",!1)}}),(t,d)=>{const p=s.NText,r=s.NButton,h=s.NSpace;return e.openBlock(),e.createBlock(e.unref(s.NModal),e.mergeProps({ref:"$modal",preset:"card"},t.$attrs,{"header-class":"bg-gray-50",show:a.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${a.width}px`},onClose:n}),{header:e.withCtx(()=>[t.$slots.header?e.renderSlot(t.$slots,"header",{key:0}):a.title?(e.openBlock(),e.createBlock(p,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(t.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${a.height}px`})},[e.renderSlot(t.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(t.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(h,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(r,{type:"primary",loading:l.loading,onClick:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(t.$slots,"action-extra",{loading:l.loading}),e.createVNode(r,{onClick:g,loading:l.loading},{default:e.withCtx(()=>[...d[0]||(d[0]=[e.createTextVNode("取消",-1)])]),_:1},8,["loading"])]),_:3})]),_:3},16,["show","style"])}}});exports.default=m;