guava-ui 0.0.4 → 0.0.5
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/README.md +8 -0
- package/lib/guava-ui.es.js +1181 -249
- package/lib/guava-ui.es.js.br +0 -0
- package/lib/guava-ui.es.js.gz +0 -0
- package/lib/guava-ui.es.js.map +1 -1
- package/lib/guava-ui.umd.js +14 -2
- package/lib/guava-ui.umd.js.map +1 -1
- package/lib/index.css +1 -1
- package/package.json +13 -5
package/lib/guava-ui.es.js
CHANGED
|
@@ -1,40 +1,43 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
for (var
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
for (var
|
|
10
|
-
|
|
1
|
+
var Ke = Object.defineProperty, _e = Object.defineProperties;
|
|
2
|
+
var $e = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var ue = Object.getOwnPropertySymbols;
|
|
4
|
+
var et = Object.prototype.hasOwnProperty, tt = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var de = (e, t, n) => t in e ? Ke(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, N = (e, t) => {
|
|
6
|
+
for (var n in t || (t = {}))
|
|
7
|
+
et.call(t, n) && de(e, n, t[n]);
|
|
8
|
+
if (ue)
|
|
9
|
+
for (var n of ue(t))
|
|
10
|
+
tt.call(t, n) && de(e, n, t[n]);
|
|
11
11
|
return e;
|
|
12
|
-
},
|
|
13
|
-
var
|
|
14
|
-
var
|
|
12
|
+
}, U = (e, t) => _e(e, $e(t));
|
|
13
|
+
var Z = (e, t, n) => new Promise((r, o) => {
|
|
14
|
+
var l = (i) => {
|
|
15
15
|
try {
|
|
16
|
-
|
|
17
|
-
} catch (
|
|
18
|
-
o(
|
|
16
|
+
s(n.next(i));
|
|
17
|
+
} catch (c) {
|
|
18
|
+
o(c);
|
|
19
19
|
}
|
|
20
20
|
}, a = (i) => {
|
|
21
21
|
try {
|
|
22
|
-
|
|
23
|
-
} catch (
|
|
24
|
-
o(
|
|
22
|
+
s(n.throw(i));
|
|
23
|
+
} catch (c) {
|
|
24
|
+
o(c);
|
|
25
25
|
}
|
|
26
|
-
},
|
|
27
|
-
|
|
26
|
+
}, s = (i) => i.done ? r(i.value) : Promise.resolve(i.value).then(l, a);
|
|
27
|
+
s((n = n.apply(e, t)).next());
|
|
28
28
|
});
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import
|
|
37
|
-
|
|
29
|
+
import { setActivePinia as nt } from "pinia";
|
|
30
|
+
import { defineComponent as O, computed as f, watch as P, createVNode as v, useAttrs as rt, createElementBlock as R, openBlock as y, mergeProps as V, unref as u, createElementVNode as W, resolveComponent as te, createBlock as C, normalizeClass as I, withCtx as k, Fragment as ne, renderList as ot, createTextVNode as Ee, toDisplayString as Ne, ref as re, TransitionGroup as lt, isVNode as We, normalizeStyle as pe, getCurrentScope as at, onScopeDispose as st, shallowRef as xe, toValue as B, getCurrentInstance as it, onMounted as Te, createCommentVNode as ct } from "vue";
|
|
31
|
+
import { ElButton as ut, ElDropdown as dt, ElDropdownMenu as pt, ElDropdownItem as ft, ElBacktop as mt, ElBreadcrumb as vt, ElBreadcrumbItem as ht, ElIcon as yt, ElMenuItem as bt, ElSubMenu as gt, ElScrollbar as St, ElMenu as jt, ElMessageBox as Gt, ElMessage as Ot, ElNotification as Zt } from "element-plus";
|
|
32
|
+
import { useStyle as E } from "@/hook/web/useStyle";
|
|
33
|
+
import { useRouter as oe } from "vue-router";
|
|
34
|
+
import { useLocaleStore as wt } from "@/store/modules/locale";
|
|
35
|
+
import { useLocale as Rt } from "@/hook/web/useLocale";
|
|
36
|
+
import { useI18n as ke } from "@/hook/web/useI18n";
|
|
37
|
+
import { useAppStore as A } from "@/store/modules/app";
|
|
38
|
+
import { usePermsStore as Me } from "@/store/modules/perms";
|
|
39
|
+
import w from "crypto-js";
|
|
40
|
+
const It = /* @__PURE__ */ O({
|
|
38
41
|
name: "GvButton",
|
|
39
42
|
// --- pass params between parent-child ---
|
|
40
43
|
props: {
|
|
@@ -42,6 +45,7 @@ const se = /* @__PURE__ */ O({
|
|
|
42
45
|
type: String,
|
|
43
46
|
default: "GvButton",
|
|
44
47
|
request: !1
|
|
48
|
+
//
|
|
45
49
|
}
|
|
46
50
|
},
|
|
47
51
|
// --- register components ---
|
|
@@ -50,268 +54,1196 @@ const se = /* @__PURE__ */ O({
|
|
|
50
54
|
emits: ["click", "submit"],
|
|
51
55
|
setup(e, {
|
|
52
56
|
emit: t,
|
|
53
|
-
slots:
|
|
57
|
+
slots: n
|
|
54
58
|
}) {
|
|
55
|
-
const r =
|
|
56
|
-
var
|
|
57
|
-
return (
|
|
59
|
+
const r = f(() => {
|
|
60
|
+
var l;
|
|
61
|
+
return (l = n.default) == null ? void 0 : l.call(n);
|
|
58
62
|
});
|
|
59
|
-
|
|
60
|
-
console.log("GvButton:" +
|
|
63
|
+
P(() => e.message, (l) => {
|
|
64
|
+
console.log("GvButton:" + l);
|
|
61
65
|
});
|
|
62
|
-
const o = (
|
|
63
|
-
alert("this is a child event"), t("click",
|
|
66
|
+
const o = (l, a) => {
|
|
67
|
+
alert("this is a child event"), t("click", l, a);
|
|
64
68
|
};
|
|
65
|
-
return () =>
|
|
69
|
+
return () => v(ut, {
|
|
66
70
|
class: "gv-button",
|
|
67
|
-
onClick: (
|
|
71
|
+
onClick: (l) => o(l, e.message)
|
|
68
72
|
}, {
|
|
69
73
|
default: () => {
|
|
70
|
-
var
|
|
71
|
-
return [(
|
|
74
|
+
var l;
|
|
75
|
+
return [(l = r.value) != null ? l : e.message];
|
|
72
76
|
}
|
|
73
77
|
});
|
|
74
78
|
}
|
|
75
|
-
}),
|
|
76
|
-
const
|
|
79
|
+
}), D = (e, t) => {
|
|
80
|
+
const n = e.__vccOpts || e;
|
|
77
81
|
for (const [r, o] of t)
|
|
78
|
-
|
|
79
|
-
return
|
|
80
|
-
},
|
|
82
|
+
n[r] = o;
|
|
83
|
+
return n;
|
|
84
|
+
}, fe = /* @__PURE__ */ D(It, [["__scopeId", "data-v-b3b7fd80"]]), Et = {
|
|
81
85
|
install(e) {
|
|
82
86
|
var t;
|
|
83
|
-
e.component((t =
|
|
87
|
+
e.component((t = fe.name) != null ? t : "GvButton", fe);
|
|
84
88
|
}
|
|
85
|
-
},
|
|
89
|
+
}, le = (e) => {
|
|
90
|
+
try {
|
|
91
|
+
return new URL(e), !0;
|
|
92
|
+
} catch (t) {
|
|
93
|
+
return !1;
|
|
94
|
+
}
|
|
95
|
+
}, F = (e, t) => {
|
|
96
|
+
if (le(t)) return t;
|
|
97
|
+
const n = t.startsWith("/") || !t ? t : `/${t}`;
|
|
98
|
+
return `${e}${n}`.replace(/\/\//g, "/").trim();
|
|
99
|
+
}, Nt = (e) => /^(https?:|mailto:|tel:)/.test(e), Le = (e) => Z(null, null, function* () {
|
|
86
100
|
return new Promise((t) => setTimeout(t, e));
|
|
87
|
-
}),
|
|
88
|
-
return
|
|
89
|
-
}) : "",
|
|
90
|
-
|
|
101
|
+
}), mr = (e) => e ? e.replace(/\_(\w)/g, function(t, n) {
|
|
102
|
+
return n.toUpperCase();
|
|
103
|
+
}) : "", vr = (e) => e.replace(/([A-Z])/g, "_$1").toLowerCase(), ze = (e) => typeof e == "object" && e !== null && "message" in e, hr = (e) => {
|
|
104
|
+
if (e && e.key) {
|
|
105
|
+
if (e.key.toLowerCase() === "q" && e.ctrlKey === !0) {
|
|
106
|
+
e.preventDefault(), e.stopPropagation();
|
|
107
|
+
const t = document.body.querySelector(".main-container .ht-container .ht-search__bar>.ht-button.search");
|
|
108
|
+
if (t && t.style.display !== "none") t.click();
|
|
109
|
+
else {
|
|
110
|
+
const n = document.body.querySelector(".main-container .ht-container .ht-edit__bar .ht-button.search");
|
|
111
|
+
n && n.style.display === "" && n.click();
|
|
112
|
+
}
|
|
113
|
+
} else if (e.key.toLowerCase() === "r" && e.ctrlKey === !0) {
|
|
114
|
+
e.preventDefault(), e.stopPropagation();
|
|
115
|
+
const t = document.body.querySelector(".main-container .ht-container .ht-form .ht-search__bar>.ht-button.reset");
|
|
116
|
+
t && t.style.display !== "none" && t.getAttribute("refform") && t.click();
|
|
117
|
+
} else if (e.key.toLowerCase() === "e" && e.ctrlKey === !0) {
|
|
118
|
+
e.preventDefault(), e.stopPropagation();
|
|
119
|
+
const t = document.body.querySelector(".main-container .ht-container .ht-form .ht-search__bar>.ht-button.shrink");
|
|
120
|
+
if (t && t.style.display === "") t.click();
|
|
121
|
+
else {
|
|
122
|
+
const n = document.body.querySelector(".main-container .ht-container .ht-form .ht-search__bar>.ht-button.expand");
|
|
123
|
+
n.style.display === "" && n.click();
|
|
124
|
+
}
|
|
125
|
+
} else if (e.key.toLowerCase() === "s" && e.ctrlKey === !0) {
|
|
126
|
+
e.preventDefault(), e.stopPropagation();
|
|
127
|
+
const t = document.body.querySelector(".main-container .ht-container .ht-drawer__popup .ht-drawer .ht-drawer__footer>.ht-drawer__footer--inner .ht-button.save");
|
|
128
|
+
if (t && t.style.display === "") t.click();
|
|
129
|
+
else {
|
|
130
|
+
const n = document.body.querySelector(".main-container .ht-container .ht-edit__bar .ht-button.save");
|
|
131
|
+
n && n.style.display === "" && n.click();
|
|
132
|
+
}
|
|
133
|
+
} else if (e.key.toLowerCase() === "n" && e.ctrlKey === !0) {
|
|
134
|
+
e.preventDefault(), e.stopPropagation();
|
|
135
|
+
const t = document.body.querySelector(".main-container .ht-container .ht-table__container .ht-table__bar .ht-button.save");
|
|
136
|
+
if (t && t.style.display === "") t.click();
|
|
137
|
+
else {
|
|
138
|
+
const n = document.body.querySelector(".main-container .ht-container .ht-edit__bar .ht-button.save");
|
|
139
|
+
n && n.style.display === "" && n.click();
|
|
140
|
+
}
|
|
141
|
+
} else if (e.key.toLowerCase() === "=" && e.ctrlKey === !0) {
|
|
142
|
+
e.preventDefault(), e.stopPropagation();
|
|
143
|
+
const t = document.body.querySelector(".main-container .ht-container .ht-table__container .ht-table__search .ht-table__search-input > .el-input__inner");
|
|
144
|
+
t && t.focus();
|
|
145
|
+
} else if (e.key === "Escape") {
|
|
146
|
+
e.preventDefault(), e.stopPropagation();
|
|
147
|
+
const t = document.documentElement.querySelector("body>.el-message-box__wrapper");
|
|
148
|
+
if (t && t.style.display !== "none")
|
|
149
|
+
t.querySelector(".el-message-box .el-message-box__btns button").click();
|
|
150
|
+
else {
|
|
151
|
+
const n = document.documentElement.querySelector("body>.ht-dialog");
|
|
152
|
+
if (n && n.style.display !== "none")
|
|
153
|
+
n.querySelector(".el-dialog__header button").click();
|
|
154
|
+
else {
|
|
155
|
+
const r = document.body.querySelectorAll(".main-container .ht-container .ht-dialog__popup .ht-dialog");
|
|
156
|
+
if (r) {
|
|
157
|
+
for (let l = 0; l < r.length; l++)
|
|
158
|
+
if (r[l].style.display !== "none") {
|
|
159
|
+
const a = r[l].querySelector(".el-dialog__header button");
|
|
160
|
+
if (a && a.style.display !== "none") {
|
|
161
|
+
a.click();
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
const o = document.body.querySelector(".main-container .ht-container .ht-drawer__popup .ht-drawer .el-drawer__header button");
|
|
167
|
+
o && o.style.display !== "none" && o.click();
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}, Wt = ["href"], xt = ["xlink:href"], Tt = /* @__PURE__ */ O({
|
|
173
|
+
name: "GvIcon",
|
|
91
174
|
// 定义组件名称
|
|
92
175
|
inheritAttrs: !1,
|
|
93
|
-
__name: "
|
|
176
|
+
__name: "GvIcon",
|
|
94
177
|
props: {
|
|
95
178
|
iconType: { default: "svg" },
|
|
96
|
-
|
|
179
|
+
iconName: {},
|
|
97
180
|
className: { default: "" },
|
|
98
181
|
size: {}
|
|
99
182
|
},
|
|
100
183
|
setup(e) {
|
|
101
|
-
const { variables: t } =
|
|
102
|
-
mask: `url(${o.
|
|
103
|
-
"-webkit-mask": `url(${o.
|
|
184
|
+
const { variables: t } = E(), n = t.namespace, r = rt(), o = e, l = f(() => Nt(o.iconName)), a = f(() => o.iconType === "svg" ? `#${n}-icon-${o.iconName}` : `#${o.iconName}`), s = f(() => o.className ? "svg-icon " + o.className : "svg-icon"), i = f(() => ({
|
|
185
|
+
mask: `url(${o.iconName}) no-repeat 50% 50%`,
|
|
186
|
+
"-webkit-mask": `url(${o.iconName}) no-repeat 50% 50%`
|
|
104
187
|
}));
|
|
105
|
-
return (
|
|
188
|
+
return (c, d) => l.value ? (y(), R("div", V({
|
|
106
189
|
key: 0,
|
|
107
190
|
style: i.value,
|
|
108
191
|
class: "svg-external-icon svg-icon"
|
|
109
|
-
},
|
|
192
|
+
}, u(r)), null, 16)) : c.iconType === "svg" ? (y(), R("svg", V({
|
|
110
193
|
key: 1,
|
|
111
|
-
class:
|
|
194
|
+
class: s.value,
|
|
112
195
|
"aria-hidden": "true"
|
|
113
|
-
},
|
|
114
|
-
|
|
115
|
-
], 16)) : (
|
|
196
|
+
}, u(r)), [
|
|
197
|
+
W("use", { href: a.value }, null, 8, Wt)
|
|
198
|
+
], 16)) : (y(), R("svg", V({
|
|
116
199
|
key: 2,
|
|
117
|
-
class:
|
|
118
|
-
style: { "font-size":
|
|
200
|
+
class: s.value,
|
|
201
|
+
style: { "font-size": c.size + "px" },
|
|
119
202
|
"aria-hidden": "true"
|
|
120
|
-
},
|
|
121
|
-
|
|
203
|
+
}, u(r)), [
|
|
204
|
+
W("use", { "xlink:href": a.value }, null, 8, xt)
|
|
122
205
|
], 16));
|
|
123
206
|
}
|
|
124
|
-
}),
|
|
207
|
+
}), H = /* @__PURE__ */ D(Tt, [["__scopeId", "data-v-0fd7e877"]]), kt = {
|
|
125
208
|
install(e) {
|
|
126
209
|
var t;
|
|
127
|
-
e.component((t =
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
210
|
+
e.component((t = H.name) != null ? t : "GvIcon", H);
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
/*!
|
|
214
|
+
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
|
|
215
|
+
*
|
|
216
|
+
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
217
|
+
* Released under the MIT License.
|
|
218
|
+
*/
|
|
219
|
+
function me(e) {
|
|
220
|
+
return Object.prototype.toString.call(e) === "[object Object]";
|
|
221
|
+
}
|
|
222
|
+
function Mt(e) {
|
|
223
|
+
var t, n;
|
|
224
|
+
return me(e) === !1 ? !1 : (t = e.constructor, t === void 0 ? !0 : (n = t.prototype, !(me(n) === !1 || n.hasOwnProperty("isPrototypeOf") === !1)));
|
|
225
|
+
}
|
|
226
|
+
function Y() {
|
|
227
|
+
return Y = Object.assign ? Object.assign.bind() : function(e) {
|
|
228
|
+
for (var t = 1; t < arguments.length; t++) {
|
|
229
|
+
var n = arguments[t];
|
|
230
|
+
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
|
|
231
|
+
}
|
|
232
|
+
return e;
|
|
233
|
+
}, Y.apply(this, arguments);
|
|
234
|
+
}
|
|
235
|
+
function De(e, t) {
|
|
236
|
+
if (e == null) return {};
|
|
237
|
+
var n = {};
|
|
238
|
+
for (var r in e) if (Object.prototype.hasOwnProperty.call(e, r)) {
|
|
239
|
+
if (t.indexOf(r) >= 0) continue;
|
|
240
|
+
n[r] = e[r];
|
|
241
|
+
}
|
|
242
|
+
return n;
|
|
243
|
+
}
|
|
244
|
+
const $ = { silent: !1, logLevel: "warn" }, Lt = ["validator"], Ye = Object.prototype, Pe = Ye.toString, zt = Ye.hasOwnProperty, Ce = /^\s*function (\w+)/;
|
|
245
|
+
function ve(e) {
|
|
246
|
+
var t;
|
|
247
|
+
const n = (t = e == null ? void 0 : e.type) !== null && t !== void 0 ? t : e;
|
|
248
|
+
if (n) {
|
|
249
|
+
const r = n.toString().match(Ce);
|
|
250
|
+
return r ? r[1] : "";
|
|
251
|
+
}
|
|
252
|
+
return "";
|
|
253
|
+
}
|
|
254
|
+
const x = Mt;
|
|
255
|
+
function Ue() {
|
|
256
|
+
}
|
|
257
|
+
let h = Ue;
|
|
258
|
+
process.env.NODE_ENV !== "production" && (h = typeof console != "undefined" ? function(t, n = $.logLevel) {
|
|
259
|
+
$.silent === !1 && console[n](`[VueTypes warn]: ${t}`);
|
|
260
|
+
} : Ue);
|
|
261
|
+
const M = (e, t) => zt.call(e, t), Dt = Number.isInteger || function(e) {
|
|
262
|
+
return typeof e == "number" && isFinite(e) && Math.floor(e) === e;
|
|
263
|
+
}, L = Array.isArray || function(e) {
|
|
264
|
+
return Pe.call(e) === "[object Array]";
|
|
265
|
+
}, z = (e) => Pe.call(e) === "[object Function]", Q = (e, t) => x(e) && M(e, "_vueTypes_name") && (!t || e._vueTypes_name === t), Je = (e) => x(e) && (M(e, "type") || ["_vueTypes_name", "validator", "default", "required"].some((t) => M(e, t)));
|
|
266
|
+
function ae(e, t) {
|
|
267
|
+
return Object.defineProperty(e.bind(t), "__original", { value: e });
|
|
268
|
+
}
|
|
269
|
+
function T(e, t, n = !1) {
|
|
270
|
+
let r, o = !0, l = "";
|
|
271
|
+
r = x(e) ? e : { type: e };
|
|
272
|
+
const a = Q(r) ? r._vueTypes_name + " - " : "";
|
|
273
|
+
if (Je(r) && r.type !== null) {
|
|
274
|
+
if (r.type === void 0 || r.type === !0 || !r.required && t == null) return o;
|
|
275
|
+
L(r.type) ? (o = r.type.some((s) => T(s, t, !0) === !0), l = r.type.map((s) => ve(s)).join(" or ")) : (l = ve(r), o = l === "Array" ? L(t) : l === "Object" ? x(t) : l === "String" || l === "Number" || l === "Boolean" || l === "Function" ? function(s) {
|
|
276
|
+
if (s == null) return "";
|
|
277
|
+
const i = s.constructor.toString().match(Ce);
|
|
278
|
+
return i ? i[1].replace(/^Async/, "") : "";
|
|
279
|
+
}(t) === l : t instanceof r.type);
|
|
280
|
+
}
|
|
281
|
+
if (!o) {
|
|
282
|
+
const s = `${a}value "${t}" should be of type "${l}"`;
|
|
283
|
+
return n === !1 ? (h(s), !1) : s;
|
|
284
|
+
}
|
|
285
|
+
if (M(r, "validator") && z(r.validator)) {
|
|
286
|
+
const s = h, i = [];
|
|
287
|
+
if (h = (c) => {
|
|
288
|
+
i.push(c);
|
|
289
|
+
}, o = r.validator(t), h = s, !o) {
|
|
290
|
+
const c = (i.length > 1 ? "* " : "") + i.join(`
|
|
291
|
+
* `);
|
|
292
|
+
return i.length = 0, n === !1 ? (h(c), o) : c;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return o;
|
|
296
|
+
}
|
|
297
|
+
function b(e, t) {
|
|
298
|
+
const n = Object.defineProperties(t, { _vueTypes_name: { value: e, writable: !0 }, isRequired: { get() {
|
|
299
|
+
return this.required = !0, this;
|
|
300
|
+
} }, def: { value(o) {
|
|
301
|
+
return o === void 0 ? this.type === Boolean || Array.isArray(this.type) && this.type.includes(Boolean) ? void (this.default = void 0) : (M(this, "default") && delete this.default, this) : z(o) || T(this, o, !0) === !0 ? (this.default = L(o) ? () => [...o] : x(o) ? () => Object.assign({}, o) : o, this) : (h(`${this._vueTypes_name} - invalid default value: "${o}"`), this);
|
|
302
|
+
} } }), { validator: r } = n;
|
|
303
|
+
return z(r) && (n.validator = ae(r, n)), n;
|
|
304
|
+
}
|
|
305
|
+
function G(e, t) {
|
|
306
|
+
const n = b(e, t);
|
|
307
|
+
return Object.defineProperty(n, "validate", { value(r) {
|
|
308
|
+
return z(this.validator) && h(`${this._vueTypes_name} - calling .validate() will overwrite the current custom validator function. Validator info:
|
|
309
|
+
${JSON.stringify(this)}`), this.validator = ae(r, this), this;
|
|
310
|
+
} });
|
|
311
|
+
}
|
|
312
|
+
function he(e, t, n) {
|
|
313
|
+
const r = function(i) {
|
|
314
|
+
const c = {};
|
|
315
|
+
return Object.getOwnPropertyNames(i).forEach((d) => {
|
|
316
|
+
c[d] = Object.getOwnPropertyDescriptor(i, d);
|
|
317
|
+
}), Object.defineProperties({}, c);
|
|
318
|
+
}(t);
|
|
319
|
+
if (r._vueTypes_name = e, !x(n)) return r;
|
|
320
|
+
const { validator: o } = n, l = De(n, Lt);
|
|
321
|
+
if (z(o)) {
|
|
322
|
+
let { validator: i } = r;
|
|
323
|
+
i && (i = (s = (a = i).__original) !== null && s !== void 0 ? s : a), r.validator = ae(i ? function(c) {
|
|
324
|
+
return i.call(this, c) && o.call(this, c);
|
|
325
|
+
} : o, r);
|
|
326
|
+
}
|
|
327
|
+
var a, s;
|
|
328
|
+
return Object.assign(r, l);
|
|
329
|
+
}
|
|
330
|
+
function X(e) {
|
|
331
|
+
return e.replace(/^(?!\s*$)/gm, " ");
|
|
332
|
+
}
|
|
333
|
+
const Yt = () => G("any", {}), Pt = () => G("function", { type: Function }), ye = () => G("boolean", { type: Boolean }), Ct = () => G("string", { type: String }), Ut = () => G("number", { type: Number }), Jt = () => G("array", { type: Array }), Bt = () => G("object", { type: Object }), Ft = () => b("integer", { type: Number, validator(e) {
|
|
334
|
+
const t = Dt(e);
|
|
335
|
+
return t === !1 && h(`integer - "${e}" is not an integer`), t;
|
|
336
|
+
} }), Ht = () => b("symbol", { validator(e) {
|
|
337
|
+
const t = typeof e == "symbol";
|
|
338
|
+
return t === !1 && h(`symbol - invalid value "${e}"`), t;
|
|
339
|
+
} }), Qt = () => Object.defineProperty({ type: null, validator(e) {
|
|
340
|
+
const t = e === null;
|
|
341
|
+
return t === !1 && h("nullable - value should be null"), t;
|
|
342
|
+
} }, "_vueTypes_name", { value: "nullable" });
|
|
343
|
+
function At(e, t = "custom validation failed") {
|
|
344
|
+
if (typeof e != "function") throw new TypeError("[VueTypes error]: You must provide a function as argument");
|
|
345
|
+
return b(e.name || "<<anonymous function>>", { type: null, validator(n) {
|
|
346
|
+
const r = e(n);
|
|
347
|
+
return r || h(`${this._vueTypes_name} - ${t}`), r;
|
|
348
|
+
} });
|
|
349
|
+
}
|
|
350
|
+
function Xt(e) {
|
|
351
|
+
if (!L(e)) throw new TypeError("[VueTypes error]: You must provide an array as argument.");
|
|
352
|
+
const t = `oneOf - value should be one of "${e.map((r) => typeof r == "symbol" ? r.toString() : r).join('", "')}".`, n = { validator(r) {
|
|
353
|
+
const o = e.indexOf(r) !== -1;
|
|
354
|
+
return o || h(t), o;
|
|
355
|
+
} };
|
|
356
|
+
if (e.indexOf(null) === -1) {
|
|
357
|
+
const r = e.reduce((o, l) => {
|
|
358
|
+
if (l != null) {
|
|
359
|
+
const a = l.constructor;
|
|
360
|
+
o.indexOf(a) === -1 && o.push(a);
|
|
361
|
+
}
|
|
362
|
+
return o;
|
|
363
|
+
}, []);
|
|
364
|
+
r.length > 0 && (n.type = r);
|
|
365
|
+
}
|
|
366
|
+
return b("oneOf", n);
|
|
367
|
+
}
|
|
368
|
+
function qt(e) {
|
|
369
|
+
if (!L(e)) throw new TypeError("[VueTypes error]: You must provide an array as argument");
|
|
370
|
+
let t = !1, n = !1, r = [];
|
|
371
|
+
for (let l = 0; l < e.length; l += 1) {
|
|
372
|
+
const a = e[l];
|
|
373
|
+
if (Je(a)) {
|
|
374
|
+
if (z(a.validator) && (t = !0), Q(a, "oneOf") && a.type) {
|
|
375
|
+
r = r.concat(a.type);
|
|
376
|
+
continue;
|
|
377
|
+
}
|
|
378
|
+
if (Q(a, "nullable")) {
|
|
379
|
+
n = !0;
|
|
380
|
+
continue;
|
|
381
|
+
}
|
|
382
|
+
if (a.type === !0 || !a.type) {
|
|
383
|
+
h('oneOfType - invalid usage of "true" and "null" as types.');
|
|
384
|
+
continue;
|
|
385
|
+
}
|
|
386
|
+
r = r.concat(a.type);
|
|
387
|
+
} else r.push(a);
|
|
388
|
+
}
|
|
389
|
+
r = r.filter((l, a) => r.indexOf(l) === a);
|
|
390
|
+
const o = n === !1 && r.length > 0 ? r : null;
|
|
391
|
+
return b("oneOfType", t ? { type: o, validator(l) {
|
|
392
|
+
const a = [], s = e.some((i) => {
|
|
393
|
+
const c = T(i, l, !0);
|
|
394
|
+
return typeof c == "string" && a.push(c), c === !0;
|
|
395
|
+
});
|
|
396
|
+
return s || h(`oneOfType - provided value does not match any of the ${a.length} passed-in validators:
|
|
397
|
+
${X(a.join(`
|
|
398
|
+
`))}`), s;
|
|
399
|
+
} } : { type: o });
|
|
400
|
+
}
|
|
401
|
+
function Vt(e) {
|
|
402
|
+
return b("arrayOf", { type: Array, validator(t) {
|
|
403
|
+
let n = "";
|
|
404
|
+
const r = t.every((o) => (n = T(e, o, !0), n === !0));
|
|
405
|
+
return r || h(`arrayOf - value validation error:
|
|
406
|
+
${X(n)}`), r;
|
|
407
|
+
} });
|
|
408
|
+
}
|
|
409
|
+
function Kt(e) {
|
|
410
|
+
return b("instanceOf", { type: e });
|
|
411
|
+
}
|
|
412
|
+
function _t(e) {
|
|
413
|
+
return b("objectOf", { type: Object, validator(t) {
|
|
414
|
+
let n = "";
|
|
415
|
+
const r = Object.keys(t).every((o) => (n = T(e, t[o], !0), n === !0));
|
|
416
|
+
return r || h(`objectOf - value validation error:
|
|
417
|
+
${X(n)}`), r;
|
|
418
|
+
} });
|
|
419
|
+
}
|
|
420
|
+
function $t(e) {
|
|
421
|
+
const t = Object.keys(e), n = t.filter((o) => {
|
|
422
|
+
var l;
|
|
423
|
+
return !((l = e[o]) === null || l === void 0 || !l.required);
|
|
424
|
+
}), r = b("shape", { type: Object, validator(o) {
|
|
425
|
+
if (!x(o)) return !1;
|
|
426
|
+
const l = Object.keys(o);
|
|
427
|
+
if (n.length > 0 && n.some((a) => l.indexOf(a) === -1)) {
|
|
428
|
+
const a = n.filter((s) => l.indexOf(s) === -1);
|
|
429
|
+
return h(a.length === 1 ? `shape - required property "${a[0]}" is not defined.` : `shape - required properties "${a.join('", "')}" are not defined.`), !1;
|
|
430
|
+
}
|
|
431
|
+
return l.every((a) => {
|
|
432
|
+
if (t.indexOf(a) === -1) return this._vueTypes_isLoose === !0 || (h(`shape - shape definition does not include a "${a}" property. Allowed keys: "${t.join('", "')}".`), !1);
|
|
433
|
+
const s = T(e[a], o[a], !0);
|
|
434
|
+
return typeof s == "string" && h(`shape - "${a}" property validation error:
|
|
435
|
+
${X(s)}`), s === !0;
|
|
436
|
+
});
|
|
437
|
+
} });
|
|
438
|
+
return Object.defineProperty(r, "_vueTypes_isLoose", { writable: !0, value: !1 }), Object.defineProperty(r, "loose", { get() {
|
|
439
|
+
return this._vueTypes_isLoose = !0, this;
|
|
440
|
+
} }), r;
|
|
441
|
+
}
|
|
442
|
+
const en = ["name", "validate", "getter"], tn = /* @__PURE__ */ ((e) => ((e = class {
|
|
443
|
+
static get any() {
|
|
444
|
+
return Yt();
|
|
445
|
+
}
|
|
446
|
+
static get func() {
|
|
447
|
+
return Pt().def(this.defaults.func);
|
|
448
|
+
}
|
|
449
|
+
static get bool() {
|
|
450
|
+
return this.defaults.bool === void 0 ? ye() : ye().def(this.defaults.bool);
|
|
451
|
+
}
|
|
452
|
+
static get string() {
|
|
453
|
+
return Ct().def(this.defaults.string);
|
|
454
|
+
}
|
|
455
|
+
static get number() {
|
|
456
|
+
return Ut().def(this.defaults.number);
|
|
457
|
+
}
|
|
458
|
+
static get array() {
|
|
459
|
+
return Jt().def(this.defaults.array);
|
|
460
|
+
}
|
|
461
|
+
static get object() {
|
|
462
|
+
return Bt().def(this.defaults.object);
|
|
463
|
+
}
|
|
464
|
+
static get integer() {
|
|
465
|
+
return Ft().def(this.defaults.integer);
|
|
466
|
+
}
|
|
467
|
+
static get symbol() {
|
|
468
|
+
return Ht();
|
|
469
|
+
}
|
|
470
|
+
static get nullable() {
|
|
471
|
+
return Qt();
|
|
472
|
+
}
|
|
473
|
+
static extend(t) {
|
|
474
|
+
if (h("VueTypes.extend is deprecated. Use the ES6+ method instead. See https://dwightjack.github.io/vue-types/advanced/extending-vue-types.html#extending-namespaced-validators-in-es6 for details."), L(t)) return t.forEach((i) => this.extend(i)), this;
|
|
475
|
+
const { name: n, validate: r = !1, getter: o = !1 } = t, l = De(t, en);
|
|
476
|
+
if (M(this, n)) throw new TypeError(`[VueTypes error]: Type "${n}" already defined`);
|
|
477
|
+
const { type: a } = l;
|
|
478
|
+
if (Q(a)) return delete l.type, Object.defineProperty(this, n, o ? { get: () => he(n, a, l) } : { value(...i) {
|
|
479
|
+
const c = he(n, a, l);
|
|
480
|
+
return c.validator && (c.validator = c.validator.bind(c, ...i)), c;
|
|
481
|
+
} });
|
|
482
|
+
let s;
|
|
483
|
+
return s = o ? { get() {
|
|
484
|
+
const i = Object.assign({}, l);
|
|
485
|
+
return r ? G(n, i) : b(n, i);
|
|
486
|
+
}, enumerable: !0 } : { value(...i) {
|
|
487
|
+
const c = Object.assign({}, l);
|
|
488
|
+
let d;
|
|
489
|
+
return d = r ? G(n, c) : b(n, c), c.validator && (d.validator = c.validator.bind(d, ...i)), d;
|
|
490
|
+
}, enumerable: !0 }, Object.defineProperty(this, n, s);
|
|
491
|
+
}
|
|
492
|
+
}).defaults = {}, e.sensibleDefaults = void 0, e.config = $, e.custom = At, e.oneOf = Xt, e.instanceOf = Kt, e.oneOfType = qt, e.arrayOf = Vt, e.objectOf = _t, e.shape = $t, e.utils = { validate: (t, n) => T(n, t, !0) === !0, toType: (t, n, r = !1) => r ? G(t, n) : b(t, n) }, e))();
|
|
493
|
+
function Be(e = { func: () => {
|
|
494
|
+
}, bool: !0, string: "", number: 0, array: () => [], object: () => ({}), integer: 0 }) {
|
|
495
|
+
var t;
|
|
496
|
+
return (t = class extends tn {
|
|
497
|
+
static get sensibleDefaults() {
|
|
498
|
+
return Y({}, this.defaults);
|
|
499
|
+
}
|
|
500
|
+
static set sensibleDefaults(n) {
|
|
501
|
+
this.defaults = n !== !1 ? Y({}, n !== !0 ? n : e) : {};
|
|
502
|
+
}
|
|
503
|
+
}).defaults = Y({}, e), t;
|
|
504
|
+
}
|
|
505
|
+
class yr extends Be() {
|
|
506
|
+
}
|
|
507
|
+
const nn = Be({
|
|
508
|
+
func: void 0,
|
|
509
|
+
bool: void 0,
|
|
510
|
+
string: void 0,
|
|
511
|
+
number: void 0,
|
|
512
|
+
object: void 0,
|
|
513
|
+
integer: void 0
|
|
514
|
+
});
|
|
515
|
+
class se extends nn {
|
|
516
|
+
static get style() {
|
|
517
|
+
return G("style", {
|
|
518
|
+
type: [String, Object]
|
|
519
|
+
});
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
const be = /* @__PURE__ */ O({
|
|
523
|
+
name: "GvLangSelect",
|
|
524
|
+
// 定义组件名称
|
|
525
|
+
inheritAttrs: !0,
|
|
526
|
+
__name: "GvLangSelect",
|
|
527
|
+
props: {
|
|
528
|
+
className: se.string.def("")
|
|
529
|
+
},
|
|
530
|
+
setup(e) {
|
|
531
|
+
const { getPrefixCls: t } = E(), n = t("lang-select"), r = wt(), o = f(() => r.getLocaleMap), l = f(() => r.getCurrentLocale), a = oe(), s = (i) => Z(null, null, function* () {
|
|
532
|
+
if (i === u(l).lang) return;
|
|
533
|
+
const { switchLocale: c } = Rt();
|
|
534
|
+
yield c(i), a.go(0);
|
|
535
|
+
});
|
|
536
|
+
return (i, c) => {
|
|
537
|
+
const d = te("GvIcon");
|
|
538
|
+
return y(), C(u(dt), {
|
|
539
|
+
class: I([u(n), "international"]),
|
|
540
|
+
trigger: "click",
|
|
541
|
+
onCommand: s
|
|
542
|
+
}, {
|
|
543
|
+
dropdown: k(() => [
|
|
544
|
+
v(u(pt), null, {
|
|
545
|
+
default: k(() => [
|
|
546
|
+
(y(!0), R(ne, null, ot(o.value, (S) => (y(), C(u(ft), {
|
|
547
|
+
key: S.lang,
|
|
548
|
+
command: S.lang
|
|
549
|
+
}, {
|
|
550
|
+
default: k(() => [
|
|
551
|
+
Ee(Ne(S.name), 1)
|
|
552
|
+
]),
|
|
553
|
+
_: 2
|
|
554
|
+
}, 1032, ["command"]))), 128))
|
|
555
|
+
]),
|
|
556
|
+
_: 1
|
|
557
|
+
})
|
|
558
|
+
]),
|
|
559
|
+
default: k(() => [
|
|
560
|
+
W("div", null, [
|
|
561
|
+
v(d, {
|
|
562
|
+
"class-name": `international-icon ${e.className}`,
|
|
563
|
+
"icon-name": "language"
|
|
564
|
+
}, null, 8, ["class-name"])
|
|
565
|
+
])
|
|
566
|
+
]),
|
|
567
|
+
_: 1
|
|
568
|
+
}, 8, ["class"]);
|
|
569
|
+
};
|
|
570
|
+
}
|
|
571
|
+
}), rn = {
|
|
572
|
+
install(e) {
|
|
573
|
+
var t;
|
|
574
|
+
e.component((t = be.name) != null ? t : "GvLangSelect", be);
|
|
575
|
+
}
|
|
576
|
+
}, ge = /* @__PURE__ */ O({
|
|
577
|
+
name: "GvBacktop",
|
|
578
|
+
// 定义组件名称
|
|
579
|
+
inheritAttrs: !0,
|
|
580
|
+
__name: "GvBacktop",
|
|
581
|
+
setup(e) {
|
|
582
|
+
const { getPrefixCls: t, variables: n } = E(), r = t("backtop");
|
|
583
|
+
return (o, l) => (y(), C(u(mt), {
|
|
584
|
+
class: I(u(r)),
|
|
585
|
+
target: `.${u(n).namespace}-layout-content-scrollbar .${u(n).elNamespace}-scrollbar__wrap`
|
|
586
|
+
}, null, 8, ["class", "target"]));
|
|
587
|
+
}
|
|
588
|
+
}), on = {
|
|
589
|
+
install(e) {
|
|
590
|
+
var t;
|
|
591
|
+
e.component((t = ge.name) != null ? t : "GvBacktop", ge);
|
|
592
|
+
}
|
|
593
|
+
}, Fe = (e, t = "") => {
|
|
594
|
+
var r;
|
|
595
|
+
const n = [];
|
|
596
|
+
for (const o of e) {
|
|
597
|
+
const l = o == null ? void 0 : o.meta;
|
|
598
|
+
if (l != null && l.hidden && !l.canTo) continue;
|
|
599
|
+
const a = !(l != null && l.alwaysShow) && ((r = o.children) == null ? void 0 : r.length) === 1 ? U(N({}, o.children[0]), { path: F(o.path, o.children[0].path) }) : N({}, o);
|
|
600
|
+
a.path = F(t, a.path), a.children && (a.children = Fe(a.children, a.path)), a && n.push(a);
|
|
601
|
+
}
|
|
602
|
+
return n;
|
|
603
|
+
}, ln = {
|
|
604
|
+
id: "id",
|
|
605
|
+
children: "children",
|
|
606
|
+
pid: "pid"
|
|
607
|
+
}, He = (e) => Object.assign({}, ln, e), an = (e, t = {}) => {
|
|
608
|
+
t = He(t);
|
|
609
|
+
const { children: n } = t, r = [...e];
|
|
610
|
+
for (let o = 0; o < r.length; o++)
|
|
611
|
+
r[o][n] && r.splice(o + 1, 0, ...r[o][n]);
|
|
612
|
+
return r;
|
|
613
|
+
}, sn = (e, t, n = {}) => {
|
|
614
|
+
n = He(n);
|
|
615
|
+
const r = n.children;
|
|
616
|
+
function o(l) {
|
|
617
|
+
return l.map((a) => N({}, a)).filter((a) => (a[r] = a[r] && o(a[r]), t(a) || a[r] && a[r].length));
|
|
618
|
+
}
|
|
619
|
+
return o(e);
|
|
620
|
+
};
|
|
621
|
+
function cn(e) {
|
|
622
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !We(e);
|
|
623
|
+
}
|
|
624
|
+
const {
|
|
625
|
+
getPrefixCls: un
|
|
626
|
+
} = E(), dn = un("breadcrumb"), pn = /* @__PURE__ */ O({
|
|
627
|
+
name: "GvBreadcrumb",
|
|
628
|
+
setup() {
|
|
629
|
+
const e = A(), t = Me(), n = f(() => e.getShowBreadcrumbIcon), {
|
|
630
|
+
currentRoute: r
|
|
631
|
+
} = oe(), {
|
|
632
|
+
t: o
|
|
633
|
+
} = ke(), l = re([]), a = f(() => {
|
|
634
|
+
const c = t.getRouters;
|
|
635
|
+
return Fe(c);
|
|
636
|
+
}), s = () => {
|
|
637
|
+
const c = r.value.matched.slice(-1)[0].path;
|
|
638
|
+
l.value = sn(u(a), (d) => d.path === c);
|
|
639
|
+
}, i = () => an(u(l)).map((d) => {
|
|
640
|
+
const S = !d.redirect || d.redirect === "noredirect", g = d.meta;
|
|
641
|
+
return v(ht, {
|
|
642
|
+
to: {
|
|
643
|
+
path: S ? "" : d.path
|
|
644
|
+
},
|
|
645
|
+
key: d.name
|
|
646
|
+
}, {
|
|
647
|
+
default: () => {
|
|
648
|
+
var j, m;
|
|
649
|
+
return [g != null && g.icon && n.value ? v(ne, null, [v(H, {
|
|
650
|
+
iconName: g.icon,
|
|
651
|
+
className: "mr-[5px]"
|
|
652
|
+
}, null), " ", o(((j = d == null ? void 0 : d.meta) == null ? void 0 : j.title) || "")]) : o(((m = d == null ? void 0 : d.meta) == null ? void 0 : m.title) || "")];
|
|
653
|
+
}
|
|
157
654
|
});
|
|
158
655
|
});
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
656
|
+
return P(() => r.value, (c) => {
|
|
657
|
+
c.path.startsWith("/redirect/") || s();
|
|
658
|
+
}, {
|
|
659
|
+
immediate: !0
|
|
660
|
+
}), () => {
|
|
661
|
+
let c;
|
|
662
|
+
return v(vt, {
|
|
663
|
+
separator: "/",
|
|
664
|
+
class: `${dn} flex items-center h-full ml-[10px]`
|
|
665
|
+
}, {
|
|
666
|
+
default: () => [v(lt, {
|
|
667
|
+
appear: !0,
|
|
668
|
+
"enter-active-class": "animate__animated animate__fadeInRight"
|
|
669
|
+
}, cn(c = i()) ? c : {
|
|
670
|
+
default: () => [c]
|
|
671
|
+
})]
|
|
672
|
+
});
|
|
673
|
+
};
|
|
674
|
+
}
|
|
675
|
+
}), Se = /* @__PURE__ */ D(pn, [["__scopeId", "data-v-4c06779c"]]), fn = {
|
|
676
|
+
install(e) {
|
|
677
|
+
var t;
|
|
678
|
+
e.component((t = Se.name) != null ? t : "GvBreadCrumb", Se);
|
|
679
|
+
}
|
|
680
|
+
};
|
|
681
|
+
/*! Element Plus Icons Vue v2.3.1 */
|
|
682
|
+
var mn = /* @__PURE__ */ O({
|
|
683
|
+
name: "Expand",
|
|
684
|
+
__name: "expand",
|
|
685
|
+
setup(e) {
|
|
686
|
+
return (t, n) => (y(), R("svg", {
|
|
687
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
688
|
+
viewBox: "0 0 1024 1024"
|
|
689
|
+
}, [
|
|
690
|
+
W("path", {
|
|
691
|
+
fill: "currentColor",
|
|
692
|
+
d: "M128 192h768v128H128zm0 256h512v128H128zm0 256h768v128H128zm576-352 192 160-192 128z"
|
|
693
|
+
})
|
|
694
|
+
]));
|
|
695
|
+
}
|
|
696
|
+
}), vn = mn, hn = /* @__PURE__ */ O({
|
|
697
|
+
name: "Fold",
|
|
698
|
+
__name: "fold",
|
|
699
|
+
setup(e) {
|
|
700
|
+
return (t, n) => (y(), R("svg", {
|
|
701
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
702
|
+
viewBox: "0 0 1024 1024"
|
|
703
|
+
}, [
|
|
704
|
+
W("path", {
|
|
705
|
+
fill: "currentColor",
|
|
706
|
+
d: "M896 192H128v128h768zm0 256H384v128h512zm0 256H128v128h768zM320 384 128 512l192 128z"
|
|
707
|
+
})
|
|
708
|
+
]));
|
|
709
|
+
}
|
|
710
|
+
}), yn = hn;
|
|
711
|
+
const bn = { class: "trigger" }, gn = /* @__PURE__ */ O({
|
|
712
|
+
name: "GvHamburger",
|
|
713
|
+
// 定义组件名称
|
|
714
|
+
inheritAttrs: !0,
|
|
715
|
+
__name: "GvHamburger",
|
|
716
|
+
props: {
|
|
717
|
+
color: se.string.def("")
|
|
718
|
+
},
|
|
719
|
+
setup(e) {
|
|
720
|
+
const { getPrefixCls: t } = E(), n = t("hamburger"), r = A(), o = f(() => r.getCollapseMenus), l = () => {
|
|
721
|
+
const a = u(o);
|
|
722
|
+
r.setCollapseMenus(!a);
|
|
723
|
+
};
|
|
724
|
+
return (a, s) => (y(), R("div", {
|
|
725
|
+
class: I(u(n)),
|
|
726
|
+
onClick: l
|
|
727
|
+
}, [
|
|
728
|
+
W("div", bn, [
|
|
729
|
+
v(u(yt), {
|
|
730
|
+
size: 20,
|
|
731
|
+
class: I(`${u(n)}__icon`)
|
|
732
|
+
}, {
|
|
733
|
+
default: k(() => [
|
|
734
|
+
o.value ? (y(), C(u(yn), {
|
|
735
|
+
key: 1,
|
|
736
|
+
class: I(`${u(n)}__icon`),
|
|
737
|
+
style: pe({ color: e.color })
|
|
738
|
+
}, null, 8, ["class", "style"])) : (y(), C(u(vn), {
|
|
739
|
+
key: 0,
|
|
740
|
+
class: I(`${u(n)}__icon`),
|
|
741
|
+
style: pe({ color: e.color })
|
|
742
|
+
}, null, 8, ["class", "style"]))
|
|
743
|
+
]),
|
|
744
|
+
_: 1
|
|
745
|
+
}, 8, ["class"])
|
|
746
|
+
])
|
|
747
|
+
], 2));
|
|
748
|
+
}
|
|
749
|
+
}), je = /* @__PURE__ */ D(gn, [["__scopeId", "data-v-335923db"]]), Sn = {
|
|
750
|
+
install(e) {
|
|
751
|
+
var t;
|
|
752
|
+
e.component((t = je.name) != null ? t : "GvHamburger", je);
|
|
753
|
+
}
|
|
754
|
+
};
|
|
755
|
+
function Qe(e) {
|
|
756
|
+
return at() ? (st(e), !0) : !1;
|
|
757
|
+
}
|
|
758
|
+
const Ae = typeof window != "undefined" && typeof document != "undefined";
|
|
759
|
+
typeof WorkerGlobalScope != "undefined" && globalThis instanceof WorkerGlobalScope;
|
|
760
|
+
const jn = Object.prototype.toString, Gn = (e) => jn.call(e) === "[object Object]";
|
|
761
|
+
function K(e) {
|
|
762
|
+
return Array.isArray(e) ? e : [e];
|
|
763
|
+
}
|
|
764
|
+
function On(e, t, n) {
|
|
765
|
+
return P(
|
|
766
|
+
e,
|
|
767
|
+
t,
|
|
768
|
+
U(N({}, n), {
|
|
769
|
+
immediate: !0
|
|
770
|
+
})
|
|
771
|
+
);
|
|
772
|
+
}
|
|
773
|
+
const Zn = Ae ? window : void 0, wn = Ae ? window.document : void 0;
|
|
774
|
+
function ee(e) {
|
|
775
|
+
var t;
|
|
776
|
+
const n = B(e);
|
|
777
|
+
return (t = n == null ? void 0 : n.$el) != null ? t : n;
|
|
778
|
+
}
|
|
779
|
+
function Ge(...e) {
|
|
780
|
+
const t = [], n = () => {
|
|
781
|
+
t.forEach((s) => s()), t.length = 0;
|
|
782
|
+
}, r = (s, i, c, d) => (s.addEventListener(i, c, d), () => s.removeEventListener(i, c, d)), o = f(() => {
|
|
783
|
+
const s = K(B(e[0])).filter((i) => i != null);
|
|
784
|
+
return s.every((i) => typeof i != "string") ? s : void 0;
|
|
785
|
+
}), l = On(
|
|
786
|
+
() => {
|
|
787
|
+
var s, i;
|
|
788
|
+
return [
|
|
789
|
+
(i = (s = o.value) == null ? void 0 : s.map((c) => ee(c))) != null ? i : [Zn].filter((c) => c != null),
|
|
790
|
+
K(B(o.value ? e[1] : e[0])),
|
|
791
|
+
K(u(o.value ? e[2] : e[1])),
|
|
792
|
+
// @ts-expect-error - TypeScript gets the correct types, but somehow still complains
|
|
793
|
+
B(o.value ? e[3] : e[2])
|
|
794
|
+
];
|
|
795
|
+
},
|
|
796
|
+
([s, i, c, d]) => {
|
|
797
|
+
if (n(), !(s != null && s.length) || !(i != null && i.length) || !(c != null && c.length))
|
|
798
|
+
return;
|
|
799
|
+
const S = Gn(d) ? N({}, d) : d;
|
|
800
|
+
t.push(
|
|
801
|
+
...s.flatMap(
|
|
802
|
+
(g) => i.flatMap(
|
|
803
|
+
(j) => c.map((m) => r(g, j, m, S))
|
|
804
|
+
)
|
|
805
|
+
)
|
|
806
|
+
);
|
|
807
|
+
},
|
|
808
|
+
{ flush: "post" }
|
|
809
|
+
), a = () => {
|
|
810
|
+
l(), n();
|
|
811
|
+
};
|
|
812
|
+
return Qe(n), a;
|
|
813
|
+
}
|
|
814
|
+
function Rn() {
|
|
815
|
+
const e = xe(!1), t = it();
|
|
816
|
+
return t && Te(() => {
|
|
817
|
+
e.value = !0;
|
|
818
|
+
}, t), e;
|
|
819
|
+
}
|
|
820
|
+
function In(e) {
|
|
821
|
+
const t = Rn();
|
|
822
|
+
return f(() => (t.value, !!e()));
|
|
823
|
+
}
|
|
824
|
+
const Oe = [
|
|
825
|
+
"fullscreenchange",
|
|
826
|
+
"webkitfullscreenchange",
|
|
827
|
+
"webkitendfullscreen",
|
|
828
|
+
"mozfullscreenchange",
|
|
829
|
+
"MSFullscreenChange"
|
|
830
|
+
];
|
|
831
|
+
function En(e, t = {}) {
|
|
832
|
+
const {
|
|
833
|
+
document: n = wn,
|
|
834
|
+
autoExit: r = !1
|
|
835
|
+
} = t, o = f(() => {
|
|
836
|
+
var p;
|
|
837
|
+
return (p = ee(e)) != null ? p : n == null ? void 0 : n.documentElement;
|
|
838
|
+
}), l = xe(!1), a = f(() => [
|
|
839
|
+
"requestFullscreen",
|
|
840
|
+
"webkitRequestFullscreen",
|
|
841
|
+
"webkitEnterFullscreen",
|
|
842
|
+
"webkitEnterFullScreen",
|
|
843
|
+
"webkitRequestFullScreen",
|
|
844
|
+
"mozRequestFullScreen",
|
|
845
|
+
"msRequestFullscreen"
|
|
846
|
+
].find((p) => n && p in n || o.value && p in o.value)), s = f(() => [
|
|
847
|
+
"exitFullscreen",
|
|
848
|
+
"webkitExitFullscreen",
|
|
849
|
+
"webkitExitFullScreen",
|
|
850
|
+
"webkitCancelFullScreen",
|
|
851
|
+
"mozCancelFullScreen",
|
|
852
|
+
"msExitFullscreen"
|
|
853
|
+
].find((p) => n && p in n || o.value && p in o.value)), i = f(() => [
|
|
854
|
+
"fullScreen",
|
|
855
|
+
"webkitIsFullScreen",
|
|
856
|
+
"webkitDisplayingFullscreen",
|
|
857
|
+
"mozFullScreen",
|
|
858
|
+
"msFullscreenElement"
|
|
859
|
+
].find((p) => n && p in n || o.value && p in o.value)), c = [
|
|
860
|
+
"fullscreenElement",
|
|
861
|
+
"webkitFullscreenElement",
|
|
862
|
+
"mozFullScreenElement",
|
|
863
|
+
"msFullscreenElement"
|
|
864
|
+
].find((p) => n && p in n), d = In(() => o.value && n && a.value !== void 0 && s.value !== void 0 && i.value !== void 0), S = () => c ? (n == null ? void 0 : n[c]) === o.value : !1, g = () => {
|
|
865
|
+
if (i.value) {
|
|
866
|
+
if (n && n[i.value] != null)
|
|
867
|
+
return n[i.value];
|
|
868
|
+
{
|
|
869
|
+
const p = o.value;
|
|
870
|
+
if ((p == null ? void 0 : p[i.value]) != null)
|
|
871
|
+
return !!p[i.value];
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
return !1;
|
|
875
|
+
};
|
|
876
|
+
function j() {
|
|
877
|
+
return Z(this, null, function* () {
|
|
878
|
+
if (!(!d.value || !l.value)) {
|
|
879
|
+
if (s.value)
|
|
880
|
+
if ((n == null ? void 0 : n[s.value]) != null)
|
|
881
|
+
yield n[s.value]();
|
|
882
|
+
else {
|
|
883
|
+
const p = o.value;
|
|
884
|
+
(p == null ? void 0 : p[s.value]) != null && (yield p[s.value]());
|
|
885
|
+
}
|
|
886
|
+
l.value = !1;
|
|
887
|
+
}
|
|
888
|
+
});
|
|
889
|
+
}
|
|
890
|
+
function m() {
|
|
891
|
+
return Z(this, null, function* () {
|
|
892
|
+
if (!d.value || l.value)
|
|
893
|
+
return;
|
|
894
|
+
g() && (yield j());
|
|
895
|
+
const p = o.value;
|
|
896
|
+
a.value && (p == null ? void 0 : p[a.value]) != null && (yield p[a.value](), l.value = !0);
|
|
897
|
+
});
|
|
898
|
+
}
|
|
899
|
+
function q() {
|
|
900
|
+
return Z(this, null, function* () {
|
|
901
|
+
yield l.value ? j() : m();
|
|
902
|
+
});
|
|
903
|
+
}
|
|
904
|
+
const ie = () => {
|
|
905
|
+
const p = g();
|
|
906
|
+
(!p || p && S()) && (l.value = p);
|
|
907
|
+
}, ce = { capture: !1, passive: !0 };
|
|
908
|
+
return Ge(n, Oe, ie, ce), Ge(() => ee(o), Oe, ie, ce), r && Qe(j), {
|
|
909
|
+
isSupported: d,
|
|
910
|
+
isFullscreen: l,
|
|
911
|
+
enter: m,
|
|
912
|
+
exit: j,
|
|
913
|
+
toggle: q
|
|
914
|
+
};
|
|
915
|
+
}
|
|
916
|
+
const Nn = /* @__PURE__ */ O({
|
|
917
|
+
__name: "GvScreenFull",
|
|
918
|
+
props: {
|
|
919
|
+
color: se.string.def("")
|
|
920
|
+
},
|
|
921
|
+
setup(e) {
|
|
922
|
+
const { getPrefixCls: t } = E(), n = t("screenfull"), { toggle: r, isFullscreen: o } = En(), l = () => {
|
|
923
|
+
r();
|
|
924
|
+
};
|
|
925
|
+
return (a, s) => {
|
|
926
|
+
const i = te("GvIcon");
|
|
927
|
+
return y(), R("div", {
|
|
928
|
+
class: I(u(n)),
|
|
929
|
+
onClick: l
|
|
930
|
+
}, [
|
|
931
|
+
v(i, {
|
|
932
|
+
"icon-name": u(o) ? "exit-fullscreen" : "fullscreen"
|
|
933
|
+
}, null, 8, ["icon-name"])
|
|
934
|
+
], 2);
|
|
935
|
+
};
|
|
936
|
+
}
|
|
937
|
+
}), Ze = /* @__PURE__ */ D(Nn, [["__scopeId", "data-v-c0ae644d"]]), Wn = {
|
|
938
|
+
install(e) {
|
|
939
|
+
var t;
|
|
940
|
+
e.component((t = Ze.name) != null ? t : "GvScreenFull", Ze);
|
|
941
|
+
}
|
|
942
|
+
}, xn = (e, t = []) => {
|
|
943
|
+
const n = re(), r = t.filter((o) => {
|
|
944
|
+
var a;
|
|
945
|
+
return ((a = o.meta) != null ? a : {}).hidden ? !1 : (n.value = o, !0);
|
|
946
|
+
});
|
|
947
|
+
return r.length === 1 ? {
|
|
948
|
+
oneShowingChild: !0,
|
|
949
|
+
onlyOneChild: u(n)
|
|
950
|
+
} : r.length ? {
|
|
951
|
+
oneShowingChild: !1,
|
|
952
|
+
onlyOneChild: u(n)
|
|
953
|
+
} : (n.value = U(N({}, e), { path: "", noShowingChildren: !0 }), {
|
|
954
|
+
oneShowingChild: !0,
|
|
955
|
+
onlyOneChild: u(n)
|
|
956
|
+
});
|
|
957
|
+
}, Tn = () => ({
|
|
958
|
+
renderMenuTitle: (t) => {
|
|
959
|
+
const {
|
|
960
|
+
t: n
|
|
961
|
+
} = ke();
|
|
962
|
+
if (!t)
|
|
963
|
+
return v("span", {
|
|
964
|
+
class: "v-menu__title overflow-hidden overflow-ellipsis whitespace-nowrap"
|
|
965
|
+
}, [Ee("No Title")]);
|
|
966
|
+
const {
|
|
967
|
+
title: r = "Please set title",
|
|
968
|
+
icon: o
|
|
969
|
+
} = t;
|
|
970
|
+
return o ? v(ne, null, [v(H, {
|
|
971
|
+
iconName: t.icon || ""
|
|
972
|
+
}, null), v("span", {
|
|
973
|
+
class: "v-menu__title overflow-hidden overflow-ellipsis whitespace-nowrap"
|
|
974
|
+
}, [n(r)])]) : v("span", {
|
|
975
|
+
class: "v-menu__title overflow-hidden overflow-ellipsis whitespace-nowrap"
|
|
976
|
+
}, [n(r)]);
|
|
977
|
+
}
|
|
978
|
+
}), {
|
|
979
|
+
getPrefixCls: kn
|
|
980
|
+
} = E(), Mn = kn("submenu"), {
|
|
981
|
+
renderMenuTitle: we
|
|
982
|
+
} = Tn(), Ln = (e) => {
|
|
983
|
+
const t = (n, r = "/") => n.filter((o) => {
|
|
984
|
+
var l;
|
|
985
|
+
return !((l = o.meta) != null && l.hidden);
|
|
986
|
+
}).map((o) => {
|
|
987
|
+
var c;
|
|
988
|
+
const l = (c = o.meta) != null ? c : {}, {
|
|
989
|
+
oneShowingChild: a,
|
|
990
|
+
onlyOneChild: s
|
|
991
|
+
} = xn(o, o.children), i = le(o.path) ? o.path : F(r, o.path);
|
|
992
|
+
return a && (!(s != null && s.children) || s != null && s.noShowingChildren) && !(l != null && l.alwaysShow) ? v(bt, {
|
|
993
|
+
index: s ? F(i, s.path) : i
|
|
994
|
+
}, {
|
|
995
|
+
default: () => we(s ? s == null ? void 0 : s.meta : l)
|
|
996
|
+
}) : v(gt, {
|
|
997
|
+
index: i,
|
|
998
|
+
teleported: !0,
|
|
999
|
+
popperClass: u(e) === "vertical" ? `${Mn}-popper--vertical` : ""
|
|
1000
|
+
}, {
|
|
1001
|
+
title: () => we(l),
|
|
1002
|
+
default: () => t(o.children, i)
|
|
1003
|
+
});
|
|
1004
|
+
});
|
|
207
1005
|
return {
|
|
208
|
-
|
|
209
|
-
AuthorizationRefresh: l.getRefreshToken,
|
|
210
|
-
useraccount: l.getLoginAccount,
|
|
211
|
-
userid: l.getUserId,
|
|
212
|
-
deptid: ((e = l.getUserInfo) == null ? void 0 : e.deptid) || -1,
|
|
213
|
-
oemcid: ((t = l.getUserInfo) == null ? void 0 : t.oemcid) || 1,
|
|
214
|
-
comid: ((s = l.getUserInfo) == null ? void 0 : s.comid) || 1,
|
|
215
|
-
loginuuid: l.getLoginUuid,
|
|
216
|
-
language: l.getLanguage,
|
|
217
|
-
userAgent: "PC"
|
|
1006
|
+
renderMenuItem: t
|
|
218
1007
|
};
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
}
|
|
232
|
-
if (t.data && t.data.status === "fail") {
|
|
233
|
-
let r = "";
|
|
234
|
-
t.status !== 400 && (r = y[s]), m(`[${t.data.code || "[]"}] - ${r || t.data.message}`, "warning");
|
|
235
|
-
} else if (s) {
|
|
236
|
-
const r = y[s] || t.statusText || y.default;
|
|
237
|
-
switch (s) {
|
|
238
|
-
case 401:
|
|
239
|
-
m(`[${s || "[]"}] - ${r}`, "error");
|
|
240
|
-
break;
|
|
241
|
-
case 403:
|
|
242
|
-
G.push({ path: "/401" });
|
|
243
|
-
break;
|
|
244
|
-
default:
|
|
245
|
-
m(`[${s || "[]"}] - ${r}`, "error");
|
|
246
|
-
break;
|
|
1008
|
+
};
|
|
1009
|
+
function zn(e) {
|
|
1010
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !We(e);
|
|
1011
|
+
}
|
|
1012
|
+
const {
|
|
1013
|
+
getPrefixCls: Dn
|
|
1014
|
+
} = E(), J = Dn("sidebar"), Yn = /* @__PURE__ */ O({
|
|
1015
|
+
name: "GvSidebar",
|
|
1016
|
+
props: {
|
|
1017
|
+
menuSelect: {
|
|
1018
|
+
type: Function,
|
|
1019
|
+
default: void 0
|
|
247
1020
|
}
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
1021
|
+
},
|
|
1022
|
+
setup(e) {
|
|
1023
|
+
const t = A(), n = f(() => t.getLayout), {
|
|
1024
|
+
push: r,
|
|
1025
|
+
currentRoute: o
|
|
1026
|
+
} = oe(), l = Me(), a = f(() => ["default", "topLeft", "cutMenu"].includes(u(n)) ? "vertical" : "horizontal"), s = f(() => u(n) === "cutMenu" ? l.getMenuTabRouters : l.getRouters), i = f(() => t.getCollapseMenus), c = f(() => t.getLeftMenuUniqueOpened), d = f(() => {
|
|
1027
|
+
const {
|
|
1028
|
+
meta: m,
|
|
1029
|
+
path: q
|
|
1030
|
+
} = u(o);
|
|
1031
|
+
return m.activeMenu ? m.activeMenu : q;
|
|
1032
|
+
}), S = (m) => {
|
|
1033
|
+
e.menuSelect && e.menuSelect(m), le(m) ? window.open(m) : r(m);
|
|
1034
|
+
}, g = () => v(jt, {
|
|
1035
|
+
defaultActive: u(d),
|
|
1036
|
+
mode: u(a),
|
|
1037
|
+
collapse: u(n) === "top" || u(n) === "cutMenu" ? !1 : u(i),
|
|
1038
|
+
uniqueOpened: u(n) === "top" ? !1 : u(c),
|
|
1039
|
+
backgroundColor: "var(--left-menu-bg-color)",
|
|
1040
|
+
textColor: "var(--left-menu-text-color)",
|
|
1041
|
+
activeTextColor: "var(--left-menu-text-active-color)",
|
|
1042
|
+
popperClass: u(a) === "vertical" ? `${J}-popper--vertical` : `${J}-popper--horizontal`,
|
|
1043
|
+
onSelect: S
|
|
1044
|
+
}, {
|
|
1045
|
+
default: () => {
|
|
1046
|
+
const {
|
|
1047
|
+
renderMenuItem: m
|
|
1048
|
+
} = Ln(a);
|
|
1049
|
+
return m(u(s));
|
|
1050
|
+
}
|
|
1051
|
+
}), j = () => {
|
|
1052
|
+
let m;
|
|
1053
|
+
return u(n) === "top" ? g() : v(St, null, zn(m = g()) ? m : {
|
|
1054
|
+
default: () => [m]
|
|
1055
|
+
});
|
|
1056
|
+
};
|
|
1057
|
+
return () => v("div", {
|
|
1058
|
+
id: "gv-sidebar",
|
|
1059
|
+
class: [`${J} ${J}__${u(a)}`, "h-[100%] overflow-hidden flex-col bg-[var(--left-menu-bg-color)]", {
|
|
1060
|
+
"w-[var(--left-menu-min-width)]": u(i) && u(n) !== "cutMenu",
|
|
1061
|
+
"w-[var(--left-menu-max-width)]": !u(i) && u(n) !== "cutMenu"
|
|
1062
|
+
}]
|
|
1063
|
+
}, [j()]);
|
|
1064
|
+
}
|
|
1065
|
+
}), Re = /* @__PURE__ */ D(Yn, [["__scopeId", "data-v-99854e48"]]), Pn = {
|
|
1066
|
+
install(e) {
|
|
1067
|
+
var t;
|
|
1068
|
+
e.component((t = Re.name) != null ? t : "GvSidebar", Re);
|
|
1069
|
+
}
|
|
1070
|
+
}, Cn = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAABaCAYAAAAilKGMAAAACXBIWXMAAAZ2AAAGdgEpJm+AAAAKDGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYTZhNjM5NjhhLCAyMDI0LzAzLzA2LTExOjUyOjA1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmQxNjAxODBkLTVlZmUtZjc0MS1iY2RhLTdjMDBjNTc4ZTVkMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1ZDE1ZDUxNC05YzkxLTQwNTYtYTgzNS05YjZlYmRlOTQ5ZmEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0iRTU1OUFCRUUwQ0NBMTg5NjNBREJDRTREOTQ1Q0M5MDkiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB0aWZmOkltYWdlV2lkdGg9IjYzNiIgdGlmZjpJbWFnZUxlbmd0aD0iNjYwIiB0aWZmOlBob3RvbWV0cmljSW50ZXJwcmV0YXRpb249IjIiIHRpZmY6U2FtcGxlc1BlclBpeGVsPSIzIiB0aWZmOlhSZXNvbHV0aW9uPSIxNDQvMSIgdGlmZjpZUmVzb2x1dGlvbj0iMTQ0LzEiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIGV4aWY6RXhpZlZlcnNpb249IjAyMzEiIGV4aWY6Q29sb3JTcGFjZT0iNjU1MzUiIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI2MzYiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSI2NjAiIHhtcDpDcmVhdGVEYXRlPSIyMDI0LTExLTI5VDEyOjQ4OjMzKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNC0xMS0yOVQxMjo1MToyNCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNC0xMS0yOVQxMjo1MToyNCswODowMCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmZiNWYzMGIyLWJmODgtNDQ3My1iMDk0LWIzMGUzYjkyMzczZiIgc3RFdnQ6d2hlbj0iMjAyNC0xMS0yOVQxMjo0OToxNyswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjExIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gaW1hZ2UvanBlZyB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGltYWdlL2pwZWcgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MDg4Y2NiMi05NDFlLTQ1YmItOGZhZi02YjA5Mjc0M2Q0MDciIHN0RXZ0OndoZW49IjIwMjQtMTEtMjlUMTI6NDk6MTcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xMSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NWQxNWQ1MTQtOWM5MS00MDU2LWE4MzUtOWI2ZWJkZTk0OWZhIiBzdEV2dDp3aGVuPSIyMDI0LTExLTI5VDEyOjUxOjI0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMTEgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmZiNWYzMGIyLWJmODgtNDQ3My1iMDk0LWIzMGUzYjkyMzczZiIgc3RSZWY6ZG9jdW1lbnRJRD0iRTU1OUFCRUUwQ0NBMTg5NjNBREJDRTREOTQ1Q0M5MDkiIHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD0iRTU1OUFCRUUwQ0NBMTg5NjNBREJDRTREOTQ1Q0M5MDkiLz4gPHRpZmY6Qml0c1BlclNhbXBsZT4gPHJkZjpTZXE+IDxyZGY6bGk+ODwvcmRmOmxpPiA8cmRmOmxpPjg8L3JkZjpsaT4gPHJkZjpsaT44PC9yZGY6bGk+IDwvcmRmOlNlcT4gPC90aWZmOkJpdHNQZXJTYW1wbGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+WfjB/QAAOnxJREFUeJztvXe4XFd19//Z+9Tp5famq2rJVnE3trGxMcY0h2KMDSb04NBCDIQQQgukvKTwQAKEEkIS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", Ie = /* @__PURE__ */ O({
|
|
1071
|
+
__name: "GvSidebarLogo",
|
|
1072
|
+
setup(e) {
|
|
1073
|
+
const { getPrefixCls: t } = E(), n = t("logo"), r = A(), o = re(!0), l = f(() => r.getTitle), a = f(() => r.getLayout), s = f(() => r.getCollapseMenus);
|
|
1074
|
+
return P(
|
|
1075
|
+
() => s.value,
|
|
1076
|
+
(i) => {
|
|
1077
|
+
if (u(a) === "topLeft" || u(a) === "cutMenu") {
|
|
1078
|
+
o.value = !0;
|
|
1079
|
+
return;
|
|
1080
|
+
}
|
|
1081
|
+
o.value = !i;
|
|
274
1082
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
case 401:
|
|
280
|
-
break;
|
|
281
|
-
case 403:
|
|
282
|
-
break;
|
|
283
|
-
default:
|
|
284
|
-
m(`${a} - ${o || ""}`, "error");
|
|
285
|
-
break;
|
|
1083
|
+
), P(
|
|
1084
|
+
() => a.value,
|
|
1085
|
+
(i) => {
|
|
1086
|
+
i === "top" || i === "cutMenu" ? o.value = !0 : u(s) ? o.value = !1 : o.value = !0;
|
|
286
1087
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
1088
|
+
), Te(() => {
|
|
1089
|
+
u(s) && (o.value = !1);
|
|
1090
|
+
}), (i, c) => {
|
|
1091
|
+
const d = te("router-link");
|
|
1092
|
+
return y(), R("div", null, [
|
|
1093
|
+
v(d, {
|
|
1094
|
+
class: I([u(n), a.value !== "default" ? `${u(n)}__Top` : "", "flex !h-[var(--logo-height)] items-center cursor-pointer pl-[8px] relative decoration-none overflow-hidden"]),
|
|
1095
|
+
to: "/"
|
|
1096
|
+
}, {
|
|
1097
|
+
default: k(() => [
|
|
1098
|
+
c[0] || (c[0] = W("img", {
|
|
1099
|
+
src: Cn,
|
|
1100
|
+
class: "w-[calc(var(--logo-height)-10px)] h-[calc(var(--logo-height)-10px)]"
|
|
1101
|
+
}, null, -1)),
|
|
1102
|
+
o.value ? (y(), R("div", {
|
|
1103
|
+
key: 0,
|
|
1104
|
+
class: I([
|
|
1105
|
+
"inline-block whitespace-nowrap ml-[10px] text-[16px] font-bold",
|
|
1106
|
+
{
|
|
1107
|
+
"text-[var(--logo-title-text-color)]": a.value === "default",
|
|
1108
|
+
"text-[var(--top-header-text-color)]": a.value === "topLeft" || a.value === "top" || a.value === "cutMenu"
|
|
1109
|
+
}
|
|
1110
|
+
])
|
|
1111
|
+
}, Ne(l.value), 3)) : ct("", !0)
|
|
1112
|
+
]),
|
|
1113
|
+
_: 1
|
|
1114
|
+
}, 8, ["class"])
|
|
1115
|
+
]);
|
|
1116
|
+
};
|
|
1117
|
+
}
|
|
1118
|
+
}), Un = {
|
|
1119
|
+
install(e) {
|
|
1120
|
+
var t;
|
|
1121
|
+
e.component((t = Ie.name) != null ? t : "GvSidebarLogo", Ie);
|
|
1122
|
+
}
|
|
1123
|
+
}, _ = "__LIB_BRIDGE_CONTEXT__", Jn = () => {
|
|
1124
|
+
const e = globalThis;
|
|
1125
|
+
return e[_] || (e[_] = {}), e[_];
|
|
1126
|
+
}, Bn = (e) => {
|
|
1127
|
+
Object.assign(Jn(), e);
|
|
1128
|
+
}, Fn = (e, t) => Z(null, null, function* () {
|
|
1129
|
+
return yield e(t);
|
|
1130
|
+
}), br = () => ({
|
|
1131
|
+
fetchData: Fn
|
|
1132
|
+
}), Hn = (e) => Object.prototype.toString.call(e).slice(8, -1), Qn = (e = "sessionStorage") => ({
|
|
1133
|
+
setStorage: (l, a) => {
|
|
1134
|
+
const s = Hn(a);
|
|
1135
|
+
window[e].setItem(l, JSON.stringify({ type: s, value: a }));
|
|
1136
|
+
},
|
|
1137
|
+
getStorage: (l) => {
|
|
1138
|
+
const a = window[e].getItem(l);
|
|
1139
|
+
if (a) {
|
|
1140
|
+
const { value: s } = JSON.parse(a);
|
|
1141
|
+
return s;
|
|
1142
|
+
} else return a;
|
|
1143
|
+
},
|
|
1144
|
+
removeStorage: (l) => {
|
|
1145
|
+
window[e].removeItem(l);
|
|
1146
|
+
},
|
|
1147
|
+
clear: (l) => {
|
|
1148
|
+
const a = Object.keys(window[e]), s = ["dynamicRouter", "serverDynamicRouter"], i = l ? [...l, ...s] : s;
|
|
1149
|
+
(i ? a.filter((d) => !i.includes(d)) : a).forEach((d) => {
|
|
1150
|
+
window[e].removeItem(d);
|
|
1151
|
+
});
|
|
1152
|
+
}
|
|
1153
|
+
}), { getStorage: An } = Qn("localStorage"), Xe = An("lang"), Xn = 5e3, qn = 6e3, Vn = 2e3, Kn = 5e3, _n = (e, t = "success") => Z(null, null, function* () {
|
|
1154
|
+
const n = document.body.querySelector("body>.el-notification");
|
|
1155
|
+
n && n.remove();
|
|
1156
|
+
let r = "提示信息";
|
|
1157
|
+
Xe === "en" && (r = "Hint");
|
|
1158
|
+
const o = t === "error" ? qn : Xn;
|
|
1159
|
+
let l = "No message...";
|
|
1160
|
+
ze(e) ? l = e.message || "No message..." : typeof e == "string" ? l = e : typeof e == "object" && (l = JSON.stringify(e)), Zt({
|
|
1161
|
+
title: r,
|
|
1162
|
+
message: l,
|
|
1163
|
+
type: t,
|
|
1164
|
+
duration: o
|
|
1165
|
+
}), yield Le(o);
|
|
1166
|
+
}), $n = (e, t = "warning") => Z(null, null, function* () {
|
|
1167
|
+
if (document.body.querySelector("body>.el-confirm")) return;
|
|
1168
|
+
let n;
|
|
1169
|
+
const r = !0;
|
|
1170
|
+
n = "是否确定此操作?";
|
|
1171
|
+
let o = "提示信息", l = "确定", a = "取消";
|
|
1172
|
+
return e ? n = e : Xe === "en" && (n = "Are you sure you want to proceed?", o = "Hint", l = "Ok", a = "Cancel"), new Promise((s, i) => {
|
|
1173
|
+
Gt.confirm(n, o, {
|
|
1174
|
+
confirmButtonText: l,
|
|
1175
|
+
cancelButtonText: a,
|
|
1176
|
+
type: t,
|
|
1177
|
+
showCancelButton: r
|
|
1178
|
+
}).then(() => {
|
|
1179
|
+
s(!0);
|
|
1180
|
+
}).catch(() => {
|
|
1181
|
+
i(!1);
|
|
1182
|
+
});
|
|
1183
|
+
});
|
|
1184
|
+
}), er = (e, t = "warning", n = !1) => Z(null, null, function* () {
|
|
1185
|
+
if (n === !1 && (document.body.querySelector("body>.el-message") || document.body.querySelector("body>.el-notification")))
|
|
1186
|
+
return;
|
|
1187
|
+
let r = "No message...";
|
|
1188
|
+
ze(e) ? r = e.message || "No message..." : typeof e == "string" ? r = e : typeof e == "object" && (r = JSON.stringify(e));
|
|
1189
|
+
const o = t === "error" ? Kn : Vn;
|
|
1190
|
+
Ot({
|
|
1191
|
+
message: r,
|
|
1192
|
+
showClose: !0,
|
|
1193
|
+
type: t,
|
|
1194
|
+
duration: o
|
|
1195
|
+
}), yield Le(o);
|
|
1196
|
+
}), gr = () => ({
|
|
1197
|
+
alert: _n,
|
|
1198
|
+
message: er,
|
|
1199
|
+
confirm: $n
|
|
1200
|
+
}), qe = "abcdefgabcdefg12", Sr = (e) => {
|
|
1201
|
+
const t = w.enc.Utf8.parse(qe);
|
|
1202
|
+
let n;
|
|
1203
|
+
typeof e == "object" ? n = JSON.stringify(e) : n = e;
|
|
1204
|
+
const r = w.enc.Utf8.parse(n);
|
|
1205
|
+
return w.AES.encrypt(r, t, { mode: w.mode.ECB, padding: w.pad.Pkcs7 }).toString();
|
|
1206
|
+
}, jr = (e) => {
|
|
1207
|
+
const t = w.enc.Utf8.parse(qe), n = w.AES.decrypt(e, t, { mode: w.mode.ECB, padding: w.pad.Pkcs7 });
|
|
1208
|
+
return w.enc.Utf8.stringify(n).toString();
|
|
1209
|
+
}, Gr = (e) => {
|
|
1210
|
+
const t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
1211
|
+
let n = "";
|
|
1212
|
+
for (let r = 0; r < e; r++) {
|
|
1213
|
+
const o = Math.floor(Math.random() * t.length);
|
|
1214
|
+
n += t.substring(o, o + 1);
|
|
1215
|
+
}
|
|
1216
|
+
return n;
|
|
1217
|
+
}, tr = [Et, kt, rn, on, fn, Sn, Wn, Pn, Un], Ve = (e, t) => {
|
|
1218
|
+
Ve.INSTALLED = !0, nt(t.store), Bn(t), tr.forEach((n) => n.install(e));
|
|
1219
|
+
}, Or = {
|
|
1220
|
+
install: Ve
|
|
300
1221
|
};
|
|
301
1222
|
export {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
1223
|
+
on as GvBacktop,
|
|
1224
|
+
fn as GvBreadCrumb,
|
|
1225
|
+
Et as GvButton,
|
|
1226
|
+
Sn as GvHamburger,
|
|
1227
|
+
kt as GvIcon,
|
|
1228
|
+
rn as GvLangSelect,
|
|
1229
|
+
Wn as GvScreenFull,
|
|
1230
|
+
Pn as GvSideBar,
|
|
1231
|
+
Un as GvSidebarLogo,
|
|
1232
|
+
jr as decrypt,
|
|
1233
|
+
Or as default,
|
|
1234
|
+
Sr as encrypt,
|
|
1235
|
+
Gr as generateKey,
|
|
1236
|
+
ze as isError,
|
|
1237
|
+
Nt as isExternal,
|
|
1238
|
+
le as isUrl,
|
|
1239
|
+
qe as key,
|
|
1240
|
+
F as pathResolve,
|
|
1241
|
+
hr as setQuickKeys,
|
|
1242
|
+
Le as sleep,
|
|
1243
|
+
mr as toHump,
|
|
1244
|
+
vr as toLine,
|
|
1245
|
+
br as useCrud,
|
|
1246
|
+
gr as useNotify,
|
|
1247
|
+
Qn as useStorage
|
|
316
1248
|
};
|
|
317
1249
|
//# sourceMappingURL=guava-ui.es.js.map
|