jgy-public-component 0.0.7 → 0.0.8

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
@@ -1,16 +1,16 @@
1
- import { defineComponent as O, openBlock as s, createElementBlock as $, normalizeClass as X, createCommentVNode as C, renderSlot as N, ref as B, watch as oe, resolveComponent as h, createVNode as d, unref as x, withCtx as i, createElementVNode as _, withModifiers as Z, createBlock as m, Fragment as q, toDisplayString as S, mergeProps as re, computed as ie, onMounted as me, onBeforeUnmount as fe, normalizeStyle as ue, createTextVNode as A, useModel as pe, renderList as ee, mergeModels as ae } from "vue";
2
- import { ElMessage as j } from "element-plus";
3
- import { Delete as G, Plus as Q, Loading as ne, ZoomIn as ve, Search as ge, Refresh as he, ArrowDown as ye, Expand as be, Fold as _e } from "@element-plus/icons-vue";
4
- import ke from "vuedraggable";
5
- import { Icon as we } from "@iconify/vue";
6
- import * as z from "xlsx";
7
- const xe = ["disabled"], Ce = {
1
+ import { defineComponent as O, openBlock as s, createElementBlock as j, normalizeClass as H, createCommentVNode as C, renderSlot as W, ref as B, watch as ie, resolveComponent as b, createVNode as r, unref as x, withCtx as u, createElementVNode as _, withModifiers as Q, createBlock as p, Fragment as K, toDisplayString as S, mergeProps as re, computed as te, onMounted as me, onBeforeUnmount as fe, normalizeStyle as ue, createTextVNode as M, useModel as pe, renderList as G, mergeModels as ne } from "vue";
2
+ import { ElMessage as $ } from "element-plus";
3
+ import { Delete as Y, Plus as ee, Loading as se, ZoomIn as ve, Search as he, Refresh as ge, ArrowDown as ye } from "@element-plus/icons-vue";
4
+ import be from "vuedraggable";
5
+ import { Icon as _e } from "@iconify/vue";
6
+ import * as T from "xlsx";
7
+ const ke = ["disabled"], we = {
8
8
  key: 0,
9
9
  class: "j-button__loading-icon"
10
- }, je = {
10
+ }, xe = {
11
11
  key: 1,
12
12
  class: "j-button__text"
13
- }, $e = /* @__PURE__ */ O({
13
+ }, je = /* @__PURE__ */ O({
14
14
  __name: "JButton",
15
15
  props: {
16
16
  type: { default: "default" },
@@ -21,13 +21,13 @@ const xe = ["disabled"], Ce = {
21
21
  loading: { type: Boolean, default: !1 }
22
22
  },
23
23
  emits: ["click"],
24
- setup(e, { emit: n }) {
25
- const l = e, u = n;
26
- function t(o) {
27
- !l.disabled && !l.loading && u("click", o);
24
+ setup(e, { emit: o }) {
25
+ const t = e, i = o;
26
+ function l(a) {
27
+ !t.disabled && !t.loading && i("click", a);
28
28
  }
29
- return (o, r) => (s(), $("button", {
30
- class: X(["j-button", [
29
+ return (a, f) => (s(), j("button", {
30
+ class: H(["j-button", [
31
31
  `j-button--${e.type}`,
32
32
  `j-button--${e.size}`,
33
33
  {
@@ -38,29 +38,29 @@ const xe = ["disabled"], Ce = {
38
38
  }
39
39
  ]]),
40
40
  disabled: e.disabled || e.loading,
41
- onClick: t
41
+ onClick: l
42
42
  }, [
43
- e.loading ? (s(), $("span", Ce)) : C("", !0),
44
- o.$slots.default ? (s(), $("span", je, [
45
- N(o.$slots, "default", {}, void 0, !0)
43
+ e.loading ? (s(), j("span", we)) : C("", !0),
44
+ a.$slots.default ? (s(), j("span", xe, [
45
+ W(a.$slots, "default", {}, void 0, !0)
46
46
  ])) : C("", !0)
47
- ], 10, xe));
47
+ ], 10, ke));
48
48
  }
49
- }), P = (e, n) => {
50
- const l = e.__vccOpts || e;
51
- for (const [u, t] of n)
52
- l[u] = t;
53
- return l;
54
- }, Ie = /* @__PURE__ */ P($e, [["__scopeId", "data-v-22864824"]]), Be = { class: "j-upload-img-container" }, Se = {
49
+ }), L = (e, o) => {
50
+ const t = e.__vccOpts || e;
51
+ for (const [i, l] of o)
52
+ t[i] = l;
53
+ return t;
54
+ }, Ce = /* @__PURE__ */ L(je, [["__scopeId", "data-v-22864824"]]), $e = { class: "j-upload-img-container" }, Ie = {
55
55
  key: 0,
56
56
  class: "images-wrapper"
57
- }, Ve = { class: "image-item" }, Ee = ["onClick"], Ae = {
57
+ }, Be = { class: "image-item" }, Se = ["onClick"], Ve = {
58
58
  key: 0,
59
59
  class: "image-item single-image-item"
60
- }, Je = { class: "image-actions" }, Me = {
60
+ }, Ae = { class: "image-actions" }, Ee = {
61
61
  key: 2,
62
62
  class: "upload-tip"
63
- }, Te = { key: 0 }, De = /* @__PURE__ */ O({
63
+ }, Me = { key: 0 }, Je = /* @__PURE__ */ O({
64
64
  name: "JUploadImg",
65
65
  __name: "JUploadImg",
66
66
  props: {
@@ -75,200 +75,203 @@ const xe = ["disabled"], Ce = {
75
75
  uploadFn: { type: Function, default: void 0 }
76
76
  },
77
77
  emits: ["update:modelValue", "success", "error"],
78
- setup(e, { emit: n }) {
79
- const l = e, u = n, t = B(""), o = B(!1), r = l.showTip, f = () => {
80
- o.value = !0;
81
- }, y = () => {
82
- t.value = "", u("update:modelValue", ""), j.success("删除成功");
83
- }, w = B([]), v = B(!1), J = (p) => {
84
- w.value = p.map((c, a) => ({
85
- uid: Date.now() + a,
86
- url: c
78
+ setup(e, { emit: o }) {
79
+ const t = e, i = o, l = B(""), a = B(!1), f = t.showTip, m = () => {
80
+ a.value = !0;
81
+ }, v = () => {
82
+ l.value = "", i("update:modelValue", ""), $.success("删除成功");
83
+ }, k = B([]), c = B(!1), A = (h) => {
84
+ k.value = h.map((d, n) => ({
85
+ uid: Date.now() + n,
86
+ url: d
87
87
  }));
88
88
  };
89
- oe(() => l.modelValue, (p) => {
90
- l.multiple ? Array.isArray(p) && p.length > 0 ? J(p) : w.value = [] : typeof p == "string" ? t.value = p : t.value = "";
89
+ ie(() => t.modelValue, (h) => {
90
+ t.multiple ? Array.isArray(h) && h.length > 0 ? A(h) : k.value = [] : typeof h == "string" ? l.value = h : l.value = "";
91
91
  }, { immediate: !0 });
92
- const M = () => {
93
- T();
94
- }, k = (p) => {
95
- w.value.splice(p, 1), T(), j.success("删除成功");
96
- }, g = async (p) => {
97
- const c = p.raw;
98
- if (!c) {
99
- j.error("文件不存在,请重试");
92
+ const J = () => {
93
+ D();
94
+ }, w = (h) => {
95
+ k.value.splice(h, 1), D(), $.success("删除成功");
96
+ }, g = async (h) => {
97
+ const d = h.raw;
98
+ if (!d) {
99
+ $.error("文件不存在,请重试");
100
100
  return;
101
101
  }
102
- if (c.size > l.maxSize * 1024 * 1024) {
103
- j.error(`图片大小不能超过 ${l.maxSize}MB`);
102
+ if (d.size > t.maxSize * 1024 * 1024) {
103
+ $.error(`图片大小不能超过 ${t.maxSize}MB`);
104
104
  return;
105
105
  }
106
- if (!l.uploadFn) {
107
- j.error("未配置上传函数 (uploadFn)");
106
+ if (!t.uploadFn) {
107
+ $.error("未配置上传函数 (uploadFn)");
108
108
  return;
109
109
  }
110
110
  try {
111
- v.value = !0;
112
- const a = await l.uploadFn(c);
113
- l.multiple ? (w.value.push({ uid: Date.now(), url: a }), T()) : (t.value = a, u("update:modelValue", a)), u("success", a), j.success("上传成功");
114
- } catch (a) {
115
- console.error("上传出错:", a), j.error("上传失败,请重试"), u("error", a);
111
+ c.value = !0;
112
+ const n = await t.uploadFn(d);
113
+ t.multiple ? (k.value.push({ uid: Date.now(), url: n }), D()) : (l.value = n, i("update:modelValue", n)), i("success", n), $.success("上传成功");
114
+ } catch (n) {
115
+ console.error("上传出错:", n), $.error("上传失败,请重试"), i("error", n);
116
116
  } finally {
117
- v.value = !1;
117
+ c.value = !1;
118
118
  }
119
- }, T = () => {
120
- const p = w.value.map((c) => c.url);
121
- u("update:modelValue", p);
119
+ }, D = () => {
120
+ const h = k.value.map((d) => d.url);
121
+ i("update:modelValue", h);
122
122
  };
123
- return (p, c) => {
124
- const a = h("el-image"), b = h("el-icon"), I = h("el-upload"), D = h("el-image-viewer");
125
- return s(), $("div", Be, [
126
- e.multiple ? (s(), $("div", Se, [
127
- d(x(ke), {
128
- modelValue: w.value,
129
- "onUpdate:modelValue": c[0] || (c[0] = (F) => w.value = F),
123
+ return (h, d) => {
124
+ const n = b("el-image"), y = b("el-icon"), I = b("el-upload"), z = b("el-image-viewer");
125
+ return s(), j("div", $e, [
126
+ e.multiple ? (s(), j("div", Ie, [
127
+ r(x(be), {
128
+ modelValue: k.value,
129
+ "onUpdate:modelValue": d[0] || (d[0] = (F) => k.value = F),
130
130
  class: "images-list",
131
131
  "item-key": "uid",
132
132
  animation: 200,
133
133
  disabled: e.disabled,
134
- onEnd: M
134
+ onEnd: J
135
135
  }, {
136
- item: i(({ element: F, index: R }) => [
137
- _("div", Ve, [
138
- d(a, {
136
+ item: u(({ element: F, index: R }) => [
137
+ _("div", Be, [
138
+ r(n, {
139
139
  src: F.url,
140
- "preview-src-list": w.value.map((E) => E.url),
140
+ "preview-src-list": k.value.map((E) => E.url),
141
141
  "initial-index": R,
142
142
  fit: "cover",
143
143
  class: "image-preview",
144
144
  "preview-teleported": !0,
145
145
  "hide-on-click-modal": !0
146
146
  }, null, 8, ["src", "preview-src-list", "initial-index"]),
147
- e.disabled ? C("", !0) : (s(), $("div", {
147
+ e.disabled ? C("", !0) : (s(), j("div", {
148
148
  key: 0,
149
149
  class: "delete-btn",
150
- onClick: Z((E) => k(R), ["stop"])
150
+ onClick: Q((E) => w(R), ["stop"])
151
151
  }, [
152
- d(b, { class: "icon-delete" }, {
153
- default: i(() => [
154
- d(x(G))
152
+ r(y, { class: "icon-delete" }, {
153
+ default: u(() => [
154
+ r(x(Y))
155
155
  ]),
156
156
  _: 1
157
157
  })
158
- ], 8, Ee))
158
+ ], 8, Se))
159
159
  ])
160
160
  ]),
161
161
  _: 1
162
162
  }, 8, ["modelValue", "disabled"]),
163
- !e.disabled && (!e.limit || w.value.length < e.limit) ? (s(), m(I, {
163
+ !e.disabled && (!e.limit || k.value.length < e.limit) ? (s(), p(I, {
164
164
  key: 0,
165
165
  class: "image-uploader",
166
166
  "auto-upload": !1,
167
167
  "show-file-list": !1,
168
168
  "on-change": g,
169
- disabled: v.value,
169
+ disabled: c.value,
170
170
  "list-type": "picture-card",
171
171
  accept: e.accept
172
172
  }, {
173
- default: i(() => [
174
- v.value ? (s(), m(b, {
173
+ default: u(() => [
174
+ c.value ? (s(), p(y, {
175
175
  key: 1,
176
176
  class: "uploader-icon is-loading"
177
177
  }, {
178
- default: i(() => [
179
- d(x(ne))
178
+ default: u(() => [
179
+ r(x(se))
180
180
  ]),
181
181
  _: 1
182
- })) : (s(), m(b, {
182
+ })) : (s(), p(y, {
183
183
  key: 0,
184
184
  class: "uploader-icon"
185
185
  }, {
186
- default: i(() => [
187
- d(x(Q))
186
+ default: u(() => [
187
+ r(x(ee))
188
188
  ]),
189
189
  _: 1
190
190
  }))
191
191
  ]),
192
192
  _: 1
193
193
  }, 8, ["disabled", "accept"])) : C("", !0)
194
- ])) : (s(), $(q, { key: 1 }, [
195
- t.value ? (s(), $("div", Ae, [
196
- d(a, {
197
- src: t.value,
194
+ ])) : (s(), j(K, { key: 1 }, [
195
+ l.value ? (s(), j("div", Ve, [
196
+ r(n, {
197
+ src: l.value,
198
198
  fit: "cover",
199
199
  class: "image-preview"
200
200
  }, null, 8, ["src"]),
201
- _("div", Je, [
202
- d(b, {
201
+ _("div", Ae, [
202
+ r(y, {
203
203
  class: "action-icon",
204
- onClick: Z(f, ["stop"])
204
+ onClick: Q(m, ["stop"])
205
205
  }, {
206
- default: i(() => [
207
- d(x(ve))
206
+ default: u(() => [
207
+ r(x(ve))
208
208
  ]),
209
209
  _: 1
210
210
  }),
211
- e.disabled ? C("", !0) : (s(), m(b, {
211
+ e.disabled ? C("", !0) : (s(), p(y, {
212
212
  key: 0,
213
213
  class: "action-icon",
214
- onClick: Z(y, ["stop"])
214
+ onClick: Q(v, ["stop"])
215
215
  }, {
216
- default: i(() => [
217
- d(x(G))
216
+ default: u(() => [
217
+ r(x(Y))
218
218
  ]),
219
219
  _: 1
220
220
  }))
221
221
  ])
222
- ])) : (s(), m(I, {
222
+ ])) : (s(), p(I, {
223
223
  key: 1,
224
224
  class: "image-uploader",
225
225
  "auto-upload": !1,
226
226
  "show-file-list": !1,
227
227
  "on-change": g,
228
- disabled: e.disabled || v.value,
228
+ disabled: e.disabled || c.value,
229
229
  accept: e.accept,
230
230
  "list-type": "picture-card"
231
231
  }, {
232
- default: i(() => [
233
- d(b, { class: "uploader-icon" }, {
234
- default: i(() => [
235
- v.value ? (s(), m(x(ne), {
232
+ default: u(() => [
233
+ r(y, { class: "uploader-icon" }, {
234
+ default: u(() => [
235
+ c.value ? (s(), p(x(se), {
236
236
  key: 1,
237
237
  class: "is-loading"
238
- })) : (s(), m(x(Q), { key: 0 }))
238
+ })) : (s(), p(x(ee), { key: 0 }))
239
239
  ]),
240
240
  _: 1
241
241
  })
242
242
  ]),
243
243
  _: 1
244
244
  }, 8, ["disabled", "accept"])),
245
- o.value ? (s(), m(D, {
245
+ a.value ? (s(), p(z, {
246
246
  key: 2,
247
- "url-list": [t.value],
247
+ "url-list": [l.value],
248
248
  teleported: !0,
249
- onClose: c[1] || (c[1] = (F) => o.value = !1)
249
+ onClose: d[1] || (d[1] = (F) => a.value = !1)
250
250
  }, null, 8, ["url-list"])) : C("", !0)
251
251
  ], 64)),
252
- x(r) ? (s(), $("div", Me, [
252
+ x(f) ? (s(), j("div", Ee, [
253
253
  _("span", null, S(e.tip), 1),
254
- e.multiple && e.limit ? (s(), $("span", Te, " (最多 " + S(e.limit) + " 张)", 1)) : C("", !0)
254
+ e.multiple && e.limit ? (s(), j("span", Me, " (最多 " + S(e.limit) + " 张)", 1)) : C("", !0)
255
255
  ])) : C("", !0)
256
256
  ]);
257
257
  };
258
258
  }
259
- }), Fe = /* @__PURE__ */ P(De, [["__scopeId", "data-v-052bacda"]]), Y = /* @__PURE__ */ O({
259
+ }), De = /* @__PURE__ */ L(Je, [["__scopeId", "data-v-052bacda"]]), X = /* @__PURE__ */ O({
260
260
  name: "JIconRender",
261
261
  __name: "JIconRender",
262
262
  props: {
263
- icon: {}
263
+ icon: {},
264
+ size: { default: 24 }
264
265
  },
265
266
  setup(e) {
266
- return (n, l) => e.icon ? (s(), m(x(we), re({
267
+ return (o, t) => e.icon ? (s(), p(x(_e), re({
267
268
  key: 0,
268
- icon: e.icon
269
- }, n.$attrs), null, 16, ["icon"])) : C("", !0);
269
+ icon: e.icon,
270
+ width: e.size,
271
+ height: e.size
272
+ }, o.$attrs), null, 16, ["icon", "width", "height"])) : C("", !0);
270
273
  }
271
- }), Oe = { class: "action-left" }, Re = /* @__PURE__ */ O({
274
+ }), ze = { class: "action-left" }, Fe = /* @__PURE__ */ O({
272
275
  name: "JSearchHeader",
273
276
  __name: "JSearchHeader",
274
277
  props: {
@@ -281,126 +284,126 @@ const xe = ["disabled"], Ce = {
281
284
  showReset: { type: Boolean, default: !0 }
282
285
  },
283
286
  emits: ["search", "reset", "add", "batchDelete"],
284
- setup(e, { emit: n }) {
285
- const l = e, u = n, t = B(), o = B(!1), r = B(!1), f = B(0), y = B(0), w = ie(() => f.value > l.defaultVisible), v = () => {
286
- if (!t.value) return;
287
- const k = Array.from(t.value.children);
288
- f.value = k.length;
289
- const g = k[l.defaultVisible - 1];
290
- if (g && t.value) {
291
- const T = t.value.getBoundingClientRect(), p = g.getBoundingClientRect();
292
- y.value = p.bottom - T.top;
287
+ setup(e, { emit: o }) {
288
+ const t = e, i = o, l = B(), a = B(!1), f = B(!1), m = B(0), v = B(0), k = te(() => m.value > t.defaultVisible), c = () => {
289
+ if (!l.value) return;
290
+ const w = Array.from(l.value.children);
291
+ m.value = w.length;
292
+ const g = w[t.defaultVisible - 1];
293
+ if (g && l.value) {
294
+ const D = l.value.getBoundingClientRect(), h = g.getBoundingClientRect();
295
+ v.value = h.bottom - D.top;
293
296
  }
294
- }, J = () => {
295
- const k = t.value;
296
- if (k)
297
- if (o.value)
298
- v(), o.value = !1, k.style.maxHeight = k.scrollHeight + "px", k.offsetHeight, k.style.maxHeight = y.value + "px";
297
+ }, A = () => {
298
+ const w = l.value;
299
+ if (w)
300
+ if (a.value)
301
+ c(), a.value = !1, w.style.maxHeight = w.scrollHeight + "px", w.offsetHeight, w.style.maxHeight = v.value + "px";
299
302
  else {
300
- o.value = !0, k.style.maxHeight = k.scrollHeight + "px";
303
+ a.value = !0, w.style.maxHeight = w.scrollHeight + "px";
301
304
  const g = () => {
302
- k.style.maxHeight = "none", k.removeEventListener("transitionend", g);
305
+ w.style.maxHeight = "none", w.removeEventListener("transitionend", g);
303
306
  };
304
- k.addEventListener("transitionend", g);
307
+ w.addEventListener("transitionend", g);
305
308
  }
306
309
  };
307
- let M = null;
310
+ let J = null;
308
311
  return me(() => {
309
- v(), w.value && t.value && (t.value.style.maxHeight = y.value + "px"), requestAnimationFrame(() => {
312
+ c(), k.value && l.value && (l.value.style.maxHeight = v.value + "px"), requestAnimationFrame(() => {
310
313
  requestAnimationFrame(() => {
311
- r.value = !0;
314
+ f.value = !0;
312
315
  });
313
- }), t.value && (M = new MutationObserver(() => {
314
- v(), w.value && !o.value && t.value && (t.value.style.maxHeight = y.value + "px");
315
- }), M.observe(t.value, { childList: !0 }));
316
+ }), l.value && (J = new MutationObserver(() => {
317
+ c(), k.value && !a.value && l.value && (l.value.style.maxHeight = v.value + "px");
318
+ }), J.observe(l.value, { childList: !0 }));
316
319
  }), fe(() => {
317
- M == null || M.disconnect();
318
- }), (k, g) => {
319
- const T = h("el-form"), p = h("el-button"), c = h("el-icon"), a = h("el-card");
320
- return s(), m(a, {
320
+ J == null || J.disconnect();
321
+ }), (w, g) => {
322
+ const D = b("el-form"), h = b("el-button"), d = b("el-icon"), n = b("el-card");
323
+ return s(), p(n, {
321
324
  shadow: "never",
322
325
  class: "j-search-header-card"
323
326
  }, {
324
- default: i(() => [
325
- d(T, {
327
+ default: u(() => [
328
+ r(D, {
326
329
  inline: "",
327
330
  class: "search-form"
328
331
  }, {
329
- default: i(() => [
332
+ default: u(() => [
330
333
  _("div", {
331
334
  ref_key: "formItemsRef",
332
- ref: t,
333
- class: X(["form-items-wrapper", { "is-animated": r.value }])
335
+ ref: l,
336
+ class: H(["form-items-wrapper", { "is-animated": f.value }])
334
337
  }, [
335
- N(k.$slots, "default", {}, void 0, !0)
338
+ W(w.$slots, "default", {}, void 0, !0)
336
339
  ], 2)
337
340
  ]),
338
341
  _: 3
339
342
  }),
340
343
  _("div", {
341
344
  class: "action-bar",
342
- style: ue({ marginTop: o.value ? "0px" : "10px" })
345
+ style: ue({ marginTop: a.value ? "0px" : "10px" })
343
346
  }, [
344
- _("div", Oe, [
345
- e.showAdd ? (s(), m(p, {
347
+ _("div", ze, [
348
+ e.showAdd ? (s(), p(h, {
346
349
  key: 0,
347
350
  type: "primary",
348
- icon: x(Q),
349
- onClick: g[0] || (g[0] = (b) => u("add"))
351
+ icon: x(ee),
352
+ onClick: g[0] || (g[0] = (y) => i("add"))
350
353
  }, {
351
- default: i(() => [
352
- A(S(e.addText), 1)
354
+ default: u(() => [
355
+ M(S(e.addText), 1)
353
356
  ]),
354
357
  _: 1
355
358
  }, 8, ["icon"])) : C("", !0),
356
- e.showBatchDelete ? (s(), m(p, {
359
+ e.showBatchDelete ? (s(), p(h, {
357
360
  key: 1,
358
361
  type: "danger",
359
- icon: x(G),
362
+ icon: x(Y),
360
363
  disabled: e.selectedCount === 0,
361
- onClick: g[1] || (g[1] = (b) => u("batchDelete"))
364
+ onClick: g[1] || (g[1] = (y) => i("batchDelete"))
362
365
  }, {
363
- default: i(() => [
364
- A(" 批量删除" + S(e.selectedCount ? `(${e.selectedCount})` : ""), 1)
366
+ default: u(() => [
367
+ M(" 批量删除" + S(e.selectedCount ? `(${e.selectedCount})` : ""), 1)
365
368
  ]),
366
369
  _: 1
367
370
  }, 8, ["icon", "disabled"])) : C("", !0),
368
- e.showSearch ? (s(), m(p, {
371
+ e.showSearch ? (s(), p(h, {
369
372
  key: 2,
370
373
  type: "primary",
371
- icon: x(ge),
372
- onClick: g[2] || (g[2] = (b) => u("search"))
374
+ icon: x(he),
375
+ onClick: g[2] || (g[2] = (y) => i("search"))
373
376
  }, {
374
- default: i(() => [...g[4] || (g[4] = [
375
- A("搜索", -1)
377
+ default: u(() => [...g[4] || (g[4] = [
378
+ M("搜索", -1)
376
379
  ])]),
377
380
  _: 1
378
381
  }, 8, ["icon"])) : C("", !0),
379
- e.showReset ? (s(), m(p, {
382
+ e.showReset ? (s(), p(h, {
380
383
  key: 3,
381
- icon: x(he),
382
- onClick: g[3] || (g[3] = (b) => u("reset"))
384
+ icon: x(ge),
385
+ onClick: g[3] || (g[3] = (y) => i("reset"))
383
386
  }, {
384
- default: i(() => [...g[5] || (g[5] = [
385
- A("重置", -1)
387
+ default: u(() => [...g[5] || (g[5] = [
388
+ M("重置", -1)
386
389
  ])]),
387
390
  _: 1
388
391
  }, 8, ["icon"])) : C("", !0),
389
- N(k.$slots, "actions", {}, void 0, !0)
392
+ W(w.$slots, "actions", {}, void 0, !0)
390
393
  ]),
391
- w.value ? (s(), m(p, {
394
+ k.value ? (s(), p(h, {
392
395
  key: 0,
393
396
  link: "",
394
397
  type: "primary",
395
- onClick: J
398
+ onClick: A
396
399
  }, {
397
- default: i(() => [
398
- A(S(o.value ? "收起" : "展开") + " ", 1),
399
- d(c, {
400
- class: X(["toggle-icon", { "is-expanded": o.value }])
400
+ default: u(() => [
401
+ M(S(a.value ? "收起" : "展开") + " ", 1),
402
+ r(d, {
403
+ class: H(["toggle-icon", { "is-expanded": a.value }])
401
404
  }, {
402
- default: i(() => [
403
- d(x(ye))
405
+ default: u(() => [
406
+ r(x(ye))
404
407
  ]),
405
408
  _: 1
406
409
  }, 8, ["class"])
@@ -413,13 +416,13 @@ const xe = ["disabled"], Ce = {
413
416
  });
414
417
  };
415
418
  }
416
- }), ze = /* @__PURE__ */ P(Re, [["__scopeId", "data-v-4488c604"]]), He = { class: "j-import-upload-row" }, Le = { class: "j-import-stat-num" }, Ue = { class: "j-import-stat-num" }, Ne = { class: "j-import-stat-num" }, Pe = {
419
+ }), Oe = /* @__PURE__ */ L(Fe, [["__scopeId", "data-v-4488c604"]]), Re = { class: "j-import-upload-row" }, Te = { class: "j-import-stat-num" }, He = { class: "j-import-stat-num" }, Le = { class: "j-import-stat-num" }, Ue = {
417
420
  key: 0,
418
421
  class: "j-import-status-fail"
419
- }, We = { key: 1 }, Ke = /* @__PURE__ */ O({
422
+ }, Ne = { key: 1 }, Pe = /* @__PURE__ */ O({
420
423
  name: "JImportExcel",
421
424
  __name: "JImportExcel",
422
- props: /* @__PURE__ */ ae({
425
+ props: /* @__PURE__ */ ne({
423
426
  getFieldListApi: {},
424
427
  importApi: {},
425
428
  excludeFields: { default: () => ["id", "ctime", "mtime"] },
@@ -428,132 +431,132 @@ const xe = ["disabled"], Ce = {
428
431
  modelValue: { type: Boolean, default: !1 },
429
432
  modelModifiers: {}
430
433
  }),
431
- emits: /* @__PURE__ */ ae(["success"], ["update:modelValue"]),
432
- setup(e, { emit: n }) {
433
- const l = e, u = n, t = pe(e, "modelValue"), o = B(!1), r = B({}), f = B([]), y = B({ total: 0, success: 0, fail: 0 }), w = {
434
+ emits: /* @__PURE__ */ ne(["success"], ["update:modelValue"]),
435
+ setup(e, { emit: o }) {
436
+ const t = e, i = o, l = pe(e, "modelValue"), a = B(!1), f = B({}), m = B([]), v = B({ total: 0, success: 0, fail: 0 }), k = {
434
437
  0: "待创建",
435
438
  1: "创建成功",
436
439
  2: "创建中",
437
440
  [-1]: "创建失败"
438
- }, v = ie(() => Object.entries(r.value).filter(([c]) => !l.excludeFields.includes(c)).map(([c, a]) => ({ id: c, label: a, prop: c }))), J = async () => {
441
+ }, c = te(() => Object.entries(f.value).filter(([d]) => !t.excludeFields.includes(d)).map(([d, n]) => ({ id: d, label: n, prop: d }))), A = async () => {
439
442
  try {
440
- const c = await l.getFieldListApi();
441
- r.value = c.data.tableFieldsInfo ?? {};
443
+ const d = await t.getFieldListApi();
444
+ f.value = d.data.tableFieldsInfo ?? {};
442
445
  } catch {
443
- j.error("获取字段列表失败");
446
+ $.error("获取字段列表失败");
444
447
  }
445
- }, M = (c) => {
446
- const a = c.raw;
447
- if (!a) return;
448
+ }, J = (d) => {
449
+ const n = d.raw;
450
+ if (!n) return;
448
451
  if (![
449
452
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
450
453
  "application/vnd.ms-excel"
451
- ].includes(a.type) && !a.name.match(/\.xlsx?$/i)) {
452
- j.warning("请上传 .xlsx 或 .xls 格式文件");
454
+ ].includes(n.type) && !n.name.match(/\.xlsx?$/i)) {
455
+ $.warning("请上传 .xlsx 或 .xls 格式文件");
453
456
  return;
454
457
  }
455
458
  const I = new FileReader();
456
- I.onload = (D) => {
459
+ I.onload = (z) => {
457
460
  try {
458
- const F = z.read(D.target.result, { type: "binary" }), R = F.SheetNames[0], E = F.Sheets[R], H = z.utils.sheet_to_json(E);
459
- if (!H.length) {
460
- j.warning("文件内容为空");
461
+ const F = T.read(z.target.result, { type: "binary" }), R = F.SheetNames[0], E = F.Sheets[R], U = T.utils.sheet_to_json(E);
462
+ if (!U.length) {
463
+ $.warning("文件内容为空");
461
464
  return;
462
465
  }
463
- const L = v.value.map((U) => U.prop), W = H.map((U) => {
464
- const V = Object.values(U), K = { _status: 0, _error: "" };
465
- return L.forEach((le, de) => {
466
- K[le] = V[de];
467
- }), K;
466
+ const N = c.value.map((P) => P.prop), q = U.map((P) => {
467
+ const V = Object.values(P), Z = { _status: 0, _error: "" };
468
+ return N.forEach((ae, de) => {
469
+ Z[ae] = V[de];
470
+ }), Z;
468
471
  });
469
- f.value = W, y.value = { total: W.length, success: 0, fail: 0 };
472
+ m.value = q, v.value = { total: q.length, success: 0, fail: 0 };
470
473
  } catch {
471
- j.error("解析文件失败,请检查文件格式");
474
+ $.error("解析文件失败,请检查文件格式");
472
475
  }
473
- }, I.readAsBinaryString(a);
474
- }, k = (c) => {
475
- f.value.splice(c, 1), y.value.total = f.value.length;
476
+ }, I.readAsBinaryString(n);
477
+ }, w = (d) => {
478
+ m.value.splice(d, 1), v.value.total = m.value.length;
476
479
  }, g = async () => {
477
- const c = f.value.filter((a) => a._status === 0).map(({ _status: a, _error: b, ...I }) => I);
478
- if (!c.length) {
479
- j.warning("没有可导入的数据");
480
+ const d = m.value.filter((n) => n._status === 0).map(({ _status: n, _error: y, ...I }) => I);
481
+ if (!d.length) {
482
+ $.warning("没有可导入的数据");
480
483
  return;
481
484
  }
482
- o.value = !0;
485
+ a.value = !0;
483
486
  try {
484
- const a = await l.importApi(c);
485
- a.code === 1 ? (f.value.forEach((b) => {
486
- b._status === 0 && (b._status = 1);
487
- }), y.value.success = f.value.filter((b) => b._status === 1).length, j.success("导入成功"), u("success")) : j.error(a.msg || "导入失败");
487
+ const n = await t.importApi(d);
488
+ n.code === 1 ? (m.value.forEach((y) => {
489
+ y._status === 0 && (y._status = 1);
490
+ }), v.value.success = m.value.filter((y) => y._status === 1).length, $.success("导入成功"), i("success")) : $.error(n.msg || "导入失败");
488
491
  } catch {
489
- j.error("导入失败,请重试");
492
+ $.error("导入失败,请重试");
490
493
  } finally {
491
- o.value = !1;
494
+ a.value = !1;
492
495
  }
493
- }, T = () => {
496
+ }, D = () => {
494
497
  try {
495
- const c = z.utils.book_new(), a = v.value.map((D) => D.label), b = {};
496
- a.forEach((D) => b[D] = "");
497
- const I = z.utils.json_to_sheet([b]);
498
- z.utils.book_append_sheet(c, I, "模板"), z.writeFile(c, "导入模板.xlsx");
498
+ const d = T.utils.book_new(), n = c.value.map((z) => z.label), y = {};
499
+ n.forEach((z) => y[z] = "");
500
+ const I = T.utils.json_to_sheet([y]);
501
+ T.utils.book_append_sheet(d, I, "模板"), T.writeFile(d, "导入模板.xlsx");
499
502
  } catch {
500
- j.error("模板下载失败");
503
+ $.error("模板下载失败");
501
504
  }
502
- }, p = () => {
503
- o.value || (t.value = !1, f.value = [], y.value = { total: 0, success: 0, fail: 0 });
505
+ }, h = () => {
506
+ a.value || (l.value = !1, m.value = [], v.value = { total: 0, success: 0, fail: 0 });
504
507
  };
505
- return (c, a) => {
506
- const b = h("el-divider"), I = h("el-button"), D = h("el-upload"), F = h("el-link"), R = h("el-card"), E = h("el-col"), H = h("el-row"), L = h("el-table-column"), W = h("el-table"), U = h("el-dialog");
507
- return s(), m(U, {
508
- modelValue: t.value,
509
- "onUpdate:modelValue": a[0] || (a[0] = (V) => t.value = V),
510
- title: l.title,
508
+ return (d, n) => {
509
+ const y = b("el-divider"), I = b("el-button"), z = b("el-upload"), F = b("el-link"), R = b("el-card"), E = b("el-col"), U = b("el-row"), N = b("el-table-column"), q = b("el-table"), P = b("el-dialog");
510
+ return s(), p(P, {
511
+ modelValue: l.value,
512
+ "onUpdate:modelValue": n[0] || (n[0] = (V) => l.value = V),
513
+ title: t.title,
511
514
  width: "900px",
512
515
  "close-on-click-modal": !1,
513
- onOpen: J,
514
- onClose: p
516
+ onOpen: A,
517
+ onClose: h
515
518
  }, {
516
- footer: i(() => [
517
- d(I, { onClick: p }, {
518
- default: i(() => [...a[9] || (a[9] = [
519
- A("关闭", -1)
519
+ footer: u(() => [
520
+ r(I, { onClick: h }, {
521
+ default: u(() => [...n[9] || (n[9] = [
522
+ M("关闭", -1)
520
523
  ])]),
521
524
  _: 1
522
525
  })
523
526
  ]),
524
- default: i(() => [
525
- d(R, {
527
+ default: u(() => [
528
+ r(R, {
526
529
  shadow: "never",
527
530
  class: "j-import-upload-card"
528
531
  }, {
529
- default: i(() => [
530
- a[3] || (a[3] = _("div", { class: "j-import-upload-card-title" }, "导入 EXCEL", -1)),
531
- d(b, { style: { margin: "10px 0" } }),
532
- _("div", He, [
533
- d(D, {
532
+ default: u(() => [
533
+ n[3] || (n[3] = _("div", { class: "j-import-upload-card-title" }, "导入 EXCEL", -1)),
534
+ r(y, { style: { margin: "10px 0" } }),
535
+ _("div", Re, [
536
+ r(z, {
534
537
  accept: ".xlsx,.xls",
535
538
  "auto-upload": !1,
536
539
  "show-file-list": !1,
537
- "on-change": M
540
+ "on-change": J
538
541
  }, {
539
- default: i(() => [
540
- d(I, { size: "small" }, {
541
- default: i(() => [...a[1] || (a[1] = [
542
- A("点击上传", -1)
542
+ default: u(() => [
543
+ r(I, { size: "small" }, {
544
+ default: u(() => [...n[1] || (n[1] = [
545
+ M("点击上传", -1)
543
546
  ])]),
544
547
  _: 1
545
548
  })
546
549
  ]),
547
550
  _: 1
548
551
  }),
549
- v.value.length ? (s(), m(F, {
552
+ c.value.length ? (s(), p(F, {
550
553
  key: 0,
551
554
  type: "primary",
552
555
  class: "j-import-no-wrap",
553
- onClick: T
556
+ onClick: D
554
557
  }, {
555
- default: i(() => [...a[2] || (a[2] = [
556
- A(" 下载导入模板.xlsx ", -1)
558
+ default: u(() => [...n[2] || (n[2] = [
559
+ M(" 下载导入模板.xlsx ", -1)
557
560
  ])]),
558
561
  _: 1
559
562
  })) : C("", !0)
@@ -561,43 +564,43 @@ const xe = ["disabled"], Ce = {
561
564
  ]),
562
565
  _: 1
563
566
  }),
564
- d(H, {
567
+ r(U, {
565
568
  class: "j-import-stats-row",
566
569
  gutter: 20,
567
570
  align: "middle"
568
571
  }, {
569
- default: i(() => [
570
- d(E, { span: 18 }, {
571
- default: i(() => [
572
- d(H, { class: "j-import-stats-cols" }, {
573
- default: i(() => [
574
- d(E, {
572
+ default: u(() => [
573
+ r(E, { span: 18 }, {
574
+ default: u(() => [
575
+ r(U, { class: "j-import-stats-cols" }, {
576
+ default: u(() => [
577
+ r(E, {
575
578
  span: 4,
576
579
  class: "j-import-stat-item"
577
580
  }, {
578
- default: i(() => [
579
- _("div", Le, S(y.value.total), 1),
580
- a[4] || (a[4] = _("div", { class: "j-import-stat-label" }, "导入数量", -1))
581
+ default: u(() => [
582
+ _("div", Te, S(v.value.total), 1),
583
+ n[4] || (n[4] = _("div", { class: "j-import-stat-label" }, "导入数量", -1))
581
584
  ]),
582
585
  _: 1
583
586
  }),
584
- d(E, {
587
+ r(E, {
585
588
  span: 4,
586
589
  class: "j-import-stat-item"
587
590
  }, {
588
- default: i(() => [
589
- _("div", Ue, S(y.value.fail), 1),
590
- a[5] || (a[5] = _("div", { class: "j-import-stat-label" }, "失败数量", -1))
591
+ default: u(() => [
592
+ _("div", He, S(v.value.fail), 1),
593
+ n[5] || (n[5] = _("div", { class: "j-import-stat-label" }, "失败数量", -1))
591
594
  ]),
592
595
  _: 1
593
596
  }),
594
- d(E, {
597
+ r(E, {
595
598
  span: 4,
596
599
  class: "j-import-stat-item"
597
600
  }, {
598
- default: i(() => [
599
- _("div", Ne, S(y.value.success), 1),
600
- a[6] || (a[6] = _("div", { class: "j-import-stat-label" }, "成功数量", -1))
601
+ default: u(() => [
602
+ _("div", Le, S(v.value.success), 1),
603
+ n[6] || (n[6] = _("div", { class: "j-import-stat-label" }, "成功数量", -1))
601
604
  ]),
602
605
  _: 1
603
606
  })
@@ -607,20 +610,20 @@ const xe = ["disabled"], Ce = {
607
610
  ]),
608
611
  _: 1
609
612
  }),
610
- d(E, {
613
+ r(E, {
611
614
  span: 6,
612
615
  class: "j-import-confirm-col"
613
616
  }, {
614
- default: i(() => [
615
- d(I, {
617
+ default: u(() => [
618
+ r(I, {
616
619
  type: "primary",
617
620
  size: "small",
618
- loading: o.value,
619
- disabled: !f.value.length,
621
+ loading: a.value,
622
+ disabled: !m.value.length,
620
623
  onClick: g
621
624
  }, {
622
- default: i(() => [...a[7] || (a[7] = [
623
- A(" 确认导入 ", -1)
625
+ default: u(() => [...n[7] || (n[7] = [
626
+ M(" 确认导入 ", -1)
624
627
  ])]),
625
628
  _: 1
626
629
  }, 8, ["loading", "disabled"])
@@ -630,46 +633,46 @@ const xe = ["disabled"], Ce = {
630
633
  ]),
631
634
  _: 1
632
635
  }),
633
- d(W, {
634
- data: f.value,
636
+ r(q, {
637
+ data: m.value,
635
638
  border: "",
636
639
  size: "small",
637
640
  "max-height": "360",
638
641
  class: "j-import-data-table"
639
642
  }, {
640
- default: i(() => [
641
- (s(!0), $(q, null, ee(v.value, (V) => (s(), m(L, {
643
+ default: u(() => [
644
+ (s(!0), j(K, null, G(c.value, (V) => (s(), p(N, {
642
645
  key: V.prop,
643
646
  prop: V.prop,
644
647
  label: V.label,
645
648
  "min-width": 120,
646
649
  "show-overflow-tooltip": ""
647
650
  }, null, 8, ["prop", "label"]))), 128)),
648
- d(L, {
651
+ r(N, {
649
652
  label: "状态",
650
653
  width: "110",
651
654
  align: "center",
652
655
  fixed: "right"
653
656
  }, {
654
- default: i(({ row: V }) => [
655
- V._status === -1 ? (s(), $("span", Pe, S(V._error || "创建失败"), 1)) : (s(), $("span", We, S(w[V._status]), 1))
657
+ default: u(({ row: V }) => [
658
+ V._status === -1 ? (s(), j("span", Ue, S(V._error || "创建失败"), 1)) : (s(), j("span", Ne, S(k[V._status]), 1))
656
659
  ]),
657
660
  _: 1
658
661
  }),
659
- d(L, {
662
+ r(N, {
660
663
  label: "操作",
661
664
  width: "80",
662
665
  align: "center",
663
666
  fixed: "right"
664
667
  }, {
665
- default: i(({ $index: V, row: K }) => [
666
- K._status === 0 ? (s(), m(I, {
668
+ default: u(({ $index: V, row: Z }) => [
669
+ Z._status === 0 ? (s(), p(I, {
667
670
  key: 0,
668
671
  size: "small",
669
- onClick: (le) => k(V)
672
+ onClick: (ae) => w(V)
670
673
  }, {
671
- default: i(() => [...a[8] || (a[8] = [
672
- A(" 删除 ", -1)
674
+ default: u(() => [...n[8] || (n[8] = [
675
+ M(" 删除 ", -1)
673
676
  ])]),
674
677
  _: 1
675
678
  }, 8, ["onClick"])) : C("", !0)
@@ -684,7 +687,7 @@ const xe = ["disabled"], Ce = {
684
687
  }, 8, ["modelValue", "title"]);
685
688
  };
686
689
  }
687
- }), Xe = /* @__PURE__ */ P(Ke, [["__scopeId", "data-v-2ece86f5"]]), ce = /* @__PURE__ */ O({
690
+ }), We = /* @__PURE__ */ L(Pe, [["__scopeId", "data-v-2ece86f5"]]), Ke = { class: "j-sidebar__menu-item-title" }, Xe = /* @__PURE__ */ O({
688
691
  name: "JSideMenuItem",
689
692
  __name: "JSideMenuItem",
690
693
  props: {
@@ -693,43 +696,43 @@ const xe = ["disabled"], Ce = {
693
696
  depth: { default: 0 }
694
697
  },
695
698
  emits: ["menu-click"],
696
- setup(e, { emit: n }) {
697
- const l = e, u = n, t = () => {
698
- u("menu-click", l.menuItem);
699
+ setup(e, { emit: o }) {
700
+ const t = e, i = o, l = () => {
701
+ i("menu-click", t.menuItem);
699
702
  };
700
- return (o, r) => {
701
- const f = h("JSideMenuItem", !0), y = h("el-sub-menu"), w = h("el-menu-item");
702
- return e.menuItem.children && e.menuItem.children.length > 0 ? (s(), m(y, {
703
+ return (a, f) => {
704
+ const m = b("JSideMenuItem", !0), v = b("el-sub-menu"), k = b("el-menu-item");
705
+ return e.menuItem.children && e.menuItem.children.length > 0 ? (s(), p(v, {
703
706
  key: 0,
704
707
  index: e.menuItem.path
705
708
  }, {
706
- title: i(() => [
707
- e.menuItem.icon && e.depth === 0 ? (s(), m(x(Y), {
709
+ title: u(() => [
710
+ e.menuItem.icon && e.depth === 0 ? (s(), p(x(X), {
708
711
  key: 0,
709
712
  icon: e.menuItem.icon
710
713
  }, null, 8, ["icon"])) : C("", !0),
711
- _("span", null, S(e.menuItem.title || e.menuItem.name), 1)
714
+ _("span", Ke, S(e.menuItem.title || e.menuItem.name), 1)
712
715
  ]),
713
- default: i(() => [
714
- (s(!0), $(q, null, ee(e.menuItem.children, (v) => (s(), m(f, {
715
- key: v.path,
716
- "menu-item": v,
716
+ default: u(() => [
717
+ (s(!0), j(K, null, G(e.menuItem.children, (c) => (s(), p(m, {
718
+ key: c.path,
719
+ "menu-item": c,
717
720
  "is-collapse": e.isCollapse,
718
721
  depth: e.depth + 1,
719
- onMenuClick: r[0] || (r[0] = (J) => u("menu-click", J))
722
+ onMenuClick: f[0] || (f[0] = (A) => i("menu-click", A))
720
723
  }, null, 8, ["menu-item", "is-collapse", "depth"]))), 128))
721
724
  ]),
722
725
  _: 1
723
- }, 8, ["index"])) : (s(), m(w, {
726
+ }, 8, ["index"])) : (s(), p(k, {
724
727
  key: 1,
725
728
  index: e.menuItem.path,
726
- onClick: t
729
+ onClick: l
727
730
  }, {
728
- title: i(() => [
731
+ title: u(() => [
729
732
  _("span", null, S(e.menuItem.title || e.menuItem.name), 1)
730
733
  ]),
731
- default: i(() => [
732
- e.menuItem.icon && e.depth === 0 ? (s(), m(x(Y), {
734
+ default: u(() => [
735
+ e.menuItem.icon && e.depth === 0 ? (s(), p(x(X), {
733
736
  key: 0,
734
737
  icon: e.menuItem.icon
735
738
  }, null, 8, ["icon"])) : C("", !0)
@@ -738,7 +741,10 @@ const xe = ["disabled"], Ce = {
738
741
  }, 8, ["index"]));
739
742
  };
740
743
  }
741
- }), qe = { class: "j-sidebar__logo" }, Ze = { class: "j-sidebar__title" }, Ge = { class: "j-sidebar__menu-wrapper" }, Qe = { class: "j-sidebar__footer" }, Ye = { class: "j-sidebar__collapse-text" }, et = /* @__PURE__ */ O({
744
+ }), ce = /* @__PURE__ */ L(Xe, [["__scopeId", "data-v-c83c4ba1"]]), qe = { class: "j-sidebar__logo" }, Ze = { class: "j-sidebar__title" }, Ge = { class: "j-sidebar__menu-wrapper" }, Qe = {
745
+ key: 1,
746
+ class: "j-sidebar__collapsed-menu"
747
+ }, Ye = ["onClick"], et = { class: "j-sidebar__collapsed-item-text" }, tt = { class: "j-sidebar__footer" }, lt = /* @__PURE__ */ O({
742
748
  name: "JSidebar",
743
749
  __name: "JSidebar",
744
750
  props: {
@@ -749,177 +755,189 @@ const xe = ["disabled"], Ce = {
749
755
  collapsed: { type: Boolean, default: !1 },
750
756
  collapsedWidth: { default: 64 },
751
757
  expandedWidth: { default: 200 },
752
- expandText: { default: "展开" },
753
- collapseText: { default: "折叠" },
754
758
  router: { type: Boolean, default: !0 }
755
759
  },
756
760
  emits: ["update:collapsed", "menu-click"],
757
- setup(e, { emit: n }) {
758
- const l = e, u = n, t = B(l.collapsed);
759
- oe(() => l.collapsed, (r) => {
760
- t.value = r;
761
+ setup(e, { emit: o }) {
762
+ const t = e, i = o, l = te(() => {
763
+ const m = [], v = (k) => {
764
+ for (const c of k)
765
+ c.children && c.children.length > 0 ? v(c.children) : m.push(c);
766
+ };
767
+ return v(t.menus), m;
768
+ }), a = B(t.collapsed);
769
+ ie(() => t.collapsed, (m) => {
770
+ a.value = m;
761
771
  });
762
- const o = () => {
763
- t.value = !t.value, u("update:collapsed", t.value);
772
+ const f = () => {
773
+ a.value = !a.value, i("update:collapsed", a.value);
764
774
  };
765
- return (r, f) => {
766
- const y = h("el-menu"), w = h("el-icon");
767
- return s(), $("div", {
768
- class: X(["j-sidebar", t.value ? "j-sidebar--collapsed" : "j-sidebar--expanded"]),
769
- style: ue({ width: t.value ? `${e.collapsedWidth}px` : `${e.expandedWidth}px` })
775
+ return (m, v) => {
776
+ const k = b("el-menu");
777
+ return s(), j("div", {
778
+ class: H(["j-sidebar", a.value ? "j-sidebar--collapsed" : "j-sidebar--expanded"]),
779
+ style: ue({ width: a.value ? `${e.collapsedWidth}px` : `${e.expandedWidth}px` })
770
780
  }, [
771
781
  _("div", qe, [
772
- N(r.$slots, "logo", { collapsed: t.value }, () => {
773
- var v;
782
+ W(m.$slots, "logo", { collapsed: a.value }, () => {
783
+ var c;
774
784
  return [
775
- _("h2", Ze, S(t.value ? e.collapsedTitle || ((v = e.title) == null ? void 0 : v.charAt(0)) || "" : e.title), 1)
785
+ _("h2", Ze, S(a.value ? e.collapsedTitle || ((c = e.title) == null ? void 0 : c.charAt(0)) || "" : e.title), 1)
776
786
  ];
777
787
  }, !0)
778
788
  ]),
779
789
  _("div", Ge, [
780
- d(y, {
790
+ a.value ? (s(), j("div", Qe, [
791
+ (s(!0), j(K, null, G(l.value, (c) => (s(), j("div", {
792
+ key: c.path,
793
+ class: H(["j-sidebar__collapsed-item", { "is-active": e.activeMenu === c.path }]),
794
+ onClick: (A) => i("menu-click", c)
795
+ }, [
796
+ c.icon ? (s(), p(x(X), {
797
+ key: 0,
798
+ icon: c.icon,
799
+ size: 20
800
+ }, null, 8, ["icon"])) : C("", !0),
801
+ _("span", et, S(c.title || c.name), 1)
802
+ ], 10, Ye))), 128))
803
+ ])) : (s(), p(k, {
804
+ key: 0,
781
805
  "default-active": e.activeMenu,
782
806
  class: "j-sidebar__menu",
783
- router: e.router,
784
- collapse: t.value,
785
- "collapse-transition": !1
807
+ router: e.router
786
808
  }, {
787
- default: i(() => [
788
- (s(!0), $(q, null, ee(e.menus, (v) => (s(), m(ce, {
789
- key: v.path,
790
- "menu-item": v,
791
- "is-collapse": t.value,
792
- onMenuClick: f[0] || (f[0] = (J) => u("menu-click", J))
793
- }, null, 8, ["menu-item", "is-collapse"]))), 128))
809
+ default: u(() => [
810
+ (s(!0), j(K, null, G(e.menus, (c) => (s(), p(ce, {
811
+ key: c.path,
812
+ "menu-item": c,
813
+ "is-collapse": !1,
814
+ onMenuClick: v[0] || (v[0] = (A) => i("menu-click", A))
815
+ }, null, 8, ["menu-item"]))), 128))
794
816
  ]),
795
817
  _: 1
796
- }, 8, ["default-active", "router", "collapse"])
818
+ }, 8, ["default-active", "router"]))
797
819
  ]),
798
- _("div", Qe, [
799
- N(r.$slots, "footer", {
800
- collapsed: t.value,
801
- toggle: o
820
+ _("div", tt, [
821
+ W(m.$slots, "footer", {
822
+ collapsed: a.value,
823
+ toggle: f
802
824
  }, () => [
803
825
  _("button", {
804
- class: "j-sidebar__collapse-btn",
805
- onClick: o
826
+ class: H(["j-sidebar__collapse-btn", a.value ? "j-sidebar__collapse-btn--center" : "j-sidebar__collapse-btn--right"]),
827
+ onClick: f
806
828
  }, [
807
- d(w, { size: 18 }, {
808
- default: i(() => [
809
- t.value ? (s(), m(x(be), { key: 0 })) : (s(), m(x(_e), { key: 1 }))
810
- ]),
811
- _: 1
812
- }),
813
- _("span", Ye, S(t.value ? e.expandText : e.collapseText), 1)
814
- ])
829
+ r(x(X), {
830
+ icon: a.value ? "mdi:chevron-right" : "mdi:chevron-left"
831
+ }, null, 8, ["icon"])
832
+ ], 2)
815
833
  ], !0)
816
834
  ])
817
835
  ], 6);
818
836
  };
819
837
  }
820
- }), tt = /* @__PURE__ */ P(et, [["__scopeId", "data-v-69e5b32f"]]);
821
- function te(e, n) {
822
- return Array.isArray(e) ? e.map((l) => te(l, n)) : e !== null && typeof e == "object" && !(e instanceof Date) ? n(e) : e;
838
+ }), at = /* @__PURE__ */ L(lt, [["__scopeId", "data-v-57993957"]]);
839
+ function le(e, o) {
840
+ return Array.isArray(e) ? e.map((t) => le(t, o)) : e !== null && typeof e == "object" && !(e instanceof Date) ? o(e) : e;
823
841
  }
824
- function lt(e, n = []) {
842
+ function nt(e, o = []) {
825
843
  return Object.fromEntries(
826
- Object.entries(e).map(([l, u]) => {
827
- const t = te(u, (r) => lt(r, n));
828
- return n.includes(l) ? [l, t] : [l.replace(/([A-Z])/g, "_$1").toLowerCase(), t];
844
+ Object.entries(e).map(([t, i]) => {
845
+ const l = le(i, (f) => nt(f, o));
846
+ return o.includes(t) ? [t, l] : [t.replace(/([A-Z])/g, "_$1").toLowerCase(), l];
829
847
  })
830
848
  );
831
849
  }
832
- function at(e, n = []) {
850
+ function st(e, o = []) {
833
851
  return Object.fromEntries(
834
- Object.entries(e).map(([l, u]) => {
835
- const t = te(u, (r) => at(r, n));
836
- return n.includes(l) ? [l, t] : [l.replace(/_([a-z])/g, (r, f) => f.toUpperCase()), t];
852
+ Object.entries(e).map(([t, i]) => {
853
+ const l = le(i, (f) => st(f, o));
854
+ return o.includes(t) ? [t, l] : [t.replace(/_([a-z])/g, (f, m) => m.toUpperCase()), l];
837
855
  })
838
856
  );
839
857
  }
840
- function ft(e, n) {
841
- const l = {};
842
- for (const u of n)
843
- u in e && (l[u] = e[u]);
844
- return l;
858
+ function vt(e, o) {
859
+ const t = {};
860
+ for (const i of o)
861
+ i in e && (t[i] = e[i]);
862
+ return t;
845
863
  }
846
- function pt(e, n) {
847
- const l = { ...e };
848
- for (const u of n)
849
- delete l[u];
850
- return l;
864
+ function ht(e, o) {
865
+ const t = { ...e };
866
+ for (const i of o)
867
+ delete t[i];
868
+ return t;
851
869
  }
852
- function se(e) {
870
+ function oe(e) {
853
871
  if (e === null || typeof e != "object") return e;
854
872
  if (e instanceof Date) return new Date(e.getTime());
855
873
  if (e instanceof RegExp) return new RegExp(e.source, e.flags);
856
- if (Array.isArray(e)) return e.map((l) => se(l));
857
- const n = {};
858
- for (const l of Object.keys(e))
859
- n[l] = se(e[l]);
860
- return n;
874
+ if (Array.isArray(e)) return e.map((t) => oe(t));
875
+ const o = {};
876
+ for (const t of Object.keys(e))
877
+ o[t] = oe(e[t]);
878
+ return o;
861
879
  }
862
- function nt(e, n = !1) {
863
- const l = {};
864
- for (const [u, t] of Object.entries(e))
865
- if (!(t == null || t === ""))
866
- if (n && typeof t == "object" && !Array.isArray(t) && !(t instanceof Date)) {
867
- const o = nt(t, !0);
868
- Object.keys(o).length > 0 && (l[u] = o);
880
+ function ot(e, o = !1) {
881
+ const t = {};
882
+ for (const [i, l] of Object.entries(e))
883
+ if (!(l == null || l === ""))
884
+ if (o && typeof l == "object" && !Array.isArray(l) && !(l instanceof Date)) {
885
+ const a = ot(l, !0);
886
+ Object.keys(a).length > 0 && (t[i] = a);
869
887
  } else
870
- l[u] = t;
871
- return l;
888
+ t[i] = l;
889
+ return t;
872
890
  }
873
- function st(e, n = "", l = ".") {
874
- const u = {};
875
- for (const [t, o] of Object.entries(e)) {
876
- const r = n ? `${n}${l}${t}` : t;
877
- o !== null && typeof o == "object" && !Array.isArray(o) && !(o instanceof Date) ? Object.assign(u, st(o, r, l)) : u[r] = o;
891
+ function it(e, o = "", t = ".") {
892
+ const i = {};
893
+ for (const [l, a] of Object.entries(e)) {
894
+ const f = o ? `${o}${t}${l}` : l;
895
+ a !== null && typeof a == "object" && !Array.isArray(a) && !(a instanceof Date) ? Object.assign(i, it(a, f, t)) : i[f] = a;
878
896
  }
879
- return u;
897
+ return i;
880
898
  }
881
- function vt(e, n = ".") {
882
- const l = {};
883
- for (const [u, t] of Object.entries(e)) {
884
- const o = u.split(n);
885
- let r = l;
886
- for (let f = 0; f < o.length - 1; f++) {
887
- const y = o[f];
888
- y in r || (r[y] = {}), r = r[y];
899
+ function gt(e, o = ".") {
900
+ const t = {};
901
+ for (const [i, l] of Object.entries(e)) {
902
+ const a = i.split(o);
903
+ let f = t;
904
+ for (let m = 0; m < a.length - 1; m++) {
905
+ const v = a[m];
906
+ v in f || (f[v] = {}), f = f[v];
889
907
  }
890
- r[o[o.length - 1]] = t;
908
+ f[a[a.length - 1]] = l;
891
909
  }
892
- return l;
910
+ return t;
893
911
  }
894
- function gt(e) {
895
- return Object.entries(e).map(([n, l]) => ({
896
- id: n,
897
- label: l,
898
- prop: n
912
+ function yt(e) {
913
+ return Object.entries(e).map(([o, t]) => ({
914
+ id: o,
915
+ label: t,
916
+ prop: o
899
917
  }));
900
918
  }
901
- const ot = [Ie, Fe, Y, ze, Xe, tt, ce], it = (e) => {
902
- ot.forEach((n) => {
903
- e.component(n.name ?? n.__name ?? "", n);
919
+ const ut = [Ce, De, X, Oe, We, at, ce], ct = (e) => {
920
+ ut.forEach((o) => {
921
+ e.component(o.name ?? o.__name ?? "", o);
904
922
  });
905
- }, ht = { install: it };
923
+ }, bt = { install: ct };
906
924
  export {
907
- Ie as JButton,
908
- Y as JIconRender,
909
- Xe as JImportExcel,
910
- ze as JSearchHeader,
925
+ Ce as JButton,
926
+ X as JIconRender,
927
+ We as JImportExcel,
928
+ Oe as JSearchHeader,
911
929
  ce as JSideMenuItem,
912
- tt as JSidebar,
913
- Fe as JUploadImg,
914
- se as deepClone,
915
- ht as default,
916
- nt as filterEmpty,
917
- st as flatten,
918
- pt as omit,
919
- ft as pick,
920
- at as toCamelCase,
921
- lt as toSnakeCase,
922
- gt as toTableColumns,
923
- vt as unflatten
930
+ at as JSidebar,
931
+ De as JUploadImg,
932
+ oe as deepClone,
933
+ bt as default,
934
+ ot as filterEmpty,
935
+ it as flatten,
936
+ ht as omit,
937
+ vt as pick,
938
+ st as toCamelCase,
939
+ nt as toSnakeCase,
940
+ yt as toTableColumns,
941
+ gt as unflatten
924
942
  };
925
943
  //# sourceMappingURL=index.js.map