@chewel611/naive-ui-plus 0.0.17 → 0.0.19

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/dist/index.js CHANGED
@@ -32,7 +32,7 @@ const Be = (t) => {
32
32
  onDelete: {}
33
33
  },
34
34
  setup(t, { expose: d }) {
35
- const h = M(null), v = $e(), w = ce(), p = M(!1), L = M([]), k = M([]), T = M(null), x = M(!1), u = M(!1), f = M(!1), r = M({}), P = M({
35
+ const h = M(null), v = $e(), w = ce(), p = M(!1), L = M([]), k = M([]), T = M(null), x = M(!1), f = M(!1), u = M(!1), r = M({}), P = M({
36
36
  page: 1,
37
37
  itemCount: 0,
38
38
  pageSize: 10,
@@ -135,16 +135,16 @@ const Be = (t) => {
135
135
  }, oe = async () => {
136
136
  if (o.onSave)
137
137
  try {
138
- f.value = !0, (x.value ? await o.onSave(void 0, X(o.item)) : await o.onSave(T.value[o.idField], X(o.item))) && (K(), await W());
138
+ u.value = !0, (x.value ? await o.onSave(void 0, X(o.item)) : await o.onSave(T.value[o.idField], X(o.item))) && (K(), await W());
139
139
  } catch (c) {
140
140
  w.error(c.message);
141
141
  } finally {
142
- f.value = !1;
142
+ u.value = !1;
143
143
  }
144
144
  }, le = async (c, e) => {
145
- o.onOpenModal?.(c), await e?.(), c ? (x.value = !1, u.value = !0) : (u.value = !1, x.value = !0);
145
+ o.onOpenModal?.(c), await e?.(), c ? (x.value = !1, f.value = !0) : (f.value = !1, x.value = !0);
146
146
  }, K = () => {
147
- T.value = null, Be(o.item), Object.assign(o.item, { ...X(r.value) }), o.onCloseModal?.(o.item), x.value = !1, u.value = !1;
147
+ T.value = null, Be(o.item), Object.assign(o.item, { ...X(r.value) }), o.onCloseModal?.(o.item), x.value = !1, f.value = !1;
148
148
  }, Y = () => L.value ? k.value.filter((e) => L.value.includes(e.id)).map((e) => X(e)) : [], fe = () => Y()[0], pe = () => X(k.value), W = async () => {
149
149
  if (!p.value) {
150
150
  p.value = !0;
@@ -308,6 +308,7 @@ const Be = (t) => {
308
308
  closable: !1,
309
309
  "close-on-esc": !1,
310
310
  "mask-closable": !1,
311
+ draggable: !0,
311
312
  style: ie({ width: `${c.modalWidth}px` })
312
313
  }, {
313
314
  action: s(() => [
@@ -315,7 +316,7 @@ const Be = (t) => {
315
316
  default: s(() => [
316
317
  i(a(q), {
317
318
  type: "primary",
318
- loading: f.value,
319
+ loading: u.value,
319
320
  onClick: oe
320
321
  }, {
321
322
  default: s(() => e[6] || (e[6] = [
@@ -344,13 +345,14 @@ const Be = (t) => {
344
345
  c.$slots.editModal ? (y(), B("div", Bt, [
345
346
  i(E, {
346
347
  title: "编辑",
347
- show: u.value,
348
- "onUpdate:show": e[2] || (e[2] = (R) => u.value = R),
348
+ show: f.value,
349
+ "onUpdate:show": e[2] || (e[2] = (R) => f.value = R),
349
350
  preset: "card",
350
351
  "header-class": "bg-gray-50",
351
352
  closable: !1,
352
353
  "close-on-esc": !1,
353
354
  "mask-closable": !1,
355
+ draggable: !0,
354
356
  style: ie({ width: `${c.modalWidth}px` })
355
357
  }, {
356
358
  action: s(() => [
@@ -358,7 +360,7 @@ const Be = (t) => {
358
360
  default: s(() => [
359
361
  i(a(q), {
360
362
  type: "primary",
361
- loading: f.value,
363
+ loading: u.value,
362
364
  onClick: oe
363
365
  }, {
364
366
  default: s(() => e[8] || (e[8] = [
@@ -494,28 +496,28 @@ const Be = (t) => {
494
496
  initLanguage: (t) => {
495
497
  }
496
498
  }, Vt = Ae("language", () => {
497
- const t = M(qt), d = (u) => {
498
- u.forEach((f) => {
499
- (f.key === "Chinese" || f.key === "chinese") && (f.key = "chinese_simplified");
500
- }), t.value.options = [...u];
501
- }, h = () => t.value.options, v = (u) => {
502
- if (t.value.currentLanguage === u)
499
+ const t = M(qt), d = (f) => {
500
+ f.forEach((u) => {
501
+ (u.key === "Chinese" || u.key === "chinese") && (u.key = "chinese_simplified");
502
+ }), t.value.options = [...f];
503
+ }, h = () => t.value.options, v = (f) => {
504
+ if (t.value.currentLanguage === f)
503
505
  return;
504
- const f = t.value.options.find(
505
- (r) => r.key === u
506
+ const u = t.value.options.find(
507
+ (r) => r.key === f
506
508
  );
507
- f && (t.value.currentLanguage = f.key, t.value.selectCallback(f));
509
+ u && (t.value.currentLanguage = u.key, t.value.selectCallback(u));
508
510
  }, w = () => {
509
511
  if (t.value.currentLanguage)
510
512
  return t.value.options.find(
511
- (u) => u.key === t.value.currentLanguage
513
+ (f) => f.key === t.value.currentLanguage
512
514
  );
513
- }, p = (u) => {
514
- t.value.selectCallback = u;
515
- }, L = () => t.value.translationApiUrl, k = (u) => {
516
- t.value.translationApiUrl = u;
517
- }, T = (u) => {
518
- (u === "Chinese" || u === "chinese") && (u = "chinese_simplified"), t.value.defaultLanguage = u;
515
+ }, p = (f) => {
516
+ t.value.selectCallback = f;
517
+ }, L = () => t.value.translationApiUrl, k = (f) => {
518
+ t.value.translationApiUrl = f;
519
+ }, T = (f) => {
520
+ (f === "Chinese" || f === "chinese") && (f = "chinese_simplified"), t.value.defaultLanguage = f;
519
521
  }, x = () => t.value.defaultLanguage ? t.value.defaultLanguage : "chinese_simplified";
520
522
  return ee(() => {
521
523
  t.value.initLanguage(t.value);
@@ -544,7 +546,7 @@ const Be = (t) => {
544
546
  window.translate && (window.translate.selectLanguageTag.show = !1, window.translate.selectLanguageTag.languages = h().map((T) => T.key).join(","), window.translate.ignore.class.push("ignore-translate-flag"), window.translate.ignore.id.push("ignore-translation"), window.translate.language.setLocal(w()), window.translate.request.api.translate = "api/v1/translation", window.translate.request.api.connectTest = "api/v1/translation/connect-test", window.translate.request.api.init = "api/v1/translation/init", window.translate.request.api.language = "api/v1/translation/language", window.translate.request.setHost(p()), window.translate.request.listener.start(), window.translate.listener.start(), window.translate.whole.enableAll(), window.translate.execute());
545
547
  };
546
548
  return ee(async () => await re(() => k())), (T, x) => {
547
- const u = N, f = q;
549
+ const f = N, u = q;
548
550
  return a(h)().length > 0 ? (y(), $(a(G), {
549
551
  key: 0,
550
552
  id: "ignore-translation",
@@ -555,12 +557,12 @@ const Be = (t) => {
555
557
  options: a(h)()
556
558
  }, {
557
559
  default: s(() => [
558
- i(f, {
560
+ i(u, {
559
561
  quaternary: "",
560
562
  type: "info"
561
563
  }, {
562
564
  default: s(() => [
563
- a(v)() ? (y(), B("label", Kt, F(a(v)()?.label), 1)) : (y(), $(u, {
565
+ a(v)() ? (y(), B("label", Kt, F(a(v)()?.label), 1)) : (y(), $(f, {
564
566
  key: 0,
565
567
  size: "18"
566
568
  }, {
@@ -609,8 +611,8 @@ const Be = (t) => {
609
611
  return g.children && g.children.length > 0 && (_.children = x(
610
612
  g.children
611
613
  )), _;
612
- }), u = M(!1), f = () => {
613
- document.fullscreenElement ? document.exitFullscreen && (document.exitFullscreen(), u.value = !1) : (document.documentElement.requestFullscreen(), u.value = !0);
614
+ }), f = M(!1), u = () => {
615
+ document.fullscreenElement ? document.exitFullscreen && (document.exitFullscreen(), f.value = !1) : (document.documentElement.requestFullscreen(), f.value = !0);
614
616
  }, r = H(() => {
615
617
  const m = [];
616
618
  return m.push({
@@ -731,10 +733,10 @@ const Be = (t) => {
731
733
  trigger: s(() => [
732
734
  i(a(N), {
733
735
  size: "18",
734
- onClick: ye(f, ["stop"])
736
+ onClick: ye(u, ["stop"])
735
737
  }, {
736
738
  default: s(() => [
737
- u.value ? (y(), $(a(Lt), { key: 1 })) : (y(), $(a(St), { key: 0 }))
739
+ f.value ? (y(), $(a(Lt), { key: 1 })) : (y(), $(a(St), { key: 0 }))
738
740
  ]),
739
741
  _: 1
740
742
  })
@@ -798,7 +800,7 @@ const Be = (t) => {
798
800
  "4cb4fdc8": h.value,
799
801
  "21e8bab2": v.value
800
802
  }));
801
- const d = Ze(), h = H(() => d.value.cardColor), v = H(() => d.value.textColor1), w = ce(), p = Ce(), L = ke(), k = M(null), T = M(null), x = M(!1), u = ae(), f = H(() => u.state.tabs), r = Re({
803
+ const d = Ze(), h = H(() => d.value.cardColor), v = H(() => d.value.textColor1), w = ce(), p = Ce(), L = ke(), k = M(null), T = M(null), x = M(!1), f = ae(), u = H(() => f.state.tabs), r = Re({
802
804
  activeKey: p.fullPath,
803
805
  scrollable: !0,
804
806
  dropdownX: 0,
@@ -810,13 +812,13 @@ const Be = (t) => {
810
812
  const { fullPath: l, hash: n, meta: C, name: E, params: R, path: j, query: se } = e;
811
813
  return { fullPath: l, hash: n, meta: C, name: E, params: R, path: j, query: se };
812
814
  }, m = H(() => {
813
- const n = u.state.collapsed ? "64px" : "272px";
815
+ const n = f.state.collapsed ? "64px" : "272px";
814
816
  return {
815
817
  left: n,
816
818
  width: `calc(100% - ${n})`
817
819
  };
818
820
  }), g = H(() => {
819
- const e = f.value.length <= 1;
821
+ const e = u.value.length <= 1;
820
822
  return [
821
823
  {
822
824
  label: "刷新当前",
@@ -846,7 +848,7 @@ const Be = (t) => {
846
848
  let e = [];
847
849
  const l = o(p);
848
850
  try {
849
- if (u.state.cacheTabs) {
851
+ if (f.state.cacheTabs) {
850
852
  const n = localStorage.getItem("TABS_ROUTES");
851
853
  e = n ? JSON.parse(n) : [l];
852
854
  }
@@ -860,10 +862,10 @@ const Be = (t) => {
860
862
  e.forEach((n) => {
861
863
  const C = l.find((E) => E.path === n.path);
862
864
  C && (n.meta = C.meta || n.meta, n.name = C.name || n.name);
863
- }), u.state.cacheTabs && localStorage.setItem("TABS_ROUTES", JSON.stringify(e));
865
+ }), f.state.cacheTabs && localStorage.setItem("TABS_ROUTES", JSON.stringify(e));
864
866
  }, O = () => {
865
867
  const e = _();
866
- D(e), u.initTabs(e);
868
+ D(e), f.initTabs(e);
867
869
  }, S = async (e) => {
868
870
  if (await re(), !k.value) return;
869
871
  const l = k.value.offsetWidth, n = k.value.scrollWidth;
@@ -888,20 +890,20 @@ const Be = (t) => {
888
890
  (e) => e.name == p.name
889
891
  )?.components?.default.name;
890
892
  }, Y = (e) => {
891
- if (f.value.length === 1)
893
+ if (u.value.length === 1)
892
894
  return w.warning("这已经是最后一页,不能再关闭了!");
893
- if (K(), u.closeCurrentTab(e), r.activeKey === e.fullPath) {
894
- const l = f.value[Math.max(0, f.value.length - 1)];
895
+ if (K(), f.closeCurrentTab(e), r.activeKey === e.fullPath) {
896
+ const l = u.value[Math.max(0, u.value.length - 1)];
895
897
  r.activeKey = l.fullPath, L.push(l);
896
898
  }
897
899
  S();
898
900
  }, fe = (e) => {
899
- const { fullPath: l } = e, n = f.value.find((C) => C.fullPath == l);
901
+ const { fullPath: l } = e, n = u.value.find((C) => C.fullPath == l);
900
902
  Y(n);
901
903
  }, pe = (e) => {
902
- u.closeOtherTabs(e), r.activeKey = e.fullPath, L.replace(e.fullPath), S();
904
+ f.closeOtherTabs(e), r.activeKey = e.fullPath, L.replace(e.fullPath), S();
903
905
  }, W = () => {
904
- u.closeAllTabs(), S();
906
+ f.closeAllTabs(), S();
905
907
  }, ge = De("reloadPage"), ne = (e) => {
906
908
  switch (e) {
907
909
  //刷新
@@ -938,7 +940,7 @@ const Be = (t) => {
938
940
  Z(C, (C - n) / 20);
939
941
  };
940
942
  return window.addEventListener("beforeunload", () => {
941
- localStorage.setItem("TABS_ROUTES", JSON.stringify(f.value));
943
+ localStorage.setItem("TABS_ROUTES", JSON.stringify(u.value));
942
944
  }), window.addEventListener(
943
945
  "scroll",
944
946
  (e) => {
@@ -949,7 +951,7 @@ const Be = (t) => {
949
951
  ), ze(
950
952
  () => p.fullPath,
951
953
  (e) => {
952
- P.includes(p.name) || (r.activeKey = e, u.addTab(o(p)), S(!0));
954
+ P.includes(p.name) || (r.activeKey = e, f.addTab(o(p)), S(!0));
953
955
  },
954
956
  { immediate: !0 }
955
957
  ), O(), ee(() => ue()), (e, l) => (y(), B("div", {
@@ -996,7 +998,7 @@ const Be = (t) => {
996
998
  class: "tabs-card-scroll"
997
999
  }, [
998
1000
  i(a(Rt), {
999
- list: f.value,
1001
+ list: u.value,
1000
1002
  animation: "300",
1001
1003
  "item-key": "fullPath",
1002
1004
  class: "flex",
@@ -1077,7 +1079,7 @@ const Be = (t) => {
1077
1079
  p.value = r.map((o) => o.name);
1078
1080
  const P = d.meta?.activeMenu || "";
1079
1081
  w.value = P || d.name;
1080
- }, u = (r, P = [], o = !1) => {
1082
+ }, f = (r, P = [], o = !1) => {
1081
1083
  const m = [], g = [
1082
1084
  "/:path(.*)*",
1083
1085
  "/redirect",
@@ -1093,7 +1095,7 @@ const Be = (t) => {
1093
1095
  });
1094
1096
  for (const _ of r) {
1095
1097
  if (o || (_.meta?.hidden || !1) == !0 || g.includes(_.path)) {
1096
- P.push(_.name), _.children && _.children.length > 0 && u(_.children, P, !0);
1098
+ P.push(_.name), _.children && _.children.length > 0 && f(_.children, P, !0);
1097
1099
  continue;
1098
1100
  }
1099
1101
  const D = _.meta?.alwaysShow != !0 && _?.children?.filter((J) => !J?.meta?.hidden)?.length === 1, O = D ? _.children[0] : _, S = {
@@ -1110,16 +1112,16 @@ const Be = (t) => {
1110
1112
  };
1111
1113
  if (!P.includes(_.name)) {
1112
1114
  if (m.push(S), P.push(_.name), D) {
1113
- u(_.children, P, o);
1115
+ f(_.children, P, o);
1114
1116
  continue;
1115
1117
  }
1116
- _.children && _.children.length > 0 && (S.children = u(_.children, P, o));
1118
+ _.children && _.children.length > 0 && (S.children = f(_.children, P, o));
1117
1119
  }
1118
1120
  }
1119
1121
  return m;
1120
- }, f = () => {
1122
+ }, u = () => {
1121
1123
  const r = h.getRoutes();
1122
- L.value = u(r);
1124
+ L.value = f(r);
1123
1125
  };
1124
1126
  return ze(
1125
1127
  () => d.fullPath,
@@ -1127,7 +1129,7 @@ const Be = (t) => {
1127
1129
  x();
1128
1130
  }
1129
1131
  ), ee(() => {
1130
- f(), x();
1132
+ u(), x();
1131
1133
  }), (r, P) => (y(), $(a(Qe), {
1132
1134
  class: "h-full",
1133
1135
  inverted: "",
@@ -1277,8 +1279,8 @@ const Be = (t) => {
1277
1279
  p("update:loading", !0);
1278
1280
  try {
1279
1281
  w.onSave && await w.onSave() && k();
1280
- } catch (f) {
1281
- v.error(f.message);
1282
+ } catch (u) {
1283
+ v.error(u.message);
1282
1284
  } finally {
1283
1285
  p("update:loading", !1);
1284
1286
  }
@@ -1287,8 +1289,8 @@ const Be = (t) => {
1287
1289
  }, T = async () => {
1288
1290
  try {
1289
1291
  w.onClose ? await w.onClose() && k() : k();
1290
- } catch (f) {
1291
- v.error(f.message), p("update:loading", !1);
1292
+ } catch (u) {
1293
+ v.error(u.message), p("update:loading", !1);
1292
1294
  }
1293
1295
  };
1294
1296
  return d({
@@ -1298,12 +1300,12 @@ const Be = (t) => {
1298
1300
  close: () => {
1299
1301
  p("update:visible", !1), p("update:loading", !1);
1300
1302
  }
1301
- }), (f, r) => {
1303
+ }), (u, r) => {
1302
1304
  const P = ut, o = q, m = Me;
1303
1305
  return y(), $(a(Oe), bt({
1304
1306
  ref: "$modal",
1305
1307
  preset: "card"
1306
- }, f.$attrs, {
1308
+ }, u.$attrs, {
1307
1309
  "header-class": "bg-gray-50",
1308
1310
  show: w.visible,
1309
1311
  draggable: !0,
@@ -1315,48 +1317,51 @@ const Be = (t) => {
1315
1317
  onClose: k
1316
1318
  }), {
1317
1319
  header: s(() => [
1318
- f.$slots.header ? U(f.$slots, "header", { key: 0 }) : w.title ? (y(), $(P, { key: 1 }, {
1320
+ u.$slots.header ? U(u.$slots, "header", { key: 0 }) : w.title ? (y(), $(P, { key: 1 }, {
1319
1321
  default: s(() => [
1320
- V(F(f.title), 1)
1322
+ V(F(u.title), 1)
1321
1323
  ]),
1322
1324
  _: 1
1323
1325
  })) : A("", !0)
1324
1326
  ]),
1325
1327
  "header-extra": s(() => [
1326
- U(f.$slots, "header-extra")
1328
+ U(u.$slots, "header-extra")
1327
1329
  ]),
1328
1330
  default: s(() => [
1329
1331
  b("div", {
1330
1332
  class: "overflow-y-auto overflow-hidden mt-5",
1331
1333
  style: ie({ maxHeight: `${w.height}px` })
1332
1334
  }, [
1333
- U(f.$slots, "default")
1335
+ U(u.$slots, "default")
1334
1336
  ], 4)
1335
1337
  ]),
1336
1338
  footer: s(() => [
1337
- U(f.$slots, "footer")
1339
+ U(u.$slots, "footer")
1338
1340
  ]),
1339
1341
  action: s(() => [
1340
1342
  i(m, { justify: "end" }, {
1341
1343
  default: s(() => [
1342
1344
  i(o, {
1343
1345
  type: "primary",
1344
- loading: f.loading,
1346
+ loading: u.loading,
1345
1347
  onClick: L
1346
1348
  }, {
1347
1349
  default: s(() => [
1348
- V(F(f.saveBtnText), 1)
1350
+ V(F(u.saveBtnText), 1)
1349
1351
  ]),
1350
1352
  _: 1
1351
1353
  }, 8, ["loading"]),
1352
- U(f.$slots, "action-extra", { loading: f.loading }),
1353
- i(o, { onClick: T }, {
1354
+ U(u.$slots, "action-extra", { loading: u.loading }),
1355
+ i(o, {
1356
+ onClick: T,
1357
+ loading: u.loading
1358
+ }, {
1354
1359
  default: s(() => r[0] || (r[0] = [
1355
1360
  V("取消", -1)
1356
1361
  ])),
1357
1362
  _: 1,
1358
1363
  __: [0]
1359
- })
1364
+ }, 8, ["loading"])
1360
1365
  ]),
1361
1366
  _: 3
1362
1367
  })
@@ -1 +1 @@
1
- (function(V,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("lodash"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","lodash","pinia","vue-router","element-resize-detector","vuedraggable"],n):(V=typeof globalThis<"u"?globalThis:V||self,n(V.naiveplus={},V.naiveUi,V.Vue,V.antd,V.lodash,V.pinia,V.vueRouter,V.elementResizeDetectorMaker,V.Draggable))})(this,function(V,n,e,T,pe,ee,O,he,me){"use strict";const te=o=>{Object.keys(o).forEach(i=>{const m=o[i];Array.isArray(m)?o[i]=[]:m!==null&&typeof m=="object"?te(m):o[i]=void 0})},ue={id:"data-content"},ge={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},we={key:1},_e={key:2},ye=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup(o,{expose:i}){const m=e.ref(null),g=n.useDialog(),_=n.useMessage(),p=e.ref(!1),N=e.ref([]),y=e.ref([]),x=e.ref(null),S=e.ref(!1),d=e.ref(!1),f=e.ref(!1),r=e.ref({}),C=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async c=>{C.value.page=c,await $()},onUpdatePageSize:async c=>{C.value.pageSize=c,await $()}}),a=o,u=c=>{const t=l=>{const s=[];return c&&c.forEach(b=>{b.key!=="edit"&&b.key!=="delete"&&s.push({label:b.name,key:b.key,props:{onClick:()=>b.action(l)}})}),s};return{title:"操作",key:"actions",width:100,fixed:"right",render:l=>{let s=[];if(a.hiddenEdit||s.push({label:"编辑",key:"edit",props:{onClick:()=>Y(l)}}),a.hiddenDelete||s.push({label:"删除",key:"delete",props:{onClick:()=>E(l)}}),s=[...s,...t(l)],!(s.length<=0))return e.h(n.NDropdown,{options:s,placement:"bottom-start"},{default:()=>e.h(n.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(n.NIcon,()=>e.h(T.MoreOutlined))]})})}}},h=e.computed(()=>{const c=a.columns.filter(l=>l.key!="action").map(l=>({title:l.title,key:l.key,width:l.width,fixed:l.fixed??!1,render:l.render,ellipsis:l.ellipsis?{tooltip:!0}:!1})),t=a.columns.reduce((l,s)=>s.key==="action"?s:l,void 0)?.action;return t&&t?.length>0||!a.hiddenDelete||!a.hiddenEdit?[{type:"selection",fixed:"left"},...c,u(t)]:[{type:"selection",fixed:"left"},...c]}),w=async()=>{await $()},E=c=>{k([c])},B=()=>{const c=z();k(c)},k=c=>{c&&c.length>0&&g.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(a.onDelete)try{await a.onDelete(c)?($(),_.success("删除成功")):_.error("删除失败")}catch(t){_.error(t.message)}}})},A=()=>{x.value=null,j()},Y=async c=>{x.value=pe.cloneDeep(c),j(x.value,async()=>{a.onGet&&(x.value=await a.onGet(c[a.idField])),Object.assign(a.item,x.value)})},H=async()=>{if(a.onSave)try{f.value=!0,(S.value?await a.onSave(void 0,e.toRaw(a.item)):await a.onSave(x.value[a.idField],e.toRaw(a.item)))&&(R(),await $())}catch(c){_.error(c.message)}finally{f.value=!1}},j=async(c,t)=>{a.onOpenModal?.(c),await t?.(),c?(S.value=!1,d.value=!0):(d.value=!1,S.value=!0)},R=()=>{x.value=null,te(a.item),Object.assign(a.item,{...e.toRaw(r.value)}),a.onCloseModal?.(a.item),S.value=!1,d.value=!1},z=()=>N.value?y.value.filter(t=>N.value.includes(t.id)).map(t=>e.toRaw(t)):[],X=()=>z()[0],G=()=>e.toRaw(y.value),$=async()=>{if(!p.value){p.value=!0;try{if(a.onLoad){var{data:c,total:t}=await a.onLoad(C.value.page,C.value.pageSize);y.value=c,C.value.itemCount=t}}catch(l){_.error(l.message)}finally{p.value=!1}}},J=e.computed(()=>{const c=e.unref(m);if(!c)return;const t=c?.$el,l=t.querySelector(".n-data-table-thead "),{bottomIncludeBody:s}=W(l),b=64;let P=2,L=24;const M=t.querySelector(".n-data-table__pagination");if(M){const Q=M.offsetHeight;P+=Q||0}else P+=28;return s-(b+P+L)}),F=c=>!c||!c.getBoundingClientRect?0:c.getBoundingClientRect(),W=c=>{const t=document.documentElement,l=t.scrollLeft,s=t.scrollTop,b=t.clientLeft,P=t.clientTop,L=window.pageXOffset,M=window.pageYOffset,K=F(c),{left:Q,top:Ge,width:Je,height:Ze}=K,Qe=(L||l)-(b||0),Ue=(M||s)-(P||0),ve=Q+L,et=Ge+M,U=ve-Qe,v=et-Ue,de=window.document.documentElement.clientWidth,fe=window.document.documentElement.clientHeight;return{left:U,top:v,right:de-Je-U,bottom:fe-Ze-v,rightIncludeBody:de-U,bottomIncludeBody:fe-v}},Z=()=>{r.value={...e.toRaw(a.item)}};return e.onMounted(async()=>{Z(),await $()}),i({getData:G,getSelectedRow:X,getSelectedRows:z,closeModal:R,refreshData:$,resetPage:()=>{C.value.page=1}}),(c,t)=>{const l=n.NTooltip,s=n.NDataTable,b=n.NSpace,P=n.NModal;return e.openBlock(),e.createBlock(e.unref(n.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[c.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:A},{default:e.withCtx(()=>[e.createVNode(e.unref(T.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[t[3]||(t[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),c.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:B},{default:e.withCtx(()=>[e.createVNode(e.unref(T.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[t[4]||(t[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(l,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:w},{default:e.withCtx(()=>[e.createVNode(e.unref(T.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[t[5]||(t[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",ue,[c.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(c.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(s,{remote:"",ref_key:"$table",ref:m,"checked-row-keys":N.value,"onUpdate:checkedRowKeys":t[0]||(t[0]=L=>N.value=L),"max-height":J.value,loading:p.value,bordered:!1,"single-line":!1,columns:h.value,data:y.value,pagination:C.value,"row-key":L=>L[c.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),c.$slots.addModal?(e.openBlock(),e.createElementBlock("div",we,[e.createVNode(P,{title:"新增",preset:"card",show:S.value,"onUpdate:show":t[1]||(t[1]=L=>S.value=L),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${c.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(b,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:f.value,onClick:H},{default:e.withCtx(()=>t[6]||(t[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>t[7]||(t[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(c.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),c.$slots.editModal?(e.openBlock(),e.createElementBlock("div",_e,[e.createVNode(P,{title:"编辑",show:d.value,"onUpdate:show":t[2]||(t[2]=L=>d.value=L),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${c.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(b,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:f.value,onClick:H},{default:e.withCtx(()=>t[8]||(t[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>t[9]||(t[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(c.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),I=o=>{const i=o;return i.install=function(m){m.component(i.__name,o)},o},oe=I(ye),be=["Redirect","RedirectSon","login"],D=ee.defineStore("p-layout",()=>{const o=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1});return{state:o,initTabs:a=>{a.sort((u,h)=>(h.meta.affix?1:0)-(u.meta.affix?1:0)),o.tabs=a},addTab:a=>be.includes(a.name)?!1:(o.tabs?.some(h=>h.fullPath==a.fullPath)||o.tabs?.push(a),!0),closeCurrentTab:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs.splice(u,1)},closeAllTabs:()=>{o.tabs=o.tabs.filter(a=>a?.meta?.affix??!1)},closeOtherTabs:a=>{o.tabs=o.tabs.filter(u=>u.fullPath==a.fullPath||(u?.meta?.affix??!1))},closeLeftTabs:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs=o.tabs.filter((h,w)=>w>=u||(h?.meta?.affix??!1))},closeRightTabs:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs=o.tabs.filter((h,w)=>w<=u||(h?.meta?.affix??!1))},collapse:()=>{o.collapsed=!o.collapsed},setTitle:a=>{o.title=a},setLogo:a=>{o.logo=a},setUser:(a,u)=>{o.uid=a,o.uname=u},setSettingPages:a=>{o.settingPages=a},setLogout:a=>{o.logout=a}}}),Ce={class:"logo"},ke=e.defineComponent({__name:"PLogo",setup(o){const i=D();return(m,g)=>(e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(e.unref(n.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(i).state.logo,class:e.normalizeClass({"mr-2":!e.unref(i).state.collapsed})},null,8,["src","class"]),e.withDirectives(e.createElementVNode("h1",{class:"font-bold ease-in-out ml-2 logo-size"},e.toDisplayString(e.unref(i).state.title),513),[[e.vShow,!e.unref(i).state.collapsed]])]))}}),q=(o,i)=>{const m=o.__vccOpts||o;for(const[g,_]of i)m[g]=_;return m},Ne=q(ke,[["__scopeId","data-v-c9496d2e"]]),xe={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],selectCallback:o=>{},initLanguage:o=>{}},ne=ee.defineStore("language",()=>{const o=e.ref(xe),i=d=>{d.forEach(f=>{(f.key==="Chinese"||f.key==="chinese")&&(f.key="chinese_simplified")}),o.value.options=[...d]},m=()=>o.value.options,g=d=>{if(o.value.currentLanguage===d)return;const f=o.value.options.find(r=>r.key===d);f&&(o.value.currentLanguage=f.key,o.value.selectCallback(f))},_=()=>{if(o.value.currentLanguage)return o.value.options.find(d=>d.key===o.value.currentLanguage)},p=d=>{o.value.selectCallback=d},N=()=>o.value.translationApiUrl,y=d=>{o.value.translationApiUrl=d},x=d=>{(d==="Chinese"||d==="chinese")&&(d="chinese_simplified"),o.value.defaultLanguage=d},S=()=>o.value.defaultLanguage?o.value.defaultLanguage:"chinese_simplified";return e.onMounted(()=>{o.value.initLanguage(o.value)}),{state:o,select:g,setLanguages:i,getLanguages:m,getCurrentLanguage:_,setSelectCallback:p,setTranslationApiUrl:y,getTranslationApiUrl:N,setDefaultLanguage:x,getDefaultLanguage:S}}),Ve={key:1},ae=e.defineComponent({__name:"PLanguage",setup(o){const{select:i,getLanguages:m,getCurrentLanguage:g,getDefaultLanguage:_,getTranslationApiUrl:p}=ne(),N=x=>i(x),y=()=>{window.translate&&(window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=m().map(x=>x.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(_()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(p()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute())};return e.onMounted(async()=>await e.nextTick(()=>y())),(x,S)=>{const d=n.NIcon,f=n.NButton;return e.unref(m)().length>0?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:N,options:e.unref(m)()},{default:e.withCtx(()=>[e.createVNode(f,{quaternary:"",type:"info"},{default:e.withCtx(()=>[e.unref(g)()?(e.openBlock(),e.createElementBlock("label",Ve,e.toDisplayString(e.unref(g)()?.label),1)):(e.openBlock(),e.createBlock(d,{key:0,size:"18"},{default:e.withCtx(()=>S[0]||(S[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])),_:1,__:[0]}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),Se={class:"layout-header"},Be={class:"layout-header-left"},Te={class:"link-text"},Pe={key:1,class:"link-text"},Le={class:"layout-header-right"},Ee={class:"layout-header-trigger-min"},$e={class:"layout-header-trigger layout-header-trigger-min"},Me={class:"layout-header-trigger layout-header-trigger-min"},Oe={class:"avatar"},De=q(e.defineComponent({__name:"PHeader",setup(o){const i=n.useMessage(),m=n.useDialog(),g=D(),_=O.useRouter(),p=O.useRoute(),N=e.inject("reloadPage"),y=u=>_.push({name:u}),x=e.computed(()=>S(p.matched)),S=u=>u.map(h=>{const w={key:h.name,label:h.meta.title,icon:h.meta.icon,meta:h.meta,disabled:h.path==="/",children:void 0};return h.children&&h.children.length>0&&(w.children=S(h.children)),w}),d=e.ref(!1),f=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),d.value=!1):(document.documentElement.requestFullscreen(),d.value=!0)},r=e.computed(()=>{const u=[];return u.push({label:"退出登录",key:"logout"}),g.state.settingPages&&g.state.settingPages.length>0&&g.state.settingPages.forEach(h=>{u.push({label:h.title,key:h.route})}),u}),C=u=>{switch(u){case"logout":a();break;default:_.push({name:u})}},a=()=>{m.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(g.state.logout)try{await g.state.logout(),localStorage.removeItem("TABS-ROUTES"),i.error("退出成功")}catch(u){console.error(u),i.error("退出登录失败")}finally{location.reload()}else i.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(u,h)=>{const w=n.NTooltip,E=n.NDivider,B=n.NAvatar;return e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",Be,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:h[0]||(h[0]=(...k)=>e.unref(g).collapse&&e.unref(g).collapse(...k))},[e.unref(g).state.collapsed?(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:h[1]||(h[1]=(...k)=>e.unref(N)&&e.unref(N)(...k))},[e.createVNode(e.unref(n.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(n.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,k=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k.label},[k.label?(e.openBlock(),e.createBlock(e.unref(n.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[k.children&&k.children.length?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,options:k.children,onSelect:y},{default:e.withCtx(()=>[e.createElementVNode("span",Te,[k.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(k.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Pe,[k.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(k.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",Le,[e.createElementVNode("div",Ee,[e.createVNode(ae)]),e.createElementVNode("div",$e,[e.createVNode(w,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",onClick:e.withModifiers(f,["stop"])},{default:e.withCtx(()=>[d.value?(e.openBlock(),e.createBlock(e.unref(T.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(T.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[h[2]||(h[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1,__:[2]})]),e.createElementVNode("div",Me,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:C,options:r.value},{default:e.withCtx(()=>[e.createElementVNode("div",Oe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(g).state.uname),1),e.createVNode(E,{vertical:""}),e.createVNode(B,{round:"",src:e.unref(g).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-93589779"]]),Re={class:"mt-1"},ze=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(o){return(i,m)=>{const g=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Re,[i.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0},{default:e.withCtx(({Component:_,route:p})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(_),{key:p.fullPath}))],1024))]),_:1}))])}}}),Ie={class:"tabs-view-main"},Ae=["id","onClick","onContextmenu"],We={class:"tabs-close"},qe={class:"tabs-close-btn"},He=q(e.defineComponent({__name:"PTabs",setup(o){e.useCssVars(t=>({"4cb4fdc8":m.value,"21e8bab2":g.value}));const i=n.useThemeVars(),m=e.computed(()=>i.value.cardColor),g=e.computed(()=>i.value.textColor1),_=n.useMessage(),p=O.useRoute(),N=O.useRouter(),y=e.ref(null),x=e.ref(null),S=e.ref(!1),d=D(),f=e.computed(()=>d.state.tabs),r=e.reactive({activeKey:p.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),C=["Login","Redirect","ErrorPage"],a=t=>{const{fullPath:l,hash:s,meta:b,name:P,params:L,path:M,query:K}=t;return{fullPath:l,hash:s,meta:b,name:P,params:L,path:M,query:K}},u=e.computed(()=>{const s=d.state.collapsed?"64px":"272px";return{left:s,width:`calc(100% - ${s})`}}),h=e.computed(()=>{const t=f.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:S.value||t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.MinusOutlined)})}]}),w=()=>{let t=[];const l=a(p);try{if(d.state.cacheTabs){const s=localStorage.getItem("TABS_ROUTES");t=s?JSON.parse(s):[l]}}catch{t=[l]}finally{return t}},E=t=>{const l=N.getRoutes();t.forEach(s=>{const b=l.find(P=>P.path===s.path);b&&(s.meta=b.meta||s.meta,s.name=b.name||s.name)}),d.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},B=()=>{const t=w();E(t),d.initTabs(t)},k=async t=>{if(await e.nextTick(),!y.value)return;const l=y.value.offsetWidth,s=y.value.scrollWidth;l<s?(r.scrollable=!0,t&&[...y.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(P=>{P.id===`tag${r.activeKey.split("/").join("/")}`&&P.scrollIntoView&&P.scrollIntoView()})):r.scrollable=!1},A=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),Y=()=>{let t;t=he(),t.listenTo(x.value,()=>k(!0))},H=t=>{const{fullPath:l}=t;if(l===p.fullPath||(r.activeKey=l,!t))return;const{replace:s}=N;toString.call(t),s(t).catch(console.error)},j=(t,l)=>{t.preventDefault(),S.value=l.path==="/home",r.showDropdown=!1,e.nextTick().then(()=>{r.showDropdown=!0,r.dropdownX=t.clientX,r.dropdownY=t.clientY})},R=()=>{p.meta.keepAlive&&N.currentRoute.value.matched.find(t=>t.name==p.name)?.components?.default.name},z=t=>{if(f.value.length===1)return _.warning("这已经是最后一页,不能再关闭了!");if(R(),d.closeCurrentTab(t),r.activeKey===t.fullPath){const l=f.value[Math.max(0,f.value.length-1)];r.activeKey=l.fullPath,N.push(l)}k()},X=t=>{const{fullPath:l}=t,s=f.value.find(b=>b.fullPath==l);z(s)},G=t=>{d.closeOtherTabs(t),r.activeKey=t.fullPath,N.replace(t.fullPath),k()},$=()=>{d.closeAllTabs(),k()},J=e.inject("reloadPage"),F=t=>{switch(t){case"1":J();break;case"2":z(p);break;case"3":G(p);break;case"4":$();break}k(),r.showDropdown=!1},W=(t,l)=>{const s=y.value.scrollLeft,b=l>0&&s+l>=t||l<0&&s+l<=t?t:s+l;if(y.value&&y.value.scrollTo(b,0),b!==t)return window.requestAnimationFrame(()=>W(t,l))},Z=()=>{const t=y.value.offsetWidth,l=y.value.scrollLeft;if(!l)return;const s=l>t?l-t:0;W(s,(s-l)/20)},c=()=>{const t=y.value.offsetWidth,l=y.value.scrollWidth,s=y.value.scrollLeft;if(l-s<=t)return;const b=l-s>t*2?s+t:l-t;W(b,(b-s)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(f.value))}),window.addEventListener("scroll",t=>{let l=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;r.isMultiHeaderFixed=l>=64},!0),e.watch(()=>p.fullPath,t=>{C.includes(p.name)||(r.activeKey=t,d.addTab(a(p)),k(!0))},{immediate:!0}),B(),e.onMounted(()=>Y()),(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(u.value)},[e.createElementVNode("div",Ie,[e.createElementVNode("div",{ref_key:"navWrap",ref:x,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":r.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!r.scrollable}]),onClick:Z},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!r.scrollable}]),onClick:c},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:y,class:"tabs-card-scroll"},[e.createVNode(e.unref(me),{list:f.value,animation:"300","item-key":"fullPath",class:"flex",move:A},{item:e.withCtx(({element:s})=>[e.createElementVNode("div",{id:`tag${s.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":r.activeKey===s.fullPath}]),onClick:e.withModifiers(b=>H(s),["stop"]),onContextmenu:b=>j(b,s)},[e.createElementVNode("span",null,e.toDisplayString(s.meta.title),1),s.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"14",onClick:e.withModifiers(b=>X(s),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(T.CloseOutlined))]),_:2},1032,["onClick"]))],42,Ae)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",We,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:F,placement:"bottom-end",options:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",qe,[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(n.NDropdown),{show:r.showDropdown,x:r.dropdownX,y:r.dropdownY,onClickoutside:l[0]||(l[0]=s=>r.showDropdown=!1),placement:"bottom-start",onSelect:F,options:h.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-f0706f46"]]),je=e.defineComponent({__name:"PMenus",setup(o){const i=O.useRoute(),m=O.useRouter(),g=D(),_=e.ref(i.name),p=e.ref(i.matched&&i.matched.length?i.matched.map(r=>r.name):[]),N=e.ref([]),y=r=>{/http(s)?:/.test(r)?window.open(r):m.push({name:r})},x=r=>{if(!r)return;const C=r.find(a=>p.value.indexOf(a)===-1);p.value=C?[C]:[]},S=()=>{const r=i.matched;p.value=r.map(a=>a.name);const C=i.meta?.activeMenu||"";_.value=C||i.name},d=(r,C=[],a=!1)=>{const u=[],h=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!r||r.length===0)return u;r=r.sort((w,E)=>{let B=(E.children?.length?1:0)-(w.children?.length?1:0);return B===0&&(B=(w.meta?.sort??0)-(E.meta?.sort??0)),B});for(const w of r){if(a||(w.meta?.hidden||!1)==!0||h.includes(w.path)){C.push(w.name),w.children&&w.children.length>0&&d(w.children,C,!0);continue}const E=w.meta?.alwaysShow!=!0&&w?.children?.filter(A=>!A?.meta?.hidden)?.length===1,B=E?w.children[0]:w,k={key:B.name,label:B.meta?.title,affix:B.meta?.affix,sort:B.meta?.sort,path:B.path,redirect:B.redirect,icon:E?w.meta?.icon:B.meta?.icon,permissions:B.meta?.permissions,meta:B.meta,children:void 0};if(!C.includes(w.name)){if(u.push(k),C.push(w.name),E){d(w.children,C,a);continue}w.children&&w.children.length>0&&(k.children=d(w.children,C,a))}}return u},f=()=>{const r=m.getRoutes();N.value=d(r)};return e.watch(()=>i.fullPath,()=>{S()}),e.onMounted(()=>{f(),S()}),(r,C)=>(e.openBlock(),e.createBlock(e.unref(n.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:N.value,collapsed:e.unref(g).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":p.value,value:_.value,"onUpdate:value":y,"onUpdate:expandedKeys":x},null,8,["options","collapsed","expanded-keys","value"]))}}),Fe={class:"layout-content-main layout-content-main-fix"},Ke={class:"main-view main-view-fix"},le=I(q(e.defineComponent({__name:"PLayout",setup(o){const i=D(),m=e.ref(!1),g=()=>{m.value=!0,e.nextTick(()=>m.value=!1)};return e.provide("reloadPage",g),(_,p)=>{const N=n.NBackTop;return e.openBlock(),e.createBlock(e.unref(n.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutSider),{class:"layout-sider",inverted:"","show-trigger":"bar",position:"absolute","collapse-mode":"width",collapsed:e.unref(i).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(i).collapse,onExpand:e.unref(i).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(Ne),e.createVNode(je)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(n.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(De)]),_:1}),e.createVNode(e.unref(n.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Fe,[e.createVNode(He),e.createElementVNode("div",Ke,[e.createVNode(ze,{loading:m.value},null,8,["loading"])])])]),_:1}),e.createVNode(N,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-87dcb433"]])),se=I(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(o){return(i,m)=>{const g=n.NConfigProvider;return e.openBlock(),e.createBlock(g,{locale:e.unref(n.zhCN),theme:i.theme,"theme-overrides":i.themeOverrides,"date-locale":e.unref(n.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),re=I(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(o,{expose:i,emit:m}){const g=n.useMessage(),_=o,p=m,N=async()=>{p("update:loading",!0);try{_.onSave&&await _.onSave()&&y()}catch(f){g.error(f.message)}finally{p("update:loading",!1)}},y=()=>{p("update:visible",!1),p("update:loading",!1)},x=async()=>{try{_.onClose?await _.onClose()&&y():y()}catch(f){g.error(f.message),p("update:loading",!1)}};return i({open:()=>{p("update:visible",!0),p("update:loading",!1)},close:()=>{p("update:visible",!1),p("update:loading",!1)}}),(f,r)=>{const C=n.NText,a=n.NButton,u=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref:"$modal",preset:"card"},f.$attrs,{"header-class":"bg-gray-50",show:_.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${_.width}px`},onClose:y}),{header:e.withCtx(()=>[f.$slots.header?e.renderSlot(f.$slots,"header",{key:0}):_.title?(e.openBlock(),e.createBlock(C,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(f.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${_.height}px`})},[e.renderSlot(f.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(f.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(u,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(a,{type:"primary",loading:f.loading,onClick:N},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(f.$slots,"action-extra",{loading:f.loading}),e.createVNode(a,{onClick:x},{default:e.withCtx(()=>r[0]||(r[0]=[e.createTextVNode("取消",-1)])),_:1,__:[0]})]),_:3})]),_:3},16,["show","style"])}}})),ce=I(ae),Ye=Object.freeze(Object.defineProperty({__proto__:null,PApplication:se,PLanguage:ce,PLayout:le,PModal:re,PTable:oe},Symbol.toStringTag,{value:"Module"})),ie=(o,i)=>(Object.values(Ye).forEach(m=>{m.install&&o.use(m)}),i?.(),o),Xe={install:ie};V.PApplication=se,V.PLanguage=ce,V.PLayout=le,V.PModal=re,V.PTable=oe,V.default=Xe,V.install=ie,V.usePLanguageStore=ne,V.usePLayoutStore=D,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(V,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("naive-ui"),require("vue"),require("@vicons/antd"),require("lodash"),require("pinia"),require("vue-router"),require("element-resize-detector"),require("vuedraggable")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/antd","lodash","pinia","vue-router","element-resize-detector","vuedraggable"],n):(V=typeof globalThis<"u"?globalThis:V||self,n(V.naiveplus={},V.naiveUi,V.Vue,V.antd,V.lodash,V.pinia,V.vueRouter,V.elementResizeDetectorMaker,V.Draggable))})(this,function(V,n,e,T,pe,ee,O,he,me){"use strict";const te=o=>{Object.keys(o).forEach(i=>{const m=o[i];Array.isArray(m)?o[i]=[]:m!==null&&typeof m=="object"?te(m):o[i]=void 0})},ue={id:"data-content"},ge={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},we={key:1},_e={key:2},ye=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup(o,{expose:i}){const m=e.ref(null),g=n.useDialog(),_=n.useMessage(),p=e.ref(!1),N=e.ref([]),y=e.ref([]),x=e.ref(null),S=e.ref(!1),f=e.ref(!1),d=e.ref(!1),r=e.ref({}),C=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async c=>{C.value.page=c,await $()},onUpdatePageSize:async c=>{C.value.pageSize=c,await $()}}),a=o,u=c=>{const t=l=>{const s=[];return c&&c.forEach(b=>{b.key!=="edit"&&b.key!=="delete"&&s.push({label:b.name,key:b.key,props:{onClick:()=>b.action(l)}})}),s};return{title:"操作",key:"actions",width:100,fixed:"right",render:l=>{let s=[];if(a.hiddenEdit||s.push({label:"编辑",key:"edit",props:{onClick:()=>Y(l)}}),a.hiddenDelete||s.push({label:"删除",key:"delete",props:{onClick:()=>E(l)}}),s=[...s,...t(l)],!(s.length<=0))return e.h(n.NDropdown,{options:s,placement:"bottom-start"},{default:()=>e.h(n.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(n.NIcon,()=>e.h(T.MoreOutlined))]})})}}},h=e.computed(()=>{const c=a.columns.filter(l=>l.key!="action").map(l=>({title:l.title,key:l.key,width:l.width,fixed:l.fixed??!1,render:l.render,ellipsis:l.ellipsis?{tooltip:!0}:!1})),t=a.columns.reduce((l,s)=>s.key==="action"?s:l,void 0)?.action;return t&&t?.length>0||!a.hiddenDelete||!a.hiddenEdit?[{type:"selection",fixed:"left"},...c,u(t)]:[{type:"selection",fixed:"left"},...c]}),w=async()=>{await $()},E=c=>{k([c])},B=()=>{const c=z();k(c)},k=c=>{c&&c.length>0&&g.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(a.onDelete)try{await a.onDelete(c)?($(),_.success("删除成功")):_.error("删除失败")}catch(t){_.error(t.message)}}})},A=()=>{x.value=null,j()},Y=async c=>{x.value=pe.cloneDeep(c),j(x.value,async()=>{a.onGet&&(x.value=await a.onGet(c[a.idField])),Object.assign(a.item,x.value)})},H=async()=>{if(a.onSave)try{d.value=!0,(S.value?await a.onSave(void 0,e.toRaw(a.item)):await a.onSave(x.value[a.idField],e.toRaw(a.item)))&&(R(),await $())}catch(c){_.error(c.message)}finally{d.value=!1}},j=async(c,t)=>{a.onOpenModal?.(c),await t?.(),c?(S.value=!1,f.value=!0):(f.value=!1,S.value=!0)},R=()=>{x.value=null,te(a.item),Object.assign(a.item,{...e.toRaw(r.value)}),a.onCloseModal?.(a.item),S.value=!1,f.value=!1},z=()=>N.value?y.value.filter(t=>N.value.includes(t.id)).map(t=>e.toRaw(t)):[],X=()=>z()[0],G=()=>e.toRaw(y.value),$=async()=>{if(!p.value){p.value=!0;try{if(a.onLoad){var{data:c,total:t}=await a.onLoad(C.value.page,C.value.pageSize);y.value=c,C.value.itemCount=t}}catch(l){_.error(l.message)}finally{p.value=!1}}},J=e.computed(()=>{const c=e.unref(m);if(!c)return;const t=c?.$el,l=t.querySelector(".n-data-table-thead "),{bottomIncludeBody:s}=W(l),b=64;let P=2,L=24;const M=t.querySelector(".n-data-table__pagination");if(M){const Q=M.offsetHeight;P+=Q||0}else P+=28;return s-(b+P+L)}),F=c=>!c||!c.getBoundingClientRect?0:c.getBoundingClientRect(),W=c=>{const t=document.documentElement,l=t.scrollLeft,s=t.scrollTop,b=t.clientLeft,P=t.clientTop,L=window.pageXOffset,M=window.pageYOffset,K=F(c),{left:Q,top:Ge,width:Je,height:Ze}=K,Qe=(L||l)-(b||0),Ue=(M||s)-(P||0),ve=Q+L,et=Ge+M,U=ve-Qe,v=et-Ue,de=window.document.documentElement.clientWidth,fe=window.document.documentElement.clientHeight;return{left:U,top:v,right:de-Je-U,bottom:fe-Ze-v,rightIncludeBody:de-U,bottomIncludeBody:fe-v}},Z=()=>{r.value={...e.toRaw(a.item)}};return e.onMounted(async()=>{Z(),await $()}),i({getData:G,getSelectedRow:X,getSelectedRows:z,closeModal:R,refreshData:$,resetPage:()=>{C.value.page=1}}),(c,t)=>{const l=n.NTooltip,s=n.NDataTable,b=n.NSpace,P=n.NModal;return e.openBlock(),e.createBlock(e.unref(n.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[c.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:A},{default:e.withCtx(()=>[e.createVNode(e.unref(T.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[t[3]||(t[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),c.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(l,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:B},{default:e.withCtx(()=>[e.createVNode(e.unref(T.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[t[4]||(t[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(l,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:w},{default:e.withCtx(()=>[e.createVNode(e.unref(T.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[t[5]||(t[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",ue,[c.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(c.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(s,{remote:"",ref_key:"$table",ref:m,"checked-row-keys":N.value,"onUpdate:checkedRowKeys":t[0]||(t[0]=L=>N.value=L),"max-height":J.value,loading:p.value,bordered:!1,"single-line":!1,columns:h.value,data:y.value,pagination:C.value,"row-key":L=>L[c.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),c.$slots.addModal?(e.openBlock(),e.createElementBlock("div",we,[e.createVNode(P,{title:"新增",preset:"card",show:S.value,"onUpdate:show":t[1]||(t[1]=L=>S.value=L),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${c.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(b,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:d.value,onClick:H},{default:e.withCtx(()=>t[6]||(t[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>t[7]||(t[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(c.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),c.$slots.editModal?(e.openBlock(),e.createElementBlock("div",_e,[e.createVNode(P,{title:"编辑",show:f.value,"onUpdate:show":t[2]||(t[2]=L=>f.value=L),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${c.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(b,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NButton),{type:"primary",loading:d.value,onClick:H},{default:e.withCtx(()=>t[8]||(t[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(n.NButton),{onClick:R},{default:e.withCtx(()=>t[9]||(t[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(c.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}}),I=o=>{const i=o;return i.install=function(m){m.component(i.__name,o)},o},oe=I(ye),be=["Redirect","RedirectSon","login"],D=ee.defineStore("p-layout",()=>{const o=e.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1});return{state:o,initTabs:a=>{a.sort((u,h)=>(h.meta.affix?1:0)-(u.meta.affix?1:0)),o.tabs=a},addTab:a=>be.includes(a.name)?!1:(o.tabs?.some(h=>h.fullPath==a.fullPath)||o.tabs?.push(a),!0),closeCurrentTab:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs.splice(u,1)},closeAllTabs:()=>{o.tabs=o.tabs.filter(a=>a?.meta?.affix??!1)},closeOtherTabs:a=>{o.tabs=o.tabs.filter(u=>u.fullPath==a.fullPath||(u?.meta?.affix??!1))},closeLeftTabs:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs=o.tabs.filter((h,w)=>w>=u||(h?.meta?.affix??!1))},closeRightTabs:a=>{const u=o.tabs.findIndex(h=>h.fullPath==a.fullPath);o.tabs=o.tabs.filter((h,w)=>w<=u||(h?.meta?.affix??!1))},collapse:()=>{o.collapsed=!o.collapsed},setTitle:a=>{o.title=a},setLogo:a=>{o.logo=a},setUser:(a,u)=>{o.uid=a,o.uname=u},setSettingPages:a=>{o.settingPages=a},setLogout:a=>{o.logout=a}}}),Ce={class:"logo"},ke=e.defineComponent({__name:"PLogo",setup(o){const i=D();return(m,g)=>(e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(e.unref(n.NAvatar),{color:"var(--color-logo)",size:32,src:e.unref(i).state.logo,class:e.normalizeClass({"mr-2":!e.unref(i).state.collapsed})},null,8,["src","class"]),e.withDirectives(e.createElementVNode("h1",{class:"font-bold ease-in-out ml-2 logo-size"},e.toDisplayString(e.unref(i).state.title),513),[[e.vShow,!e.unref(i).state.collapsed]])]))}}),q=(o,i)=>{const m=o.__vccOpts||o;for(const[g,_]of i)m[g]=_;return m},Ne=q(ke,[["__scopeId","data-v-c9496d2e"]]),xe={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],selectCallback:o=>{},initLanguage:o=>{}},ne=ee.defineStore("language",()=>{const o=e.ref(xe),i=f=>{f.forEach(d=>{(d.key==="Chinese"||d.key==="chinese")&&(d.key="chinese_simplified")}),o.value.options=[...f]},m=()=>o.value.options,g=f=>{if(o.value.currentLanguage===f)return;const d=o.value.options.find(r=>r.key===f);d&&(o.value.currentLanguage=d.key,o.value.selectCallback(d))},_=()=>{if(o.value.currentLanguage)return o.value.options.find(f=>f.key===o.value.currentLanguage)},p=f=>{o.value.selectCallback=f},N=()=>o.value.translationApiUrl,y=f=>{o.value.translationApiUrl=f},x=f=>{(f==="Chinese"||f==="chinese")&&(f="chinese_simplified"),o.value.defaultLanguage=f},S=()=>o.value.defaultLanguage?o.value.defaultLanguage:"chinese_simplified";return e.onMounted(()=>{o.value.initLanguage(o.value)}),{state:o,select:g,setLanguages:i,getLanguages:m,getCurrentLanguage:_,setSelectCallback:p,setTranslationApiUrl:y,getTranslationApiUrl:N,setDefaultLanguage:x,getDefaultLanguage:S}}),Ve={key:1},ae=e.defineComponent({__name:"PLanguage",setup(o){const{select:i,getLanguages:m,getCurrentLanguage:g,getDefaultLanguage:_,getTranslationApiUrl:p}=ne(),N=x=>i(x),y=()=>{window.translate&&(window.translate.selectLanguageTag.show=!1,window.translate.selectLanguageTag.languages=m().map(x=>x.key).join(","),window.translate.ignore.class.push("ignore-translate-flag"),window.translate.ignore.id.push("ignore-translation"),window.translate.language.setLocal(_()),window.translate.request.api.translate="api/v1/translation",window.translate.request.api.connectTest="api/v1/translation/connect-test",window.translate.request.api.init="api/v1/translation/init",window.translate.request.api.language="api/v1/translation/language",window.translate.request.setHost(p()),window.translate.request.listener.start(),window.translate.listener.start(),window.translate.whole.enableAll(),window.translate.execute())};return e.onMounted(async()=>await e.nextTick(()=>y())),(x,S)=>{const f=n.NIcon,d=n.NButton;return e.unref(m)().length>0?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:N,options:e.unref(m)()},{default:e.withCtx(()=>[e.createVNode(d,{quaternary:"",type:"info"},{default:e.withCtx(()=>[e.unref(g)()?(e.openBlock(),e.createElementBlock("label",Ve,e.toDisplayString(e.unref(g)()?.label),1)):(e.openBlock(),e.createBlock(f,{key:0,size:"18"},{default:e.withCtx(()=>S[0]||(S[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])),_:1,__:[0]}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}}),Se={class:"layout-header"},Be={class:"layout-header-left"},Te={class:"link-text"},Pe={key:1,class:"link-text"},Le={class:"layout-header-right"},Ee={class:"layout-header-trigger-min"},$e={class:"layout-header-trigger layout-header-trigger-min"},Me={class:"layout-header-trigger layout-header-trigger-min"},Oe={class:"avatar"},De=q(e.defineComponent({__name:"PHeader",setup(o){const i=n.useMessage(),m=n.useDialog(),g=D(),_=O.useRouter(),p=O.useRoute(),N=e.inject("reloadPage"),y=u=>_.push({name:u}),x=e.computed(()=>S(p.matched)),S=u=>u.map(h=>{const w={key:h.name,label:h.meta.title,icon:h.meta.icon,meta:h.meta,disabled:h.path==="/",children:void 0};return h.children&&h.children.length>0&&(w.children=S(h.children)),w}),f=e.ref(!1),d=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),f.value=!1):(document.documentElement.requestFullscreen(),f.value=!0)},r=e.computed(()=>{const u=[];return u.push({label:"退出登录",key:"logout"}),g.state.settingPages&&g.state.settingPages.length>0&&g.state.settingPages.forEach(h=>{u.push({label:h.title,key:h.route})}),u}),C=u=>{switch(u){case"logout":a();break;default:_.push({name:u})}},a=()=>{m.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(g.state.logout)try{await g.state.logout(),localStorage.removeItem("TABS-ROUTES"),i.error("退出成功")}catch(u){console.error(u),i.error("退出登录失败")}finally{location.reload()}else i.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(u,h)=>{const w=n.NTooltip,E=n.NDivider,B=n.NAvatar;return e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",Be,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:h[0]||(h[0]=(...k)=>e.unref(g).collapse&&e.unref(g).collapse(...k))},[e.unref(g).state.collapsed?(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:h[1]||(h[1]=(...k)=>e.unref(N)&&e.unref(N)(...k))},[e.createVNode(e.unref(n.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(n.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,k=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k.label},[k.label?(e.openBlock(),e.createBlock(e.unref(n.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[k.children&&k.children.length?(e.openBlock(),e.createBlock(e.unref(n.NDropdown),{key:0,options:k.children,onSelect:y},{default:e.withCtx(()=>[e.createElementVNode("span",Te,[k.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(k.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",Pe,[k.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(k.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",Le,[e.createElementVNode("div",Ee,[e.createVNode(ae)]),e.createElementVNode("div",$e,[e.createVNode(w,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(n.NIcon),{size:"18",onClick:e.withModifiers(d,["stop"])},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(e.unref(T.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(T.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[h[2]||(h[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1,__:[2]})]),e.createElementVNode("div",Me,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:C,options:r.value},{default:e.withCtx(()=>[e.createElementVNode("div",Oe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(g).state.uname),1),e.createVNode(E,{vertical:""}),e.createVNode(B,{round:"",src:e.unref(g).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}}),[["__scopeId","data-v-93589779"]]),Re={class:"mt-1"},ze=e.defineComponent({__name:"PContent",props:{loading:{type:Boolean,default:!1}},setup(o){return(i,m)=>{const g=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock("div",Re,[i.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0},{default:e.withCtx(({Component:_,route:p})=>[(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(_),{key:p.fullPath}))],1024))]),_:1}))])}}}),Ie={class:"tabs-view-main"},Ae=["id","onClick","onContextmenu"],We={class:"tabs-close"},qe={class:"tabs-close-btn"},He=q(e.defineComponent({__name:"PTabs",setup(o){e.useCssVars(t=>({"4cb4fdc8":m.value,"21e8bab2":g.value}));const i=n.useThemeVars(),m=e.computed(()=>i.value.cardColor),g=e.computed(()=>i.value.textColor1),_=n.useMessage(),p=O.useRoute(),N=O.useRouter(),y=e.ref(null),x=e.ref(null),S=e.ref(!1),f=D(),d=e.computed(()=>f.state.tabs),r=e.reactive({activeKey:p.fullPath,scrollable:!0,dropdownX:0,dropdownY:0,showDropdown:!1,isMultiHeaderFixed:!0,multiTabsSetting:!0}),C=["Login","Redirect","ErrorPage"],a=t=>{const{fullPath:l,hash:s,meta:b,name:P,params:L,path:M,query:K}=t;return{fullPath:l,hash:s,meta:b,name:P,params:L,path:M,query:K}},u=e.computed(()=>{const s=f.state.collapsed?"64px":"272px";return{left:s,width:`calc(100% - ${s})`}}),h=e.computed(()=>{const t=d.value.length<=1;return[{label:"刷新当前",key:"1",icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.ReloadOutlined)})},{label:"关闭当前",key:"2",disabled:S.value||t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.CloseOutlined)})},{label:"关闭其他",key:"3",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.ColumnWidthOutlined)})},{label:"关闭全部",key:"4",disabled:t,icon:()=>e.h(n.NIcon,null,{default:()=>e.h(T.MinusOutlined)})}]}),w=()=>{let t=[];const l=a(p);try{if(f.state.cacheTabs){const s=localStorage.getItem("TABS_ROUTES");t=s?JSON.parse(s):[l]}}catch{t=[l]}finally{return t}},E=t=>{const l=N.getRoutes();t.forEach(s=>{const b=l.find(P=>P.path===s.path);b&&(s.meta=b.meta||s.meta,s.name=b.name||s.name)}),f.state.cacheTabs&&localStorage.setItem("TABS_ROUTES",JSON.stringify(t))},B=()=>{const t=w();E(t),f.initTabs(t)},k=async t=>{if(await e.nextTick(),!y.value)return;const l=y.value.offsetWidth,s=y.value.scrollWidth;l<s?(r.scrollable=!0,t&&[...y.value.querySelectorAll(".tabs-card-scroll-item")||[]].forEach(P=>{P.id===`tag${r.activeKey.split("/").join("/")}`&&P.scrollIntoView&&P.scrollIntoView()})):r.scrollable=!1},A=t=>!(t.draggedContext.element.meta.affix||t.relatedContext.element.meta.affix),Y=()=>{let t;t=he(),t.listenTo(x.value,()=>k(!0))},H=t=>{const{fullPath:l}=t;if(l===p.fullPath||(r.activeKey=l,!t))return;const{replace:s}=N;toString.call(t),s(t).catch(console.error)},j=(t,l)=>{t.preventDefault(),S.value=l.path==="/home",r.showDropdown=!1,e.nextTick().then(()=>{r.showDropdown=!0,r.dropdownX=t.clientX,r.dropdownY=t.clientY})},R=()=>{p.meta.keepAlive&&N.currentRoute.value.matched.find(t=>t.name==p.name)?.components?.default.name},z=t=>{if(d.value.length===1)return _.warning("这已经是最后一页,不能再关闭了!");if(R(),f.closeCurrentTab(t),r.activeKey===t.fullPath){const l=d.value[Math.max(0,d.value.length-1)];r.activeKey=l.fullPath,N.push(l)}k()},X=t=>{const{fullPath:l}=t,s=d.value.find(b=>b.fullPath==l);z(s)},G=t=>{f.closeOtherTabs(t),r.activeKey=t.fullPath,N.replace(t.fullPath),k()},$=()=>{f.closeAllTabs(),k()},J=e.inject("reloadPage"),F=t=>{switch(t){case"1":J();break;case"2":z(p);break;case"3":G(p);break;case"4":$();break}k(),r.showDropdown=!1},W=(t,l)=>{const s=y.value.scrollLeft,b=l>0&&s+l>=t||l<0&&s+l<=t?t:s+l;if(y.value&&y.value.scrollTo(b,0),b!==t)return window.requestAnimationFrame(()=>W(t,l))},Z=()=>{const t=y.value.offsetWidth,l=y.value.scrollLeft;if(!l)return;const s=l>t?l-t:0;W(s,(s-l)/20)},c=()=>{const t=y.value.offsetWidth,l=y.value.scrollWidth,s=y.value.scrollLeft;if(l-s<=t)return;const b=l-s>t*2?s+t:l-t;W(b,(b-s)/20)};return window.addEventListener("beforeunload",()=>{localStorage.setItem("TABS_ROUTES",JSON.stringify(d.value))}),window.addEventListener("scroll",t=>{let l=t.target.scrollTop||document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;r.isMultiHeaderFixed=l>=64},!0),e.watch(()=>p.fullPath,t=>{C.includes(p.name)||(r.activeKey=t,f.addTab(a(p)),k(!0))},{immediate:!0}),B(),e.onMounted(()=>Y()),(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:"box-border tabs-view tabs-view-fix tabs-view-default-background",style:e.normalizeStyle(u.value)},[e.createElementVNode("div",Ie,[e.createElementVNode("div",{ref_key:"navWrap",ref:x,class:e.normalizeClass(["tabs-card",{"tabs-card-scrollable":r.scrollable}])},[e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-prev",{"tabs-card-prev-hide":!r.scrollable}]),onClick:Z},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.LeftOutlined))]),_:1})],2),e.createElementVNode("span",{class:e.normalizeClass(["tabs-card-next",{"tabs-card-next-hide":!r.scrollable}]),onClick:c},[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.RightOutlined))]),_:1})],2),e.createElementVNode("div",{ref_key:"navScroll",ref:y,class:"tabs-card-scroll"},[e.createVNode(e.unref(me),{list:d.value,animation:"300","item-key":"fullPath",class:"flex",move:A},{item:e.withCtx(({element:s})=>[e.createElementVNode("div",{id:`tag${s.fullPath.split("/").join("/")}`,class:e.normalizeClass(["tabs-card-scroll-item",{"active-item":r.activeKey===s.fullPath}]),onClick:e.withModifiers(b=>H(s),["stop"]),onContextmenu:b=>j(b,s)},[e.createElementVNode("span",null,e.toDisplayString(s.meta.title),1),s.meta.affix?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n.NIcon),{key:0,size:"14",onClick:e.withModifiers(b=>X(s),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(T.CloseOutlined))]),_:2},1032,["onClick"]))],42,Ae)]),_:1},8,["list"])],512)],2),e.createElementVNode("div",We,[e.createVNode(e.unref(n.NDropdown),{trigger:"hover",onSelect:F,placement:"bottom-end",options:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",qe,[e.createVNode(e.unref(n.NIcon),{size:"16",color:"#515a6e"},{default:e.withCtx(()=>[e.createVNode(e.unref(T.DownOutlined))]),_:1})])]),_:1},8,["options"])]),e.createVNode(e.unref(n.NDropdown),{show:r.showDropdown,x:r.dropdownX,y:r.dropdownY,onClickoutside:l[0]||(l[0]=s=>r.showDropdown=!1),placement:"bottom-start",onSelect:F,options:h.value},null,8,["show","x","y","options"])])],4))}}),[["__scopeId","data-v-f0706f46"]]),je=e.defineComponent({__name:"PMenus",setup(o){const i=O.useRoute(),m=O.useRouter(),g=D(),_=e.ref(i.name),p=e.ref(i.matched&&i.matched.length?i.matched.map(r=>r.name):[]),N=e.ref([]),y=r=>{/http(s)?:/.test(r)?window.open(r):m.push({name:r})},x=r=>{if(!r)return;const C=r.find(a=>p.value.indexOf(a)===-1);p.value=C?[C]:[]},S=()=>{const r=i.matched;p.value=r.map(a=>a.name);const C=i.meta?.activeMenu||"";_.value=C||i.name},f=(r,C=[],a=!1)=>{const u=[],h=["/:path(.*)*","/redirect","/redirect/:path(.*)","/login","/oidc-callback"];if(!r||r.length===0)return u;r=r.sort((w,E)=>{let B=(E.children?.length?1:0)-(w.children?.length?1:0);return B===0&&(B=(w.meta?.sort??0)-(E.meta?.sort??0)),B});for(const w of r){if(a||(w.meta?.hidden||!1)==!0||h.includes(w.path)){C.push(w.name),w.children&&w.children.length>0&&f(w.children,C,!0);continue}const E=w.meta?.alwaysShow!=!0&&w?.children?.filter(A=>!A?.meta?.hidden)?.length===1,B=E?w.children[0]:w,k={key:B.name,label:B.meta?.title,affix:B.meta?.affix,sort:B.meta?.sort,path:B.path,redirect:B.redirect,icon:E?w.meta?.icon:B.meta?.icon,permissions:B.meta?.permissions,meta:B.meta,children:void 0};if(!C.includes(w.name)){if(u.push(k),C.push(w.name),E){f(w.children,C,a);continue}w.children&&w.children.length>0&&(k.children=f(w.children,C,a))}}return u},d=()=>{const r=m.getRoutes();N.value=f(r)};return e.watch(()=>i.fullPath,()=>{S()}),e.onMounted(()=>{d(),S()}),(r,C)=>(e.openBlock(),e.createBlock(e.unref(n.NMenu),{class:"h-full",inverted:"",mode:"vertical",options:N.value,collapsed:e.unref(g).state.collapsed,"collapsed-width":64,"collapsed-icon-size":20,indent:24,"expanded-keys":p.value,value:_.value,"onUpdate:value":y,"onUpdate:expandedKeys":x},null,8,["options","collapsed","expanded-keys","value"]))}}),Fe={class:"layout-content-main layout-content-main-fix"},Ke={class:"main-view main-view-fix"},le=I(q(e.defineComponent({__name:"PLayout",setup(o){const i=D(),m=e.ref(!1),g=()=>{m.value=!0,e.nextTick(()=>m.value=!1)};return e.provide("reloadPage",g),(_,p)=>{const N=n.NBackTop;return e.openBlock(),e.createBlock(e.unref(n.NLayout),{"has-sider":"",class:"layout",position:"absolute"},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutSider),{class:"layout-sider",inverted:"","show-trigger":"bar",position:"absolute","collapse-mode":"width",collapsed:e.unref(i).state.collapsed,"native-scrollbar":!1,"collapsed-width":64,onCollapse:e.unref(i).collapse,onExpand:e.unref(i).collapse},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NFlex),{vertical:""},{default:e.withCtx(()=>[e.createVNode(Ne),e.createVNode(je)]),_:1})]),_:1},8,["collapsed","onCollapse","onExpand"]),e.createVNode(e.unref(n.NLayout),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NLayoutHeader),{position:"absolute"},{default:e.withCtx(()=>[e.createVNode(De)]),_:1}),e.createVNode(e.unref(n.NLayoutContent),{class:"layout-content layout-default-background"},{default:e.withCtx(()=>[e.createElementVNode("div",Fe,[e.createVNode(He),e.createElementVNode("div",Ke,[e.createVNode(ze,{loading:m.value},null,8,["loading"])])])]),_:1}),e.createVNode(N,{right:20,class:"z-50"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-87dcb433"]])),se=I(e.defineComponent({__name:"PApplication",props:{theme:{},themeOverrides:{default:{common:{primaryColor:"#2d8cf0",primaryColorHover:"#3c9bff",primaryColorPressed:"#3c9bff",primaryColorSuppl:"#2d8cf0"},LoadingBar:{colorLoading:"#2d8cf0"}}}},setup(o){return(i,m)=>{const g=n.NConfigProvider;return e.openBlock(),e.createBlock(g,{locale:e.unref(n.zhCN),theme:i.theme,"theme-overrides":i.themeOverrides,"date-locale":e.unref(n.dateZhCN)},{default:e.withCtx(()=>[e.createVNode(e.unref(n.NDialogProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NNotificationProvider),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.NMessageProvider),null,{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["locale","theme","theme-overrides","date-locale"])}}})),re=I(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(o,{expose:i,emit:m}){const g=n.useMessage(),_=o,p=m,N=async()=>{p("update:loading",!0);try{_.onSave&&await _.onSave()&&y()}catch(d){g.error(d.message)}finally{p("update:loading",!1)}},y=()=>{p("update:visible",!1),p("update:loading",!1)},x=async()=>{try{_.onClose?await _.onClose()&&y():y()}catch(d){g.error(d.message),p("update:loading",!1)}};return i({open:()=>{p("update:visible",!0),p("update:loading",!1)},close:()=>{p("update:visible",!1),p("update:loading",!1)}}),(d,r)=>{const C=n.NText,a=n.NButton,u=n.NSpace;return e.openBlock(),e.createBlock(e.unref(n.NModal),e.mergeProps({ref:"$modal",preset:"card"},d.$attrs,{"header-class":"bg-gray-50",show:_.visible,draggable:!0,closable:!1,"close-on-esc":!1,"mask-closable":!1,bordered:!1,style:{width:`${_.width}px`},onClose:y}),{header:e.withCtx(()=>[d.$slots.header?e.renderSlot(d.$slots,"header",{key:0}):_.title?(e.openBlock(),e.createBlock(C,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.title),1)]),_:1})):e.createCommentVNode("",!0)]),"header-extra":e.withCtx(()=>[e.renderSlot(d.$slots,"header-extra")]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"overflow-y-auto overflow-hidden mt-5",style:e.normalizeStyle({maxHeight:`${_.height}px`})},[e.renderSlot(d.$slots,"default")],4)]),footer:e.withCtx(()=>[e.renderSlot(d.$slots,"footer")]),action:e.withCtx(()=>[e.createVNode(u,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(a,{type:"primary",loading:d.loading,onClick:N},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(d.$slots,"action-extra",{loading:d.loading}),e.createVNode(a,{onClick:x,loading:d.loading},{default:e.withCtx(()=>r[0]||(r[0]=[e.createTextVNode("取消",-1)])),_:1,__:[0]},8,["loading"])]),_:3})]),_:3},16,["show","style"])}}})),ce=I(ae),Ye=Object.freeze(Object.defineProperty({__proto__:null,PApplication:se,PLanguage:ce,PLayout:le,PModal:re,PTable:oe},Symbol.toStringTag,{value:"Module"})),ie=(o,i)=>(Object.values(Ye).forEach(m=>{m.install&&o.use(m)}),i?.(),o),Xe={install:ie};V.PApplication=se,V.PLanguage=ce,V.PLayout=le,V.PModal=re,V.PTable=oe,V.default=Xe,V.install=ie,V.usePLanguageStore=ne,V.usePLayoutStore=D,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,6 +1,6 @@
1
- import { useMessage as $, NModal as w, NSpace as _, NButton as B, NText as N } from "naive-ui";
2
- import { defineComponent as S, createBlock as p, openBlock as c, unref as k, mergeProps as x, withCtx as t, createVNode as n, renderSlot as s, createTextVNode as d, toDisplayString as u, createElementVNode as T, normalizeStyle as V, createCommentVNode as M } from "vue";
3
- const E = /* @__PURE__ */ S({
1
+ import { useMessage as $, NModal as w, NSpace as B, NButton as N, NText as S } from "naive-ui";
2
+ import { defineComponent as _, createBlock as p, openBlock as c, unref as k, mergeProps as T, withCtx as a, createVNode as n, renderSlot as s, createTextVNode as d, toDisplayString as u, createElementVNode as V, normalizeStyle as x, createCommentVNode as M } from "vue";
3
+ const E = /* @__PURE__ */ _({
4
4
  __name: "PModal",
5
5
  props: {
6
6
  saveBtnText: { default: "保存" },
@@ -15,12 +15,12 @@ const E = /* @__PURE__ */ S({
15
15
  },
16
16
  emits: ["update:visible", "update:loading"],
17
17
  setup(g, { expose: m, emit: y }) {
18
- const r = $(), a = g, o = y, h = async () => {
18
+ const i = $(), t = g, o = y, h = async () => {
19
19
  o("update:loading", !0);
20
20
  try {
21
- a.onSave && await a.onSave() && l();
21
+ t.onSave && await t.onSave() && l();
22
22
  } catch (e) {
23
- r.error(e.message);
23
+ i.error(e.message);
24
24
  } finally {
25
25
  o("update:loading", !1);
26
26
  }
@@ -28,9 +28,9 @@ const E = /* @__PURE__ */ S({
28
28
  o("update:visible", !1), o("update:loading", !1);
29
29
  }, v = async () => {
30
30
  try {
31
- a.onClose ? await a.onClose() && l() : l();
31
+ t.onClose ? await t.onClose() && l() : l();
32
32
  } catch (e) {
33
- r.error(e.message), o("update:loading", !1);
33
+ i.error(e.message), o("update:loading", !1);
34
34
  }
35
35
  };
36
36
  return m({
@@ -40,65 +40,68 @@ const E = /* @__PURE__ */ S({
40
40
  close: () => {
41
41
  o("update:visible", !1), o("update:loading", !1);
42
42
  }
43
- }), (e, i) => {
44
- const b = N, f = B, C = _;
45
- return c(), p(k(w), x({
43
+ }), (e, r) => {
44
+ const b = S, f = N, C = B;
45
+ return c(), p(k(w), T({
46
46
  ref: "$modal",
47
47
  preset: "card"
48
48
  }, e.$attrs, {
49
49
  "header-class": "bg-gray-50",
50
- show: a.visible,
50
+ show: t.visible,
51
51
  draggable: !0,
52
52
  closable: !1,
53
53
  "close-on-esc": !1,
54
54
  "mask-closable": !1,
55
55
  bordered: !1,
56
- style: { width: `${a.width}px` },
56
+ style: { width: `${t.width}px` },
57
57
  onClose: l
58
58
  }), {
59
- header: t(() => [
60
- e.$slots.header ? s(e.$slots, "header", { key: 0 }) : a.title ? (c(), p(b, { key: 1 }, {
61
- default: t(() => [
59
+ header: a(() => [
60
+ e.$slots.header ? s(e.$slots, "header", { key: 0 }) : t.title ? (c(), p(b, { key: 1 }, {
61
+ default: a(() => [
62
62
  d(u(e.title), 1)
63
63
  ]),
64
64
  _: 1
65
65
  })) : M("", !0)
66
66
  ]),
67
- "header-extra": t(() => [
67
+ "header-extra": a(() => [
68
68
  s(e.$slots, "header-extra")
69
69
  ]),
70
- default: t(() => [
71
- T("div", {
70
+ default: a(() => [
71
+ V("div", {
72
72
  class: "overflow-y-auto overflow-hidden mt-5",
73
- style: V({ maxHeight: `${a.height}px` })
73
+ style: x({ maxHeight: `${t.height}px` })
74
74
  }, [
75
75
  s(e.$slots, "default")
76
76
  ], 4)
77
77
  ]),
78
- footer: t(() => [
78
+ footer: a(() => [
79
79
  s(e.$slots, "footer")
80
80
  ]),
81
- action: t(() => [
81
+ action: a(() => [
82
82
  n(C, { justify: "end" }, {
83
- default: t(() => [
83
+ default: a(() => [
84
84
  n(f, {
85
85
  type: "primary",
86
86
  loading: e.loading,
87
87
  onClick: h
88
88
  }, {
89
- default: t(() => [
89
+ default: a(() => [
90
90
  d(u(e.saveBtnText), 1)
91
91
  ]),
92
92
  _: 1
93
93
  }, 8, ["loading"]),
94
94
  s(e.$slots, "action-extra", { loading: e.loading }),
95
- n(f, { onClick: v }, {
96
- default: t(() => i[0] || (i[0] = [
95
+ n(f, {
96
+ onClick: v,
97
+ loading: e.loading
98
+ }, {
99
+ default: a(() => r[0] || (r[0] = [
97
100
  d("取消", -1)
98
101
  ])),
99
102
  _: 1,
100
103
  __: [0]
101
- })
104
+ }, 8, ["loading"])
102
105
  ]),
103
106
  _: 3
104
107
  })
@@ -300,6 +300,7 @@ const ze = { id: "data-content" }, Le = {
300
300
  closable: !1,
301
301
  "close-on-esc": !1,
302
302
  "mask-closable": !1,
303
+ draggable: !0,
303
304
  style: K({ width: `${e.modalWidth}px` })
304
305
  }, {
305
306
  action: n(() => [
@@ -343,6 +344,7 @@ const ze = { id: "data-content" }, Le = {
343
344
  closable: !1,
344
345
  "close-on-esc": !1,
345
346
  "mask-closable": !1,
347
+ draggable: !0,
346
348
  style: K({ width: `${e.modalWidth}px` })
347
349
  }, {
348
350
  action: n(() => [
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=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(d,{expose:c,emit:u}){const n=l.useMessage(),a=d,o=u,p=async()=>{o("update:loading",!0);try{a.onSave&&await a.onSave()&&s()}catch(t){n.error(t.message)}finally{o("update:loading",!1)}},s=()=>{o("update:visible",!1),o("update:loading",!1)},f=async()=>{try{a.onClose?await a.onClose()&&s():s()}catch(t){n.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,r)=>{const g=l.NText,i=l.NButton,h=l.NSpace;return e.openBlock(),e.createBlock(e.unref(l.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:s}),{header:e.withCtx(()=>[t.$slots.header?e.renderSlot(t.$slots,"header",{key:0}):a.title?(e.openBlock(),e.createBlock(g,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.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(i,{type:"primary",loading:t.loading,onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(t.$slots,"action-extra",{loading:t.loading}),e.createVNode(i,{onClick:f},{default:e.withCtx(()=>r[0]||(r[0]=[e.createTextVNode("取消",-1)])),_:1,__:[0]})]),_:3})]),_:3},16,["show","style"])}}});exports.default=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=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(d,{expose:c,emit:u}){const n=l.useMessage(),a=d,o=u,p=async()=>{o("update:loading",!0);try{a.onSave&&await a.onSave()&&s()}catch(t){n.error(t.message)}finally{o("update:loading",!1)}},s=()=>{o("update:visible",!1),o("update:loading",!1)},f=async()=>{try{a.onClose?await a.onClose()&&s():s()}catch(t){n.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,r)=>{const g=l.NText,i=l.NButton,h=l.NSpace;return e.openBlock(),e.createBlock(e.unref(l.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:s}),{header:e.withCtx(()=>[t.$slots.header?e.renderSlot(t.$slots,"header",{key:0}):a.title?(e.openBlock(),e.createBlock(g,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.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(i,{type:"primary",loading:t.loading,onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.saveBtnText),1)]),_:1},8,["loading"]),e.renderSlot(t.$slots,"action-extra",{loading:t.loading}),e.createVNode(i,{onClick:f,loading:t.loading},{default:e.withCtx(()=>r[0]||(r[0]=[e.createTextVNode("取消",-1)])),_:1,__:[0]},8,["loading"])]),_:3})]),_:3},16,["show","style"])}}});exports.default=m;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("naive-ui"),e=require("vue"),N=require("@vicons/antd"),ne=require("../utils/helper.cjs"),ae=require("lodash"),se={id:"data-content"},ie={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},re={key:1},de={key:2},ce=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup($,{expose:z}){const S=e.ref(null),L=s.useDialog(),h=s.useMessage(),v=e.ref(!1),w=e.ref([]),y=e.ref([]),c=e.ref(null),p=e.ref(!1),g=e.ref(!1),k=e.ref(!1),B=e.ref({}),u=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{u.value.page=t,await f()},onUpdatePageSize:async t=>{u.value.pageSize=t,await f()}}),l=$,H=t=>{const o=n=>{const a=[];return t&&t.forEach(i=>{i.key!=="edit"&&i.key!=="delete"&&a.push({label:i.name,key:i.key,props:{onClick:()=>i.action(n)}})}),a};return{title:"操作",key:"actions",width:100,fixed:"right",render:n=>{let a=[];if(l.hiddenEdit||a.push({label:"编辑",key:"edit",props:{onClick:()=>A(n)}}),l.hiddenDelete||a.push({label:"删除",key:"delete",props:{onClick:()=>j(n)}}),a=[...a,...o(n)],!(a.length<=0))return e.h(s.NDropdown,{options:a,placement:"bottom-start"},{default:()=>e.h(s.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(s.NIcon,()=>e.h(N.MoreOutlined))]})})}}},I=e.computed(()=>{const t=l.columns.filter(n=>n.key!="action").map(n=>({title:n.title,key:n.key,width:n.width,fixed:n.fixed??!1,render:n.render,ellipsis:n.ellipsis?{tooltip:!0}:!1})),o=l.columns.reduce((n,a)=>a.key==="action"?a:n,void 0)?.action;return o&&o?.length>0||!l.hiddenDelete||!l.hiddenEdit?[{type:"selection",fixed:"left"},...t,H(o)]:[{type:"selection",fixed:"left"},...t]}),q=async()=>{await f()},j=t=>{E([t])},P=()=>{const t=b();E(t)},E=t=>{t&&t.length>0&&L.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(l.onDelete)try{await l.onDelete(t)?(f(),h.success("删除成功")):h.error("删除失败")}catch(o){h.error(o.message)}}})},W=()=>{c.value=null,D()},A=async t=>{c.value=ae.cloneDeep(t),D(c.value,async()=>{l.onGet&&(c.value=await l.onGet(t[l.idField])),Object.assign(l.item,c.value)})},M=async()=>{if(l.onSave)try{k.value=!0,(p.value?await l.onSave(void 0,e.toRaw(l.item)):await l.onSave(c.value[l.idField],e.toRaw(l.item)))&&(C(),await f())}catch(t){h.error(t.message)}finally{k.value=!1}},D=async(t,o)=>{l.onOpenModal?.(t),await o?.(),t?(p.value=!1,g.value=!0):(g.value=!1,p.value=!0)},C=()=>{c.value=null,ne.resetObject(l.item),Object.assign(l.item,{...e.toRaw(B.value)}),l.onCloseModal?.(l.item),p.value=!1,g.value=!1},b=()=>w.value?y.value.filter(o=>w.value.includes(o.id)).map(o=>e.toRaw(o)):[],U=()=>b()[0],F=()=>e.toRaw(y.value),f=async()=>{if(!v.value){v.value=!0;try{if(l.onLoad){var{data:t,total:o}=await l.onLoad(u.value.page,u.value.pageSize);y.value=t,u.value.itemCount=o}}catch(n){h.error(n.message)}finally{v.value=!1}}},G=e.computed(()=>{const t=e.unref(S);if(!t)return;const o=t?.$el,n=o.querySelector(".n-data-table-thead "),{bottomIncludeBody:a}=X(n),i=64;let d=2,r=24;const m=o.querySelector(".n-data-table__pagination");if(m){const x=m.offsetHeight;d+=x||0}else d+=28;return a-(i+d+r)}),K=t=>!t||!t.getBoundingClientRect?0:t.getBoundingClientRect(),X=t=>{const o=document.documentElement,n=o.scrollLeft,a=o.scrollTop,i=o.clientLeft,d=o.clientTop,r=window.pageXOffset,m=window.pageYOffset,R=K(t),{left:x,top:J,width:Q,height:Z}=R,ee=(r||n)-(i||0),te=(m||a)-(d||0),oe=x+r,le=J+m,V=oe-ee,_=le-te,T=window.document.documentElement.clientWidth,O=window.document.documentElement.clientHeight;return{left:V,top:_,right:T-Q-V,bottom:O-Z-_,rightIncludeBody:T-V,bottomIncludeBody:O-_}},Y=()=>{B.value={...e.toRaw(l.item)}};return e.onMounted(async()=>{Y(),await f()}),z({getData:F,getSelectedRow:U,getSelectedRows:b,closeModal:C,refreshData:f,resetPage:()=>{u.value.page=1}}),(t,o)=>{const n=s.NTooltip,a=s.NDataTable,i=s.NSpace,d=s.NModal;return e.openBlock(),e.createBlock(e.unref(s.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[t.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:W},{default:e.withCtx(()=>[e.createVNode(e.unref(N.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[o[3]||(o[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),t.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:P},{default:e.withCtx(()=>[e.createVNode(e.unref(N.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[o[4]||(o[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(n,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:q},{default:e.withCtx(()=>[e.createVNode(e.unref(N.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[o[5]||(o[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",se,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",ie,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(a,{remote:"",ref_key:"$table",ref:S,"checked-row-keys":w.value,"onUpdate:checkedRowKeys":o[0]||(o[0]=r=>w.value=r),"max-height":G.value,loading:v.value,bordered:!1,"single-line":!1,columns:I.value,data:y.value,pagination:u.value,"row-key":r=>r[t.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),t.$slots.addModal?(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(d,{title:"新增",preset:"card",show:p.value,"onUpdate:show":o[1]||(o[1]=r=>p.value=r),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.NButton),{type:"primary",loading:k.value,onClick:M},{default:e.withCtx(()=>o[6]||(o[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(s.NButton),{onClick:C},{default:e.withCtx(()=>o[7]||(o[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),t.$slots.editModal?(e.openBlock(),e.createElementBlock("div",de,[e.createVNode(d,{title:"编辑",show:g.value,"onUpdate:show":o[2]||(o[2]=r=>g.value=r),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.NButton),{type:"primary",loading:k.value,onClick:M},{default:e.withCtx(()=>o[8]||(o[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(s.NButton),{onClick:C},{default:e.withCtx(()=>o[9]||(o[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}});exports.default=ce;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("naive-ui"),e=require("vue"),N=require("@vicons/antd"),ne=require("../utils/helper.cjs"),ae=require("lodash"),se={id:"data-content"},ie={key:0,class:"rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-5 mb-5"},re={key:1},de={key:2},ce=e.defineComponent({__name:"PTable",props:{idField:{default:"id"},item:{default:{}},columns:{},modalWidth:{default:800},hiddenAdd:{type:Boolean,default:!1},hiddenEdit:{type:Boolean,default:!1},hiddenDelete:{type:Boolean,default:!1},onLoad:{},onGet:{},onOpenModal:{},onCloseModal:{},onSave:{},onDelete:{}},setup($,{expose:z}){const S=e.ref(null),L=s.useDialog(),h=s.useMessage(),v=e.ref(!1),w=e.ref([]),y=e.ref([]),c=e.ref(null),p=e.ref(!1),g=e.ref(!1),k=e.ref(!1),B=e.ref({}),u=e.ref({page:1,itemCount:0,pageSize:10,pageSizes:[10,20,30,50],showSizePicker:!0,onChange:async t=>{u.value.page=t,await f()},onUpdatePageSize:async t=>{u.value.pageSize=t,await f()}}),l=$,H=t=>{const o=n=>{const a=[];return t&&t.forEach(i=>{i.key!=="edit"&&i.key!=="delete"&&a.push({label:i.name,key:i.key,props:{onClick:()=>i.action(n)}})}),a};return{title:"操作",key:"actions",width:100,fixed:"right",render:n=>{let a=[];if(l.hiddenEdit||a.push({label:"编辑",key:"edit",props:{onClick:()=>A(n)}}),l.hiddenDelete||a.push({label:"删除",key:"delete",props:{onClick:()=>j(n)}}),a=[...a,...o(n)],!(a.length<=0))return e.h(s.NDropdown,{options:a,placement:"bottom-start"},{default:()=>e.h(s.NButton,{size:"small",type:"primary"},{default:()=>["操作",e.h(s.NIcon,()=>e.h(N.MoreOutlined))]})})}}},I=e.computed(()=>{const t=l.columns.filter(n=>n.key!="action").map(n=>({title:n.title,key:n.key,width:n.width,fixed:n.fixed??!1,render:n.render,ellipsis:n.ellipsis?{tooltip:!0}:!1})),o=l.columns.reduce((n,a)=>a.key==="action"?a:n,void 0)?.action;return o&&o?.length>0||!l.hiddenDelete||!l.hiddenEdit?[{type:"selection",fixed:"left"},...t,H(o)]:[{type:"selection",fixed:"left"},...t]}),q=async()=>{await f()},j=t=>{E([t])},P=()=>{const t=b();E(t)},E=t=>{t&&t.length>0&&L.warning({title:"警告",content:"删除数据不可恢复, 确认删除吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(l.onDelete)try{await l.onDelete(t)?(f(),h.success("删除成功")):h.error("删除失败")}catch(o){h.error(o.message)}}})},W=()=>{c.value=null,D()},A=async t=>{c.value=ae.cloneDeep(t),D(c.value,async()=>{l.onGet&&(c.value=await l.onGet(t[l.idField])),Object.assign(l.item,c.value)})},M=async()=>{if(l.onSave)try{k.value=!0,(p.value?await l.onSave(void 0,e.toRaw(l.item)):await l.onSave(c.value[l.idField],e.toRaw(l.item)))&&(C(),await f())}catch(t){h.error(t.message)}finally{k.value=!1}},D=async(t,o)=>{l.onOpenModal?.(t),await o?.(),t?(p.value=!1,g.value=!0):(g.value=!1,p.value=!0)},C=()=>{c.value=null,ne.resetObject(l.item),Object.assign(l.item,{...e.toRaw(B.value)}),l.onCloseModal?.(l.item),p.value=!1,g.value=!1},b=()=>w.value?y.value.filter(o=>w.value.includes(o.id)).map(o=>e.toRaw(o)):[],U=()=>b()[0],F=()=>e.toRaw(y.value),f=async()=>{if(!v.value){v.value=!0;try{if(l.onLoad){var{data:t,total:o}=await l.onLoad(u.value.page,u.value.pageSize);y.value=t,u.value.itemCount=o}}catch(n){h.error(n.message)}finally{v.value=!1}}},G=e.computed(()=>{const t=e.unref(S);if(!t)return;const o=t?.$el,n=o.querySelector(".n-data-table-thead "),{bottomIncludeBody:a}=X(n),i=64;let d=2,r=24;const m=o.querySelector(".n-data-table__pagination");if(m){const x=m.offsetHeight;d+=x||0}else d+=28;return a-(i+d+r)}),K=t=>!t||!t.getBoundingClientRect?0:t.getBoundingClientRect(),X=t=>{const o=document.documentElement,n=o.scrollLeft,a=o.scrollTop,i=o.clientLeft,d=o.clientTop,r=window.pageXOffset,m=window.pageYOffset,R=K(t),{left:x,top:J,width:Q,height:Z}=R,ee=(r||n)-(i||0),te=(m||a)-(d||0),oe=x+r,le=J+m,V=oe-ee,_=le-te,T=window.document.documentElement.clientWidth,O=window.document.documentElement.clientHeight;return{left:V,top:_,right:T-Q-V,bottom:O-Z-_,rightIncludeBody:T-V,bottomIncludeBody:O-_}},Y=()=>{B.value={...e.toRaw(l.item)}};return e.onMounted(async()=>{Y(),await f()}),z({getData:F,getSelectedRow:U,getSelectedRows:b,closeModal:C,refreshData:f,resetPage:()=>{u.value.page=1}}),(t,o)=>{const n=s.NTooltip,a=s.NDataTable,i=s.NSpace,d=s.NModal;return e.openBlock(),e.createBlock(e.unref(s.NCard),{title:" ","header-class":"p-4","content-class":"pl-4 pr-4",bordered:!1},{"header-extra":e.withCtx(()=>[t.hiddenAdd?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:0,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:W},{default:e.withCtx(()=>[e.createVNode(e.unref(N.PlusSquareOutlined))]),_:1})]),default:e.withCtx(()=>[o[3]||(o[3]=e.createElementVNode("span",null,"新增",-1))]),_:1,__:[3]})),t.hiddenDelete?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(n,{key:1,trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"mr-1 cursor-pointer hover:text-blue-600",onClick:P},{default:e.withCtx(()=>[e.createVNode(e.unref(N.DeleteOutlined))]),_:1})]),default:e.withCtx(()=>[o[4]||(o[4]=e.createElementVNode("span",null,"删除",-1))]),_:1,__:[4]})),e.createVNode(n,{trigger:"hover"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(s.NIcon),{size:"18",class:"cursor-pointer hover:text-blue-600",onClick:q},{default:e.withCtx(()=>[e.createVNode(e.unref(N.ReloadOutlined))]),_:1})]),default:e.withCtx(()=>[o[5]||(o[5]=e.createElementVNode("span",null,"刷新",-1))]),_:1,__:[5]})]),default:e.withCtx(()=>[e.createElementVNode("div",se,[t.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",ie,[e.renderSlot(t.$slots,"toolbar")])):e.createCommentVNode("",!0),e.createVNode(a,{remote:"",ref_key:"$table",ref:S,"checked-row-keys":w.value,"onUpdate:checkedRowKeys":o[0]||(o[0]=r=>w.value=r),"max-height":G.value,loading:v.value,bordered:!1,"single-line":!1,columns:I.value,data:y.value,pagination:u.value,"row-key":r=>r[t.idField]},null,8,["checked-row-keys","max-height","loading","columns","data","pagination","row-key"]),t.$slots.addModal?(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(d,{title:"新增",preset:"card",show:p.value,"onUpdate:show":o[1]||(o[1]=r=>p.value=r),"header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.NButton),{type:"primary",loading:k.value,onClick:M},{default:e.withCtx(()=>o[6]||(o[6]=[e.createTextVNode("保存",-1)])),_:1,__:[6]},8,["loading"]),e.createVNode(e.unref(s.NButton),{onClick:C},{default:e.withCtx(()=>o[7]||(o[7]=[e.createTextVNode("取消",-1)])),_:1,__:[7]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"addModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0),t.$slots.editModal?(e.openBlock(),e.createElementBlock("div",de,[e.createVNode(d,{title:"编辑",show:g.value,"onUpdate:show":o[2]||(o[2]=r=>g.value=r),preset:"card","header-class":"bg-gray-50",closable:!1,"close-on-esc":!1,"mask-closable":!1,draggable:!0,style:e.normalizeStyle({width:`${t.modalWidth}px`})},{action:e.withCtx(()=>[e.createVNode(i,{justify:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(s.NButton),{type:"primary",loading:k.value,onClick:M},{default:e.withCtx(()=>o[8]||(o[8]=[e.createTextVNode("保存",-1)])),_:1,__:[8]},8,["loading"]),e.createVNode(e.unref(s.NButton),{onClick:C},{default:e.withCtx(()=>o[9]||(o[9]=[e.createTextVNode("取消",-1)])),_:1,__:[9]})]),_:1})]),default:e.withCtx(()=>[e.renderSlot(t.$slots,"editModal")]),_:3},8,["show","style"])])):e.createCommentVNode("",!0)])]),_:3})}}});exports.default=ce;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chewel611/naive-ui-plus",
3
3
  "private": false,
4
- "version": "0.0.17",
4
+ "version": "0.0.19",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "sideEffects": false,