mgacn-commonsdk 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Ie from "axios";
|
|
2
2
|
import { ElMessage as B } from "element-plus";
|
|
3
3
|
import * as te from "ali-oss";
|
|
4
|
-
import { ref as ne, computed as j, watch as
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
4
|
+
import { ref as ne, computed as j, watch as Ce, onBeforeUnmount as je, resolveComponent as re, resolveDirective as Re, openBlock as N, createElementBlock as v, normalizeStyle as Fe, normalizeClass as Ye, createElementVNode as E, toDisplayString as Be, createCommentVNode as L, createVNode as R, withCtx as ie, createTextVNode as Le, withDirectives as Ge, unref as G, createBlock as He, nextTick as ze } from "vue";
|
|
5
|
+
import Ve from "vue-pdf-embed";
|
|
6
|
+
import qe from "video.js";
|
|
7
|
+
import Xe from "@vue-office/docx";
|
|
8
|
+
import We from "@vue-office/excel";
|
|
9
9
|
const le = "__MGACN_COMMONSDK_SYSTEM_ID__", ue = "__MGACN_COMMONSDK_USER_ID__";
|
|
10
|
-
function
|
|
10
|
+
function Qe(e) {
|
|
11
11
|
globalThis[le] = e == null ? "" : String(e);
|
|
12
12
|
}
|
|
13
13
|
function z() {
|
|
14
14
|
return globalThis[le] || "";
|
|
15
15
|
}
|
|
16
|
-
function
|
|
16
|
+
function Je(e) {
|
|
17
17
|
globalThis[ue] = e == null ? "" : String(e);
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
function Ze() {
|
|
20
20
|
return globalThis[ue] || "";
|
|
21
21
|
}
|
|
22
|
-
function
|
|
22
|
+
function et(e = {}) {
|
|
23
23
|
const {
|
|
24
24
|
baseURL: t = "",
|
|
25
25
|
timeout: n = 6e4,
|
|
@@ -28,8 +28,8 @@ function Ze(e = {}) {
|
|
|
28
28
|
userId: s,
|
|
29
29
|
loginUrl: o = "/login"
|
|
30
30
|
} = e;
|
|
31
|
-
i != null && i !== "" &&
|
|
32
|
-
const c =
|
|
31
|
+
i != null && i !== "" && Qe(i), s != null && s !== "" && Je(s);
|
|
32
|
+
const c = Ie.create({ baseURL: t, timeout: n });
|
|
33
33
|
let a = !1;
|
|
34
34
|
function f() {
|
|
35
35
|
typeof localStorage < "u" && localStorage.clear(), !a && (a = !0, setTimeout(() => {
|
|
@@ -86,7 +86,7 @@ function se(e) {
|
|
|
86
86
|
return "";
|
|
87
87
|
}
|
|
88
88
|
function un(e = {}) {
|
|
89
|
-
const t =
|
|
89
|
+
const t = et(e);
|
|
90
90
|
return {
|
|
91
91
|
GET(n, r = {}) {
|
|
92
92
|
return t({ method: "get", url: n, ...r });
|
|
@@ -103,7 +103,7 @@ const ae = "__MGACN_COMMONSDK_REQUEST__";
|
|
|
103
103
|
function an(e) {
|
|
104
104
|
globalThis[ae] = e;
|
|
105
105
|
}
|
|
106
|
-
function
|
|
106
|
+
function tt() {
|
|
107
107
|
const e = globalThis[ae];
|
|
108
108
|
if (!e)
|
|
109
109
|
throw new Error("[mgacn-commonsdk] 请先 app.use(MgacnCommonSdk, { tokenKey, baseURL })");
|
|
@@ -114,13 +114,13 @@ function fe(e, t, n = "application/vnd.ms-excel") {
|
|
|
114
114
|
const r = e instanceof Blob ? e : new Blob([e], { type: n }), i = window.URL.createObjectURL(r), s = document.createElement("a");
|
|
115
115
|
s.href = i, s.download = t || "download", s.style.display = "none", document.body.appendChild(s), s.click(), document.body.removeChild(s), window.URL.revokeObjectURL(i);
|
|
116
116
|
}
|
|
117
|
-
function
|
|
117
|
+
function K(e) {
|
|
118
118
|
return String(e).padStart(2, "0");
|
|
119
119
|
}
|
|
120
|
-
function
|
|
121
|
-
return `${e.getFullYear()}${
|
|
120
|
+
function nt(e = /* @__PURE__ */ new Date()) {
|
|
121
|
+
return `${e.getFullYear()}${K(e.getMonth() + 1)}${K(e.getDate())}${K(e.getHours())}${K(e.getMinutes())}${K(e.getSeconds())}`;
|
|
122
122
|
}
|
|
123
|
-
async function
|
|
123
|
+
async function rt(e) {
|
|
124
124
|
if (!(e instanceof Blob) || !e.type || !/json/i.test(e.type)) return;
|
|
125
125
|
const t = await e.text();
|
|
126
126
|
let n = "导出失败";
|
|
@@ -131,7 +131,7 @@ async function nt(e) {
|
|
|
131
131
|
}
|
|
132
132
|
throw new Error(n);
|
|
133
133
|
}
|
|
134
|
-
async function
|
|
134
|
+
async function it(e = {}) {
|
|
135
135
|
const {
|
|
136
136
|
url: t,
|
|
137
137
|
data: n,
|
|
@@ -142,14 +142,14 @@ async function rt(e = {}) {
|
|
|
142
142
|
} = e;
|
|
143
143
|
if (!t) throw new Error("导出地址不能为空");
|
|
144
144
|
if (!s) throw new Error("导出文件名不能为空");
|
|
145
|
-
const c =
|
|
145
|
+
const c = tt(), a = String(i).toUpperCase();
|
|
146
146
|
let f;
|
|
147
|
-
a === "GET" ? f = await c.GET(t, { params: r, responseType: "blob" }) : f = await c.POST(t, n, { responseType: "blob" }), await
|
|
148
|
-
const u = /\.[a-z0-9]+$/i.test(s) ? s : `${s}_${
|
|
147
|
+
a === "GET" ? f = await c.GET(t, { params: r, responseType: "blob" }) : f = await c.POST(t, n, { responseType: "blob" }), await rt(f);
|
|
148
|
+
const u = /\.[a-z0-9]+$/i.test(s) ? s : `${s}_${nt()}.${o}`;
|
|
149
149
|
return fe(f, u), u;
|
|
150
150
|
}
|
|
151
151
|
let O = null, D = null;
|
|
152
|
-
function
|
|
152
|
+
function st(e, t) {
|
|
153
153
|
if (!e || t == null || t === "") return !1;
|
|
154
154
|
if (typeof t == "object")
|
|
155
155
|
return t.id != null && t.id !== "" && String(e.id) === String(t.id) || t.platformName != null && t.platformName !== "" && String(e.platformName || "") === String(t.platformName).trim();
|
|
@@ -159,15 +159,15 @@ function it(e, t) {
|
|
|
159
159
|
function de(e) {
|
|
160
160
|
O = Array.isArray(e) ? e : [];
|
|
161
161
|
}
|
|
162
|
-
function
|
|
162
|
+
function ot() {
|
|
163
163
|
O = null, D = null;
|
|
164
164
|
}
|
|
165
|
-
function
|
|
165
|
+
function ct(e) {
|
|
166
166
|
if (!Array.isArray(O) || !O.length) return "";
|
|
167
|
-
const t = O.find((n) =>
|
|
167
|
+
const t = O.find((n) => st(n, e));
|
|
168
168
|
return (t == null ? void 0 : t.platformLogo) || "";
|
|
169
169
|
}
|
|
170
|
-
async function
|
|
170
|
+
async function lt() {
|
|
171
171
|
return O ?? (D || (D = (async () => {
|
|
172
172
|
try {
|
|
173
173
|
const e = await Y().listPlatformInfoAll();
|
|
@@ -177,7 +177,7 @@ async function ct() {
|
|
|
177
177
|
}
|
|
178
178
|
})(), D));
|
|
179
179
|
}
|
|
180
|
-
const
|
|
180
|
+
const ut = ["jpg", "jpeg", "png", "gif", "webp", "bmp", "svg", "ico"], at = ["mp4", "webm", "ogg", "mov", "m4v"], ft = ["pdf"], dt = ["docx"], mt = ["xlsx", "xls", "csv"];
|
|
181
181
|
function x(e = "") {
|
|
182
182
|
const t = String(e || "").trim();
|
|
183
183
|
if (!t) return "";
|
|
@@ -189,7 +189,7 @@ function me(e = {}) {
|
|
|
189
189
|
if (t === "image" || t === "video" || t === "pdf" || t === "word" || t === "excel" || t === "unsupported")
|
|
190
190
|
return t;
|
|
191
191
|
const n = x(e.name) || x(e.src);
|
|
192
|
-
return
|
|
192
|
+
return ut.includes(n) ? "image" : at.includes(n) ? "video" : ft.includes(n) ? "pdf" : dt.includes(n) ? "word" : mt.includes(n) ? "excel" : "unsupported";
|
|
193
193
|
}
|
|
194
194
|
function pe(e = "", t = "") {
|
|
195
195
|
const n = x(t) || x(e);
|
|
@@ -226,7 +226,7 @@ function he(e = {}, t = "_blank") {
|
|
|
226
226
|
const n = Se(e);
|
|
227
227
|
return !n || typeof window > "u" ? null : window.open(n, t);
|
|
228
228
|
}
|
|
229
|
-
const
|
|
229
|
+
const pt = te.default ?? te, be = "__MGACN_COMMONSDK_OSS_URL__";
|
|
230
230
|
function fn(e = "") {
|
|
231
231
|
globalThis[be] = String(e || "").replace(/\/$/, "");
|
|
232
232
|
}
|
|
@@ -236,7 +236,7 @@ function we() {
|
|
|
236
236
|
function oe(e) {
|
|
237
237
|
return String(e).padStart(2, "0");
|
|
238
238
|
}
|
|
239
|
-
function
|
|
239
|
+
function gt() {
|
|
240
240
|
const e = /* @__PURE__ */ new Date();
|
|
241
241
|
return `${e.getFullYear()}${oe(e.getMonth() + 1)}${oe(e.getDate())}`;
|
|
242
242
|
}
|
|
@@ -248,12 +248,12 @@ function _e(e = 10) {
|
|
|
248
248
|
return n;
|
|
249
249
|
}
|
|
250
250
|
function W(e = "portal_cms") {
|
|
251
|
-
return `${e}/${
|
|
251
|
+
return `${e}/${gt()}/`;
|
|
252
252
|
}
|
|
253
253
|
function T(e = "") {
|
|
254
254
|
return /^https?:\/\//i.test(String(e || "").trim());
|
|
255
255
|
}
|
|
256
|
-
function
|
|
256
|
+
function Ne(e = "") {
|
|
257
257
|
const t = String(e || "");
|
|
258
258
|
return T(t) ? /[?&](Expires|Signature|OSSAccessKeyId|x-oss-signature)=/i.test(t) : !1;
|
|
259
259
|
}
|
|
@@ -300,7 +300,9 @@ function Q(e = {}) {
|
|
|
300
300
|
expireAt: void 0
|
|
301
301
|
} : null;
|
|
302
302
|
}
|
|
303
|
-
const t = String(e.fileUrl || e.url || "").trim(), n =
|
|
303
|
+
const t = String(e.fileUrl || e.url || "").trim(), n = w(
|
|
304
|
+
e.fileKey || e.key || w(t) || ""
|
|
305
|
+
);
|
|
304
306
|
if (!n && !t) return null;
|
|
305
307
|
const r = n || w(t);
|
|
306
308
|
return {
|
|
@@ -328,7 +330,7 @@ const yt = /* @__PURE__ */ new Set([
|
|
|
328
330
|
"fileName",
|
|
329
331
|
"id"
|
|
330
332
|
]);
|
|
331
|
-
function
|
|
333
|
+
function Ae(e, t = {}) {
|
|
332
334
|
const n = String(e || "").trim();
|
|
333
335
|
if (!n) return "";
|
|
334
336
|
if (!T(n))
|
|
@@ -340,10 +342,10 @@ function Ne(e, t = {}) {
|
|
|
340
342
|
return n.split("?")[0];
|
|
341
343
|
}
|
|
342
344
|
}
|
|
343
|
-
function
|
|
345
|
+
function Te(e, t) {
|
|
344
346
|
const n = Q(e);
|
|
345
347
|
if (!n) return null(t && t.bucketKind) || e && typeof e == "object" && e.bucketKind || "private";
|
|
346
|
-
const r =
|
|
348
|
+
const r = Ae(n.fileUrl || n.fileKey || "", {});
|
|
347
349
|
if (!r) return null;
|
|
348
350
|
const i = w(n.fileKey || n.fileUrl || r) || (T(r) ? "" : r), s = {
|
|
349
351
|
...n.id != null && n.id !== "" ? { id: n.id } : {},
|
|
@@ -358,7 +360,7 @@ function Ae(e, t) {
|
|
|
358
360
|
}), s;
|
|
359
361
|
}
|
|
360
362
|
function St(e, t) {
|
|
361
|
-
return Array.isArray(e) ? e.map((n) =>
|
|
363
|
+
return Array.isArray(e) ? e.map((n) => Te(n, t)).filter(Boolean) : [];
|
|
362
364
|
}
|
|
363
365
|
function ht(e = {}) {
|
|
364
366
|
const t = e.accessKeyId || e.AccessKeyId || e.accessKeyID || "", n = e.accessKeySecret || e.AccessKeySecret || "", r = e.securityToken || e.SecurityToken || e.stsToken || e.token || "", i = e.bucketName || e.bucket || e.BucketName || "", s = e.bucketKind === "public" ? "public" : "private";
|
|
@@ -384,24 +386,24 @@ function J(e) {
|
|
|
384
386
|
function bt(e) {
|
|
385
387
|
return Y().getUploadSign(e);
|
|
386
388
|
}
|
|
387
|
-
const wt = 120, _t = 300, ce = 50,
|
|
388
|
-
function
|
|
389
|
+
const wt = 120, _t = 300, ce = 50, P = /* @__PURE__ */ new Map(), H = /* @__PURE__ */ new Map();
|
|
390
|
+
function ve(e = []) {
|
|
389
391
|
return [
|
|
390
392
|
...new Set(
|
|
391
393
|
(e || []).map((t) => w(t) || String(t || "").trim()).filter(Boolean)
|
|
392
394
|
)
|
|
393
395
|
];
|
|
394
396
|
}
|
|
395
|
-
function
|
|
397
|
+
function Ee(e) {
|
|
396
398
|
return e == null ? "" : String(e);
|
|
397
399
|
}
|
|
398
400
|
async function Nt(e, t) {
|
|
399
|
-
const n =
|
|
401
|
+
const n = ve(e).sort();
|
|
400
402
|
if (!n.length) return { items: [], expireAt: void 0 };
|
|
401
403
|
const r = [];
|
|
402
404
|
let i;
|
|
403
405
|
for (let s = 0; s < n.length; s += ce) {
|
|
404
|
-
const o = n.slice(s, s + ce), c = `${o.join("\0")}::${
|
|
406
|
+
const o = n.slice(s, s + ce), c = `${o.join("\0")}::${Ee(t)}`;
|
|
405
407
|
let a = H.get(c);
|
|
406
408
|
if (!a) {
|
|
407
409
|
const l = { keys: o };
|
|
@@ -415,9 +417,9 @@ async function Nt(e, t) {
|
|
|
415
417
|
return { items: r, expireAt: i };
|
|
416
418
|
}
|
|
417
419
|
function At(e) {
|
|
418
|
-
const t =
|
|
420
|
+
const t = P.get(e);
|
|
419
421
|
if (!t) return;
|
|
420
|
-
|
|
422
|
+
P.delete(e), t.timer && (clearTimeout(t.timer), t.timer = null);
|
|
421
423
|
const n = [...t.keySet], r = t.ttlSeconds;
|
|
422
424
|
Nt(n, r).then(
|
|
423
425
|
(i) => {
|
|
@@ -429,7 +431,7 @@ function At(e) {
|
|
|
429
431
|
);
|
|
430
432
|
}
|
|
431
433
|
function Tt(e) {
|
|
432
|
-
const t =
|
|
434
|
+
const t = P.get(e);
|
|
433
435
|
if (!t) return;
|
|
434
436
|
t.timer && (clearTimeout(t.timer), t.timer = null);
|
|
435
437
|
const n = Date.now() - t.firstAt, r = _t - n, i = r <= 0 ? 0 : Math.min(wt, r);
|
|
@@ -438,25 +440,25 @@ function Tt(e) {
|
|
|
438
440
|
}, i);
|
|
439
441
|
}
|
|
440
442
|
function U(e = {}) {
|
|
441
|
-
const t =
|
|
443
|
+
const t = ve(e.keys);
|
|
442
444
|
if (!t.length)
|
|
443
445
|
return Promise.resolve({ items: [], expireAt: void 0 });
|
|
444
|
-
const n = e.ttlSeconds, r =
|
|
446
|
+
const n = e.ttlSeconds, r = Ee(n);
|
|
445
447
|
return new Promise((i, s) => {
|
|
446
|
-
let o =
|
|
448
|
+
let o = P.get(r);
|
|
447
449
|
o || (o = {
|
|
448
450
|
keySet: /* @__PURE__ */ new Set(),
|
|
449
451
|
waiters: [],
|
|
450
452
|
timer: null,
|
|
451
453
|
firstAt: Date.now(),
|
|
452
454
|
ttlSeconds: n
|
|
453
|
-
},
|
|
455
|
+
}, P.set(r, o)), t.forEach((c) => o.keySet.add(c)), o.waiters.push({ resolve: i, reject: s }), Tt(r);
|
|
454
456
|
});
|
|
455
457
|
}
|
|
456
458
|
function vt(e) {
|
|
457
459
|
return U(e);
|
|
458
460
|
}
|
|
459
|
-
async function
|
|
461
|
+
async function xe(e = {}) {
|
|
460
462
|
const { dir: t, foldName: n, getOss: r, ossinfo: i, bucketKind: s } = e, o = t || W(n || "portal_cms"), c = i || (typeof r == "function" ? await r(o) : await J({ dir: o, bucketKind: s })), a = ht(c || {});
|
|
461
463
|
if (!a.accessKeyId || !a.accessKeySecret || !a.bucketName)
|
|
462
464
|
throw new Error("[mgacn-commonsdk] 获取 OSS STS 失败:凭证字段不完整");
|
|
@@ -471,10 +473,10 @@ async function Ee(e = {}) {
|
|
|
471
473
|
success_action_status: "200"
|
|
472
474
|
};
|
|
473
475
|
a.region && (f.region = a.region), a.endPoint && (f.endpoint = a.endPoint);
|
|
474
|
-
const l = new
|
|
476
|
+
const l = new pt(f);
|
|
475
477
|
return l.options.ossUrl = a.host || we(), l.options.uploadDir = o, l.options.bucketKind = a.bucketKind, l;
|
|
476
478
|
}
|
|
477
|
-
async function
|
|
479
|
+
async function ke({ key: e, bucketKind: t = "private", host: n = "" } = {}) {
|
|
478
480
|
const r = w(e) || String(e || "").trim();
|
|
479
481
|
if (!r) return { url: "", expireAt: void 0 };
|
|
480
482
|
if (t === "public") {
|
|
@@ -493,15 +495,15 @@ async function Et(e = {}) {
|
|
|
493
495
|
const { client: t, file: n, dir: r, foldName: i, fileName: s, onProgress: o, bucketKind: c } = e;
|
|
494
496
|
if (!n)
|
|
495
497
|
throw new Error("[mgacn-commonsdk] uploadToOss 缺少 file");
|
|
496
|
-
const a = t || await
|
|
498
|
+
const a = t || await xe({
|
|
497
499
|
dir: r,
|
|
498
500
|
foldName: i,
|
|
499
501
|
bucketKind: c
|
|
500
502
|
}), f = r || a.options.uploadDir || W(i), l = c || a.options.bucketKind || "private";
|
|
501
503
|
let u = s;
|
|
502
504
|
if (!u) {
|
|
503
|
-
const k = n.name || "file", _ = k.lastIndexOf("."),
|
|
504
|
-
u = `${f}${_e(10)}${
|
|
505
|
+
const k = n.name || "file", _ = k.lastIndexOf("."), Ue = _ > -1 ? k.slice(_) : "";
|
|
506
|
+
u = `${f}${_e(10)}${Ue}`;
|
|
505
507
|
}
|
|
506
508
|
const g = (k) => {
|
|
507
509
|
if (typeof o != "function") return;
|
|
@@ -534,7 +536,7 @@ async function Et(e = {}) {
|
|
|
534
536
|
if (h && h !== 200)
|
|
535
537
|
throw new Error("[mgacn-commonsdk] 上传失败");
|
|
536
538
|
g(0.92);
|
|
537
|
-
const m = String(a.options.ossUrl || "").replace(/\/$/, ""), y = m ? `${m}/${u}` : u, M = await
|
|
539
|
+
const m = String(a.options.ossUrl || "").replace(/\/$/, ""), y = m ? `${m}/${u}` : u, M = await ke({
|
|
538
540
|
key: u,
|
|
539
541
|
bucketKind: l,
|
|
540
542
|
host: m
|
|
@@ -564,7 +566,7 @@ const dn = {
|
|
|
564
566
|
});
|
|
565
567
|
},
|
|
566
568
|
async createOssClient() {
|
|
567
|
-
return
|
|
569
|
+
return xe({
|
|
568
570
|
dir: this.getDir(),
|
|
569
571
|
bucketKind: this.bucketKind || "private",
|
|
570
572
|
getOss: () => this.getOss()
|
|
@@ -579,8 +581,9 @@ async function xt(e, t = {}) {
|
|
|
579
581
|
return B.warning("无可预览文件"), null;
|
|
580
582
|
const { forceResign: r = !1, ttlSeconds: i, leadMs: s = 12e4 } = t, o = typeof t.resign == "function" ? t.resign : (d) => U({ keys: d, ttlSeconds: i });
|
|
581
583
|
let c = n.fileUrl || "";
|
|
582
|
-
const a = n.fileKey ||
|
|
583
|
-
if ((r || !c || !T(c) ||
|
|
584
|
+
const a = w(n.fileKey || c) || n.fileKey || "", f = n.expireAt != null ? Number(n.expireAt) : $(c);
|
|
585
|
+
if ((r || !c || !T(c) || !Ne(c) || // 仅有域名无签名时,私有桶不能直接打开
|
|
586
|
+
F(f, s)) && a)
|
|
584
587
|
try {
|
|
585
588
|
const d = await o([a]);
|
|
586
589
|
d && Array.isArray(d.items) ? c = ((g = d.items.find((b) => b.key === a)) == null ? void 0 : g.url) || c : d && typeof d == "object" && d[a] && (c = d[a]);
|
|
@@ -658,7 +661,7 @@ function kt(e) {
|
|
|
658
661
|
isExpiringSoon: F
|
|
659
662
|
};
|
|
660
663
|
}
|
|
661
|
-
function
|
|
664
|
+
function Oe(e) {
|
|
662
665
|
const t = String(e || "").trim().toUpperCase();
|
|
663
666
|
if (/^\d{15}$/.test(t)) {
|
|
664
667
|
const f = +`19${t.slice(6, 8)}`, l = Number(t.slice(8, 10)), u = Number(t.slice(10, 12)), g = new Date(f, l - 1, u);
|
|
@@ -672,11 +675,11 @@ function ke(e) {
|
|
|
672
675
|
for (let f = 0; f < 17; f++) a += Number(t[f]) * o[f];
|
|
673
676
|
return c[a % 11] === t[17];
|
|
674
677
|
}
|
|
675
|
-
function
|
|
678
|
+
function Me(e) {
|
|
676
679
|
const t = String(e || "").trim().replace(/\s+/g, "");
|
|
677
680
|
return t ? /^1\d{10}$/.test(t) || /^\+[1-9]\d{6,14}$/.test(t) : !1;
|
|
678
681
|
}
|
|
679
|
-
function
|
|
682
|
+
function De(e) {
|
|
680
683
|
const t = String(e || "").trim();
|
|
681
684
|
return t ? /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t) : !1;
|
|
682
685
|
}
|
|
@@ -688,7 +691,7 @@ function Ot(e, t, n) {
|
|
|
688
691
|
n();
|
|
689
692
|
return;
|
|
690
693
|
}
|
|
691
|
-
if (!
|
|
694
|
+
if (!Oe(t)) {
|
|
692
695
|
n(new Error("请输入正确的身份证号(15/18位)"));
|
|
693
696
|
return;
|
|
694
697
|
}
|
|
@@ -699,7 +702,7 @@ function Mt(e, t, n) {
|
|
|
699
702
|
n();
|
|
700
703
|
return;
|
|
701
704
|
}
|
|
702
|
-
if (!
|
|
705
|
+
if (!Me(t)) {
|
|
703
706
|
n(new Error("请输入正确的国内或海外手机号"));
|
|
704
707
|
return;
|
|
705
708
|
}
|
|
@@ -710,7 +713,7 @@ function Dt(e, t, n) {
|
|
|
710
713
|
n();
|
|
711
714
|
return;
|
|
712
715
|
}
|
|
713
|
-
if (!
|
|
716
|
+
if (!De(t)) {
|
|
714
717
|
n(new Error("请输入正确的邮箱"));
|
|
715
718
|
return;
|
|
716
719
|
}
|
|
@@ -728,7 +731,7 @@ function V(e) {
|
|
|
728
731
|
t[n] = V(e[n]);
|
|
729
732
|
}), t;
|
|
730
733
|
}
|
|
731
|
-
function
|
|
734
|
+
function Kt(e, t = 300) {
|
|
732
735
|
let n = null;
|
|
733
736
|
return function(...i) {
|
|
734
737
|
n && clearTimeout(n), n = setTimeout(() => {
|
|
@@ -736,14 +739,14 @@ function Pt(e, t = 300) {
|
|
|
736
739
|
}, t);
|
|
737
740
|
};
|
|
738
741
|
}
|
|
739
|
-
function
|
|
742
|
+
function Pt(e, t = 300) {
|
|
740
743
|
let n = 0;
|
|
741
744
|
return function(...i) {
|
|
742
745
|
const s = Date.now();
|
|
743
746
|
s - n >= t && (n = s, e.apply(this, i));
|
|
744
747
|
};
|
|
745
748
|
}
|
|
746
|
-
function
|
|
749
|
+
function $e(e) {
|
|
747
750
|
if (e == null || e === "") return null;
|
|
748
751
|
if (e instanceof Date)
|
|
749
752
|
return Number.isNaN(e.getTime()) ? null : e;
|
|
@@ -780,7 +783,7 @@ function De(e) {
|
|
|
780
783
|
return Number.isNaN(r.getTime()) ? null : r;
|
|
781
784
|
}
|
|
782
785
|
function q(e, t = "YYYY-MM-DD HH:mm:ss") {
|
|
783
|
-
const n =
|
|
786
|
+
const n = $e(e);
|
|
784
787
|
if (!n) return "";
|
|
785
788
|
const r = n.getFullYear(), i = n.getMonth() + 1, s = n.getDate(), o = n.getHours(), c = n.getMinutes(), a = n.getSeconds(), f = {
|
|
786
789
|
YYYY: String(r),
|
|
@@ -873,14 +876,14 @@ const mn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
873
876
|
buildFilePreviewHref: Se,
|
|
874
877
|
cleanNumber: Ft,
|
|
875
878
|
cleanParams: A,
|
|
876
|
-
clearPlatformCache:
|
|
879
|
+
clearPlatformCache: ot,
|
|
877
880
|
createOssResign: kt,
|
|
878
|
-
debounce:
|
|
881
|
+
debounce: Kt,
|
|
879
882
|
deepClone: V,
|
|
880
883
|
downloadBlob: fe,
|
|
881
|
-
exportFile:
|
|
884
|
+
exportFile: it,
|
|
882
885
|
extractObjectKey: w,
|
|
883
|
-
findPlatformLogo:
|
|
886
|
+
findPlatformLogo: ct,
|
|
884
887
|
formatDate: q,
|
|
885
888
|
formatEmpty: It,
|
|
886
889
|
formatFansCount: Ct,
|
|
@@ -889,30 +892,30 @@ const mn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
889
892
|
getOssSts: J,
|
|
890
893
|
getRecentMonthRange: Ut,
|
|
891
894
|
getUploadSign: bt,
|
|
892
|
-
isEmail:
|
|
895
|
+
isEmail: De,
|
|
893
896
|
isEmpty: $t,
|
|
894
897
|
isExpiringSoon: F,
|
|
895
898
|
isHttpUrl: T,
|
|
896
|
-
isMainlandIdCard:
|
|
897
|
-
isMobile:
|
|
898
|
-
isSignedUrl:
|
|
899
|
+
isMainlandIdCard: Oe,
|
|
900
|
+
isMobile: Me,
|
|
901
|
+
isSignedUrl: Ne,
|
|
899
902
|
normalizeAttachFile: Q,
|
|
900
903
|
openFilePreview: he,
|
|
901
904
|
openOssFile: xt,
|
|
902
|
-
parseDate:
|
|
905
|
+
parseDate: $e,
|
|
903
906
|
parseExpireAtFromUrl: $,
|
|
904
|
-
preloadPlatformList:
|
|
907
|
+
preloadPlatformList: lt,
|
|
905
908
|
resolveFilePreviewType: me,
|
|
906
|
-
resolveUploadPreviewUrl:
|
|
909
|
+
resolveUploadPreviewUrl: ke,
|
|
907
910
|
resolveVideoMimeType: pe,
|
|
908
911
|
resolveVideoSources: ge,
|
|
909
912
|
roundHalfUp: ee,
|
|
910
913
|
setPlatformCache: de,
|
|
911
|
-
throttle:
|
|
914
|
+
throttle: Pt,
|
|
912
915
|
toNumberOrEmpty: Rt,
|
|
913
|
-
toOssSaveFile:
|
|
916
|
+
toOssSaveFile: Te,
|
|
914
917
|
toOssSaveFiles: St,
|
|
915
|
-
toOssSaveUrl:
|
|
918
|
+
toOssSaveUrl: Ae,
|
|
916
919
|
toRebateRatio: jt,
|
|
917
920
|
uniqueId: Yt,
|
|
918
921
|
uploadToOss: Et,
|
|
@@ -1047,7 +1050,7 @@ function pn(e) {
|
|
|
1047
1050
|
"/yhAdmin/trace/addTraceData",
|
|
1048
1051
|
A({
|
|
1049
1052
|
...s,
|
|
1050
|
-
userId:
|
|
1053
|
+
userId: Ze(),
|
|
1051
1054
|
projectId: z(),
|
|
1052
1055
|
clientType: 1
|
|
1053
1056
|
})
|
|
@@ -1100,12 +1103,12 @@ function pn(e) {
|
|
|
1100
1103
|
}
|
|
1101
1104
|
};
|
|
1102
1105
|
}
|
|
1103
|
-
const
|
|
1106
|
+
const Ke = "__MGACN_COMMONSDK_API__";
|
|
1104
1107
|
function gn(e) {
|
|
1105
|
-
globalThis[
|
|
1108
|
+
globalThis[Ke] = e;
|
|
1106
1109
|
}
|
|
1107
1110
|
function Y() {
|
|
1108
|
-
const e = globalThis[
|
|
1111
|
+
const e = globalThis[Ke];
|
|
1109
1112
|
if (!e)
|
|
1110
1113
|
throw new Error("[mgacn-commonsdk] 请先 app.use(MgacnCommonSdk, { tokenKey, baseURL })");
|
|
1111
1114
|
return e;
|
|
@@ -1214,7 +1217,7 @@ const Gt = (e, t) => {
|
|
|
1214
1217
|
}
|
|
1215
1218
|
}
|
|
1216
1219
|
async function g() {
|
|
1217
|
-
u(), !(c.value !== "video" || !n.src) && (await
|
|
1220
|
+
u(), !(c.value !== "video" || !n.src) && (await ze(), i.value && (o = qe(i.value, {
|
|
1218
1221
|
controls: !0,
|
|
1219
1222
|
fill: !0,
|
|
1220
1223
|
fluid: !1,
|
|
@@ -1243,29 +1246,29 @@ const Gt = (e, t) => {
|
|
|
1243
1246
|
const m = document.createElement("a");
|
|
1244
1247
|
m.href = n.src, m.download = a.value || `file.${x(n.name || n.src) || "bin"}`, m.target = "_blank", m.rel = "noopener noreferrer", document.body.appendChild(m), m.click(), document.body.removeChild(m);
|
|
1245
1248
|
}
|
|
1246
|
-
return
|
|
1249
|
+
return Ce(
|
|
1247
1250
|
() => [n.src, c.value],
|
|
1248
1251
|
([m, y]) => {
|
|
1249
1252
|
y === "pdf" && m ? s.value = !0 : s.value = !1, y === "video" && m ? g() : u(), y === "image" && m && r("ready", { type: "image" });
|
|
1250
1253
|
},
|
|
1251
1254
|
{ immediate: !0 }
|
|
1252
|
-
),
|
|
1255
|
+
), je(() => {
|
|
1253
1256
|
u();
|
|
1254
1257
|
}), (m, y) => {
|
|
1255
|
-
const M = re("el-button"), I = re("el-image"), C =
|
|
1258
|
+
const M = re("el-button"), I = re("el-image"), C = Re("loading");
|
|
1256
1259
|
return N(), v("div", {
|
|
1257
|
-
class:
|
|
1258
|
-
style:
|
|
1260
|
+
class: Ye(["mg-file-preview", [`is-${c.value}`]]),
|
|
1261
|
+
style: Fe(l.value)
|
|
1259
1262
|
}, [
|
|
1260
1263
|
e.src ? c.value === "unsupported" ? (N(), v("div", zt, [
|
|
1261
1264
|
y[1] || (y[1] = E("p", { class: "mg-file-preview__fallback-title" }, "暂不支持在线预览该格式", -1)),
|
|
1262
|
-
a.value ? (N(), v("p", Vt,
|
|
1265
|
+
a.value ? (N(), v("p", Vt, Be(a.value), 1)) : L("", !0),
|
|
1263
1266
|
R(M, {
|
|
1264
1267
|
type: "primary",
|
|
1265
1268
|
onClick: h
|
|
1266
1269
|
}, {
|
|
1267
1270
|
default: ie(() => [...y[0] || (y[0] = [
|
|
1268
|
-
|
|
1271
|
+
Le("下载文件", -1)
|
|
1269
1272
|
])]),
|
|
1270
1273
|
_: 1
|
|
1271
1274
|
})
|
|
@@ -1301,8 +1304,8 @@ const Gt = (e, t) => {
|
|
|
1301
1304
|
playsinline: ""
|
|
1302
1305
|
}))
|
|
1303
1306
|
])
|
|
1304
|
-
])) : c.value === "pdf" ?
|
|
1305
|
-
R(G(
|
|
1307
|
+
])) : c.value === "pdf" ? Ge((N(), v("div", Jt, [
|
|
1308
|
+
R(G(Ve), {
|
|
1306
1309
|
source: e.src,
|
|
1307
1310
|
class: "mg-file-preview__pdf-embed",
|
|
1308
1311
|
onLoaded: d,
|
|
@@ -1320,13 +1323,13 @@ const Gt = (e, t) => {
|
|
|
1320
1323
|
}, "下载原文件"),
|
|
1321
1324
|
y[6] || (y[6] = E("span", null, "查看。", -1))
|
|
1322
1325
|
]),
|
|
1323
|
-
R(G(
|
|
1326
|
+
R(G(Xe), {
|
|
1324
1327
|
src: e.src,
|
|
1325
1328
|
class: "mg-file-preview__office",
|
|
1326
1329
|
onRendered: S,
|
|
1327
1330
|
onError: p
|
|
1328
1331
|
}, null, 8, ["src"])
|
|
1329
|
-
])) : c.value === "excel" ? (N(),
|
|
1332
|
+
])) : c.value === "excel" ? (N(), He(G(We), {
|
|
1330
1333
|
key: 6,
|
|
1331
1334
|
src: e.src,
|
|
1332
1335
|
class: "mg-file-preview__office",
|
|
@@ -1348,26 +1351,26 @@ export {
|
|
|
1348
1351
|
an as H,
|
|
1349
1352
|
gn as I,
|
|
1350
1353
|
vt as J,
|
|
1351
|
-
|
|
1354
|
+
xe as K,
|
|
1352
1355
|
kt as L,
|
|
1353
|
-
|
|
1356
|
+
et as M,
|
|
1354
1357
|
J as N,
|
|
1355
1358
|
Bt as O,
|
|
1356
1359
|
z as P,
|
|
1357
1360
|
bt as Q,
|
|
1358
|
-
|
|
1361
|
+
Ze as R,
|
|
1359
1362
|
Q as S,
|
|
1360
|
-
|
|
1363
|
+
ke as T,
|
|
1361
1364
|
mn as U,
|
|
1362
1365
|
Gt as _,
|
|
1363
|
-
|
|
1364
|
-
|
|
1366
|
+
Qe as a,
|
|
1367
|
+
tt as b,
|
|
1365
1368
|
Lt as c,
|
|
1366
1369
|
x as d,
|
|
1367
1370
|
V as e,
|
|
1368
1371
|
A as f,
|
|
1369
1372
|
Y as g,
|
|
1370
|
-
|
|
1373
|
+
Kt as h,
|
|
1371
1374
|
ye as i,
|
|
1372
1375
|
Se as j,
|
|
1373
1376
|
dn as k,
|
|
@@ -1375,13 +1378,13 @@ export {
|
|
|
1375
1378
|
w as m,
|
|
1376
1379
|
U as n,
|
|
1377
1380
|
he as o,
|
|
1378
|
-
|
|
1381
|
+
Ne as p,
|
|
1379
1382
|
xt as q,
|
|
1380
1383
|
$ as r,
|
|
1381
|
-
|
|
1382
|
-
|
|
1384
|
+
Je as s,
|
|
1385
|
+
Ae as t,
|
|
1383
1386
|
Et as u,
|
|
1384
|
-
|
|
1387
|
+
Te as v,
|
|
1385
1388
|
St as w,
|
|
1386
1389
|
F as x,
|
|
1387
1390
|
X as y,
|
package/dist/mgacn-admin.js
CHANGED
|
@@ -3,8 +3,8 @@ import { defineStore as rA, createPinia as bg } from "pinia";
|
|
|
3
3
|
import xg, { ElMessageBox as Zg, ElMessage as Bg } from "element-plus";
|
|
4
4
|
import mg from "element-plus/es/locale/lang/zh-cn";
|
|
5
5
|
import zg from "mgacn-commonsdk";
|
|
6
|
-
import { s as dA, g as KA, a as TA, b as $, c as hg, _ as EA, F as ig, d as jg, e as yA, f as xA, h as yg, i as tg } from "./FilePreview-
|
|
7
|
-
import { j as AC, o as gC } from "./FilePreview-
|
|
6
|
+
import { s as dA, g as KA, a as TA, b as $, c as hg, _ as EA, F as ig, d as jg, e as yA, f as xA, h as yg, i as tg } from "./FilePreview-BnLZxfVx.js";
|
|
7
|
+
import { j as AC, o as gC } from "./FilePreview-BnLZxfVx.js";
|
|
8
8
|
import { useRoute as nA, useRouter as XA, createRouter as Lg, createWebHashHistory as ng } from "vue-router";
|
|
9
9
|
const PA = {
|
|
10
10
|
/** 部署目录名,如 account_cms;DEV 无 path 前缀时用于匹配当前系统 */
|
package/dist/mgacn-commonsdk.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Plus as ut, Delete as ct, CircleCloseFilled as dt, Document as pt, Close as ft, CircleClose as We, CircleCheck as ht, ArrowUp as gt, ArrowDown as mt } from "@element-plus/icons-vue";
|
|
2
2
|
import { ElMessage as G, ElMessageBox as Ye } from "element-plus";
|
|
3
3
|
import vt from "cropperjs";
|
|
4
|
-
import { _ as ee, k as qe, u as Ge, t as Z, l as K, m as
|
|
5
|
-
import { i as fl, J as hl, j as gl, c as ml, K as vl, L as yl, M as bl, g as _l, N as wl, O as xl, b as Sl, P as kl, Q as Ul, R as Cl, S as Fl, o as Ll, T as Nl, a as Al, s as Rl, U as $l } from "./FilePreview-
|
|
4
|
+
import { _ as ee, k as qe, u as Ge, t as Z, l as K, m as me, n as Je, p as Xe, q as yt, r as ie, v as _e, w as Ve, x as bt, y as Qe, z as _t, A as wt, B as Ze, F as xt, C as St, D as kt, E as Ut, G as Ct, H as Ft, I as Lt } from "./FilePreview-BnLZxfVx.js";
|
|
5
|
+
import { i as fl, J as hl, j as gl, c as ml, K as vl, L as yl, M as bl, g as _l, N as wl, O as xl, b as Sl, P as kl, Q as Ul, R as Cl, S as Fl, o as Ll, T as Nl, a as Al, s as Rl, U as $l } from "./FilePreview-BnLZxfVx.js";
|
|
6
6
|
import { resolveComponent as N, openBlock as d, createElementBlock as m, createElementVNode as b, toDisplayString as T, createCommentVNode as V, createTextVNode as q, Fragment as Q, renderList as ne, normalizeStyle as de, normalizeClass as j, createVNode as S, withCtx as F, withModifiers as we, withDirectives as oe, vShow as ue, createBlock as B, mergeProps as Ne, computed as xe, ref as O, watch as le, onMounted as Se, reactive as Ie, nextTick as J, onBeforeUnmount as Re, withKeys as Oe, unref as ce, renderSlot as ae, createSlots as Nt } from "vue";
|
|
7
7
|
let De = 0;
|
|
8
8
|
function et() {
|
|
@@ -162,11 +162,11 @@ const Mt = {
|
|
|
162
162
|
);
|
|
163
163
|
if (e.length)
|
|
164
164
|
try {
|
|
165
|
-
const t = e.map((a) =>
|
|
165
|
+
const t = e.map((a) => me(a.url)).filter(Boolean);
|
|
166
166
|
if (!t.length) return;
|
|
167
167
|
const n = await Je({ keys: t.slice(0, 50) }), l = Array.isArray(n == null ? void 0 : n.items) ? n.items : [], r = Object.fromEntries(l.map((a) => [a.key, a.url]));
|
|
168
168
|
e.forEach((a) => {
|
|
169
|
-
const u =
|
|
169
|
+
const u = me(a.url);
|
|
170
170
|
r[u] && (a.previewUrl = r[u]);
|
|
171
171
|
});
|
|
172
172
|
} catch (t) {
|
|
@@ -564,7 +564,7 @@ function Ae(e = "") {
|
|
|
564
564
|
}
|
|
565
565
|
function ze(e) {
|
|
566
566
|
return e.map((t) => {
|
|
567
|
-
const n = Z(t) ||
|
|
567
|
+
const n = Z(t) || me(t) || t;
|
|
568
568
|
return {
|
|
569
569
|
uid: $e(),
|
|
570
570
|
name: Ae(t),
|
|
@@ -839,7 +839,7 @@ const ln = {
|
|
|
839
839
|
const t = await yt(
|
|
840
840
|
{
|
|
841
841
|
fileUrl: e.previewSrc || e.url,
|
|
842
|
-
fileKey: e.url,
|
|
842
|
+
fileKey: me(e.url) || e.url,
|
|
843
843
|
fileName: e.name,
|
|
844
844
|
expireAt: e.expireAt,
|
|
845
845
|
previewSrc: e.previewSrc
|
|
@@ -956,7 +956,7 @@ function gn(e, t, n, l, r, a) {
|
|
|
956
956
|
])) : V("", !0)
|
|
957
957
|
]);
|
|
958
958
|
}
|
|
959
|
-
const mn = /* @__PURE__ */ ee(ln, [["render", gn], ["__scopeId", "data-v-
|
|
959
|
+
const mn = /* @__PURE__ */ ee(ln, [["render", gn], ["__scopeId", "data-v-ac95f285"]]), vn = 12e4, je = 5e3, yn = {
|
|
960
960
|
name: "MgOssImg",
|
|
961
961
|
inheritAttrs: !1,
|
|
962
962
|
props: {
|
|
@@ -982,7 +982,7 @@ const mn = /* @__PURE__ */ ee(ln, [["render", gn], ["__scopeId", "data-v-6d01c43
|
|
|
982
982
|
return this.innerSrc ? this.innerSrc : K(this.src) ? this.src : "";
|
|
983
983
|
},
|
|
984
984
|
resolveKey() {
|
|
985
|
-
const e =
|
|
985
|
+
const e = me(this.src) || (K(this.src) ? "" : String(this.src || "").trim());
|
|
986
986
|
return e || String(this.fileKey || "").trim();
|
|
987
987
|
},
|
|
988
988
|
resolveExpireAt() {
|
|
@@ -1259,7 +1259,7 @@ const wn = /* @__PURE__ */ ee(yn, [["render", _n], ["__scopeId", "data-v-5a56c5a
|
|
|
1259
1259
|
function fe(s = {}) {
|
|
1260
1260
|
return String(s.label || s.title || "").trim();
|
|
1261
1261
|
}
|
|
1262
|
-
function
|
|
1262
|
+
function ve(s = {}) {
|
|
1263
1263
|
return String(s.tip || fe(s) || "").trim();
|
|
1264
1264
|
}
|
|
1265
1265
|
function g(s = "") {
|
|
@@ -1352,7 +1352,7 @@ const wn = /* @__PURE__ */ ee(yn, [["render", _n], ["__scopeId", "data-v-5a56c5a
|
|
|
1352
1352
|
const f = o.optionsLabel || "label";
|
|
1353
1353
|
return typeof f == "string" ? s[f] : Array.isArray(f) ? `${s[f[0]]}(${s[f[1]]})` : s.label;
|
|
1354
1354
|
}
|
|
1355
|
-
function
|
|
1355
|
+
function ye(s, o) {
|
|
1356
1356
|
return s == null || typeof s != "object" ? s : s[o.optionsValue || "value"];
|
|
1357
1357
|
}
|
|
1358
1358
|
function ke(s) {
|
|
@@ -1417,8 +1417,8 @@ const wn = /* @__PURE__ */ ee(yn, [["render", _n], ["__scopeId", "data-v-5a56c5a
|
|
|
1417
1417
|
f.length > z && (te += k(f, z, R, x));
|
|
1418
1418
|
const he = c.value;
|
|
1419
1419
|
c.value = z;
|
|
1420
|
-
const i = te > 1,
|
|
1421
|
-
P.value = i, i ? L.value ? A.value = null : A.value = _.value : (L.value = !1, A.value = null), W = !1, (
|
|
1420
|
+
const i = te > 1, be = P.value;
|
|
1421
|
+
P.value = i, i ? L.value ? A.value = null : A.value = _.value : (L.value = !1, A.value = null), W = !1, (be !== i || he !== z) && J(() => se());
|
|
1422
1422
|
}
|
|
1423
1423
|
function at() {
|
|
1424
1424
|
const s = C.value;
|
|
@@ -1476,16 +1476,16 @@ const wn = /* @__PURE__ */ ee(yn, [["render", _n], ["__scopeId", "data-v-5a56c5a
|
|
|
1476
1476
|
class: "common-search__fields",
|
|
1477
1477
|
style: de(pe.value)
|
|
1478
1478
|
}, [
|
|
1479
|
-
(d(!0), m(Q, null, ne(e.itemList, (i,
|
|
1480
|
-
key: i.prop || i.start ||
|
|
1479
|
+
(d(!0), m(Q, null, ne(e.itemList, (i, be) => (d(), m(Q, {
|
|
1480
|
+
key: i.prop || i.start || be
|
|
1481
1481
|
}, [
|
|
1482
1482
|
b("div", {
|
|
1483
1483
|
class: j(["common-search__field", [`is-${i.type}`, i.className]]),
|
|
1484
1484
|
style: de(E(i))
|
|
1485
1485
|
}, [
|
|
1486
1486
|
S(te, {
|
|
1487
|
-
content:
|
|
1488
|
-
disabled: !
|
|
1487
|
+
content: ve(i),
|
|
1488
|
+
disabled: !ve(i),
|
|
1489
1489
|
placement: "top",
|
|
1490
1490
|
"show-after": 280
|
|
1491
1491
|
}, {
|
|
@@ -1519,9 +1519,9 @@ const wn = /* @__PURE__ */ ee(yn, [["render", _n], ["__scopeId", "data-v-5a56c5a
|
|
|
1519
1519
|
}, {
|
|
1520
1520
|
default: F(() => [
|
|
1521
1521
|
(d(!0), m(Q, null, ne(i.options || [], (v, Fe) => (d(), B(w, {
|
|
1522
|
-
key: `${
|
|
1522
|
+
key: `${ye(v, i)}-${Fe}`,
|
|
1523
1523
|
label: Me(v, i),
|
|
1524
|
-
value:
|
|
1524
|
+
value: ye(v, i),
|
|
1525
1525
|
disabled: typeof v == "object" && (v == null ? void 0 : v.disabled)
|
|
1526
1526
|
}, null, 8, ["label", "value", "disabled"]))), 128))
|
|
1527
1527
|
]),
|
|
@@ -1547,9 +1547,9 @@ const wn = /* @__PURE__ */ ee(yn, [["render", _n], ["__scopeId", "data-v-5a56c5a
|
|
|
1547
1547
|
}, {
|
|
1548
1548
|
default: F(() => [
|
|
1549
1549
|
(d(!0), m(Q, null, ne(a[i.prop] || i.options || [], (v, Fe) => (d(), B(w, {
|
|
1550
|
-
key: `${
|
|
1550
|
+
key: `${ye(v, i)}-${Fe}`,
|
|
1551
1551
|
label: Me(v, i),
|
|
1552
|
-
value:
|
|
1552
|
+
value: ye(v, i),
|
|
1553
1553
|
disabled: typeof v == "object" && (v == null ? void 0 : v.disabled)
|
|
1554
1554
|
}, null, 8, ["label", "value", "disabled"]))), 128))
|
|
1555
1555
|
]),
|
|
@@ -1630,7 +1630,7 @@ const wn = /* @__PURE__ */ ee(yn, [["render", _n], ["__scopeId", "data-v-5a56c5a
|
|
|
1630
1630
|
_: 2
|
|
1631
1631
|
}, 1032, ["content", "disabled"])
|
|
1632
1632
|
], 6),
|
|
1633
|
-
X(
|
|
1633
|
+
X(be) ? (d(), m("div", Ln, [
|
|
1634
1634
|
b("div", Nn, [
|
|
1635
1635
|
ae(s.$slots, "actions", {
|
|
1636
1636
|
search: Y,
|
|
@@ -1893,11 +1893,11 @@ const nt = /* @__PURE__ */ ee($n, [["render", On], ["__scopeId", "data-v-ef86ea5
|
|
|
1893
1893
|
var g, y;
|
|
1894
1894
|
(y = (g = a.value) == null ? void 0 : g.clearSelection) == null || y.call(g);
|
|
1895
1895
|
}
|
|
1896
|
-
function
|
|
1896
|
+
function ve(g, y) {
|
|
1897
1897
|
var M, I;
|
|
1898
1898
|
(I = (M = a.value) == null ? void 0 : M.toggleRowSelection) == null || I.call(M, g, y);
|
|
1899
1899
|
}
|
|
1900
|
-
return t({ clearSelection: fe, toggleRowSelection:
|
|
1900
|
+
return t({ clearSelection: fe, toggleRowSelection: ve }), Se(() => {
|
|
1901
1901
|
!l.fillHeight || !u.value || (p(), h = new ResizeObserver(() => {
|
|
1902
1902
|
requestAnimationFrame(p);
|
|
1903
1903
|
}), h.observe(u.value));
|
|
@@ -2175,7 +2175,7 @@ export {
|
|
|
2175
2175
|
Ut as createRequest,
|
|
2176
2176
|
bl as createService,
|
|
2177
2177
|
cl as default,
|
|
2178
|
-
|
|
2178
|
+
me as extractObjectKey,
|
|
2179
2179
|
_l as getApi,
|
|
2180
2180
|
wl as getOssSts,
|
|
2181
2181
|
xl as getPermissionGetter,
|
package/dist/style.css
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
*
|
|
8
8
|
* Date: 2024-04-21T07:43:02.731Z
|
|
9
|
-
*/.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media(min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media(min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media(min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.file-input[data-v-80375d98]{display:none}.upload-image-cropper[data-v-80375d98]{--mg-primary: var(--el-color-primary, var(--brand-primary, #ff5722));--mg-primary-soft: var(--el-color-primary-light-9, #fff7ec);--mg-primary-mid: var(--el-color-primary-light-5, #ffc570);--mg-border: var(--el-border-color, var(--el-border-color, #e0e8e0));--mg-text: var(--brand-text-secondary, #8a9a8a);--mg-danger: var(--el-color-danger, #f56c6c);--mg-radius: 10px}.upload-image-cropper .grey-tips[data-v-80375d98]{margin:0 0 10px;color:var(--mg-text);font-size:12px;line-height:18px}.upload-image-cropper .list-box[data-v-80375d98]{display:flex;flex-wrap:wrap;gap:10px}.upload-image-cropper .image-box[data-v-80375d98]{position:relative;box-sizing:border-box;width:59px;height:59px;overflow:hidden;border-radius:var(--mg-radius);background:#fff}.upload-image-cropper .image-box .img[data-v-80375d98]{width:100%;height:100%;display:block;border:1px solid var(--mg-border);border-radius:var(--mg-radius)}.upload-image-cropper .image-box.is-fail .img[data-v-80375d98]{border-color:var(--mg-danger)}.upload-image-cropper .upload-btn[data-v-80375d98]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--mg-text);font-size:11px;line-height:1.2;border:1px dashed var(--mg-border);border-radius:var(--mg-radius);background:linear-gradient(180deg,#fff,#fafbf8);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.upload-image-cropper .upload-btn .icon[data-v-80375d98]{color:var(--mg-text);transition:color .2s ease,transform .2s ease}.upload-image-cropper .upload-btn[data-v-80375d98]:hover{color:var(--mg-primary);border-color:var(--mg-primary-mid);background:var(--mg-primary-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--mg-primary-mid) 28%,transparent)}.upload-image-cropper .upload-btn:hover .icon[data-v-80375d98]{color:var(--mg-primary);transform:scale(1.06)}.upload-image-cropper .status-mask[data-v-80375d98]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:var(--mg-radius)}.upload-image-cropper .status-mask.is-uploading[data-v-80375d98]{background:#1b1f1b73}.upload-image-cropper .progress-wrap[data-v-80375d98]{position:relative;width:30px;height:30px}.upload-image-cropper .percent-text[data-v-80375d98]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;line-height:1;pointer-events:none}.upload-image-cropper .status-mask.is-fail[data-v-80375d98]{background:#f56c6cb8;color:#fff}.upload-image-cropper .status-mask.is-fail .fail-icon[data-v-80375d98]{color:#fff}.upload-image-cropper .status-mask.is-fail .fail-text[data-v-80375d98]{font-size:11px;line-height:1}.upload-image-cropper .status-mask.is-fail .remove-icon[data-v-80375d98]{position:absolute;top:4px;right:4px;cursor:pointer}.upload-image-cropper .status-mask.is-success[data-v-80375d98]{background:#1b1f1b7a;opacity:0;cursor:pointer;transition:opacity .2s ease}.upload-image-cropper .image-box:hover .status-mask.is-success[data-v-80375d98]{opacity:1}.upload-image-cropper .status-mask.is-success .remove-icon[data-v-80375d98]{color:#fff}.upload-image-cropper .btn-box[data-v-80375d98]{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px;width:100%}.upload-image-cropper .cropper-box[data-v-80375d98]{display:flex;justify-content:center;padding:8px 0;background:var(--brand-bg-page, #f2f7f2);border-radius:var(--mg-radius)}.upload-image-cropper .cropper-img[data-v-80375d98]{width:350px;height:350px;object-fit:contain}.mg-image-upload-dialog .cropper-box{display:flex;align-items:center;justify-content:center;min-height:366px;padding:8px 0;background:var(--brand-bg-page, #f2f7f2);border-radius:var(--mg-radius, 8px)}.mg-image-upload-dialog .cropper-placeholder{color:#86909c;font-size:14px;line-height:1.5;-webkit-user-select:none;user-select:none}.mg-image-upload-dialog .cropper-img{display:block;width:350px;height:350px;max-width:100%;object-fit:contain}.mg-image-upload-dialog .btn-box{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;width:100%}.mg-image-upload-dialog .btn-box--rotate{justify-content:center;margin-bottom:8px}.mg-image-upload-dialog .el-dialog__footer{padding-top:12px}.file-input[data-v-6d01c438]{display:none}.mg-file-upload[data-v-6d01c438]{display:flex;flex-direction:column;align-items:flex-start;width:100%;max-width:100%}.mg-file-upload[data-v-6d01c438] .el-upload__tip{margin-top:6px;margin-bottom:0;font-size:12px;line-height:1.5;color:var(--el-text-color-secondary, #909399)}.mg-file-list[data-v-6d01c438]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;width:100%;margin:8px 0 0;padding:0;list-style:none}.mg-file-item[data-v-6d01c438]{position:relative;flex:0 1 auto;width:auto;max-width:220px;margin:0;padding:2px 8px;border-radius:4px;background:#f5f7f5;border:1px solid #c5cbc5;box-sizing:border-box;overflow:hidden}.mg-file-item__row[data-v-6d01c438]{display:flex;align-items:center;gap:6px;min-width:0;min-height:22px}.mg-file-item__name[data-v-6d01c438]{display:inline-flex;align-items:center;gap:4px;flex:1;min-width:0;color:var(--el-text-color-regular, #606266);text-decoration:none;line-height:18px}.mg-file-item.is-success .mg-file-item__name[data-v-6d01c438]:hover{color:var(--el-color-primary);cursor:pointer}.mg-file-item__doc[data-v-6d01c438]{flex-shrink:0;font-size:14px;color:var(--el-text-color-secondary, #909399)}.mg-file-item__text[data-v-6d01c438]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.mg-file-item__percent[data-v-6d01c438]{flex-shrink:0;font-size:12px;line-height:18px;color:var(--el-color-primary);font-variant-numeric:tabular-nums}.mg-file-item__status[data-v-6d01c438]{flex-shrink:0;font-size:14px}.mg-file-item__status.is-success[data-v-6d01c438]{color:var(--el-color-success, #67c23a)}.mg-file-item__status.is-fail[data-v-6d01c438]{color:var(--el-color-danger, #f56c6c)}.mg-file-item__remove[data-v-6d01c438]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0;padding:0;border:none;border-radius:4px;background:transparent;color:var(--el-text-color-secondary, #909399);cursor:pointer}.mg-file-item__remove[data-v-6d01c438]:hover{color:var(--el-color-danger, #f56c6c);background:#f56c6c1a}.mg-file-item__progress[data-v-6d01c438]{position:absolute;left:0;right:0;bottom:0;height:2px;margin:0;background:#0000000f;pointer-events:none;z-index:1}.mg-file-item__progress-inner[data-v-6d01c438]{height:100%;background:var(--el-color-primary, #ff5722);transition:width .2s ease}.mg-oss-img[data-v-5a56c5a2]{display:block;max-width:100%;object-fit:cover}.date-range-picker[data-v-0dfa12ab]{width:100%}.common-search[data-v-006c1ace]{width:100%;background:transparent;border:none;border-radius:0;padding:0;box-sizing:border-box;margin-bottom:12px}.common-search__body[data-v-006c1ace]{width:100%}.common-search__fields[data-v-006c1ace]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;width:100%;min-width:0;transition:max-height .36s cubic-bezier(.22,1,.36,1);will-change:max-height}.common-search__field[data-v-006c1ace]{width:180px}.common-search__field.is-daterange[data-v-006c1ace],.common-search__field.is-dateRange[data-v-006c1ace],.common-search__field.is-number-range[data-v-006c1ace],.common-search__field.is-numberRange[data-v-006c1ace]{width:360px}.common-search__control-wrap[data-v-006c1ace]{width:100%;min-width:0}.common-search__control[data-v-006c1ace]{width:100%}.common-search__range[data-v-006c1ace]{display:flex;align-items:center;gap:8px;width:100%}.common-search__range[data-v-006c1ace] .el-date-editor,.common-search__range[data-v-006c1ace] .date-range-picker{width:100%;margin:0!important}.common-search__range--number[data-v-006c1ace]{gap:0;height:var(--el-component-size, 32px);padding:0 8px;border:1px solid var(--el-input-border-color, var(--el-border-color));border-radius:var(--el-border-radius-base);background:var(--el-fill-color-blank, #fff);box-sizing:border-box;box-shadow:none;transition:border-color .2s ease}.common-search__range--number[data-v-006c1ace]:hover{border-color:var(--el-input-hover-border-color, var(--el-border-color-hover));box-shadow:none}.common-search__range--number[data-v-006c1ace]:focus-within{border-color:var(--el-input-focus-border-color, var(--brand-secondary));box-shadow:none}.common-search__range--number .common-search__range-input[data-v-006c1ace]{flex:1;min-width:0}.common-search__range--number .common-search__range-input[data-v-006c1ace] .el-input__wrapper{padding:0 4px;box-shadow:none!important;background:transparent}.common-search__range--number .common-search__range-input[data-v-006c1ace] .el-input__inner{text-align:left}.common-search__range--number .common-search__range-sep[data-v-006c1ace]{padding:0 6px;color:var(--el-text-color-regular, #606266)}.common-search__range--number .common-search__range-clear[data-v-006c1ace]{flex-shrink:0;margin-left:4px;font-size:14px;color:var(--el-text-color-placeholder, #a8abb2);cursor:pointer;transition:color .15s}.common-search__range--number .common-search__range-clear[data-v-006c1ace]:hover{color:var(--el-text-color-secondary, #909399)}.common-search__range-sep[data-v-006c1ace]{flex-shrink:0;color:#86909c;font-size:13px}.common-search__range-input[data-v-006c1ace],.common-search__range-date[data-v-006c1ace]{flex:1;width:100%;min-width:0}.common-search__range-input[data-v-006c1ace] .el-input__wrapper,.common-search__range-date[data-v-006c1ace] .el-input__wrapper{width:100%}.common-search__actions[data-v-006c1ace]{display:inline-flex;align-items:center;flex-shrink:0;gap:10px}.common-search__actions.is-inline[data-v-006c1ace]{display:flex;align-items:center;align-self:flex-start;flex-shrink:0;margin-left:auto;height:var(--el-component-size, 32px)}.common-search__actions-main[data-v-006c1ace]{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.common-search__reset[data-v-006c1ace],.common-search__submit[data-v-006c1ace]{min-width:72px;height:32px;margin:0!important}.tableOverflowHid .labeltext_gray[data-v-ef86ea54]{color:#94979a}.tableOverflowHid .text_nomal[data-v-ef86ea54]{color:#606266}.tableOverflowHid .labeltext_blackbold[data-v-ef86ea54]{color:#162a48;font-weight:700}.tableOverflowHid .value[data-v-ef86ea54]{font-size:12px}.tableOverflowHid .valuetext_bold[data-v-ef86ea54]{color:#162a48;font-weight:700}.tableOverflowHid .valuetext_blackbold[data-v-ef86ea54]{color:#162a48;font-weight:700;font-size:13px}.tableOverflowHid .valuetext_black[data-v-ef86ea54]{color:#090c21;font-size:13px}.tableOverflowHid .valuetext_red[data-v-ef86ea54]{color:#e02e28;font-size:13px}.common-table[data-v-dd7169fd]{width:100%}.common-table[data-v-dd7169fd] .el-table{border:1px solid var(--el-border-color, #e0e8e0);border-radius:8px}.common-table.is-fill-height[data-v-dd7169fd]{display:flex;flex-direction:column;height:100%;min-height:0}.common-table__main[data-v-dd7169fd]{min-width:0}.common-table.is-fill-height .common-table__main[data-v-dd7169fd]{flex:1;min-height:0;overflow:clip;position:relative;z-index:0}.common-table.is-fill-height .common-table__main[data-v-dd7169fd] .el-table__column-resize-proxy,.common-table.is-fill-height .common-table__main[data-v-dd7169fd] .el-table__border-right-patch,.common-table.is-fill-height .common-table__main[data-v-dd7169fd] .el-table__border-bottom-patch,.common-table.is-fill-height .common-table__main[data-v-dd7169fd] .el-table__fixed-right-patch{pointer-events:none!important}.common-pointer-table[data-v-dd7169fd] .el-table__body tr{cursor:pointer}.bold-text[data-v-dd7169fd]{font-weight:600;color:#1f2329}.price-text[data-v-dd7169fd]{color:var(--brand-primary, var(--el-color-primary));font-variant-numeric:tabular-nums}.rate-text[data-v-dd7169fd]{font-variant-numeric:tabular-nums}.whether-yes[data-v-dd7169fd]{color:#2e7d32}.whether-no[data-v-dd7169fd]{color:#909399}.common-table__pagination[data-v-dd7169fd]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;flex-shrink:0;margin-top:0;padding:12px 0 0;position:relative;z-index:100;isolation:isolate;background:var(--brand-bg-card, #fff)}.common-table__pagination-left[data-v-dd7169fd]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0;flex:0 1 auto}.common-table__pagination-left[data-v-dd7169fd]:not(:has(*)){display:none}.common-table__pagination-right[data-v-dd7169fd]{flex:0 0 auto;margin-left:auto;position:relative;z-index:1;pointer-events:auto}.common-table.is-fill-height .common-table__pagination[data-v-dd7169fd]{z-index:100}[data-v-dd7169fd] .el-table__header th{height:44px}[data-v-dd7169fd] .el-table__body td{height:52px;color:#4e5969;font-size:13px}.segmented[data-v-b7b0abe9]{position:relative;display:inline-flex;align-items:stretch;align-self:flex-start;box-sizing:border-box;height:var(--el-component-size, 32px);width:fit-content;max-width:100%;gap:2px;padding:3px;border-radius:8px;background:var(--brand-secondary, #c8e6c9)}.segmented__thumb[data-v-b7b0abe9]{position:absolute;top:3px;left:0;height:calc(100% - 6px);border-radius:6px;background:#fff;box-shadow:0 1px 3px #1b1f1b14;pointer-events:none;z-index:0;opacity:0}.segmented__thumb.is-ready[data-v-b7b0abe9]{opacity:1;transition:transform .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .15s ease}.segmented__item[data-v-b7b0abe9]{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;margin:0;padding:0 16px;border:none;border-radius:6px;background:transparent;color:var(--brand-text-regular, #4a554a);font-size:var(--el-font-size-base, 13px);line-height:1;white-space:nowrap;cursor:pointer;transition:color .2s ease}.segmented__item[data-v-b7b0abe9]:hover:not(:disabled):not(.is-active){color:var(--brand-text-primary, #1b1f1b)}.segmented__item.is-active[data-v-b7b0abe9]{color:var(--brand-text-primary, #1b1f1b);font-weight:500}.segmented__item[data-v-b7b0abe9]:disabled{cursor:not-allowed;opacity:.5}.segmented__label[data-v-b7b0abe9]{line-height:1}.segmented__badge[data-v-b7b0abe9]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;border-radius:999px;background:#1b1f1b14;color:var(--brand-text-secondary, #8a9a8a);font-size:11px;font-weight:500;line-height:1;box-sizing:border-box}.is-active .segmented__badge[data-v-b7b0abe9]{background:#2e7d321a;color:var(--brand-text-primary, #1b1f1b)}:root{--brand-primary: #ff5722;--brand-gradient-start: #ffb74d;--brand-gradient: linear-gradient(90deg, #ffb74d, #ff5722);--brand-primary-hover: #e64a19;--brand-secondary: #c8e6c9;--brand-secondary-soft: #81c784;--brand-secondary-light: #a5d6a7;--brand-secondary-pale: #fafbf8;--brand-text-primary: #1b1f1b;--brand-text-regular: #4a554a;--table-header-bg: #f5f7f5;--brand-text-secondary: #8a9a8a;--brand-bg-page: #f2f7f2;--brand-bg-page-gradient: radial-gradient(ellipse 70% 45% at 0% 0%, rgba(255, 183, 77, .16), transparent 55%), radial-gradient(ellipse 60% 40% at 100% 10%, rgba(102, 187, 106, .12), transparent 50%), linear-gradient(165deg, #eef4ef 0%, #f5f8f5 40%, #ebf1eb 100%);--brand-bg-card: #ffffff;--brand-disabled: #bdbdbd;--el-color-primary: #ff5722;--el-color-primary-dark-2: #e64a19;--el-color-primary-light-1: #ff6738;--el-color-primary-light-2: #ff784e;--el-color-primary-light-3: #ff8863;--el-color-primary-light-4: #ffb74d;--el-color-primary-light-5: #ffc570;--el-color-primary-light-6: #ffd393;--el-color-primary-light-7: #ffe1b6;--el-color-primary-light-8: #ffefd9;--el-color-primary-light-9: #fff7ec;--el-color-success: #4caf50;--el-color-success-dark-2: #3d8c40;--el-color-success-light-3: #81c784;--el-color-success-light-5: #a5d6a7;--el-color-success-light-7: #c8e6c9;--el-color-success-light-8: #e8f5e9;--el-color-success-light-9: #f1f8f2;--el-color-danger: #f5222d;--el-color-danger-dark-2: #cf1322;--el-color-danger-light-3: #ff7875;--el-color-danger-light-5: #ffa39e;--el-color-danger-light-7: #ffccc7;--el-color-danger-light-8: #fff1f0;--el-color-danger-light-9: #fff2f0;--el-border-color: #e0e8e0;--el-border-color-light: #e8eee8;--el-border-color-lighter: #eef3ee;--el-border-color-extra-light: #f5f8f5;--el-border-color-dark: #c5d0c5;--el-border-color-darker: #a8b5a8;--el-input-focus-border-color: var(--el-color-primary-light-5);--el-component-size-large: 36px;--el-component-size: 32px;--el-component-size-small: 28px;--el-font-size-base: 13px}.mb10{margin-bottom:10px!important}.mt10{margin-top:10px!important}.ml10{margin-left:10px!important}.mr10{margin-right:10px!important}.mb15{margin-bottom:15px!important}.mt15{margin-top:15px!important}.ml15{margin-left:15px!important}.mr15{margin-right:15px!important}.mb20{margin-bottom:20px!important}.mt20{margin-top:20px!important}.ml20{margin-left:20px!important}.mr20{margin-right:20px!important}.flex-space-between,.flex-align-center,.flex-wrap,.flex{display:flex}.flex{justify-content:space-between;align-items:center}.flex-wrap{flex-wrap:wrap}.flex-align-center{align-items:center}.flex-space-between{justify-content:space-between}.cmtag{display:inline-block;box-sizing:border-box;padding:2px 6px;margin:0 4px 4px 0;font-size:12px;line-height:18px;border-radius:2px;font-weight:400;vertical-align:middle;white-space:nowrap}.mr-cm-tag{margin:0 4px 4px 0}.blue-cmtag{color:#33a0fe;border:1px solid #cee8ff;background:#ebf6fd}.blue-cmtag-outline{color:#33a0fe;border:1px solid #33a0fe;background:#fff}.blue-cmtag-solid{color:#fff;border:1px solid #33a0fe;background:#33a0fe}.blue-cmtag-soft{color:#33a0fe;border:1px solid transparent;background:#ebf6fd}.blue-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#33a0fe;border:none;background:transparent;border-radius:0}.blue-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#33a0fe;flex-shrink:0}.blue-cmtag-pill{color:#fff;border:1px solid #33a0fe;background:#33a0fe;border-radius:999px;padding:2px 10px}.green-cmtag{color:#65b565;border:1px solid #cee8c1;background:#f0f9eb}.green-cmtag-outline{color:#65b565;border:1px solid #65b565;background:#fff}.green-cmtag-solid{color:#fff;border:1px solid #65b565;background:#65b565}.green-cmtag-soft{color:#65b565;border:1px solid transparent;background:#f0f9eb}.green-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#65b565;border:none;background:transparent;border-radius:0}.green-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#65b565;flex-shrink:0}.green-cmtag-pill{color:#fff;border:1px solid #65b565;background:#65b565;border-radius:999px;padding:2px 10px}.grey-cmtag{color:#6b7280;border:1px solid #d8dbe0;background:#f5f6f7}.grey-cmtag-outline{color:#6b7280;border:1px solid #6b7280;background:#fff}.grey-cmtag-solid{color:#fff;border:1px solid #6b7280;background:#6b7280}.grey-cmtag-soft{color:#6b7280;border:1px solid transparent;background:#f5f6f7}.grey-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#6b7280;border:none;background:transparent;border-radius:0}.grey-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#6b7280;flex-shrink:0}.grey-cmtag-pill{color:#fff;border:1px solid #6b7280;background:#6b7280;border-radius:999px;padding:2px 10px}.red-cmtag{color:#db4141;border:1px solid #fddbe1;background:#fff1f5}.red-cmtag-outline{color:#db4141;border:1px solid #db4141;background:#fff}.red-cmtag-solid{color:#fff;border:1px solid #db4141;background:#db4141}.red-cmtag-soft{color:#db4141;border:1px solid transparent;background:#fff1f5}.red-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#db4141;border:none;background:transparent;border-radius:0}.red-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#db4141;flex-shrink:0}.red-cmtag-pill{color:#fff;border:1px solid #db4141;background:#db4141;border-radius:999px;padding:2px 10px}.orange-cmtag{color:#e6a23c;border:1px solid #fce3c2;background:#fff7ea}.orange-cmtag-outline{color:#e6a23c;border:1px solid #e6a23c;background:#fff}.orange-cmtag-solid{color:#fff;border:1px solid #e6a23c;background:#e6a23c}.orange-cmtag-soft{color:#e6a23c;border:1px solid transparent;background:#fff7ea}.orange-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#e6a23c;border:none;background:transparent;border-radius:0}.orange-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#e6a23c;flex-shrink:0}.orange-cmtag-pill{color:#fff;border:1px solid #e6a23c;background:#e6a23c;border-radius:999px;padding:2px 10px}.purple-cmtag{color:#4d58e6;border:1px solid #ccd1f5;background:#eff3ff}.purple-cmtag-outline{color:#4d58e6;border:1px solid #4d58e6;background:#fff}.purple-cmtag-solid{color:#fff;border:1px solid #4d58e6;background:#4d58e6}.purple-cmtag-soft{color:#4d58e6;border:1px solid transparent;background:#eff3ff}.purple-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#4d58e6;border:none;background:transparent;border-radius:0}.purple-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#4d58e6;flex-shrink:0}.purple-cmtag-pill{color:#fff;border:1px solid #4d58e6;background:#4d58e6;border-radius:999px;padding:2px 10px}.page-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-bottom:22px;gap:16px}.page-header__left{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;flex:1;min-width:0;gap:12px 16px}.page-header__title{display:inline-flex;align-items:center;margin:0;font-size:20px;font-weight:700;line-height:1.15;letter-spacing:.06em;color:var(--brand-text-primary);white-space:nowrap}.page-header__right{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.page-header__right .page-back{margin-left:0}.page-header__actions{display:inline-flex;align-items:center;gap:10px}.page-back{flex-shrink:0;margin-left:auto;height:36px!important;padding:0 14px 0 8px!important;border:1px solid #fff!important;border-radius:999px!important;background:#ffffffe6!important;color:var(--brand-text-regular)!important;box-shadow:0 6px 16px #1b1f1b0f;font-weight:600;letter-spacing:.06em}.page-back:hover,.page-back:focus{color:var(--brand-primary)!important;border-color:#ff57224d!important;background:#fff!important;box-shadow:0 8px 20px #ff57221f}.page-back:hover .page-back__icon,.page-back:focus .page-back__icon{background:linear-gradient(135deg,var(--brand-gradient-start),var(--brand-primary));color:#fff}.page-back__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:6px;border-radius:50%;background:#1b1f1b0f;transition:background .2s,color .2s}.page-card{box-sizing:border-box;min-height:320px;padding:24px;border-radius:16px;background:var(--brand-bg-card);box-shadow:0 1px 2px #1b1f1b08,0 12px 32px #1b1f1b0d}.page-card:has(>.mg-page-tabs){padding-top:0}.mg-page-tabs{flex-shrink:0;margin:0 -24px 16px;padding:2px 24px 0;background:linear-gradient(180deg,#f7f8f4,#fff 72%)}.mg-page-tabs .el-tabs__item:nth-child(1){padding-left:0!important}.mg-page-tabs .el-tabs__content{display:none}.page-shell{box-sizing:border-box;height:calc(100vh - 112px);overflow-x:hidden;overflow-y:auto}.page-shell--fill{display:flex;flex-direction:column;min-height:0;overflow:hidden}.page-scroll-x{overflow-x:auto;overflow-y:hidden}@media(max-width:768px){.page-header__title{font-size:22px}}.mg-form-drawer.el-drawer{overflow:hidden}.mg-form-drawer.el-drawer .el-drawer__header{margin-bottom:0;padding:16px 20px;border-bottom:1px solid var(--el-border-color, #e0e8e0);flex-shrink:0}.mg-form-drawer.el-drawer .el-drawer__title{font-size:16px;font-weight:600;color:var(--brand-text-primary, #1b1f1b)}.mg-form-drawer.el-drawer .el-drawer__body{flex:1;min-height:0;overflow:auto;padding:16px 20px}.mg-form-drawer.el-drawer .el-drawer__footer{position:relative;z-index:2;flex-shrink:0;padding:12px 20px;border-top:1px solid var(--el-border-color, #e0e8e0);background:var(--el-bg-color, #fff)}.mg-form-drawer__body{padding:0 4px 8px}.mg-form-drawer__footer{display:flex;justify-content:flex-end;gap:10px}.detail-section{margin-bottom:20px}.detail-section__title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:600;color:var(--brand-text-primary, #1b1f1b);line-height:1.4}.detail-section__title:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--el-color-primary);flex-shrink:0}.detail-panel{padding:4px 16px;border-radius:10px;background:#f5f7f5;border:1px solid #e8ece8}.detail-row{display:flex;align-items:flex-start;gap:16px;padding:8px 0;font-size:14px;line-height:1.5}.detail-row--center{align-items:center}.detail-row__label{flex-shrink:0;min-width:120px;color:var(--el-text-color-secondary, #909399)}.detail-row__value{flex:1;min-width:0;color:var(--brand-text-primary, #1b1f1b);word-break:break-all}.detail-link{color:var(--el-color-primary);text-decoration:none}.detail-link:hover{text-decoration:underline}.el-table{color:var(--el-text-color-primary)!important;font-size:var(--el-font-size-base)!important;--el-table-row-hover-bg-color: var(--brand-secondary-pale) !important}.el-table .cell{line-height:18px!important}.el-table--border{--el-table-border-color: var(--el-border-color)}.mg-table-header{--el-table-header-bg-color: var(--table-header-bg);--el-table-header-text-color: var(--brand-text-regular)}.mg-table-header th.el-table__cell{background-color:var(--table-header-bg);color:var(--brand-text-regular)}.el-button{border-radius:6px!important;height:var(--el-component-size)!important;font-size:var(--el-font-size-base)!important}.el-button.is-text.el-button--default{padding:5px 0!important;height:auto!important}.el-button.is-text:hover,.el-button.is-text:focus,.el-button.is-link:hover,.el-button.is-link:focus{background:transparent!important;background-color:transparent!important}.el-button--small{height:var(--el-component-size-small)!important}.el-button--large{height:var(--el-component-size-large)!important}.el-button+.el-tooltip{margin-left:10px}.el-button--primary{border:none!important;color:var(--el-color-white, #fff)!important;background:var(--brand-gradient)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--el-color-primary) 35%,transparent);transition:filter .2s,box-shadow .2s,transform .15s}.el-button--primary:hover,.el-button--primary:focus{color:var(--el-color-white, #fff)!important;background:var(--brand-gradient)!important;filter:brightness(1.06);box-shadow:0 6px 18px color-mix(in srgb,var(--el-color-primary) 45%,transparent)}.el-button--primary:active{color:var(--el-color-white, #fff)!important;background:var(--brand-gradient)!important;filter:brightness(.96);box-shadow:0 2px 8px color-mix(in srgb,var(--el-color-primary) 30%,transparent)}.el-button--primary.is-disabled,.el-button--primary.is-disabled:hover,.el-button--primary.is-disabled:focus{color:var(--el-color-white, #fff)!important;background:var(--el-text-color-disabled)!important;filter:none;box-shadow:none;opacity:1}.el-button--primary.is-plain{color:var(--el-color-primary)!important;background:var(--el-color-primary-light-9)!important;border:1px solid var(--el-color-primary)!important;box-shadow:none;filter:none}.el-button--primary.is-plain:hover,.el-button--primary.is-plain:focus{color:var(--el-color-primary)!important;background:var(--el-color-primary-light-8)!important;border-color:var(--el-color-primary)!important;filter:none}.el-button--primary.is-text,.el-button--primary.is-link{color:var(--el-color-primary)!important;background:transparent!important;box-shadow:none;filter:none}.el-button--primary.is-text:hover,.el-button--primary.is-text:focus,.el-button--primary.is-link:hover,.el-button--primary.is-link:focus{color:var(--el-color-primary)!important;background:transparent!important;filter:none}.el-button--danger.is-plain{color:var(--el-color-danger)!important;background:var(--el-color-danger-light-9)!important;border:1px solid var(--el-color-danger-light-5)!important;box-shadow:none}.el-button--danger.is-plain:hover,.el-button--danger.is-plain:focus{color:var(--el-color-danger)!important;background:var(--el-color-danger-light-8)!important;border-color:var(--el-color-danger)!important}.el-button--danger.is-text,.el-button--danger.is-link{color:var(--el-color-danger)!important;background:transparent!important;font-weight:600}.el-button--danger.is-text:hover,.el-button--danger.is-text:focus,.el-button--danger.is-link:hover,.el-button--danger.is-link:focus{background:transparent!important}.el-button--success{--el-button-bg-color: var(--el-color-success);--el-button-border-color: var(--el-color-success);--el-button-hover-bg-color: var(--el-color-success-dark-2);--el-button-hover-border-color: var(--el-color-success-dark-2)}.el-input,.el-input__inner,.el-range-input,.el-select__wrapper,.el-textarea__inner,.el-radio-button__inner{font-size:var(--el-font-size-base)!important}.el-input__wrapper{transition:background-color .2s ease}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-color-primary-light-5) inset!important}.el-textarea__inner{transition:background-color .2s ease}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-color-primary-light-5) inset!important}.el-select__wrapper.is-focused,.el-range-editor.is-active{box-shadow:0 0 0 1px var(--el-color-primary-light-5) inset!important}.el-form-item.is-error .el-input__wrapper,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-select__wrapper{background-color:#fff5f5!important;box-shadow:0 0 0 1px var(--el-color-danger) inset!important}.el-form-item.is-error .el-form-item__error{color:var(--el-color-danger)}.el-input.is-disabled .el-input__wrapper,.el-select.is-disabled .el-select__wrapper{background-color:#f5f5f5!important}.el-alert--info.is-light{background-color:var(--el-fill-color-light)!important;border-color:var(--el-border-color)!important;color:var(--el-text-color-regular)!important}.more-tags-select .el-select__tags-text{display:inline-block;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-tags-select .el-tag__close.el-icon-close{right:-4px!important}.el-select-dropdown__item.is-hovering{background-color:var(--el-color-primary-light-9)!important}.el-tabs__header{margin:0!important}.el-tabs__nav-wrap:after{height:1px;background-color:#e8ece4}.el-tabs__item{height:46px!important;padding:0 20px!important;font-size:14px!important;font-weight:500!important;line-height:46px!important;color:var(--brand-text-regular, #4a554a)!important;transition:color .2s ease}.el-tabs__item:hover{color:var(--brand-text-primary, #1b1f1b)!important}.el-tabs__item.is-active{color:var(--el-color-primary)!important;font-weight:600!important}.el-tabs--border-card{box-shadow:none!important;border-color:var(--el-border-color)}.el-tabs__active-bar{height:3px;border-radius:3px 3px 0 0;background:var(--el-color-primary)!important}.el-dialog{border-radius:16px!important;overflow:hidden;background:var(--el-bg-color)}.el-dialog__title{color:var(--el-text-color-primary)}.el-dialog__headerbtn .el-dialog__close{font-size:21px!important;color:var(--el-text-color-secondary)}.el-dialog__footer{padding-top:20px!important}.el-pagination .el-pagination__sizes .el-select{width:100px}.el-pagination .el-pagination__jump .el-input{width:42px}.el-dialog__body .el-pagination,.bind-pagination .el-pagination,.common-table__pagination .el-pagination{position:relative;z-index:2;pointer-events:auto}.el-dialog__body .el-pagination .btn-next,.el-dialog__body .el-pagination .btn-prev,.common-table__pagination .el-pagination .btn-next,.common-table__pagination .el-pagination .btn-prev{position:relative;z-index:3;pointer-events:auto}.dialog-content{max-height:500px;overflow-y:auto}.el-tree{--el-tree-node-hover-bg-color: transparent;--el-tree-text-color: var(--brand-text-primary);--el-tree-expand-icon-color: var(--brand-text-secondary);background:transparent}.el-tree-node:focus>.el-tree-node__content,.el-tree-node__content:hover,.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tag--success{--el-tag-bg-color: var(--el-color-success-light-9);--el-tag-border-color: var(--el-color-success-light-7);--el-tag-text-color: var(--el-color-success)}.el-image-viewer__canvas img{max-width:100%;max-height:100%;width:auto;height:auto}.el-image-viewer__close{background:var(--el-bg-color)!important;color:var(--el-text-color-regular)!important}
|
|
9
|
+
*/.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media(min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media(min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media(min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.file-input[data-v-80375d98]{display:none}.upload-image-cropper[data-v-80375d98]{--mg-primary: var(--el-color-primary, var(--brand-primary, #ff5722));--mg-primary-soft: var(--el-color-primary-light-9, #fff7ec);--mg-primary-mid: var(--el-color-primary-light-5, #ffc570);--mg-border: var(--el-border-color, var(--el-border-color, #e0e8e0));--mg-text: var(--brand-text-secondary, #8a9a8a);--mg-danger: var(--el-color-danger, #f56c6c);--mg-radius: 10px}.upload-image-cropper .grey-tips[data-v-80375d98]{margin:0 0 10px;color:var(--mg-text);font-size:12px;line-height:18px}.upload-image-cropper .list-box[data-v-80375d98]{display:flex;flex-wrap:wrap;gap:10px}.upload-image-cropper .image-box[data-v-80375d98]{position:relative;box-sizing:border-box;width:59px;height:59px;overflow:hidden;border-radius:var(--mg-radius);background:#fff}.upload-image-cropper .image-box .img[data-v-80375d98]{width:100%;height:100%;display:block;border:1px solid var(--mg-border);border-radius:var(--mg-radius)}.upload-image-cropper .image-box.is-fail .img[data-v-80375d98]{border-color:var(--mg-danger)}.upload-image-cropper .upload-btn[data-v-80375d98]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--mg-text);font-size:11px;line-height:1.2;border:1px dashed var(--mg-border);border-radius:var(--mg-radius);background:linear-gradient(180deg,#fff,#fafbf8);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.upload-image-cropper .upload-btn .icon[data-v-80375d98]{color:var(--mg-text);transition:color .2s ease,transform .2s ease}.upload-image-cropper .upload-btn[data-v-80375d98]:hover{color:var(--mg-primary);border-color:var(--mg-primary-mid);background:var(--mg-primary-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--mg-primary-mid) 28%,transparent)}.upload-image-cropper .upload-btn:hover .icon[data-v-80375d98]{color:var(--mg-primary);transform:scale(1.06)}.upload-image-cropper .status-mask[data-v-80375d98]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:var(--mg-radius)}.upload-image-cropper .status-mask.is-uploading[data-v-80375d98]{background:#1b1f1b73}.upload-image-cropper .progress-wrap[data-v-80375d98]{position:relative;width:30px;height:30px}.upload-image-cropper .percent-text[data-v-80375d98]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;line-height:1;pointer-events:none}.upload-image-cropper .status-mask.is-fail[data-v-80375d98]{background:#f56c6cb8;color:#fff}.upload-image-cropper .status-mask.is-fail .fail-icon[data-v-80375d98]{color:#fff}.upload-image-cropper .status-mask.is-fail .fail-text[data-v-80375d98]{font-size:11px;line-height:1}.upload-image-cropper .status-mask.is-fail .remove-icon[data-v-80375d98]{position:absolute;top:4px;right:4px;cursor:pointer}.upload-image-cropper .status-mask.is-success[data-v-80375d98]{background:#1b1f1b7a;opacity:0;cursor:pointer;transition:opacity .2s ease}.upload-image-cropper .image-box:hover .status-mask.is-success[data-v-80375d98]{opacity:1}.upload-image-cropper .status-mask.is-success .remove-icon[data-v-80375d98]{color:#fff}.upload-image-cropper .btn-box[data-v-80375d98]{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:16px;width:100%}.upload-image-cropper .cropper-box[data-v-80375d98]{display:flex;justify-content:center;padding:8px 0;background:var(--brand-bg-page, #f2f7f2);border-radius:var(--mg-radius)}.upload-image-cropper .cropper-img[data-v-80375d98]{width:350px;height:350px;object-fit:contain}.mg-image-upload-dialog .cropper-box{display:flex;align-items:center;justify-content:center;min-height:366px;padding:8px 0;background:var(--brand-bg-page, #f2f7f2);border-radius:var(--mg-radius, 8px)}.mg-image-upload-dialog .cropper-placeholder{color:#86909c;font-size:14px;line-height:1.5;-webkit-user-select:none;user-select:none}.mg-image-upload-dialog .cropper-img{display:block;width:350px;height:350px;max-width:100%;object-fit:contain}.mg-image-upload-dialog .btn-box{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;width:100%}.mg-image-upload-dialog .btn-box--rotate{justify-content:center;margin-bottom:8px}.mg-image-upload-dialog .el-dialog__footer{padding-top:12px}.file-input[data-v-ac95f285]{display:none}.mg-file-upload[data-v-ac95f285]{display:flex;flex-direction:column;align-items:flex-start;width:100%;max-width:100%}.mg-file-upload[data-v-ac95f285] .el-upload__tip{margin-top:6px;margin-bottom:0;font-size:12px;line-height:1.5;color:var(--el-text-color-secondary, #909399)}.mg-file-list[data-v-ac95f285]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;width:100%;margin:8px 0 0;padding:0;list-style:none}.mg-file-item[data-v-ac95f285]{position:relative;flex:0 1 auto;width:auto;max-width:220px;margin:0;padding:2px 8px;border-radius:4px;background:#f5f7f5;border:1px solid #c5cbc5;box-sizing:border-box;overflow:hidden}.mg-file-item__row[data-v-ac95f285]{display:flex;align-items:center;gap:6px;min-width:0;min-height:22px}.mg-file-item__name[data-v-ac95f285]{display:inline-flex;align-items:center;gap:4px;flex:1;min-width:0;color:var(--el-text-color-regular, #606266);text-decoration:none;line-height:18px}.mg-file-item.is-success .mg-file-item__name[data-v-ac95f285]:hover{color:var(--el-color-primary);cursor:pointer}.mg-file-item__doc[data-v-ac95f285]{flex-shrink:0;font-size:14px;color:var(--el-text-color-secondary, #909399)}.mg-file-item__text[data-v-ac95f285]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.mg-file-item__percent[data-v-ac95f285]{flex-shrink:0;font-size:12px;line-height:18px;color:var(--el-color-primary);font-variant-numeric:tabular-nums}.mg-file-item__status[data-v-ac95f285]{flex-shrink:0;font-size:14px}.mg-file-item__status.is-success[data-v-ac95f285]{color:var(--el-color-success, #67c23a)}.mg-file-item__status.is-fail[data-v-ac95f285]{color:var(--el-color-danger, #f56c6c)}.mg-file-item__remove[data-v-ac95f285]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0;padding:0;border:none;border-radius:4px;background:transparent;color:var(--el-text-color-secondary, #909399);cursor:pointer}.mg-file-item__remove[data-v-ac95f285]:hover{color:var(--el-color-danger, #f56c6c);background:#f56c6c1a}.mg-file-item__progress[data-v-ac95f285]{position:absolute;left:0;right:0;bottom:0;height:2px;margin:0;background:#0000000f;pointer-events:none;z-index:1}.mg-file-item__progress-inner[data-v-ac95f285]{height:100%;background:var(--el-color-primary, #ff5722);transition:width .2s ease}.mg-oss-img[data-v-5a56c5a2]{display:block;max-width:100%;object-fit:cover}.date-range-picker[data-v-0dfa12ab]{width:100%}.common-search[data-v-006c1ace]{width:100%;background:transparent;border:none;border-radius:0;padding:0;box-sizing:border-box;margin-bottom:12px}.common-search__body[data-v-006c1ace]{width:100%}.common-search__fields[data-v-006c1ace]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;width:100%;min-width:0;transition:max-height .36s cubic-bezier(.22,1,.36,1);will-change:max-height}.common-search__field[data-v-006c1ace]{width:180px}.common-search__field.is-daterange[data-v-006c1ace],.common-search__field.is-dateRange[data-v-006c1ace],.common-search__field.is-number-range[data-v-006c1ace],.common-search__field.is-numberRange[data-v-006c1ace]{width:360px}.common-search__control-wrap[data-v-006c1ace]{width:100%;min-width:0}.common-search__control[data-v-006c1ace]{width:100%}.common-search__range[data-v-006c1ace]{display:flex;align-items:center;gap:8px;width:100%}.common-search__range[data-v-006c1ace] .el-date-editor,.common-search__range[data-v-006c1ace] .date-range-picker{width:100%;margin:0!important}.common-search__range--number[data-v-006c1ace]{gap:0;height:var(--el-component-size, 32px);padding:0 8px;border:1px solid var(--el-input-border-color, var(--el-border-color));border-radius:var(--el-border-radius-base);background:var(--el-fill-color-blank, #fff);box-sizing:border-box;box-shadow:none;transition:border-color .2s ease}.common-search__range--number[data-v-006c1ace]:hover{border-color:var(--el-input-hover-border-color, var(--el-border-color-hover));box-shadow:none}.common-search__range--number[data-v-006c1ace]:focus-within{border-color:var(--el-input-focus-border-color, var(--brand-secondary));box-shadow:none}.common-search__range--number .common-search__range-input[data-v-006c1ace]{flex:1;min-width:0}.common-search__range--number .common-search__range-input[data-v-006c1ace] .el-input__wrapper{padding:0 4px;box-shadow:none!important;background:transparent}.common-search__range--number .common-search__range-input[data-v-006c1ace] .el-input__inner{text-align:left}.common-search__range--number .common-search__range-sep[data-v-006c1ace]{padding:0 6px;color:var(--el-text-color-regular, #606266)}.common-search__range--number .common-search__range-clear[data-v-006c1ace]{flex-shrink:0;margin-left:4px;font-size:14px;color:var(--el-text-color-placeholder, #a8abb2);cursor:pointer;transition:color .15s}.common-search__range--number .common-search__range-clear[data-v-006c1ace]:hover{color:var(--el-text-color-secondary, #909399)}.common-search__range-sep[data-v-006c1ace]{flex-shrink:0;color:#86909c;font-size:13px}.common-search__range-input[data-v-006c1ace],.common-search__range-date[data-v-006c1ace]{flex:1;width:100%;min-width:0}.common-search__range-input[data-v-006c1ace] .el-input__wrapper,.common-search__range-date[data-v-006c1ace] .el-input__wrapper{width:100%}.common-search__actions[data-v-006c1ace]{display:inline-flex;align-items:center;flex-shrink:0;gap:10px}.common-search__actions.is-inline[data-v-006c1ace]{display:flex;align-items:center;align-self:flex-start;flex-shrink:0;margin-left:auto;height:var(--el-component-size, 32px)}.common-search__actions-main[data-v-006c1ace]{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.common-search__reset[data-v-006c1ace],.common-search__submit[data-v-006c1ace]{min-width:72px;height:32px;margin:0!important}.tableOverflowHid .labeltext_gray[data-v-ef86ea54]{color:#94979a}.tableOverflowHid .text_nomal[data-v-ef86ea54]{color:#606266}.tableOverflowHid .labeltext_blackbold[data-v-ef86ea54]{color:#162a48;font-weight:700}.tableOverflowHid .value[data-v-ef86ea54]{font-size:12px}.tableOverflowHid .valuetext_bold[data-v-ef86ea54]{color:#162a48;font-weight:700}.tableOverflowHid .valuetext_blackbold[data-v-ef86ea54]{color:#162a48;font-weight:700;font-size:13px}.tableOverflowHid .valuetext_black[data-v-ef86ea54]{color:#090c21;font-size:13px}.tableOverflowHid .valuetext_red[data-v-ef86ea54]{color:#e02e28;font-size:13px}.common-table[data-v-dd7169fd]{width:100%}.common-table[data-v-dd7169fd] .el-table{border:1px solid var(--el-border-color, #e0e8e0);border-radius:8px}.common-table.is-fill-height[data-v-dd7169fd]{display:flex;flex-direction:column;height:100%;min-height:0}.common-table__main[data-v-dd7169fd]{min-width:0}.common-table.is-fill-height .common-table__main[data-v-dd7169fd]{flex:1;min-height:0;overflow:clip;position:relative;z-index:0}.common-table.is-fill-height .common-table__main[data-v-dd7169fd] .el-table__column-resize-proxy,.common-table.is-fill-height .common-table__main[data-v-dd7169fd] .el-table__border-right-patch,.common-table.is-fill-height .common-table__main[data-v-dd7169fd] .el-table__border-bottom-patch,.common-table.is-fill-height .common-table__main[data-v-dd7169fd] .el-table__fixed-right-patch{pointer-events:none!important}.common-pointer-table[data-v-dd7169fd] .el-table__body tr{cursor:pointer}.bold-text[data-v-dd7169fd]{font-weight:600;color:#1f2329}.price-text[data-v-dd7169fd]{color:var(--brand-primary, var(--el-color-primary));font-variant-numeric:tabular-nums}.rate-text[data-v-dd7169fd]{font-variant-numeric:tabular-nums}.whether-yes[data-v-dd7169fd]{color:#2e7d32}.whether-no[data-v-dd7169fd]{color:#909399}.common-table__pagination[data-v-dd7169fd]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;flex-shrink:0;margin-top:0;padding:12px 0 0;position:relative;z-index:100;isolation:isolate;background:var(--brand-bg-card, #fff)}.common-table__pagination-left[data-v-dd7169fd]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0;flex:0 1 auto}.common-table__pagination-left[data-v-dd7169fd]:not(:has(*)){display:none}.common-table__pagination-right[data-v-dd7169fd]{flex:0 0 auto;margin-left:auto;position:relative;z-index:1;pointer-events:auto}.common-table.is-fill-height .common-table__pagination[data-v-dd7169fd]{z-index:100}[data-v-dd7169fd] .el-table__header th{height:44px}[data-v-dd7169fd] .el-table__body td{height:52px;color:#4e5969;font-size:13px}.segmented[data-v-b7b0abe9]{position:relative;display:inline-flex;align-items:stretch;align-self:flex-start;box-sizing:border-box;height:var(--el-component-size, 32px);width:fit-content;max-width:100%;gap:2px;padding:3px;border-radius:8px;background:var(--brand-secondary, #c8e6c9)}.segmented__thumb[data-v-b7b0abe9]{position:absolute;top:3px;left:0;height:calc(100% - 6px);border-radius:6px;background:#fff;box-shadow:0 1px 3px #1b1f1b14;pointer-events:none;z-index:0;opacity:0}.segmented__thumb.is-ready[data-v-b7b0abe9]{opacity:1;transition:transform .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .15s ease}.segmented__item[data-v-b7b0abe9]{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;margin:0;padding:0 16px;border:none;border-radius:6px;background:transparent;color:var(--brand-text-regular, #4a554a);font-size:var(--el-font-size-base, 13px);line-height:1;white-space:nowrap;cursor:pointer;transition:color .2s ease}.segmented__item[data-v-b7b0abe9]:hover:not(:disabled):not(.is-active){color:var(--brand-text-primary, #1b1f1b)}.segmented__item.is-active[data-v-b7b0abe9]{color:var(--brand-text-primary, #1b1f1b);font-weight:500}.segmented__item[data-v-b7b0abe9]:disabled{cursor:not-allowed;opacity:.5}.segmented__label[data-v-b7b0abe9]{line-height:1}.segmented__badge[data-v-b7b0abe9]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;border-radius:999px;background:#1b1f1b14;color:var(--brand-text-secondary, #8a9a8a);font-size:11px;font-weight:500;line-height:1;box-sizing:border-box}.is-active .segmented__badge[data-v-b7b0abe9]{background:#2e7d321a;color:var(--brand-text-primary, #1b1f1b)}:root{--brand-primary: #ff5722;--brand-gradient-start: #ffb74d;--brand-gradient: linear-gradient(90deg, #ffb74d, #ff5722);--brand-primary-hover: #e64a19;--brand-secondary: #c8e6c9;--brand-secondary-soft: #81c784;--brand-secondary-light: #a5d6a7;--brand-secondary-pale: #fafbf8;--brand-text-primary: #1b1f1b;--brand-text-regular: #4a554a;--table-header-bg: #f5f7f5;--brand-text-secondary: #8a9a8a;--brand-bg-page: #f2f7f2;--brand-bg-page-gradient: radial-gradient(ellipse 70% 45% at 0% 0%, rgba(255, 183, 77, .16), transparent 55%), radial-gradient(ellipse 60% 40% at 100% 10%, rgba(102, 187, 106, .12), transparent 50%), linear-gradient(165deg, #eef4ef 0%, #f5f8f5 40%, #ebf1eb 100%);--brand-bg-card: #ffffff;--brand-disabled: #bdbdbd;--el-color-primary: #ff5722;--el-color-primary-dark-2: #e64a19;--el-color-primary-light-1: #ff6738;--el-color-primary-light-2: #ff784e;--el-color-primary-light-3: #ff8863;--el-color-primary-light-4: #ffb74d;--el-color-primary-light-5: #ffc570;--el-color-primary-light-6: #ffd393;--el-color-primary-light-7: #ffe1b6;--el-color-primary-light-8: #ffefd9;--el-color-primary-light-9: #fff7ec;--el-color-success: #4caf50;--el-color-success-dark-2: #3d8c40;--el-color-success-light-3: #81c784;--el-color-success-light-5: #a5d6a7;--el-color-success-light-7: #c8e6c9;--el-color-success-light-8: #e8f5e9;--el-color-success-light-9: #f1f8f2;--el-color-danger: #f5222d;--el-color-danger-dark-2: #cf1322;--el-color-danger-light-3: #ff7875;--el-color-danger-light-5: #ffa39e;--el-color-danger-light-7: #ffccc7;--el-color-danger-light-8: #fff1f0;--el-color-danger-light-9: #fff2f0;--el-border-color: #e0e8e0;--el-border-color-light: #e8eee8;--el-border-color-lighter: #eef3ee;--el-border-color-extra-light: #f5f8f5;--el-border-color-dark: #c5d0c5;--el-border-color-darker: #a8b5a8;--el-input-focus-border-color: var(--el-color-primary-light-5);--el-component-size-large: 36px;--el-component-size: 32px;--el-component-size-small: 28px;--el-font-size-base: 13px}.mb10{margin-bottom:10px!important}.mt10{margin-top:10px!important}.ml10{margin-left:10px!important}.mr10{margin-right:10px!important}.mb15{margin-bottom:15px!important}.mt15{margin-top:15px!important}.ml15{margin-left:15px!important}.mr15{margin-right:15px!important}.mb20{margin-bottom:20px!important}.mt20{margin-top:20px!important}.ml20{margin-left:20px!important}.mr20{margin-right:20px!important}.flex-space-between,.flex-align-center,.flex-wrap,.flex{display:flex}.flex{justify-content:space-between;align-items:center}.flex-wrap{flex-wrap:wrap}.flex-align-center{align-items:center}.flex-space-between{justify-content:space-between}.cmtag{display:inline-block;box-sizing:border-box;padding:2px 6px;margin:0 4px 4px 0;font-size:12px;line-height:18px;border-radius:2px;font-weight:400;vertical-align:middle;white-space:nowrap}.mr-cm-tag{margin:0 4px 4px 0}.blue-cmtag{color:#33a0fe;border:1px solid #cee8ff;background:#ebf6fd}.blue-cmtag-outline{color:#33a0fe;border:1px solid #33a0fe;background:#fff}.blue-cmtag-solid{color:#fff;border:1px solid #33a0fe;background:#33a0fe}.blue-cmtag-soft{color:#33a0fe;border:1px solid transparent;background:#ebf6fd}.blue-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#33a0fe;border:none;background:transparent;border-radius:0}.blue-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#33a0fe;flex-shrink:0}.blue-cmtag-pill{color:#fff;border:1px solid #33a0fe;background:#33a0fe;border-radius:999px;padding:2px 10px}.green-cmtag{color:#65b565;border:1px solid #cee8c1;background:#f0f9eb}.green-cmtag-outline{color:#65b565;border:1px solid #65b565;background:#fff}.green-cmtag-solid{color:#fff;border:1px solid #65b565;background:#65b565}.green-cmtag-soft{color:#65b565;border:1px solid transparent;background:#f0f9eb}.green-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#65b565;border:none;background:transparent;border-radius:0}.green-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#65b565;flex-shrink:0}.green-cmtag-pill{color:#fff;border:1px solid #65b565;background:#65b565;border-radius:999px;padding:2px 10px}.grey-cmtag{color:#6b7280;border:1px solid #d8dbe0;background:#f5f6f7}.grey-cmtag-outline{color:#6b7280;border:1px solid #6b7280;background:#fff}.grey-cmtag-solid{color:#fff;border:1px solid #6b7280;background:#6b7280}.grey-cmtag-soft{color:#6b7280;border:1px solid transparent;background:#f5f6f7}.grey-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#6b7280;border:none;background:transparent;border-radius:0}.grey-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#6b7280;flex-shrink:0}.grey-cmtag-pill{color:#fff;border:1px solid #6b7280;background:#6b7280;border-radius:999px;padding:2px 10px}.red-cmtag{color:#db4141;border:1px solid #fddbe1;background:#fff1f5}.red-cmtag-outline{color:#db4141;border:1px solid #db4141;background:#fff}.red-cmtag-solid{color:#fff;border:1px solid #db4141;background:#db4141}.red-cmtag-soft{color:#db4141;border:1px solid transparent;background:#fff1f5}.red-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#db4141;border:none;background:transparent;border-radius:0}.red-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#db4141;flex-shrink:0}.red-cmtag-pill{color:#fff;border:1px solid #db4141;background:#db4141;border-radius:999px;padding:2px 10px}.orange-cmtag{color:#e6a23c;border:1px solid #fce3c2;background:#fff7ea}.orange-cmtag-outline{color:#e6a23c;border:1px solid #e6a23c;background:#fff}.orange-cmtag-solid{color:#fff;border:1px solid #e6a23c;background:#e6a23c}.orange-cmtag-soft{color:#e6a23c;border:1px solid transparent;background:#fff7ea}.orange-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#e6a23c;border:none;background:transparent;border-radius:0}.orange-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#e6a23c;flex-shrink:0}.orange-cmtag-pill{color:#fff;border:1px solid #e6a23c;background:#e6a23c;border-radius:999px;padding:2px 10px}.purple-cmtag{color:#4d58e6;border:1px solid #ccd1f5;background:#eff3ff}.purple-cmtag-outline{color:#4d58e6;border:1px solid #4d58e6;background:#fff}.purple-cmtag-solid{color:#fff;border:1px solid #4d58e6;background:#4d58e6}.purple-cmtag-soft{color:#4d58e6;border:1px solid transparent;background:#eff3ff}.purple-cmtag-dot{display:inline-flex;align-items:center;gap:6px;padding:0;color:#4d58e6;border:none;background:transparent;border-radius:0}.purple-cmtag-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#4d58e6;flex-shrink:0}.purple-cmtag-pill{color:#fff;border:1px solid #4d58e6;background:#4d58e6;border-radius:999px;padding:2px 10px}.page-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-bottom:22px;gap:16px}.page-header__left{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;flex:1;min-width:0;gap:12px 16px}.page-header__title{display:inline-flex;align-items:center;margin:0;font-size:20px;font-weight:700;line-height:1.15;letter-spacing:.06em;color:var(--brand-text-primary);white-space:nowrap}.page-header__right{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.page-header__right .page-back{margin-left:0}.page-header__actions{display:inline-flex;align-items:center;gap:10px}.page-back{flex-shrink:0;margin-left:auto;height:36px!important;padding:0 14px 0 8px!important;border:1px solid #fff!important;border-radius:999px!important;background:#ffffffe6!important;color:var(--brand-text-regular)!important;box-shadow:0 6px 16px #1b1f1b0f;font-weight:600;letter-spacing:.06em}.page-back:hover,.page-back:focus{color:var(--brand-primary)!important;border-color:#ff57224d!important;background:#fff!important;box-shadow:0 8px 20px #ff57221f}.page-back:hover .page-back__icon,.page-back:focus .page-back__icon{background:linear-gradient(135deg,var(--brand-gradient-start),var(--brand-primary));color:#fff}.page-back__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:6px;border-radius:50%;background:#1b1f1b0f;transition:background .2s,color .2s}.page-card{box-sizing:border-box;min-height:320px;padding:24px;border-radius:16px;background:var(--brand-bg-card);box-shadow:0 1px 2px #1b1f1b08,0 12px 32px #1b1f1b0d}.page-card:has(>.mg-page-tabs){padding-top:0}.mg-page-tabs{flex-shrink:0;margin:0 -24px 16px;padding:2px 24px 0;background:linear-gradient(180deg,#f7f8f4,#fff 72%)}.mg-page-tabs .el-tabs__item:nth-child(1){padding-left:0!important}.mg-page-tabs .el-tabs__content{display:none}.page-shell{box-sizing:border-box;height:calc(100vh - 112px);overflow-x:hidden;overflow-y:auto}.page-shell--fill{display:flex;flex-direction:column;min-height:0;overflow:hidden}.page-scroll-x{overflow-x:auto;overflow-y:hidden}@media(max-width:768px){.page-header__title{font-size:22px}}.mg-form-drawer.el-drawer{overflow:hidden}.mg-form-drawer.el-drawer .el-drawer__header{margin-bottom:0;padding:16px 20px;border-bottom:1px solid var(--el-border-color, #e0e8e0);flex-shrink:0}.mg-form-drawer.el-drawer .el-drawer__title{font-size:16px;font-weight:600;color:var(--brand-text-primary, #1b1f1b)}.mg-form-drawer.el-drawer .el-drawer__body{flex:1;min-height:0;overflow:auto;padding:16px 20px}.mg-form-drawer.el-drawer .el-drawer__footer{position:relative;z-index:2;flex-shrink:0;padding:12px 20px;border-top:1px solid var(--el-border-color, #e0e8e0);background:var(--el-bg-color, #fff)}.mg-form-drawer__body{padding:0 4px 8px}.mg-form-drawer__footer{display:flex;justify-content:flex-end;gap:10px}.detail-section{margin-bottom:20px}.detail-section__title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:600;color:var(--brand-text-primary, #1b1f1b);line-height:1.4}.detail-section__title:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--el-color-primary);flex-shrink:0}.detail-panel{padding:4px 16px;border-radius:10px;background:#f5f7f5;border:1px solid #e8ece8}.detail-row{display:flex;align-items:flex-start;gap:16px;padding:8px 0;font-size:14px;line-height:1.5}.detail-row--center{align-items:center}.detail-row__label{flex-shrink:0;min-width:120px;color:var(--el-text-color-secondary, #909399)}.detail-row__value{flex:1;min-width:0;color:var(--brand-text-primary, #1b1f1b);word-break:break-all}.detail-link{color:var(--el-color-primary);text-decoration:none}.detail-link:hover{text-decoration:underline}.el-table{color:var(--el-text-color-primary)!important;font-size:var(--el-font-size-base)!important;--el-table-row-hover-bg-color: var(--brand-secondary-pale) !important}.el-table .cell{line-height:18px!important}.el-table--border{--el-table-border-color: var(--el-border-color)}.mg-table-header{--el-table-header-bg-color: var(--table-header-bg);--el-table-header-text-color: var(--brand-text-regular)}.mg-table-header th.el-table__cell{background-color:var(--table-header-bg);color:var(--brand-text-regular)}.el-button{border-radius:6px!important;height:var(--el-component-size)!important;font-size:var(--el-font-size-base)!important}.el-button.is-text.el-button--default{padding:5px 0!important;height:auto!important}.el-button.is-text:hover,.el-button.is-text:focus,.el-button.is-link:hover,.el-button.is-link:focus{background:transparent!important;background-color:transparent!important}.el-button--small{height:var(--el-component-size-small)!important}.el-button--large{height:var(--el-component-size-large)!important}.el-button+.el-tooltip{margin-left:10px}.el-button--primary{border:none!important;color:var(--el-color-white, #fff)!important;background:var(--brand-gradient)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--el-color-primary) 35%,transparent);transition:filter .2s,box-shadow .2s,transform .15s}.el-button--primary:hover,.el-button--primary:focus{color:var(--el-color-white, #fff)!important;background:var(--brand-gradient)!important;filter:brightness(1.06);box-shadow:0 6px 18px color-mix(in srgb,var(--el-color-primary) 45%,transparent)}.el-button--primary:active{color:var(--el-color-white, #fff)!important;background:var(--brand-gradient)!important;filter:brightness(.96);box-shadow:0 2px 8px color-mix(in srgb,var(--el-color-primary) 30%,transparent)}.el-button--primary.is-disabled,.el-button--primary.is-disabled:hover,.el-button--primary.is-disabled:focus{color:var(--el-color-white, #fff)!important;background:var(--el-text-color-disabled)!important;filter:none;box-shadow:none;opacity:1}.el-button--primary.is-plain{color:var(--el-color-primary)!important;background:var(--el-color-primary-light-9)!important;border:1px solid var(--el-color-primary)!important;box-shadow:none;filter:none}.el-button--primary.is-plain:hover,.el-button--primary.is-plain:focus{color:var(--el-color-primary)!important;background:var(--el-color-primary-light-8)!important;border-color:var(--el-color-primary)!important;filter:none}.el-button--primary.is-text,.el-button--primary.is-link{color:var(--el-color-primary)!important;background:transparent!important;box-shadow:none;filter:none}.el-button--primary.is-text:hover,.el-button--primary.is-text:focus,.el-button--primary.is-link:hover,.el-button--primary.is-link:focus{color:var(--el-color-primary)!important;background:transparent!important;filter:none}.el-button--danger.is-plain{color:var(--el-color-danger)!important;background:var(--el-color-danger-light-9)!important;border:1px solid var(--el-color-danger-light-5)!important;box-shadow:none}.el-button--danger.is-plain:hover,.el-button--danger.is-plain:focus{color:var(--el-color-danger)!important;background:var(--el-color-danger-light-8)!important;border-color:var(--el-color-danger)!important}.el-button--danger.is-text,.el-button--danger.is-link{color:var(--el-color-danger)!important;background:transparent!important;font-weight:600}.el-button--danger.is-text:hover,.el-button--danger.is-text:focus,.el-button--danger.is-link:hover,.el-button--danger.is-link:focus{background:transparent!important}.el-button--success{--el-button-bg-color: var(--el-color-success);--el-button-border-color: var(--el-color-success);--el-button-hover-bg-color: var(--el-color-success-dark-2);--el-button-hover-border-color: var(--el-color-success-dark-2)}.el-input,.el-input__inner,.el-range-input,.el-select__wrapper,.el-textarea__inner,.el-radio-button__inner{font-size:var(--el-font-size-base)!important}.el-input__wrapper{transition:background-color .2s ease}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-color-primary-light-5) inset!important}.el-textarea__inner{transition:background-color .2s ease}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-color-primary-light-5) inset!important}.el-select__wrapper.is-focused,.el-range-editor.is-active{box-shadow:0 0 0 1px var(--el-color-primary-light-5) inset!important}.el-form-item.is-error .el-input__wrapper,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-select__wrapper{background-color:#fff5f5!important;box-shadow:0 0 0 1px var(--el-color-danger) inset!important}.el-form-item.is-error .el-form-item__error{color:var(--el-color-danger)}.el-input.is-disabled .el-input__wrapper,.el-select.is-disabled .el-select__wrapper{background-color:#f5f5f5!important}.el-alert--info.is-light{background-color:var(--el-fill-color-light)!important;border-color:var(--el-border-color)!important;color:var(--el-text-color-regular)!important}.more-tags-select .el-select__tags-text{display:inline-block;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-tags-select .el-tag__close.el-icon-close{right:-4px!important}.el-select-dropdown__item.is-hovering{background-color:var(--el-color-primary-light-9)!important}.el-tabs__header{margin:0!important}.el-tabs__nav-wrap:after{height:1px;background-color:#e8ece4}.el-tabs__item{height:46px!important;padding:0 20px!important;font-size:14px!important;font-weight:500!important;line-height:46px!important;color:var(--brand-text-regular, #4a554a)!important;transition:color .2s ease}.el-tabs__item:hover{color:var(--brand-text-primary, #1b1f1b)!important}.el-tabs__item.is-active{color:var(--el-color-primary)!important;font-weight:600!important}.el-tabs--border-card{box-shadow:none!important;border-color:var(--el-border-color)}.el-tabs__active-bar{height:3px;border-radius:3px 3px 0 0;background:var(--el-color-primary)!important}.el-dialog{border-radius:16px!important;overflow:hidden;background:var(--el-bg-color)}.el-dialog__title{color:var(--el-text-color-primary)}.el-dialog__headerbtn .el-dialog__close{font-size:21px!important;color:var(--el-text-color-secondary)}.el-dialog__footer{padding-top:20px!important}.el-pagination .el-pagination__sizes .el-select{width:100px}.el-pagination .el-pagination__jump .el-input{width:42px}.el-dialog__body .el-pagination,.bind-pagination .el-pagination,.common-table__pagination .el-pagination{position:relative;z-index:2;pointer-events:auto}.el-dialog__body .el-pagination .btn-next,.el-dialog__body .el-pagination .btn-prev,.common-table__pagination .el-pagination .btn-next,.common-table__pagination .el-pagination .btn-prev{position:relative;z-index:3;pointer-events:auto}.dialog-content{max-height:500px;overflow-y:auto}.el-tree{--el-tree-node-hover-bg-color: transparent;--el-tree-text-color: var(--brand-text-primary);--el-tree-expand-icon-color: var(--brand-text-secondary);background:transparent}.el-tree-node:focus>.el-tree-node__content,.el-tree-node__content:hover,.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tag--success{--el-tag-bg-color: var(--el-color-success-light-9);--el-tag-border-color: var(--el-color-success-light-7);--el-tag-text-color: var(--el-color-success)}.el-image-viewer__canvas img{max-width:100%;max-height:100%;width:auto;height:auto}.el-image-viewer__close{background:var(--el-bg-color)!important;color:var(--el-text-color-regular)!important}
|