@skyfox2000/webui 1.3.20 → 1.4.0

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.
Files changed (40) hide show
  1. package/lib/assets/modules/{baseLayout-B9dSxkYo.js → baseLayout-DIEq13qJ.js} +6 -6
  2. package/lib/assets/modules/{file-upload-JBIvw5Xx.js → file-upload-DGuLxYSu.js} +2 -2
  3. package/lib/assets/modules/{index-BMkaOjBS.js → index-BPufvr-r.js} +134 -133
  4. package/lib/assets/modules/{index-BOYtm8ib.js → index-CAtotNY6.js} +2 -2
  5. package/lib/assets/modules/{index-BkChvyed.js → index-DVzBH6zL.js} +1 -1
  6. package/lib/assets/modules/{menuTabs-BFPjaQRI.js → menuTabs-DKvoic5x.js} +7 -7
  7. package/lib/assets/modules/{toolIcon-XOgjdQdO.js → toolIcon-Y7Lpx2Hb.js} +1 -1
  8. package/lib/assets/modules/{uploadList-BedljASx.js → uploadList-Bh2SzZzX.js} +710 -701
  9. package/lib/assets/modules/{uploadList-CW7OIDS3.js → uploadList-DG33cpFl.js} +152 -146
  10. package/lib/components/common/icon/index.vue.d.ts +1 -1
  11. package/lib/es/AceEditor/index.js +3 -3
  12. package/lib/es/BasicLayout/index.js +2 -2
  13. package/lib/es/Error403/index.js +1 -1
  14. package/lib/es/Error404/index.js +1 -1
  15. package/lib/es/ExcelForm/index.js +38 -38
  16. package/lib/es/MenuLayout/index.js +2 -2
  17. package/lib/es/UploadForm/index.js +4 -4
  18. package/lib/stores/userInfo.d.ts +3 -1
  19. package/lib/typings/form.d.ts +1 -1
  20. package/lib/typings/tree.d.ts +4 -0
  21. package/lib/utils/micro-openapis.d.ts +35 -0
  22. package/lib/webui.es.js +358 -353
  23. package/package.json +1 -2
  24. package/src/components/content/dialog/excelForm.vue +1 -1
  25. package/src/components/content/form/formItem.vue +5 -0
  26. package/src/components/layout/header/headerExits.vue +1 -1
  27. package/src/stores/appInfo.ts +7 -8
  28. package/src/stores/userInfo.ts +21 -63
  29. package/src/typings/form.d.ts +1 -1
  30. package/src/typings/tree.d.ts +4 -0
  31. package/src/utils/data.ts +6 -0
  32. package/src/utils/download.ts +10 -1
  33. package/src/utils/export-table.ts +5 -0
  34. package/src/utils/form-excel.ts +14 -9
  35. package/src/utils/form.ts +7 -1
  36. package/src/utils/main-openapis.ts +2 -2
  37. package/src/utils/micro-openapis.ts +146 -0
  38. package/src/utils/options.ts +5 -0
  39. package/src/utils/table.ts +7 -2
  40. package/src/utils/tree.ts +4 -2
@@ -1,19 +1,19 @@
1
- var ma = Object.defineProperty;
2
- var va = (e, t, a) => t in e ? ma(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a;
3
- var $ = (e, t, a) => va(e, typeof t != "symbol" ? t + "" : t, a);
4
- import { inject as te, ref as f, provide as Le, watch as g, toRaw as Ze, h as U, nextTick as ga, shallowRef as K, defineComponent as X, reactive as ya, onMounted as xe, onUnmounted as ie, createBlock as Ae, createCommentVNode as B, openBlock as E, unref as b, mergeProps as le, useAttrs as Ee, createElementBlock as L, createVNode as C, withCtx as V, createTextVNode as Oe, toDisplayString as z, Fragment as ne, renderList as Ue, normalizeClass as ea, createElementVNode as Sa } from "vue";
5
- import { Switch as ba, AutoComplete as Ia, Input as xa, CheckboxGroup as Aa, Checkbox as Ea, RadioGroup as Oa, Radio as Ra, Select as Ta, SelectOption as wa } from "ant-design-vue";
6
- import { createPinia as Pa, defineStore as ue } from "pinia";
7
- import ka from "pinia-plugin-persistedstate";
8
- import { combineParams as ce, EnvConfig as ye, AppAction as Be, AppSource as Ce, isMicroApp as Se, mainAppApis as N, isBaseMicroApp as La } from "@skyfox2000/microbase";
9
- import { ResStatus as T, httpPost as G, setToken as me, fieldMapping as $a, parseFieldTemplate as be, API_HOST as $e, SERVER_HOST as Fa } from "@skyfox2000/fapi";
1
+ var pa = Object.defineProperty;
2
+ var ha = (e, t, a) => t in e ? pa(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a;
3
+ var $ = (e, t, a) => ha(e, typeof t != "symbol" ? t + "" : t, a);
4
+ import { ref as f, h as U, nextTick as ma, inject as te, provide as ke, watch as g, toRaw as Xe, shallowRef as K, defineComponent as X, reactive as va, onMounted as Se, onUnmounted as oe, createBlock as be, createCommentVNode as B, openBlock as A, unref as b, mergeProps as ie, useAttrs as Ie, createElementBlock as L, createVNode as z, withCtx as V, createTextVNode as xe, toDisplayString as C, Fragment as ne, renderList as De, normalizeClass as Ze, createElementVNode as ga } from "vue";
5
+ import { Switch as ya, AutoComplete as Sa, Input as ba, CheckboxGroup as Ia, Checkbox as xa, RadioGroup as Ea, Radio as Aa, Select as Oa, SelectOption as Ra } from "ant-design-vue";
6
+ import { createPinia as Ta, defineStore as le } from "pinia";
7
+ import wa from "pinia-plugin-persistedstate";
8
+ import { EnvConfig as ge, AppAction as qe, AppSource as Be, mainAppApis as W, isMicroApp as Me, isBaseMicroApp as Pa, combineParams as ue } from "@skyfox2000/microbase";
9
+ import { httpPost as j, ResStatus as T, setToken as he, fieldMapping as ka, parseFieldTemplate as ye, API_HOST as Le, SERVER_HOST as La } from "@skyfox2000/fapi";
10
10
  import x from "vue-m-message";
11
- import He from "async-validator";
12
- import { createRouter as Ma, createWebHashHistory as _a } from "vue-router";
11
+ import { createRouter as $a, createWebHashHistory as Fa } from "vue-router";
12
+ import Ue from "async-validator";
13
13
  import "dayjs";
14
14
  import "vue-draggable-next";
15
- const Na = Pa();
16
- Na.use(ka);
15
+ const Ma = Ta();
16
+ Ma.use(wa);
17
17
  var D = /* @__PURE__ */ ((e) => (e.PageControl = "Page.PageControl", e.EditorControl = "Page.EditorControl", e.GridControl = "Page.GridControl", e.LabelText = "FormItem.LabelText", e.LabelWidth = "FormItem.LabelWidth", e.RuleKey = "FormItem.RuleKey", e.ErrInfo = "FormItem.ErrInfo", e))(D || {});
18
18
  const w = class w {
19
19
  };
@@ -105,12 +105,12 @@ $(w, "MaleFemale", [
105
105
  value: "F"
106
106
  }
107
107
  ]);
108
- let M = w;
109
- M.setOptions("EnableDisable", M.EnableDisable);
110
- M.setOptions("SuccessResult", M.SuccessResult);
111
- M.setOptions("YesNo", M.YesNo);
112
- M.setOptions("MaleFemale", M.MaleFemale);
113
- const fe = {
108
+ let _ = w;
109
+ _.setOptions("EnableDisable", _.EnableDisable);
110
+ _.setOptions("SuccessResult", _.SuccessResult);
111
+ _.setOptions("YesNo", _.YesNo);
112
+ _.setOptions("MaleFemale", _.MaleFemale);
113
+ const ce = {
114
114
  /**
115
115
  * 选项数据接口
116
116
  */
@@ -173,312 +173,27 @@ const fe = {
173
173
  type: Object,
174
174
  required: !1
175
175
  }
176
- }, F = (e) => e == null || e === "" ? !0 : Array.isArray(e) ? e.length === 0 : typeof e == "object" ? Object.keys(e).length === 0 : !1, Re = (e, t) => {
177
- var n;
178
- const a = e.page;
179
- return {
180
- url: "",
181
- ...e.url,
182
- ...(n = a.urls) == null ? void 0 : n[t.urlKey],
183
- ...t.url,
184
- loadingText: t.loadingText
185
- };
186
- }, Te = (e, t) => {
187
- const a = e.page, s = t.url;
188
- if (!s || !s.url) {
189
- const o = `URL未设置: ${t.urlKey}`;
190
- return console.warn(o), Promise.reject(new Error(o));
191
- }
192
- s.api || (s.api = a.api), s.authorize === void 0 && (s.authorize = a.authorize);
193
- let n = ce(
194
- JSON.parse(JSON.stringify(s.params ?? {})),
195
- JSON.parse(JSON.stringify(t.params ?? {}))
196
- );
197
- return t.processParams && (n = t.processParams(n)), t.loadingState && (t.loadingState.value = !0), t.hideErrorToast && (s.hideErrorToast = !0), G(s, n).then((o) => (t.loadingState && (t.loadingState.value = !1), o)).catch((o) => (t.loadingState && (t.loadingState.value = !1), null));
198
- }, Ve = (e, t) => {
199
- t.params || (t.params = {}), t.params.Query || (t.params.Query = {});
200
- const a = Re(e, t);
201
- return t.url = a, Te(e, t);
202
- }, $t = (e, t) => (t.params || (t.params = {}), t.params.Query || (t.params.Query = {}), t.loadingText = t.loadingText === !1 ? !1 : t.loadingText || "开始执行...", t.url = Re(e, t), Te(e, t).then((a) => ((a == null ? void 0 : a.status) === T.SUCCESS && (t.hideErrorToast || x.success("执行成功!")), a))), aa = (e, t = {}) => {
203
- const a = t.primaryKey || "Id";
204
- if (t.params || (t.params = {}), t.params.Query || (t.params.Query = {}), !t.params.Data)
205
- return x.error("错误!无保存数据!"), Promise.resolve(null);
206
- const s = {
207
- ...t,
208
- urlKey: t.urlKey || "save",
209
- loadingText: t.loadingText === !1 ? !1 : t.loadingText || "数据保存中..."
210
- };
211
- s.params.Query[a] = s.params.Data[a];
212
- const n = Re(e, s);
213
- return s.url = n, Te(e, s).then((o) => ((o == null ? void 0 : o.status) === T.SUCCESS && (t.hideErrorToast || x.success("保存成功!")), o));
214
- }, Da = (e, t, a = {}) => {
215
- const s = a.primaryKey || "Id";
216
- a.params || (a.params = {}), a.params.Query || (a.params.Query = {});
217
- const n = {
218
- ...a,
219
- urlKey: "delete",
220
- loadingText: a.loadingText === !1 ? !1 : a.loadingText || "数据删除中..."
221
- };
222
- if (Array.isArray(t) ? n.params.Query[s] = t : n.params.Query[s] = t[s], F(n.params.Query) || F(n.params.Query[s]))
223
- return x.error("错误!禁止无条件删除数据!"), Promise.resolve(null);
224
- const o = Re(e, n);
225
- return n.url = o, Te(e, n).then((r) => ((r == null ? void 0 : r.status) === T.SUCCESS && (a.hideErrorToast || x.success("删除成功!")), r));
226
- }, Ua = (e, t) => Ve(e, {
227
- urlKey: "tree",
228
- params: {},
229
- loadingState: e.isTreeLoading,
230
- loadingText: !1,
231
- processParams: () => ce(e.treeQuery, t)
232
- }).then((a) => (a == null ? void 0 : a.status) === T.SUCCESS ? (e.data.value = a.data, e.data.value) : []);
233
- let re;
234
- const Ft = (e) => {
235
- re = new He({}), re.messages({
236
- required: "${label}不能为空",
237
- types: {
238
- number: "${label}必须是数字"
239
- },
240
- enum: "${label}必须是${enum}中的一个",
241
- string: {
242
- len: "${label}长度必须为${len}",
243
- min: "${label}长度不能小于${min}",
244
- max: "${label}长度不能大于${max}",
245
- range: "${label}长度必须在${min}和${max}之间"
246
- },
247
- number: {
248
- len: "${label}必须为${len}",
249
- min: "${label}不能小于${min}",
250
- max: "${label}不能大于${max}",
251
- range: "${label}必须在${min}和${max}之间"
252
- },
253
- array: {
254
- len: "${label}长度必须为${len}",
255
- min: "${label}长度不能小于${min}",
256
- max: "${label}长度不能大于${max}",
257
- range: "${label}长度必须在${min}和${max}之间"
258
- },
259
- ...e
260
- });
261
- }, Mt = (e) => {
262
- if (!e || F(e))
263
- return [];
264
- const t = [], a = re.messages(), s = (o, r, l) => {
265
- const u = r.type;
266
- if (u && a.types && u in a.types) {
267
- const c = a.types[u];
268
- n(c, o, { type: u }, l);
269
- }
270
- const i = ["string", "number", "array"];
271
- for (const c of i)
272
- if (u === c && a[c]) {
273
- const p = a[c], v = ["len", "min", "max", "range"];
274
- for (const d of v)
275
- d === "range" && r.min != null && r.max != null && p.range ? n(p.range, o, { min: r.min, max: r.max }, l) : d !== "range" && r[d] != null && p[d] && n(p[d], o, { [d]: r[d] }, l);
276
- }
277
- if (r.required && a.required && n(a.required, o, {}, l), r.pattern && a.pattern && n(r.message, o, {}, l), r.enum && Array.isArray(r.enum) && a.enum) {
278
- const c = r.enum.join(", ");
279
- n(a.enum, o, { enum: c }, l);
280
- }
281
- }, n = (o, r, l, u) => {
282
- if (o)
283
- try {
284
- let i;
285
- if (typeof o == "function") {
286
- const c = [r];
287
- for (const p in l)
288
- c.push(l[p]);
289
- i = o.apply(null, c), i && u.push(i);
290
- } else {
291
- i = String(o);
292
- for (const c in l)
293
- i = i.replace(new RegExp(`\\$\\{${c}\\}`, "g"), l[c]);
294
- i = i.replace(/\$\{label\}/g, ""), i && u.push(i);
295
- }
296
- } catch (i) {
297
- console.error("格式化验证消息出错:", i);
298
- }
299
- };
300
- return Object.keys(e).forEach((o) => {
301
- const r = e[o], l = [];
302
- try {
303
- s(o, r, l), Array.isArray(r) && r.forEach((i) => {
304
- i && typeof i == "object" && s(o, i, l);
305
- }), r && typeof r == "object" && "fields" in r;
306
- } catch (i) {
307
- console.error("处理验证规则出错:", i);
308
- }
309
- const u = Array.from(new Set(l));
310
- o && u.length > 0 && t.push({
311
- field: o,
312
- rules: u
313
- });
314
- }), t;
315
- }, pe = async (e) => {
316
- const t = e.formData.value, a = e.formRules.value;
317
- F(a) || (Ke(e), e.ruleValidator || (e.ruleValidator = new He({}), e.ruleValidator.messages(re.messages()), e.ruleValidator.define(a)), e.ruleResults.value = await e.ruleValidator.validate(t).then(() => {
318
- }).catch(({ fields: s }) => s));
319
- }, _t = async (e, t, a) => (a || (a = new He({}), a.messages(re.messages()), a.define(t)), a.validate(e).then(() => {
320
- }).catch(({ fields: s }) => s)), Ke = (e) => {
321
- e.ruleResults.value = void 0;
322
- }, Y = () => {
323
- const e = te(D.EditorControl, void 0), t = f(te(D.LabelText, "")), a = f(te(D.RuleKey, "")), s = te(D.ErrInfo, void 0);
324
- return {
325
- editorCtrl: e,
326
- labelText: t,
327
- ruleKey: a,
328
- errInfo: s
329
- };
330
- }, Ha = (e, t) => {
331
- let a = f({
332
- msg: "",
333
- errClass: ""
334
- });
335
- if (!e.label || !e.rule)
336
- return a;
337
- const s = t == null ? void 0 : t.ruleResults;
338
- return g(
339
- () => s == null ? void 0 : s.value,
340
- (n) => {
341
- if (a.value.errClass = "", a.value.msg = "", !F(n)) {
342
- const o = Va(
343
- {
344
- label: e.label,
345
- rule: e.rule
346
- },
347
- t == null ? void 0 : t.formRules.value,
348
- Ze(n)
349
- );
350
- a.value.errClass = o.errClass.value, a.value.msg = o.msg.value;
351
- }
352
- },
353
- { deep: !0 }
354
- ), a;
355
- }, Va = (e, t, a) => {
356
- const s = f([]), n = f(""), o = f("");
357
- if (!e.rule || !t || !a)
358
- return { msg: n, ruleErrors: s, errClass: o };
359
- e.rule.split("|").forEach((u) => {
360
- if (u = u.trim(), u)
361
- if (a[u])
362
- s.value.push(...a[u]);
363
- else {
364
- const i = [];
365
- for (let c in a)
366
- c !== u && c.startsWith(u + ".") && i.push(...a[c]);
367
- i.length > 0 && s.value.push(...i);
368
- }
369
- });
370
- const l = /\${\w+}/g;
371
- return s.value.forEach((u) => {
372
- n.value && (n.value += " / "), n.value += u.message.replace("${label}", e.label ?? "");
373
- const i = t[u.field];
374
- if (i) {
375
- const c = n.value.match(l);
376
- c && c.forEach((p) => {
377
- const v = p.replace("${", "").replace("}", "");
378
- n.value = n.value.replace(p, i[v] ?? "");
379
- });
380
- }
381
- }), s.value.length > 0 && (o.value = "error"), { msg: n, ruleErrors: s, errClass: o };
382
- }, Nt = (e, t) => {
383
- Le(D.LabelText, e.label || ""), Le(D.RuleKey, e.rule || "");
384
- const a = Ha(e, t);
385
- return Le(D.ErrInfo, a), a;
386
- }, Dt = (e) => {
387
- ta(e);
388
- }, Ut = (e) => {
389
- const t = e.page, a = e.formData.value;
390
- a[e.primaryKey ?? t.primaryKey] = null, ta(e);
391
- }, Ht = (e) => {
392
- Qe(e), e.visible.value = !1;
393
- }, ta = async (e) => {
394
- var s;
395
- const t = e.page;
396
- if (e.isFormSaving.value = !0, Ke(e), e.beforeSave && e.beforeSave() === !1)
397
- return e.isFormSaving.value = !1, Promise.resolve();
398
- if (e.formRules.value && await pe(e), e.ruleResults.value)
399
- return x.error("提交表单时,验证失败!"), console.error("表单验证失败!", e.ruleResults.value), e.isFormSaving.value = !1, Promise.resolve();
400
- const a = e.formData.value;
401
- return aa(
402
- {
403
- page: t,
404
- // 转换为AnyControl接口
405
- reload: (s = e.grid) == null ? void 0 : s.reload
406
- },
407
- {
408
- url: e.saveUrl,
409
- primaryKey: e.primaryKey ?? t.primaryKey,
410
- params: {
411
- Data: a,
412
- Query: {}
413
- },
414
- hideErrorToast: !0,
415
- // 隐藏自动错误提示,特殊判断控制
416
- loadingState: e.isFormSaving
417
- }
418
- ).then((n) => {
419
- var o, r;
420
- if ((n == null ? void 0 : n.status) === T.SUCCESS)
421
- x.success("保存成功!"), e.grid && (e.grid.reload.value = !0), e.afterSave && e.afterSave(), e.autoClose !== !1 && (e.visible.value = !1);
422
- else if (n != null && n.msg && ((o = n == null ? void 0 : n.msg) == null ? void 0 : o.indexOf("Duplicate entry")) > -1) {
423
- const l = (r = n == null ? void 0 : n.msg) == null ? void 0 : r.match(/Duplicate entry '([^']+)' for key '([^']+)'/);
424
- if (l && l.length > 2 && l[1] && l[2]) {
425
- const u = l[1], i = l[2].replace(/Idx_/g, "").split("_"), c = e.formRules.value;
426
- if (c && i.length > 0) {
427
- const p = {};
428
- i.forEach((v) => {
429
- c[v] && (p[v] = [
430
- {
431
- field: v,
432
- fieldValue: u,
433
- message: "数据重复"
434
- }
435
- ]);
436
- }), Object.keys(p).length > 0 && (console.error("保存失败!", p), e.ruleResults.value = p);
437
- }
438
- x.error(`保存失败!数据 \`${u}\` 已存在!`);
439
- } else x.error((n == null ? void 0 : n.msg) ?? "保存失败!");
440
- } else
441
- x.error((n == null ? void 0 : n.msg) ?? "保存失败!");
442
- });
443
- }, Vt = async (e) => {
444
- const t = e.page, a = e.grid;
445
- e.isFormLoading.value = !0;
446
- const s = e.formData.value, n = e.primaryKey ?? t.primaryKey;
447
- return ua(a, { [n]: s[n] }, e.detailUrl).then((o) => {
448
- e.isFormLoading.value = !1, o && sa(e, o);
449
- });
450
- }, Kt = (e) => {
451
- const t = e.grid;
452
- t && (t.rowData.value = void 0), e && (Qe(e), e.visible && (e.visible.value = !1), setTimeout(() => {
453
- e.visible.value = !0;
454
- }, 1));
455
- }, sa = (e, t) => {
456
- Qe(e);
457
- const a = { ...e.formData.value, ...t };
458
- e.formData.value = JSON.parse(JSON.stringify(a));
459
- }, Qe = (e) => {
460
- e.formData.value = e.default ? JSON.parse(JSON.stringify(e.default)) : {}, Ke(e);
461
- }, Ie = "/login/", ge = [], Ka = (e) => {
176
+ }, F = (e) => e == null || e === "" ? !0 : Array.isArray(e) ? e.length === 0 : typeof e == "object" ? Object.keys(e).length === 0 : !1, ze = "/login/", ve = [], _a = (e) => {
462
177
  for (const t of e) {
463
- const a = ge.findIndex((s) => s.path === t.path);
464
- a !== -1 && ge.splice(a, 1), ge.push(t), oe.addRoute(t);
178
+ const a = ve.findIndex((s) => s.path === t.path);
179
+ a !== -1 && ve.splice(a, 1), ve.push(t), Ee.addRoute(t);
465
180
  }
466
- }, na = (e, t, a, s = "") => {
181
+ }, ea = (e, t, a, s = "") => {
467
182
  const n = s + (s ? "/" : "") + e.path;
468
- t[n] = { ...e, parent: a }, e.children && e.children.forEach((o) => na(o, t, e, n));
469
- }, oe = Ma({
470
- history: _a("/"),
471
- routes: ge
472
- }), Qa = (e, t) => {
183
+ t[n] = { ...e, parent: a }, e.children && e.children.forEach((o) => ea(o, t, e, n));
184
+ }, Ee = $a({
185
+ history: Fa("/"),
186
+ routes: ve
187
+ }), Na = (e, t) => {
473
188
  var n, o;
474
189
  const a = ((n = e.meta) == null ? void 0 : n.roles) ?? [], s = (o = e.meta) == null ? void 0 : o.permission;
475
190
  if (!t)
476
191
  return a.length === 0 && !s;
477
192
  if (t) {
478
- const r = j();
479
- if (ye.VITE_PERMISSION_MODE === "role")
193
+ const r = M();
194
+ if (ge.VITE_PERMISSION_MODE === "role")
480
195
  return a.length === 0 ? !0 : r.hasRole(a);
481
- if (ye.VITE_PERMISSION_MODE === "permit") {
196
+ if (ge.VITE_PERMISSION_MODE === "permit") {
482
197
  if (a.length === 0 && !s)
483
198
  return !0;
484
199
  let l = !1, u = !1;
@@ -487,10 +202,10 @@ const Ft = (e) => {
487
202
  }
488
203
  return !1;
489
204
  }, se = f(null);
490
- oe.beforeEach((e, t, a) => {
205
+ Ee.beforeEach((e, t, a) => {
491
206
  var l;
492
207
  const s = e;
493
- if (e.path.startsWith("/error/") || e.path.startsWith(Ie))
208
+ if (e.path.startsWith("/error/") || e.path.startsWith(ze))
494
209
  return a();
495
210
  const n = s.meta, r = ((n == null ? void 0 : n.roles) ?? []).length > 0 || ((l = n == null ? void 0 : n.permission) == null ? void 0 : l.length);
496
211
  if (e.path === "/") {
@@ -510,9 +225,9 @@ oe.beforeEach((e, t, a) => {
510
225
  if (!r)
511
226
  a();
512
227
  else {
513
- const u = j();
228
+ const u = M();
514
229
  if (!u.isLogin)
515
- a({ path: Ie });
230
+ a({ path: ze });
516
231
  else {
517
232
  if (!H().menuLoaded) {
518
233
  se.value = {
@@ -521,24 +236,24 @@ oe.beforeEach((e, t, a) => {
521
236
  };
522
237
  return;
523
238
  }
524
- const c = Qa(s, u.isLogin);
239
+ const c = Na(s, u.isLogin);
525
240
  a();
526
241
  }
527
242
  }
528
243
  });
529
- const Ja = (e) => {
244
+ const Da = (e) => {
530
245
  if (se.value) {
531
246
  const { to: t, next: a } = se.value;
532
247
  se.value = null, t.path === "/" ? a(e) : a(t.path);
533
248
  }
534
- }, ja = (e) => {
535
- const t = Je();
249
+ }, Ua = (e) => {
250
+ const t = He();
536
251
  if (t.TabEnabled) {
537
- if (Ga(e.key, t.TabPanes))
252
+ if (Ha(e.key, t.TabPanes))
538
253
  return;
539
254
  t.TabPanes.push(e);
540
255
  }
541
- }, Ga = (e, t) => t.find((a) => a.key === e), Je = ue("pageInfo", {
256
+ }, Ha = (e, t) => t.find((a) => a.key === e), He = le("pageInfo", {
542
257
  state: () => ({
543
258
  TabActive: "",
544
259
  TabPanes: [],
@@ -583,44 +298,44 @@ const Ja = (e) => {
583
298
  // 默认为true
584
299
  keepAlive: !(a.meta && !a.meta.keepAlive)
585
300
  };
586
- ja(s), this.TabActive = e;
301
+ Ua(s), this.TabActive = e;
587
302
  }
588
303
  },
589
304
  persist: !1
590
- }), Wa = {
305
+ }), Va = {
591
306
  appList: {
592
307
  api: "PLATFORM_API",
593
308
  authorize: !0,
594
309
  url: "/api/RCTenanetOpSrv/getApps",
595
310
  loadingText: !1
596
311
  }
597
- }, Fe = /* @__PURE__ */ new Map(), qa = (e) => {
598
- const t = j(), { roles: a, permission: s } = e.meta || {};
312
+ }, $e = /* @__PURE__ */ new Map(), Ka = (e) => {
313
+ const t = M(), { roles: a, permission: s } = e.meta || {};
599
314
  if (F(a) && F(s))
600
315
  return !0;
601
- if (ye.VITE_PERMISSION_MODE === "role")
316
+ if (ge.VITE_PERMISSION_MODE === "role")
602
317
  return F(a) ? !0 : t.hasRole(a);
603
- if (ye.VITE_PERMISSION_MODE === "permit") {
318
+ if (ge.VITE_PERMISSION_MODE === "permit") {
604
319
  let n = !1, o = !1;
605
320
  return F(a) || (n = t.hasRole(a)), t.isAdmin() ? n : (F(s) || (o = t.hasPermit(e.path, s)), n || o);
606
321
  }
607
322
  return !1;
608
- }, ra = (e) => e.map((t) => {
323
+ }, aa = (e) => e.map((t) => {
609
324
  const a = { ...t };
610
- return qa(a) ? (a.children && (a.children = ra(a.children)), a) : null;
611
- }).filter(Boolean), oa = (e, t = "") => {
325
+ return Ka(a) ? (a.children && (a.children = aa(a.children)), a) : null;
326
+ }).filter(Boolean), ta = (e, t = "") => {
612
327
  for (const a of e) {
613
328
  if (!a.children && !a.redirect) {
614
329
  let s = t + a.path;
615
330
  return s.startsWith("/") || (s = "/" + s), s;
616
331
  }
617
332
  if (a.children && a.children.length > 0 && a.path !== "/error" && a.path !== "/login" && a.path !== "/:page(.*)") {
618
- const s = oa(a.children, t + a.path + "/");
333
+ const s = ta(a.children, t + a.path + "/");
619
334
  if (s)
620
335
  return s;
621
336
  }
622
337
  }
623
- }, H = ue("appInfo", {
338
+ }, H = le("appInfo", {
624
339
  state: () => ({
625
340
  appInfo: {
626
341
  Id: "",
@@ -628,8 +343,8 @@ const Ja = (e) => {
628
343
  AppCode: "",
629
344
  Version: "",
630
345
  Host: "",
631
- Source: Ce.Manual,
632
- Action: Be.App,
346
+ Source: Be.Manual,
347
+ Action: qe.App,
633
348
  Path: "",
634
349
  Icon: "",
635
350
  Routes: [],
@@ -654,13 +369,18 @@ const Ja = (e) => {
654
369
  });
655
370
  },
656
371
  async getRemoteAppList() {
657
- return G(Wa.appList, {
372
+ return j(Va.appList, {
658
373
  Query: {
659
374
  AppCode: this.appInfo.AppCode,
660
375
  Enabled: 1
661
376
  }
662
377
  }).then((e) => {
663
- (e == null ? void 0 : e.status) === T.SUCCESS && e.data && (this.appList.length = 0, this.appList.push(...e.data));
378
+ if ((e == null ? void 0 : e.status) === T.SUCCESS && e.data)
379
+ this.appList.length = 0, this.appList.push(...e.data);
380
+ else if ((e == null ? void 0 : e.errno) == Ae) {
381
+ M().logout(!1);
382
+ return;
383
+ }
664
384
  });
665
385
  },
666
386
  async toDefaultApp(e) {
@@ -693,7 +413,7 @@ const Ja = (e) => {
693
413
  flattenRoutes: {},
694
414
  Routes: t ?? [],
695
415
  defaultPage: ""
696
- }), (!Se() || !La()) && (await j().getRolePermits(a.Id), this.appInfo.Routes.length && this.setAppRoutes(this.appInfo.Routes)));
416
+ }), (!Me() || !Pa()) && (await M().getRolePermits(a.Id), this.appInfo.Routes.length && this.setAppRoutes(this.appInfo.Routes)));
697
417
  },
698
418
  /**
699
419
  * 设置当前应用路由信息
@@ -708,18 +428,18 @@ const Ja = (e) => {
708
428
  };
709
429
  const t = this.appInfo.flattenRoutes;
710
430
  for (const a of e)
711
- na(a, t, void 0);
431
+ ea(a, t, void 0);
712
432
  if (Object.keys(t).forEach((a) => {
713
433
  const s = t[a];
714
434
  s.children || !s.component || (s.meta && s.meta.keepAlive === !1 ? this.ExcludeComponents.push(a) : this.CachedComponents.push(a));
715
- }), j().isLogin) {
716
- const a = ra(this.appInfo.Routes);
717
- if (Ka(a), this.appInfo.defaultPage = oa(a) || "", this.appInfo.defaultPage) {
718
- if (this.menuLoaded = !0, N.value && N.value.mainAppPush) {
435
+ }), M().isLogin) {
436
+ const a = aa(this.appInfo.Routes);
437
+ if (_a(a), this.appInfo.defaultPage = ta(a) || "", this.appInfo.defaultPage) {
438
+ if (this.menuLoaded = !0, W.value && W.value.mainAppPush) {
719
439
  const s = this.formatRoute(this.appInfo.defaultPage);
720
- N.value.mainAppPush(s);
440
+ W.value.mainAppPush(s);
721
441
  }
722
- Ja(this.appInfo.defaultPage);
442
+ Da(this.appInfo.defaultPage);
723
443
  }
724
444
  }
725
445
  },
@@ -737,10 +457,10 @@ const Ja = (e) => {
737
457
  * @param path 路由地址
738
458
  */
739
459
  push(e) {
740
- this.findRoute(e) && Je().setTabActive(e), ga(() => {
741
- if (oe.push({ path: e }), N.value && N.value.mainAppPush) {
460
+ this.findRoute(e) && He().setTabActive(e), ma(() => {
461
+ if (Ee.push({ path: e }), W.value && W.value.mainAppPush) {
742
462
  const a = this.formatRoute(e);
743
- N.value.mainAppPush(a);
463
+ W.value.mainAppPush(a);
744
464
  }
745
465
  });
746
466
  },
@@ -759,7 +479,7 @@ const Ja = (e) => {
759
479
  * @returns 组件实例
760
480
  */
761
481
  cacheComponent(e, t) {
762
- let a = Fe.get(t.path);
482
+ let a = $e.get(t.path);
763
483
  if (!a)
764
484
  if (this.CachedComponents.includes(t.path))
765
485
  a = {
@@ -768,7 +488,7 @@ const Ja = (e) => {
768
488
  render() {
769
489
  return U(e);
770
490
  }
771
- }, Fe.set(t.path, a);
491
+ }, $e.set(t.path, a);
772
492
  else return e;
773
493
  return a;
774
494
  },
@@ -777,7 +497,7 @@ const Ja = (e) => {
777
497
  * @param path 路由地址
778
498
  */
779
499
  excludeComponent(e) {
780
- this.ExcludeComponents.includes(e) || this.ExcludeComponents.push(e), this.CachedComponents.splice(this.CachedComponents.indexOf(e), 1), Fe.delete(e);
500
+ this.ExcludeComponents.includes(e) || this.ExcludeComponents.push(e), this.CachedComponents.splice(this.CachedComponents.indexOf(e), 1), $e.delete(e);
781
501
  },
782
502
  /**
783
503
  * 路由路径层级查询,返回面包屑
@@ -797,8 +517,8 @@ const Ja = (e) => {
797
517
  AppCode: "",
798
518
  Version: "",
799
519
  Host: "",
800
- Source: Ce.Manual,
801
- Action: Be.App,
520
+ Source: Be.Manual,
521
+ Action: qe.App,
802
522
  Path: "",
803
523
  Icon: "",
804
524
  Routes: [],
@@ -808,11 +528,11 @@ const Ja = (e) => {
808
528
  }, this.CachedComponents.splice(0, this.CachedComponents.length), this.ExcludeComponents.splice(0, this.ExcludeComponents.length), this.appList.splice(0, this.appList.length), this.menuLoaded = !1;
809
529
  },
810
530
  logout() {
811
- this.clean(), oe.push({ path: Ie + "#/" }), Se() && N.value && N.value.mainAppPush && N.value.mainAppPush(Ie + "#/");
531
+ this.clean(), window.location.assign("/");
812
532
  }
813
533
  },
814
534
  persist: !1
815
- }), ia = "Token解析失败", ze = "登录过期,请重新登录", je = {
535
+ }), Qa = "Token解析失败", Ae = 1401, Ve = {
816
536
  login: {
817
537
  api: "PLATFORM_API",
818
538
  url: "/openapi/LoginSrv/login",
@@ -830,48 +550,43 @@ const Ja = (e) => {
830
550
  url: "/api/LoginSrv/logout",
831
551
  loadingText: "正在退出..."
832
552
  }
833
- }, Ba = (e) => {
553
+ }, Ja = (e) => {
834
554
  let t = {
835
555
  Option: {
836
556
  Mode: "MicroApp"
837
557
  },
838
558
  Query: e
839
559
  };
840
- return G(je.login, t).then((a) => (a == null ? void 0 : a.status) === T.SUCCESS ? a : null);
841
- }, Ca = (e) => {
560
+ return j(Ve.login, t).then((a) => (a == null ? void 0 : a.status) === T.SUCCESS ? a : null);
561
+ }, ja = (e) => {
842
562
  let t = {
843
563
  Query: {
844
564
  AppId: e
845
565
  }
846
566
  };
847
- return G(je.auth, t).then((a) => (a == null ? void 0 : a.status) === T.SUCCESS ? a.data : (x.error("获取授权信息失败," + (a == null ? void 0 : a.msg)), null));
848
- }, za = () => {
567
+ return j(Ve.auth, t).then((a) => {
568
+ if ((a == null ? void 0 : a.status) === T.SUCCESS)
569
+ return a.data;
570
+ if ((a == null ? void 0 : a.errno) == Ae) {
571
+ M().logout(!1);
572
+ return;
573
+ }
574
+ return x.error("获取授权信息失败," + (a == null ? void 0 : a.msg)), null;
575
+ });
576
+ }, Ga = () => {
849
577
  let e = {
850
578
  Option: {},
851
579
  Query: {}
852
580
  };
853
- return G(je.logout, e).then((t) => (t == null ? void 0 : t.status) === T.SUCCESS ? t.data : null);
854
- }, Ya = (e) => {
855
- try {
856
- const a = JSON.parse(atob(e.split(".")[1])).exp;
857
- return Date.now() / 1e3 > a;
858
- } catch (t) {
859
- return console.error(ia, t), !0;
860
- }
861
- }, Me = (e, t) => e == "" ? (x.error(ze, {
862
- duration: 3e3,
863
- onClose: t
864
- }), !1) : Ya(e) ? (x.error(ze, {
865
- duration: 3e3,
866
- onClose: t
867
- }), !1) : !0, Xa = (e) => {
581
+ return j(Ve.logout, e).then((t) => (t == null ? void 0 : t.status) === T.SUCCESS ? t.data : null);
582
+ }, Wa = (e) => {
868
583
  try {
869
584
  const t = JSON.parse(atob(e.token.split(".")[1]));
870
585
  return t.user = JSON.parse(t.user), e.UserInfo = t.user, !0;
871
586
  } catch (t) {
872
- return console.error(ia, t), !1;
587
+ return console.error(Qa, t), !1;
873
588
  }
874
- }, k = f(""), ee = f(null), j = ue("userInfo", {
589
+ }, k = f(""), ee = f(null), M = le("userInfo", {
875
590
  state: () => ({
876
591
  isLogin: !1,
877
592
  userInfo: {
@@ -889,7 +604,7 @@ const Ja = (e) => {
889
604
  * 启动时初始化用户信息
890
605
  */
891
606
  init() {
892
- Se() || (this.token ? (Me(this.token, () => this.clean()), me(this.token), k.value = this.userInfo.UserLevel, this.isLogin = !0) : this.clean());
607
+ Me() || (this.token ? (he(this.token), k.value = this.userInfo.UserLevel, this.isLogin = !0) : this.clean());
893
608
  },
894
609
  /**
895
610
  * 登录操作
@@ -897,14 +612,14 @@ const Ja = (e) => {
897
612
  * @returns
898
613
  */
899
614
  async login(e, t) {
900
- const a = await Ba(e);
615
+ const a = await Ja(e);
901
616
  if (a) {
902
617
  const s = a;
903
618
  if (s.errno)
904
619
  return s;
905
620
  {
906
621
  const n = a.data;
907
- if (this.token = n.token, me(this.token), this.isLogin = !0, Xa(n))
622
+ if (this.token = n.token, he(this.token), this.isLogin = !0, Wa(n))
908
623
  this.userInfo = {
909
624
  ...this.userInfo,
910
625
  ...n.UserInfo
@@ -928,7 +643,7 @@ const Ja = (e) => {
928
643
  if (ee.value && ee.value.appId === e)
929
644
  return !0;
930
645
  try {
931
- const t = await Ca(e);
646
+ const t = await ja(e);
932
647
  return t ? (ee.value = {
933
648
  appId: e,
934
649
  permits: t.permits || [],
@@ -971,23 +686,17 @@ const Ja = (e) => {
971
686
  * @param token 用户Token
972
687
  */
973
688
  setUserInfo(e, t) {
974
- if (!Me(t)) {
975
- this.clean();
976
- return;
977
- }
978
689
  k.value || (k.value = e.UserLevel, this.userInfo = {
979
690
  ...this.userInfo,
980
691
  ...e
981
- }, this.token = t, me(this.token), this.isLogin = !0);
692
+ }, this.token = t, he(this.token), this.isLogin = !0);
982
693
  },
983
694
  /**
984
695
  * 获取用户Token
985
696
  * @returns 用户Token
986
697
  */
987
698
  getToken() {
988
- return Me(this.token, () => {
989
- this.clean(), this.logout();
990
- }) ? this.token : "";
699
+ return this.token || (this.clean(), this.logout(!1)), "";
991
700
  },
992
701
  /**
993
702
  * 是否超级管理员
@@ -1018,19 +727,20 @@ const Ja = (e) => {
1018
727
  Code: "",
1019
728
  TenantId: "",
1020
729
  UserLevel: ""
1021
- }, this.token = "", me(this.token), this.isLogin = !1, ee.value = null, k.value = "", H().clean(), Promise.resolve();
730
+ }, this.token = "", he(this.token), this.isLogin = !1, ee.value = null, k.value = "", H().clean(), Promise.resolve();
1022
731
  },
1023
732
  /**
1024
733
  * 登出操作
734
+ * @param exit 是否主动退出应用
1025
735
  * @returns
1026
736
  */
1027
- async logout() {
737
+ async logout(e) {
1028
738
  try {
1029
- await za();
1030
- } catch (e) {
1031
- console.error("调用登出接口失败", e);
739
+ e && await Ga();
740
+ } catch (t) {
741
+ console.error("调用登出接口失败", t);
1032
742
  } finally {
1033
- await this.clean(), setTimeout(async () => {
743
+ await this.clean(), e && setTimeout(async () => {
1034
744
  x.success("已退出登录");
1035
745
  }, 1e3), setTimeout(async () => {
1036
746
  H().logout();
@@ -1039,7 +749,7 @@ const Ja = (e) => {
1039
749
  return Promise.resolve();
1040
750
  }
1041
751
  },
1042
- persist: Se() ? !1 : {
752
+ persist: Me() ? !1 : {
1043
753
  key: "MICROAPP_USER_INFO",
1044
754
  storage: localStorage,
1045
755
  pick: ["token", "userInfo"],
@@ -1048,9 +758,295 @@ const Ja = (e) => {
1048
758
  e.store.init();
1049
759
  }
1050
760
  }
1051
- }), Qt = (e, t) => {
1052
- const a = j();
1053
- return e.filter((n) => n.role && !a.hasRole(n.role) || n.permit && !a.hasPermit(oe.currentRoute.value.path, n.permit) || n.enabled === !1 ? !1 : typeof n.enabled == "function" ? n.enabled() : !0).filter((n) => {
761
+ }), Oe = (e, t) => {
762
+ var n;
763
+ const a = e.page;
764
+ return {
765
+ url: "",
766
+ ...e.url,
767
+ ...(n = a.urls) == null ? void 0 : n[t.urlKey],
768
+ ...t.url,
769
+ loadingText: t.loadingText
770
+ };
771
+ }, Re = (e, t) => {
772
+ const a = e.page, s = t.url;
773
+ if (!s || !s.url) {
774
+ const o = `URL未设置: ${t.urlKey}`;
775
+ return console.warn(o), Promise.reject(new Error(o));
776
+ }
777
+ s.api || (s.api = a.api), s.authorize === void 0 && (s.authorize = a.authorize);
778
+ let n = ue(
779
+ JSON.parse(JSON.stringify(s.params ?? {})),
780
+ JSON.parse(JSON.stringify(t.params ?? {}))
781
+ );
782
+ return t.processParams && (n = t.processParams(n)), t.loadingState && (t.loadingState.value = !0), t.hideErrorToast && (s.hideErrorToast = !0), j(s, n).then((o) => (t.loadingState && (t.loadingState.value = !1), (o == null ? void 0 : o.errno) == Ae ? (M().logout(!1), null) : o)).catch((o) => (t.loadingState && (t.loadingState.value = !1), null));
783
+ }, Ke = (e, t) => {
784
+ t.params || (t.params = {}), t.params.Query || (t.params.Query = {});
785
+ const a = Oe(e, t);
786
+ return t.url = a, Re(e, t);
787
+ }, kt = (e, t) => (t.params || (t.params = {}), t.params.Query || (t.params.Query = {}), t.loadingText = t.loadingText === !1 ? !1 : t.loadingText || "开始执行...", t.url = Oe(e, t), Re(e, t).then((a) => ((a == null ? void 0 : a.status) === T.SUCCESS && (t.hideErrorToast || x.success("执行成功!")), a))), sa = (e, t = {}) => {
788
+ const a = t.primaryKey || "Id";
789
+ if (t.params || (t.params = {}), t.params.Query || (t.params.Query = {}), !t.params.Data)
790
+ return x.error("错误!无保存数据!"), Promise.resolve(null);
791
+ const s = {
792
+ ...t,
793
+ urlKey: t.urlKey || "save",
794
+ loadingText: t.loadingText === !1 ? !1 : t.loadingText || "数据保存中..."
795
+ };
796
+ s.params.Query[a] = s.params.Data[a];
797
+ const n = Oe(e, s);
798
+ return s.url = n, Re(e, s).then((o) => ((o == null ? void 0 : o.status) === T.SUCCESS && (t.hideErrorToast || x.success("保存成功!")), o));
799
+ }, qa = (e, t, a = {}) => {
800
+ const s = a.primaryKey || "Id";
801
+ a.params || (a.params = {}), a.params.Query || (a.params.Query = {});
802
+ const n = {
803
+ ...a,
804
+ urlKey: "delete",
805
+ loadingText: a.loadingText === !1 ? !1 : a.loadingText || "数据删除中..."
806
+ };
807
+ if (Array.isArray(t) ? n.params.Query[s] = t : n.params.Query[s] = t[s], F(n.params.Query) || F(n.params.Query[s]))
808
+ return x.error("错误!禁止无条件删除数据!"), Promise.resolve(null);
809
+ const o = Oe(e, n);
810
+ return n.url = o, Re(e, n).then((r) => ((r == null ? void 0 : r.status) === T.SUCCESS && (a.hideErrorToast || x.success("删除成功!")), r));
811
+ }, Ba = (e, t) => Ke(e, {
812
+ urlKey: "tree",
813
+ params: {},
814
+ loadingState: e.isTreeLoading,
815
+ loadingText: !1,
816
+ processParams: () => ue(e.treeQuery, t)
817
+ }).then((a) => (a == null ? void 0 : a.status) === T.SUCCESS ? (e.data.value = a.data || [], e.afterLoad && e.afterLoad(e.data.value), e.data.value) : (e.afterLoad && e.afterLoad((a == null ? void 0 : a.data) || []), []));
818
+ let re;
819
+ const Lt = (e) => {
820
+ re = new Ue({}), re.messages({
821
+ required: "${label}不能为空",
822
+ types: {
823
+ number: "${label}必须是数字"
824
+ },
825
+ enum: "${label}必须是${enum}中的一个",
826
+ string: {
827
+ len: "${label}长度必须为${len}",
828
+ min: "${label}长度不能小于${min}",
829
+ max: "${label}长度不能大于${max}",
830
+ range: "${label}长度必须在${min}和${max}之间"
831
+ },
832
+ number: {
833
+ len: "${label}必须为${len}",
834
+ min: "${label}不能小于${min}",
835
+ max: "${label}不能大于${max}",
836
+ range: "${label}必须在${min}和${max}之间"
837
+ },
838
+ array: {
839
+ len: "${label}长度必须为${len}",
840
+ min: "${label}长度不能小于${min}",
841
+ max: "${label}长度不能大于${max}",
842
+ range: "${label}长度必须在${min}和${max}之间"
843
+ },
844
+ ...e
845
+ });
846
+ }, $t = (e) => {
847
+ if (!e || F(e))
848
+ return [];
849
+ const t = [], a = re.messages(), s = (o, r, l) => {
850
+ const u = r.type;
851
+ if (u && a.types && u in a.types) {
852
+ const c = a.types[u];
853
+ n(c, o, { type: u }, l);
854
+ }
855
+ const i = ["string", "number", "array"];
856
+ for (const c of i)
857
+ if (u === c && a[c]) {
858
+ const d = a[c], v = ["len", "min", "max", "range"];
859
+ for (const p of v)
860
+ p === "range" && r.min != null && r.max != null && d.range ? n(d.range, o, { min: r.min, max: r.max }, l) : p !== "range" && r[p] != null && d[p] && n(d[p], o, { [p]: r[p] }, l);
861
+ }
862
+ if (r.required && a.required && n(a.required, o, {}, l), r.pattern && a.pattern && n(r.message, o, {}, l), r.enum && Array.isArray(r.enum) && a.enum) {
863
+ const c = r.enum.join(", ");
864
+ n(a.enum, o, { enum: c }, l);
865
+ }
866
+ }, n = (o, r, l, u) => {
867
+ if (o)
868
+ try {
869
+ let i;
870
+ if (typeof o == "function") {
871
+ const c = [r];
872
+ for (const d in l)
873
+ c.push(l[d]);
874
+ i = o.apply(null, c), i && u.push(i);
875
+ } else {
876
+ i = String(o);
877
+ for (const c in l)
878
+ i = i.replace(new RegExp(`\\$\\{${c}\\}`, "g"), l[c]);
879
+ i = i.replace(/\$\{label\}/g, ""), i && u.push(i);
880
+ }
881
+ } catch (i) {
882
+ console.error("格式化验证消息出错:", i);
883
+ }
884
+ };
885
+ return Object.keys(e).forEach((o) => {
886
+ const r = e[o], l = [];
887
+ try {
888
+ s(o, r, l), Array.isArray(r) && r.forEach((i) => {
889
+ i && typeof i == "object" && s(o, i, l);
890
+ }), r && typeof r == "object" && "fields" in r;
891
+ } catch (i) {
892
+ console.error("处理验证规则出错:", i);
893
+ }
894
+ const u = Array.from(new Set(l));
895
+ o && u.length > 0 && t.push({
896
+ field: o,
897
+ rules: u
898
+ });
899
+ }), t;
900
+ }, fe = async (e) => {
901
+ const t = e.formData.value, a = e.formRules.value;
902
+ F(a) || (Qe(e), e.ruleValidator || (e.ruleValidator = new Ue({}), e.ruleValidator.messages(re.messages()), e.ruleValidator.define(a)), e.ruleResults.value = await e.ruleValidator.validate(t).then(() => {
903
+ }).catch(({ fields: s }) => s));
904
+ }, Ft = async (e, t, a) => (a || (a = new Ue({}), a.messages(re.messages()), a.define(t)), a.validate(e).then(() => {
905
+ }).catch(({ fields: s }) => s)), Qe = (e) => {
906
+ e.ruleResults.value = void 0;
907
+ }, Y = () => {
908
+ const e = te(D.EditorControl, void 0), t = f(te(D.LabelText, "")), a = f(te(D.RuleKey, "")), s = te(D.ErrInfo, void 0);
909
+ return {
910
+ editorCtrl: e,
911
+ labelText: t,
912
+ ruleKey: a,
913
+ errInfo: s
914
+ };
915
+ }, za = (e, t) => {
916
+ let a = f({
917
+ msg: "",
918
+ errClass: ""
919
+ });
920
+ if (!e.label || !e.rule)
921
+ return a;
922
+ const s = t == null ? void 0 : t.ruleResults;
923
+ return g(
924
+ () => s == null ? void 0 : s.value,
925
+ (n) => {
926
+ if (a.value.errClass = "", a.value.msg = "", !F(n)) {
927
+ const o = Ca(
928
+ {
929
+ label: e.label,
930
+ rule: e.rule
931
+ },
932
+ t == null ? void 0 : t.formRules.value,
933
+ Xe(n)
934
+ );
935
+ a.value.errClass = o.errClass.value, a.value.msg = o.msg.value;
936
+ }
937
+ },
938
+ { deep: !0 }
939
+ ), a;
940
+ }, Ca = (e, t, a) => {
941
+ const s = f([]), n = f(""), o = f("");
942
+ if (!e.rule || !t || !a)
943
+ return { msg: n, ruleErrors: s, errClass: o };
944
+ e.rule.split("|").forEach((u) => {
945
+ if (u = u.trim(), u)
946
+ if (a[u])
947
+ s.value.push(...a[u]);
948
+ else {
949
+ const i = [];
950
+ for (let c in a)
951
+ c !== u && c.startsWith(u + ".") && i.push(...a[c]);
952
+ i.length > 0 && s.value.push(...i);
953
+ }
954
+ });
955
+ const l = /\${\w+}/g;
956
+ return s.value.forEach((u) => {
957
+ n.value && (n.value += " / "), n.value += u.message.replace("${label}", e.label ?? "");
958
+ const i = t[u.field];
959
+ if (i) {
960
+ const c = n.value.match(l);
961
+ c && c.forEach((d) => {
962
+ const v = d.replace("${", "").replace("}", "");
963
+ n.value = n.value.replace(d, i[v] ?? "");
964
+ });
965
+ }
966
+ }), s.value.length > 0 && (o.value = "error"), { msg: n, ruleErrors: s, errClass: o };
967
+ }, Mt = (e, t) => {
968
+ ke(D.LabelText, e.label || ""), ke(D.RuleKey, e.rule || "");
969
+ const a = za(e, t);
970
+ return ke(D.ErrInfo, a), a;
971
+ }, _t = (e) => {
972
+ na(e);
973
+ }, Nt = (e) => {
974
+ const t = e.page, a = e.formData.value;
975
+ a[e.primaryKey ?? t.primaryKey] = null, na(e);
976
+ }, Dt = (e) => {
977
+ Je(e), e.visible.value = !1;
978
+ }, na = async (e) => {
979
+ var s;
980
+ const t = e.page;
981
+ if (e.isFormSaving.value = !0, Qe(e), e.beforeSave && e.beforeSave() === !1)
982
+ return e.isFormSaving.value = !1, Promise.resolve();
983
+ if (e.formRules.value && await fe(e), e.ruleResults.value)
984
+ return x.error("提交表单时,验证失败!"), console.error("表单验证失败!", e.ruleResults.value), e.isFormSaving.value = !1, Promise.resolve();
985
+ const a = e.formData.value;
986
+ return sa(
987
+ {
988
+ page: t,
989
+ // 转换为AnyControl接口
990
+ reload: (s = e.grid) == null ? void 0 : s.reload
991
+ },
992
+ {
993
+ url: e.saveUrl,
994
+ primaryKey: e.primaryKey ?? t.primaryKey,
995
+ params: {
996
+ Data: a,
997
+ Query: {}
998
+ },
999
+ hideErrorToast: !0,
1000
+ // 隐藏自动错误提示,特殊判断控制
1001
+ loadingState: e.isFormSaving
1002
+ }
1003
+ ).then((n) => {
1004
+ var o, r;
1005
+ if ((n == null ? void 0 : n.status) === T.SUCCESS)
1006
+ x.success("保存成功!"), e.grid && (e.grid.reload.value = !0), e.afterSave && e.afterSave(n), e.autoClose !== !1 && (e.visible.value = !1);
1007
+ else if (n != null && n.msg && ((o = n == null ? void 0 : n.msg) == null ? void 0 : o.indexOf("Duplicate entry")) > -1) {
1008
+ const l = (r = n == null ? void 0 : n.msg) == null ? void 0 : r.match(/Duplicate entry '([^']+)' for key '([^']+)'/);
1009
+ if (l && l.length > 2 && l[1] && l[2]) {
1010
+ const u = l[1], i = l[2].replace(/Idx_/g, "").split("_"), c = e.formRules.value;
1011
+ if (c && i.length > 0) {
1012
+ const d = {};
1013
+ i.forEach((v) => {
1014
+ c[v] && (d[v] = [
1015
+ {
1016
+ field: v,
1017
+ fieldValue: u,
1018
+ message: "数据重复"
1019
+ }
1020
+ ]);
1021
+ }), Object.keys(d).length > 0 && (console.error("保存失败!", d), e.ruleResults.value = d);
1022
+ }
1023
+ x.error(`保存失败!数据 \`${u}\` 已存在!`);
1024
+ } else x.error((n == null ? void 0 : n.msg) ?? "保存失败!");
1025
+ e.afterSave && e.afterSave(n);
1026
+ } else
1027
+ x.error((n == null ? void 0 : n.msg) ?? "保存失败!"), e.afterSave && e.afterSave(n);
1028
+ });
1029
+ }, Ut = async (e) => {
1030
+ const t = e.page, a = e.grid;
1031
+ e.isFormLoading.value = !0;
1032
+ const s = e.formData.value, n = e.primaryKey ?? t.primaryKey;
1033
+ return ia(a, { [n]: s[n] }, e.detailUrl).then((o) => {
1034
+ e.isFormLoading.value = !1, o && ra(e, o);
1035
+ });
1036
+ }, Ht = (e) => {
1037
+ const t = e.grid;
1038
+ t && (t.rowData.value = void 0), e && (Je(e), e.visible && (e.visible.value = !1), setTimeout(() => {
1039
+ e.visible.value = !0;
1040
+ }, 1));
1041
+ }, ra = (e, t) => {
1042
+ Je(e);
1043
+ const a = { ...e.formData.value, ...t };
1044
+ e.formData.value = JSON.parse(JSON.stringify(a));
1045
+ }, Je = (e) => {
1046
+ e.formData.value = e.default ? JSON.parse(JSON.stringify(e.default)) : {}, Qe(e);
1047
+ }, Vt = (e, t) => {
1048
+ const a = M();
1049
+ return e.filter((n) => n.role && !a.hasRole(n.role) || n.permit && !a.hasPermit(Ee.currentRoute.value.path, n.permit) || n.enabled === !1 ? !1 : typeof n.enabled == "function" ? n.enabled() : !0).filter((n) => {
1054
1050
  if (!t) {
1055
1051
  if (n.visible === !1)
1056
1052
  return !1;
@@ -1059,7 +1055,7 @@ const Ja = (e) => {
1059
1055
  }
1060
1056
  return !0;
1061
1057
  });
1062
- }, Jt = (e, t) => {
1058
+ }, Kt = (e, t) => {
1063
1059
  const a = t == null ? void 0 : t.filter((s) => {
1064
1060
  const n = e.find(
1065
1061
  (o) => o.dataIndex === s.dataIndex || o.key === s.key || o.title === s.title
@@ -1067,17 +1063,17 @@ const Ja = (e) => {
1067
1063
  return n ? { ...s, ...n } : !1;
1068
1064
  });
1069
1065
  return [...a || [], ...e.filter((s) => !(a != null && a.includes(s)))];
1070
- }, Za = (e) => (e.remotePage = !1, la(e).then((t) => t.rows)), la = (e) => {
1066
+ }, Ya = (e) => (e.remotePage = !1, oa(e).then((t) => t.rows)), oa = (e) => {
1071
1067
  e.gridQuery || (e.gridQuery = {});
1072
1068
  const t = e.remotePage ? "find" : "list";
1073
- return Ve(e, {
1069
+ return Ke(e, {
1074
1070
  urlKey: t,
1075
1071
  url: e.gridUrl,
1076
1072
  params: e.gridQuery,
1077
1073
  loadingState: e.isGridLoading,
1078
1074
  processParams: (a) => {
1079
1075
  var n;
1080
- return e.remotePage && (a.Query.$limit = [(e.pageNo.value - 1) * e.pageSize.value, e.pageSize.value]), ce((n = e.gridUrl) == null ? void 0 : n.params, a, e.gridQuery);
1076
+ return e.remotePage && (a.Query.$limit = [(e.pageNo.value - 1) * e.pageSize.value, e.pageSize.value]), ue((n = e.gridUrl) == null ? void 0 : n.params, a, e.gridQuery);
1081
1077
  }
1082
1078
  }).then((a) => {
1083
1079
  if ((a == null ? void 0 : a.status) === T.SUCCESS) {
@@ -1085,14 +1081,17 @@ const Ja = (e) => {
1085
1081
  return s.rows ? (e.tableData.value = s.rows, e.total.value = s.total) : (e.tableData.value = a.data, e.total.value = a.data.length, s = {
1086
1082
  total: e.total.value,
1087
1083
  rows: a.data
1088
- }, e.afterLoad && e.afterLoad(s)), s;
1084
+ }), e.afterLoad && e.afterLoad(s), s;
1089
1085
  }
1090
- return e.tableData.value = [], e.total.value = 0, {
1086
+ return e.tableData.value = [], e.total.value = 0, e.afterLoad && e.afterLoad({
1087
+ total: 0,
1088
+ rows: []
1089
+ }), {
1091
1090
  total: 0,
1092
1091
  rows: []
1093
1092
  };
1094
1093
  });
1095
- }, et = (e, t, a = {}) => aa(e, {
1094
+ }, Xa = (e, t, a = {}) => sa(e, {
1096
1095
  urlKey: "update",
1097
1096
  url: e.updateUrl,
1098
1097
  params: {
@@ -1103,37 +1102,37 @@ const Ja = (e) => {
1103
1102
  ...a
1104
1103
  }).then((s) => ((s == null ? void 0 : s.status) === T.SUCCESS && setTimeout(() => {
1105
1104
  e.reload.value = !0, e.afterUpdate && e.afterUpdate(t);
1106
- }, 50), s)), jt = (e, t) => {
1105
+ }, 50), s)), Qt = (e, t) => {
1107
1106
  const a = {};
1108
- return a[e.primaryKey] = t[e.primaryKey], a[e.statusKey] = t[e.statusKey], et(e, a, {
1107
+ return a[e.primaryKey] = t[e.primaryKey], a[e.statusKey] = t[e.statusKey], Xa(e, a, {
1109
1108
  loadingText: !1,
1110
1109
  hideErrorToast: !0
1111
1110
  });
1112
- }, ua = async (e, t, a) => await Ve(e, {
1111
+ }, ia = async (e, t, a) => await Ke(e, {
1113
1112
  urlKey: "detail",
1114
1113
  url: a,
1115
1114
  params: t,
1116
1115
  loadingState: e.isGridLoading
1117
- }), Gt = (e, t) => {
1116
+ }), Jt = (e, t) => {
1118
1117
  const a = t;
1119
- return ua(e, { [e.primaryKey]: a[e.primaryKey] }).then((s) => ((s == null ? void 0 : s.status) === T.SUCCESS && s.data && (e.expandRows.value[a[e.primaryKey]] = s), s));
1120
- }, Wt = (e, t) => {
1118
+ return ia(e, { [e.primaryKey]: a[e.primaryKey] }).then((s) => ((s == null ? void 0 : s.status) === T.SUCCESS && s.data && (e.expandRows.value[a[e.primaryKey]] = s), s));
1119
+ }, jt = (e, t) => {
1121
1120
  let a = e.editor;
1122
- e.rowData.value = t, a && (sa(a, t), a.visible.value = !0);
1123
- }, qt = (e, t) => Da(e, t, {
1121
+ e.rowData.value = t, a && (ra(a, t), a.visible.value = !0);
1122
+ }, Gt = (e, t) => qa(e, t, {
1124
1123
  url: e.deleteUrl,
1125
1124
  primaryKey: e.primaryKey
1126
1125
  }).then((a) => ((a == null ? void 0 : a.status) === T.SUCCESS && setTimeout(() => {
1127
1126
  e.reload.value = !0, e.afterDelete && !Array.isArray(t) && e.afterDelete(t);
1128
1127
  }, 50), a));
1129
- var Ne = /* @__PURE__ */ ((e) => (e.SelectReload = "Select.Reload", e.RadioReload = "Radio.Reload", e.CheckboxReload = "Checkbox.Reload", e.TreeSelectReload = "TreeSelect.Reload", e.TreeCheckReload = "TreeCheck.Reload", e))(Ne || {});
1130
- class at {
1128
+ var _e = /* @__PURE__ */ ((e) => (e.SelectReload = "Select.Reload", e.RadioReload = "Radio.Reload", e.CheckboxReload = "Checkbox.Reload", e.TreeSelectReload = "TreeSelect.Reload", e.TreeCheckReload = "TreeCheck.Reload", e))(_e || {});
1129
+ class Za {
1131
1130
  constructor() {
1132
1131
  $(this, "listeners", {});
1133
1132
  }
1134
1133
  // 检查事件名是否符合前缀
1135
1134
  isValidPrefix(t) {
1136
- return Object.values(Ne).some((a) => t.startsWith(a + "."));
1135
+ return Object.values(_e).some((a) => t.startsWith(a + "."));
1137
1136
  }
1138
1137
  /**
1139
1138
  * 事件订阅
@@ -1142,7 +1141,7 @@ class at {
1142
1141
  */
1143
1142
  on(t, a) {
1144
1143
  if (!this.isValidPrefix(t)) {
1145
- console.error(`事件前缀不正确: ${t}, 事件名必须以 ${Object.values(Ne).join(", ")} 开头`);
1144
+ console.error(`事件前缀不正确: ${t}, 事件名必须以 ${Object.values(_e).join(", ")} 开头`);
1146
1145
  return;
1147
1146
  }
1148
1147
  this.listeners[t] || (this.listeners[t] = []), this.listeners[t].push(a);
@@ -1173,51 +1172,51 @@ class at {
1173
1172
  this.listeners[t] && this.listeners[t].forEach((s) => s(t, ...a));
1174
1173
  }
1175
1174
  }
1176
- const q = new at(), Z = (e, t, a) => {
1175
+ const q = new Za(), Z = (e, t, a) => {
1177
1176
  if (t.inputFactory && (a != null && a.reloadEvent)) {
1178
1177
  const s = t.inputFactory.value;
1179
1178
  s.reloadHandler = (n, o) => {
1180
- tt(t.url, t, o);
1179
+ et(t.url, t, o);
1181
1180
  }, q.on(a.reloadEvent, s.reloadHandler);
1182
1181
  }
1183
1182
  if (a != null && a.data)
1184
1183
  g(
1185
1184
  () => a.data,
1186
1185
  () => {
1187
- Ge(t, a.data, !0);
1186
+ je(t, a.data, !0);
1188
1187
  },
1189
1188
  { deep: !0, immediate: !0 }
1190
1189
  );
1191
1190
  else if (t.url && t.url.url)
1192
- e && ca(t.url, t, t.params ?? {});
1191
+ e && la(t.url, t, t.params ?? {});
1193
1192
  else {
1194
1193
  const s = f(te(D.LabelText, ""));
1195
1194
  x.error("`" + s.value + "` 未配置选项数据!", {
1196
1195
  duration: 5e3
1197
1196
  });
1198
1197
  }
1199
- }, Ge = (e, t, a) => {
1198
+ }, je = (e, t, a) => {
1200
1199
  if (a) {
1201
1200
  const s = {
1202
1201
  ...e.fieldMap
1203
1202
  };
1204
- t = $a(s, t);
1203
+ t = ka(s, t);
1205
1204
  }
1206
1205
  t = JSON.parse(JSON.stringify(t ?? [])), e.all && t.unshift({
1207
1206
  label: "全部",
1208
1207
  value: e.allValue ?? void 0
1209
1208
  }), e.options.value = t;
1210
- }, tt = (e, t, a) => {
1211
- Array.isArray(a) ? Ge(t, a, !0) : ca(e, t, a);
1209
+ }, et = (e, t, a) => {
1210
+ Array.isArray(a) ? je(t, a, !0) : la(e, t, a);
1212
1211
  }, de = (e, t) => {
1213
1212
  var a;
1214
1213
  (a = e.inputFactory) != null && a.value && t.reloadEvent && e.inputFactory.value.reloadHandler && q.off(t.reloadEvent, e.inputFactory.value.reloadHandler);
1215
- }, ca = (e, t, a) => {
1216
- const s = JSON.parse(JSON.stringify(e.params ?? {})), n = JSON.parse(JSON.stringify(t.params ?? {})), o = ce(s, n, a);
1217
- st(e, t, t.fieldMap, o).then((r) => {
1218
- Ge(t, r, !1);
1214
+ }, la = (e, t, a) => {
1215
+ const s = JSON.parse(JSON.stringify(e.params ?? {})), n = JSON.parse(JSON.stringify(t.params ?? {})), o = ue(s, n, a);
1216
+ at(e, t, t.fieldMap, o).then((r) => {
1217
+ je(t, r, !1);
1219
1218
  });
1220
- }, st = (e, t, a, s) => {
1219
+ }, at = (e, t, a, s) => {
1221
1220
  const { fieldMap: n, ...o } = e, l = {
1222
1221
  ...{
1223
1222
  url: "",
@@ -1229,10 +1228,19 @@ const q = new at(), Z = (e, t, a) => {
1229
1228
  },
1230
1229
  ...o
1231
1230
  };
1232
- return l.loadingText = !1, s || (s = {}), s.Query || (s.Query = {}), t.optionQuery = s, t.isOptionLoading.value = !0, G(l, s).then((u) => (u == null ? void 0 : u.status) === T.SUCCESS && u.data ? u.data : []).finally(() => {
1231
+ return l.loadingText = !1, s || (s = {}), s.Query || (s.Query = {}), t.optionQuery = s, t.isOptionLoading.value = !0, j(l, s).then((u) => {
1232
+ if ((u == null ? void 0 : u.status) === T.SUCCESS) {
1233
+ if (u.data)
1234
+ return u.data;
1235
+ } else if ((u == null ? void 0 : u.errno) == Ae) {
1236
+ M().logout(!1);
1237
+ return;
1238
+ }
1239
+ return [];
1240
+ }).finally(() => {
1233
1241
  t.isOptionLoading.value = !1;
1234
1242
  });
1235
- }, nt = (e, t, a) => {
1243
+ }, tt = (e, t, a) => {
1236
1244
  if (e === void 0) return;
1237
1245
  const s = (o) => {
1238
1246
  const r = { ...o };
@@ -1252,7 +1260,7 @@ const q = new at(), Z = (e, t, a) => {
1252
1260
  const o = n([e], t);
1253
1261
  return o.length > 0 ? o[0] : void 0;
1254
1262
  }
1255
- }, we = (e) => e === void 0 ? [] : Array.isArray(e) ? e.map((t) => t.label) : [e.label], ae = (e, t, a) => {
1263
+ }, Te = (e) => e === void 0 ? [] : Array.isArray(e) ? e.map((t) => t.label) : [e.label], ae = (e, t, a) => {
1256
1264
  const s = t.split(".");
1257
1265
  let n = e;
1258
1266
  for (let o = 0; o < s.length - 1; o++) {
@@ -1260,7 +1268,7 @@ const q = new at(), Z = (e, t, a) => {
1260
1268
  n[r] || (n[r] = {}), n = n[r];
1261
1269
  }
1262
1270
  n[s[s.length - 1]] = a;
1263
- }, fa = (e, t, a) => {
1271
+ }, ua = (e, t, a) => {
1264
1272
  if (a == null) {
1265
1273
  Object.entries(t).forEach(([s]) => {
1266
1274
  ae(e, s, a);
@@ -1273,7 +1281,7 @@ const q = new at(), Z = (e, t, a) => {
1273
1281
  try {
1274
1282
  const l = parseInt(((r = n.match(/\$\{(\d+)\}/)) == null ? void 0 : r[1]) ?? "0"), u = a[l], i = n.replace(/\$\{\d+\}\./, "");
1275
1283
  if (i && u) {
1276
- const c = be(i, u);
1284
+ const c = ye(i, u);
1277
1285
  ae(e, s, c);
1278
1286
  } else
1279
1287
  ae(e, s, u);
@@ -1284,31 +1292,31 @@ const q = new at(), Z = (e, t, a) => {
1284
1292
  console.error("outFields 格式错误:" + n, "必须是 ${index} 或者 ${index}.${key}");
1285
1293
  }) : Object.entries(t).forEach(([s, n]) => {
1286
1294
  if (n.includes("${")) {
1287
- const o = be(n, a);
1295
+ const o = ye(n, a);
1288
1296
  ae(e, s, o);
1289
1297
  } else
1290
1298
  ae(e, s, a[n]);
1291
1299
  });
1292
- }, Pe = (e, t, a) => {
1300
+ }, we = (e, t, a) => {
1293
1301
  var o, r;
1294
1302
  const s = (o = e.inputFactory) == null ? void 0 : o.value;
1295
- s != null && s.editorCtrl && ((r = s.errInfo) != null && r.value.errClass) && pe(s.editorCtrl), e.selected.value = a;
1296
- const n = nt(a, e.options.value);
1297
- if (e.selectedOptions.value = n, t.formData && t.outFields && fa(t.formData, t.outFields, n), t.changeEvent) {
1303
+ s != null && s.editorCtrl && ((r = s.errInfo) != null && r.value.errClass) && fe(s.editorCtrl), e.selected.value = a;
1304
+ const n = tt(a, e.options.value);
1305
+ if (e.selectedOptions.value = n, t.formData && t.outFields && ua(t.formData, t.outFields, n), t.changeEvent) {
1298
1306
  const [l, u] = t.changeEvent;
1299
1307
  if (u)
1300
1308
  if (Array.isArray(l))
1301
1309
  l.every((i) => {
1302
- const c = be(u, { selectedValues: a });
1310
+ const c = ye(u, { selectedValues: a });
1303
1311
  try {
1304
- const p = JSON.parse(c);
1305
- q.emit(i, p, a, n);
1306
- } catch (p) {
1307
- console.error("eventParamsValue: ", c, p);
1312
+ const d = JSON.parse(c);
1313
+ q.emit(i, d, a, n);
1314
+ } catch (d) {
1315
+ console.error("eventParamsValue: ", c, d);
1308
1316
  }
1309
1317
  });
1310
1318
  else {
1311
- const i = be(u, { selectedValues: a });
1319
+ const i = ye(u, { selectedValues: a });
1312
1320
  try {
1313
1321
  const c = JSON.parse(i);
1314
1322
  q.emit(l, c, a, n);
@@ -1360,7 +1368,7 @@ const q = new at(), Z = (e, t, a) => {
1360
1368
  value: "Id"
1361
1369
  }
1362
1370
  }
1363
- }, Bt = (e) => {
1371
+ }, Wt = (e) => {
1364
1372
  S.PageOption = {
1365
1373
  ...S.PageOption,
1366
1374
  ...e.pageOption
@@ -1374,10 +1382,10 @@ const q = new at(), Z = (e, t, a) => {
1374
1382
  ...S.TreeOption,
1375
1383
  ...e.treeOption
1376
1384
  };
1377
- }, ke = (e) => {
1385
+ }, Pe = (e) => {
1378
1386
  for (let t in e.urls)
1379
1387
  e.urls[t].api || (e.urls[t].api = e.api), e.urls[t].authorize === void 0 && (e.urls[t].authorize = e.authorize);
1380
- }, rt = (e, t, a, s) => (ke(e), {
1388
+ }, st = (e, t, a, s) => (Pe(e), {
1381
1389
  editorCtrl: {
1382
1390
  ...S.EditorOption,
1383
1391
  name: "",
@@ -1393,8 +1401,8 @@ const q = new at(), Z = (e, t, a) => {
1393
1401
  isFormSaving: f(!1),
1394
1402
  isFormLoading: f(!1)
1395
1403
  }
1396
- }), ot = (e, t, a) => {
1397
- ke(e);
1404
+ }), nt = (e, t, a) => {
1405
+ Pe(e);
1398
1406
  const s = {
1399
1407
  ...S.GridOption,
1400
1408
  tableSize: f(S.GridOption.tableSize.value),
@@ -1427,13 +1435,13 @@ const q = new at(), Z = (e, t, a) => {
1427
1435
  (n) => {
1428
1436
  n && (setTimeout(() => {
1429
1437
  s.reload.value = !1;
1430
- }, 1), s.remotePage ? la(s) : Za(s));
1438
+ }, 1), s.remotePage ? oa(s) : Ya(s));
1431
1439
  }
1432
1440
  ), {
1433
1441
  gridCtrl: s
1434
1442
  };
1435
- }, Ct = (e, t) => {
1436
- ke(e);
1443
+ }, qt = (e, t) => {
1444
+ Pe(e);
1437
1445
  const a = {
1438
1446
  ...S.TreeOption,
1439
1447
  reload: f(!1),
@@ -1448,12 +1456,12 @@ const q = new at(), Z = (e, t, a) => {
1448
1456
  (s) => {
1449
1457
  s && (setTimeout(() => {
1450
1458
  a.reload.value = !1;
1451
- }, 1), Ua(a));
1459
+ }, 1), Ba(a));
1452
1460
  }
1453
1461
  ), {
1454
1462
  treeCtrl: a
1455
1463
  };
1456
- }, he = (e, t) => {
1464
+ }, pe = (e, t) => {
1457
1465
  const a = {
1458
1466
  ...S.OptionOption,
1459
1467
  url: e,
@@ -1475,24 +1483,24 @@ const q = new at(), Z = (e, t, a) => {
1475
1483
  ), {
1476
1484
  optionCtrl: a
1477
1485
  };
1478
- }, zt = (e, t, a) => {
1479
- ke(e);
1486
+ }, Bt = (e, t, a) => {
1487
+ Pe(e);
1480
1488
  const s = {
1481
1489
  ...S.PageOption,
1482
1490
  ...e
1483
- }, { editorCtrl: n } = rt(e, s, t, a), { gridCtrl: o } = ot(e, s);
1491
+ }, { editorCtrl: n } = st(e, s, t, a), { gridCtrl: o } = nt(e, s);
1484
1492
  return s.editor = n, s.grid = o, o.editor = n, o.tools = ["Reload", "RowHeight", "TableHeadset", "Fullscreen"], n.grid = o, {
1485
1493
  pageCtrl: s,
1486
1494
  editorCtrl: n,
1487
1495
  gridCtrl: o
1488
1496
  };
1489
- }, it = 7 * 24 * 60 * 60 * 1e3, _e = /* @__PURE__ */ new Map(), Ye = /* @__PURE__ */ new Set(), J = f({}), Yt = J, Xt = (e) => {
1497
+ }, rt = 7 * 24 * 60 * 60 * 1e3, Fe = /* @__PURE__ */ new Map(), Ce = /* @__PURE__ */ new Set(), J = f({}), zt = J, Ct = (e) => {
1490
1498
  var n;
1491
- if (!e.iconUrl) return De;
1499
+ if (!e.iconUrl) return Ne;
1492
1500
  const t = f(!0), a = f("");
1493
1501
  let s = !0;
1494
- return (n = e.icons) != null && n.length && (s = e.icons.every((o) => J.value[o] !== void 0)), (e.icon && !J.value[e.icon] || !s) && lt(e, t).then(() => {
1495
- ft(e.iconUrl, e.monoColor || !1), t.value = !0;
1502
+ return (n = e.icons) != null && n.length && (s = e.icons.every((o) => J.value[o] !== void 0)), (e.icon && !J.value[e.icon] || !s) && ot(e, t).then(() => {
1503
+ ut(e.iconUrl, e.monoColor || !1), t.value = !0;
1496
1504
  }), X({
1497
1505
  props: {
1498
1506
  icon: {
@@ -1532,54 +1540,54 @@ const q = new at(), Z = (e, t, a) => {
1532
1540
  ), g(
1533
1541
  () => u.value,
1534
1542
  (c) => {
1535
- o.icons && (c >= o.icons.length && (u.value = 0), l.value = o.icons[u.value], ve(a, l, l.value), r("update:iconIndex", u.value));
1543
+ o.icons && (c >= o.icons.length && (u.value = 0), l.value = o.icons[u.value], me(a, l, l.value), r("update:iconIndex", u.value));
1536
1544
  },
1537
1545
  { immediate: !0 }
1538
1546
  ), g(
1539
1547
  () => J.value,
1540
1548
  () => {
1541
- ve(a, l, l.value);
1549
+ me(a, l, l.value);
1542
1550
  },
1543
1551
  { deep: !0 }
1544
1552
  ), g(
1545
1553
  () => o.icon,
1546
1554
  (c) => {
1547
- ve(a, l, c);
1555
+ me(a, l, c);
1548
1556
  }
1549
- ), ve(a, l, l.value), { isLoaded: t, Icon: a, handleClick: i };
1557
+ ), me(a, l, l.value), { isLoaded: t, Icon: a, handleClick: i };
1550
1558
  },
1551
1559
  render() {
1552
1560
  if (!t.value)
1553
- return De;
1561
+ return Ne;
1554
1562
  let o = this.class, r = "";
1555
1563
  Array.isArray(o) ? r = o.join(" ") : typeof o == "string" && (r = o);
1556
1564
  let l = [r];
1557
- return !/\bw-/.test(r) && !/$w-/.test(r) && l.push("w-4"), !/\bh-/.test(r) && !/$h-/.test(r) && l.push("h-4"), a.value ? U(Ze(a.value), {
1565
+ return !/\bw-/.test(r) && !/$w-/.test(r) && l.push("w-4"), !/\bh-/.test(r) && !/$h-/.test(r) && l.push("h-4"), a.value ? U(Xe(a.value), {
1558
1566
  onClick: this.$props.clickable ? this.handleClick : void 0,
1559
1567
  class: `${l.join(" ")}`,
1560
1568
  style: {
1561
1569
  fill: "currentColor",
1562
1570
  cursor: this.$props.clickable ? "pointer" : "default",
1563
- transform: dt(this.angle, this.flip)
1571
+ transform: ft(this.angle, this.flip)
1564
1572
  }
1565
1573
  }) : U("div", { class: "w-[14px] h-[14px]" });
1566
1574
  }
1567
1575
  });
1568
- }, lt = (e, t) => {
1576
+ }, ot = (e, t) => {
1569
1577
  let a = e.iconUrl;
1570
1578
  if (!a)
1571
1579
  return console.error("图标库地址不能为空"), Promise.resolve();
1572
- if (_e.has(a))
1580
+ if (Fe.has(a))
1573
1581
  return Promise.resolve();
1574
- const s = da(a);
1582
+ const s = fa(a);
1575
1583
  if (s)
1576
- return new Promise(async (o) => (pa(s.scriptContent), o()));
1584
+ return new Promise(async (o) => (ca(s.scriptContent), o()));
1577
1585
  t.value = !1;
1578
1586
  const n = new Promise(async (o) => {
1579
- await ut(a, e.monoColor || !1), o(), _e.delete(a);
1587
+ await it(a, e.monoColor || !1), o(), Fe.delete(a);
1580
1588
  });
1581
- return _e.set(a, n), n;
1582
- }, ut = async (e, t) => {
1589
+ return Fe.set(a, n), n;
1590
+ }, it = async (e, t) => {
1583
1591
  try {
1584
1592
  const a = await fetch(e);
1585
1593
  if (!a.ok) {
@@ -1592,27 +1600,27 @@ const q = new at(), Z = (e, t, a) => {
1592
1600
  const o = s.match(n);
1593
1601
  if (o && o.length > 1) {
1594
1602
  let r = o[1];
1595
- ct(e, r, t, s);
1603
+ lt(e, r, t, s);
1596
1604
  }
1597
- pa(s);
1605
+ ca(s);
1598
1606
  return;
1599
1607
  } catch (a) {
1600
1608
  return console.error("网络异常,无法加载图标库:", a), null;
1601
1609
  }
1602
- }, pa = (e) => {
1610
+ }, ca = (e) => {
1603
1611
  const t = document.createElement("script");
1604
1612
  t.textContent = e, document.head.appendChild(t);
1605
- }, ct = (e, t, a, s) => {
1613
+ }, lt = (e, t, a, s) => {
1606
1614
  let n = `icon_cache:${e}`;
1607
1615
  const o = {
1608
1616
  windowKey: t,
1609
1617
  monoColor: a,
1610
1618
  scriptContent: s,
1611
- expireTime: Date.now() + it
1619
+ expireTime: Date.now() + rt
1612
1620
  // 缓存时间:7天
1613
1621
  };
1614
1622
  localStorage.setItem(n, JSON.stringify(o));
1615
- }, da = (e) => {
1623
+ }, fa = (e) => {
1616
1624
  let t = `icon_cache:${e}`;
1617
1625
  const a = localStorage.getItem(t);
1618
1626
  if (!a) return null;
@@ -1623,18 +1631,18 @@ const q = new at(), Z = (e, t, a) => {
1623
1631
  return console.error("解析缓存失败:", n), null;
1624
1632
  }
1625
1633
  return s.expireTime < Date.now() ? (localStorage.removeItem(e), null) : s;
1626
- }, Zt = () => {
1634
+ }, Yt = () => {
1627
1635
  const e = Date.now();
1628
1636
  for (const t in localStorage)
1629
1637
  if (t.startsWith("icon_cache:")) {
1630
1638
  const a = localStorage.getItem(t);
1631
1639
  a && JSON.parse(a).expireTime < e && localStorage.removeItem(t);
1632
1640
  }
1633
- }, ve = (e, t, a) => {
1641
+ }, me = (e, t, a) => {
1634
1642
  setTimeout(() => {
1635
1643
  t.value = a, t.value && (e.value = J.value[t.value]);
1636
1644
  }, 1);
1637
- }, De = U(
1645
+ }, Ne = U(
1638
1646
  "svg",
1639
1647
  { class: "w-4 h-4", viewBox: "0 0 50 50", style: { animation: "rotate 2s linear infinite" } },
1640
1648
  [
@@ -1654,12 +1662,12 @@ const q = new at(), Z = (e, t, a) => {
1654
1662
  fill: "currentColor"
1655
1663
  })
1656
1664
  ]
1657
- ), ft = (e, t) => {
1658
- const a = da(e);
1665
+ ), ut = (e, t) => {
1666
+ const a = fa(e);
1659
1667
  Object.keys(window).forEach((s) => {
1660
- s.startsWith("_iconfont_svg_string_") && (a == null ? void 0 : a.windowKey) === s && !Ye.has(s) && (Ye.add(s), pt(s, t));
1668
+ s.startsWith("_iconfont_svg_string_") && (a == null ? void 0 : a.windowKey) === s && !Ce.has(s) && (Ce.add(s), ct(s, t));
1661
1669
  });
1662
- }, pt = (e, t) => {
1670
+ }, ct = (e, t) => {
1663
1671
  const a = window[e], o = new DOMParser().parseFromString(a, "image/svg+xml").getElementsByTagName("symbol"), r = document.querySelectorAll("symbol");
1664
1672
  for (const l of o) {
1665
1673
  const u = l.id, i = Array.from(r).find((c) => c.id === u);
@@ -1667,33 +1675,33 @@ const q = new at(), Z = (e, t, a) => {
1667
1675
  c.hasAttribute("fill") && c.removeAttribute("fill");
1668
1676
  })), J.value[u] || (J.value[u] = U("svg", { fill: "currentColor" }, [U("use", { "xlink:href": `#${u}` })]));
1669
1677
  }
1670
- }, dt = (e, t) => {
1678
+ }, ft = (e, t) => {
1671
1679
  let a = "";
1672
1680
  return e && (a += `rotate(${e}deg)`), t && (a += " scaleX(-1)"), a;
1673
- }, es = (e, t, a, s) => {
1674
- ha(e, [], a, s).forEach((o) => t.push(o));
1675
- }, ha = (e, t, a, s) => {
1681
+ }, Xt = (e, t, a, s) => {
1682
+ da(e, [], a, s).forEach((o) => t.push(o));
1683
+ }, da = (e, t, a, s) => {
1676
1684
  var r, l, u, i, c;
1677
- const n = [], o = j();
1678
- for (const p of e) {
1679
- if (p.redirect || p.path.includes("/login") || p.path.includes("/error") || p.path.includes("/:page(.*)") || (l = (r = p.meta) == null ? void 0 : r.roles) != null && l.length && !o.hasRole(p.meta.roles) && (u = p.meta) != null && u.permission && !o.hasPermit(p.meta.permission, ":page"))
1685
+ const n = [], o = M();
1686
+ for (const d of e) {
1687
+ if (d.redirect || d.path.includes("/login") || d.path.includes("/error") || d.path.includes("/:page(.*)") || (l = (r = d.meta) == null ? void 0 : r.roles) != null && l.length && !o.hasRole(d.meta.roles) && (u = d.meta) != null && u.permission && !o.hasPermit(d.meta.permission, ":page"))
1680
1688
  continue;
1681
- const v = p.path.split("/");
1689
+ const v = d.path.split("/");
1682
1690
  v.unshift(...t);
1683
- const d = ha(p.children || [], v, a, s), O = {
1691
+ const p = da(d.children || [], v, a, s), O = {
1684
1692
  key: v.join("/"),
1685
- label: ((i = p.name) == null ? void 0 : i.toString()) ?? "",
1686
- title: ((c = p.name) == null ? void 0 : c.toString()) ?? "",
1687
- icon: p.icon ? U(a, { ...s, icon: p.icon }) : void 0,
1688
- children: d.length > 0 ? d : void 0
1693
+ label: ((i = d.name) == null ? void 0 : i.toString()) ?? "",
1694
+ title: ((c = d.name) == null ? void 0 : c.toString()) ?? "",
1695
+ icon: d.icon ? U(a, { ...s, icon: d.icon }) : void 0,
1696
+ children: p.length > 0 ? p : void 0
1689
1697
  };
1690
- (d.length > 0 || !p.children) && n.push(O);
1698
+ (p.length > 0 || !d.children) && n.push(O);
1691
1699
  }
1692
1700
  return n;
1693
- }, Xe = ya([]), as = () => {
1694
- Xe.length = 0;
1701
+ }, Ye = va([]), Zt = () => {
1702
+ Ye.length = 0;
1695
1703
  const e = H();
1696
- let a = Je().TabActive;
1704
+ let a = He().TabActive;
1697
1705
  e.matchedRoutes(a).forEach((n, o) => {
1698
1706
  var l;
1699
1707
  const r = {
@@ -1701,9 +1709,9 @@ const q = new at(), Z = (e, t, a) => {
1701
1709
  path: n.path,
1702
1710
  breadcrumbName: ((l = n.name) == null ? void 0 : l.toString()) ?? ""
1703
1711
  };
1704
- Xe.push(r);
1712
+ Ye.push(r);
1705
1713
  });
1706
- }, ht = {
1714
+ }, dt = {
1707
1715
  host: {
1708
1716
  api: "SITEHOST_API",
1709
1717
  url: "/openapi/RCSiteHostSrv/get",
@@ -1715,7 +1723,7 @@ const q = new at(), Z = (e, t, a) => {
1715
1723
  // 不显示错误
1716
1724
  hideErrorToast: !0
1717
1725
  }
1718
- }, ts = ue("hostInfo", {
1726
+ }, es = le("hostInfo", {
1719
1727
  state: () => ({
1720
1728
  hostInfo: {
1721
1729
  Host: "",
@@ -1746,9 +1754,9 @@ const q = new at(), Z = (e, t, a) => {
1746
1754
  }
1747
1755
  let s = (e || this.getSiteHostApi()).trim();
1748
1756
  return (!s || s === "/") && (s = window.location.origin), s.endsWith("/") && (s = s.slice(0, -1)), new Promise((n) => {
1749
- $e.SITEHOST_API || ($e.SITEHOST_API = s);
1757
+ Le.SITEHOST_API || (Le.SITEHOST_API = s);
1750
1758
  const o = t || window.location.origin;
1751
- G(ht.host, {
1759
+ j(dt.host, {
1752
1760
  Query: {
1753
1761
  Host: o
1754
1762
  }
@@ -1786,12 +1794,12 @@ const q = new at(), Z = (e, t, a) => {
1786
1794
  }, this.hostInfo.API_HOST)
1787
1795
  for (const t in this.hostInfo.API_HOST) {
1788
1796
  let a = this.hostInfo.API_HOST[t];
1789
- a = a.startsWith("http://") || a.startsWith("https://") || a.startsWith("//") ? a : window.location.origin + a, a.endsWith("/") && (a = a.slice(0, -1)), this.hostInfo.API_HOST[t] = a, $e[t] = a;
1797
+ a = a.startsWith("http://") || a.startsWith("https://") || a.startsWith("//") ? a : window.location.origin + a, a.endsWith("/") && (a = a.slice(0, -1)), this.hostInfo.API_HOST[t] = a, Le[t] = a;
1790
1798
  }
1791
1799
  if (this.hostInfo.SERVER_HOST)
1792
1800
  for (const t in this.hostInfo.SERVER_HOST) {
1793
1801
  let a = this.hostInfo.SERVER_HOST[t];
1794
- a = a.startsWith("http://") || a.startsWith("https://") || a.startsWith("//") ? a : window.location.origin + a, a.endsWith("/") && (a = a.slice(0, -1)), this.hostInfo.SERVER_HOST[t] = a, Fa[t] = a;
1802
+ a = a.startsWith("http://") || a.startsWith("https://") || a.startsWith("//") ? a : window.location.origin + a, a.endsWith("/") && (a = a.slice(0, -1)), this.hostInfo.SERVER_HOST[t] = a, La[t] = a;
1795
1803
  }
1796
1804
  },
1797
1805
  getHostInfo() {
@@ -1805,7 +1813,7 @@ const q = new at(), Z = (e, t, a) => {
1805
1813
  // storage: localStorage,
1806
1814
  // pick: ['hostInfo'],
1807
1815
  // },
1808
- }), ss = ue("settingInfo", {
1816
+ }), as = le("settingInfo", {
1809
1817
  state: () => ({
1810
1818
  fullscreen: !1,
1811
1819
  menuCollapse: !1,
@@ -1847,10 +1855,10 @@ const q = new at(), Z = (e, t, a) => {
1847
1855
  }
1848
1856
  },
1849
1857
  persist: !1
1850
- }), ns = /* @__PURE__ */ X({
1858
+ }), ts = /* @__PURE__ */ X({
1851
1859
  __name: "index",
1852
1860
  props: {
1853
- ...fe,
1861
+ ...ce,
1854
1862
  /**
1855
1863
  * 选择项数据
1856
1864
  */
@@ -1861,33 +1869,33 @@ const q = new at(), Z = (e, t, a) => {
1861
1869
  },
1862
1870
  emits: ["change"],
1863
1871
  setup(e, { emit: t }) {
1864
- const a = e, s = Y(), n = he(a.url, a), o = a.optionCtrl ?? n.optionCtrl;
1872
+ const a = e, s = Y(), n = pe(a.url, a), o = a.optionCtrl ?? n.optionCtrl;
1865
1873
  o.inputFactory = K(s);
1866
1874
  const r = f([]);
1867
1875
  o && g(
1868
1876
  () => o.options.value,
1869
- (p) => {
1870
- r.value = p || [];
1877
+ (d) => {
1878
+ r.value = d || [];
1871
1879
  },
1872
1880
  { immediate: !0, deep: !0 }
1873
1881
  );
1874
- const l = t, { editorCtrl: u, errInfo: i } = Y(), c = (p) => {
1875
- i != null && i.value.errClass && u && pe(u), l("change", p);
1882
+ const l = t, { editorCtrl: u, errInfo: i } = Y(), c = (d) => {
1883
+ i != null && i.value.errClass && u && fe(u), l("change", d);
1876
1884
  };
1877
- return xe(() => {
1885
+ return Se(() => {
1878
1886
  if (!a.data || a.data.length != 2) {
1879
1887
  console.error("Switch组件: ", a.data), x.error("Switch组件必须有且只有两个选项");
1880
1888
  return;
1881
1889
  }
1882
1890
  o && Z(o.autoload, o, a);
1883
- }), ie(() => {
1891
+ }), oe(() => {
1884
1892
  o && de(o, a);
1885
- }), (p, v) => {
1886
- var d;
1887
- return r.value.length === 2 ? (E(), Ae(b(ba), le({
1893
+ }), (d, v) => {
1894
+ var p;
1895
+ return r.value.length === 2 ? (A(), be(b(ya), ie({
1888
1896
  key: 0,
1889
1897
  class: [
1890
- ((d = b(i)) == null ? void 0 : d.errClass) === "error" ? "error !border-red-300 shadow-[0_0_3px_0px_#ff4d4f]" : "",
1898
+ ((p = b(i)) == null ? void 0 : p.errClass) === "error" ? "error !border-red-300 shadow-[0_0_3px_0px_#ff4d4f]" : "",
1891
1899
  "bg-blue-300",
1892
1900
  "w-[58px]"
1893
1901
  ],
@@ -1896,14 +1904,14 @@ const q = new at(), Z = (e, t, a) => {
1896
1904
  unCheckedChildren: r.value[1].label,
1897
1905
  unCheckedValue: r.value[1].value,
1898
1906
  onChange: c
1899
- }, p.$attrs), null, 16, ["class", "checkedChildren", "checkedValue", "unCheckedChildren", "unCheckedValue"])) : B("", !0);
1907
+ }, d.$attrs), null, 16, ["class", "checkedChildren", "checkedValue", "unCheckedChildren", "unCheckedValue"])) : B("", !0);
1900
1908
  };
1901
1909
  }
1902
- }), rs = /* @__PURE__ */ X({
1910
+ }), ss = /* @__PURE__ */ X({
1903
1911
  inheritAttrs: !1,
1904
1912
  __name: "index",
1905
1913
  props: {
1906
- ...fe,
1914
+ ...ce,
1907
1915
  value: {
1908
1916
  type: [String, Number, Array, null],
1909
1917
  default: void 0
@@ -1920,7 +1928,7 @@ const q = new at(), Z = (e, t, a) => {
1920
1928
  },
1921
1929
  emits: ["update:value", "select", "change", "update:labels"],
1922
1930
  setup(e, { emit: t }) {
1923
- const a = e, s = Ee(), n = Y(), o = he(a.url, a), r = a.optionCtrl ?? o.optionCtrl;
1931
+ const a = e, s = Ie(), n = Y(), o = pe(a.url, a), r = a.optionCtrl ?? o.optionCtrl;
1924
1932
  r.inputFactory = K(n), r.fieldMap = {
1925
1933
  label: "Name",
1926
1934
  value: "Id",
@@ -1936,11 +1944,11 @@ const q = new at(), Z = (e, t, a) => {
1936
1944
  ), g(
1937
1945
  () => l.value,
1938
1946
  (y) => {
1939
- a.autoClean && a.formData && a.outFields && y !== a.value && fa(a.formData, a.outFields, null);
1947
+ a.autoClean && a.formData && a.outFields && y !== a.value && ua(a.formData, a.outFields, null);
1940
1948
  }
1941
1949
  );
1942
- const { editorCtrl: u, errInfo: i, labelText: c } = n, p = t;
1943
- n.inputEmit = p;
1950
+ const { editorCtrl: u, errInfo: i, labelText: c } = n, d = t;
1951
+ n.inputEmit = d;
1944
1952
  const v = f((r == null ? void 0 : r.options.value) || []);
1945
1953
  r && g(
1946
1954
  () => r.options.value,
@@ -1949,38 +1957,38 @@ const q = new at(), Z = (e, t, a) => {
1949
1957
  },
1950
1958
  { immediate: !0, deep: !0 }
1951
1959
  );
1952
- const d = (y) => {
1960
+ const p = (y) => {
1953
1961
  if (v.value = [], y === "") return;
1954
1962
  let h = {
1955
1963
  Query: {
1956
1964
  SearchField: "%" + y.trim() + "%"
1957
1965
  }
1958
1966
  };
1959
- r.params = ce(r.params, h), r && Z(!0, r, a);
1967
+ r.params = ue(r.params, h), r && Z(!0, r, a);
1960
1968
  }, O = (y) => {
1961
- const A = Pe(r, a, y);
1962
- p("update:value", y), p("select", y);
1963
- const h = we(A);
1964
- p("update:labels", h), i != null && i.value.errClass && u && pe(u);
1969
+ const E = we(r, a, y);
1970
+ d("update:value", y), d("select", y);
1971
+ const h = Te(E);
1972
+ d("update:labels", h), i != null && i.value.errClass && u && fe(u);
1965
1973
  };
1966
- return ie(() => {
1974
+ return oe(() => {
1967
1975
  r && de(r, a);
1968
- }), (y, A) => {
1976
+ }), (y, E) => {
1969
1977
  var h;
1970
- return E(), L("div", null, [
1971
- C(b(Ia), le({
1978
+ return A(), L("div", null, [
1979
+ z(b(Sa), ie({
1972
1980
  value: l.value,
1973
- "onUpdate:value": A[0] || (A[0] = (I) => l.value = I),
1981
+ "onUpdate:value": E[0] || (E[0] = (I) => l.value = I),
1974
1982
  class: ["w-full", (h = b(i)) == null ? void 0 : h.errClass],
1975
1983
  options: v.value,
1976
- onSearch: d,
1984
+ onSearch: p,
1977
1985
  onSelect: O
1978
1986
  }, b(s), { "allow-clear": !1 }), {
1979
1987
  option: V(({ label: I }) => [
1980
- Oe(z(I), 1)
1988
+ xe(C(I), 1)
1981
1989
  ]),
1982
1990
  default: V(() => [
1983
- C(b(xa), {
1991
+ z(b(ba), {
1984
1992
  "allow-clear": "",
1985
1993
  placeholder: "请输入并选择" + b(c)
1986
1994
  }, null, 8, ["placeholder"])
@@ -1990,14 +1998,14 @@ const q = new at(), Z = (e, t, a) => {
1990
1998
  ]);
1991
1999
  };
1992
2000
  }
1993
- }), mt = { class: "min-h-[32px] pt-[5px]" }, vt = {
2001
+ }), pt = { class: "min-h-[32px] pt-[5px]" }, ht = {
1994
2002
  key: 1,
1995
2003
  class: "text-center text-gray-500"
1996
- }, os = /* @__PURE__ */ X({
2004
+ }, ns = /* @__PURE__ */ X({
1997
2005
  inheritAttrs: !1,
1998
2006
  __name: "index",
1999
2007
  props: {
2000
- ...fe,
2008
+ ...ce,
2001
2009
  nodata: {
2002
2010
  type: String,
2003
2011
  default: ""
@@ -2014,13 +2022,13 @@ const q = new at(), Z = (e, t, a) => {
2014
2022
  },
2015
2023
  emits: ["change", "update:labels"],
2016
2024
  setup(e, { emit: t }) {
2017
- var v, d, O;
2018
- const a = e, s = Ee(), n = Y(), o = he(a.url, a), r = a.optionCtrl ?? o.optionCtrl;
2025
+ var v, p, O;
2026
+ const a = e, s = Ie(), n = Y(), o = pe(a.url, a), r = a.optionCtrl ?? o.optionCtrl;
2019
2027
  r.inputFactory = K(n);
2020
2028
  const l = f({
2021
2029
  ...r == null ? void 0 : r.url,
2022
2030
  url: ((v = r == null ? void 0 : r.url) == null ? void 0 : v.url) || "",
2023
- fieldMap: (r == null ? void 0 : r.fieldMap) || ((d = r == null ? void 0 : r.url) == null ? void 0 : d.fieldMap),
2031
+ fieldMap: (r == null ? void 0 : r.fieldMap) || ((p = r == null ? void 0 : r.url) == null ? void 0 : p.fieldMap),
2024
2032
  params: (r == null ? void 0 : r.params) || ((O = r == null ? void 0 : r.url) == null ? void 0 : O.params),
2025
2033
  loadingText: !1
2026
2034
  }), { errInfo: u } = n, i = t;
@@ -2033,32 +2041,32 @@ const q = new at(), Z = (e, t, a) => {
2033
2041
  },
2034
2042
  { immediate: !0, deep: !0 }
2035
2043
  );
2036
- const p = (y) => {
2037
- const h = Pe(r, a, y), I = we(h);
2044
+ const d = (y) => {
2045
+ const h = we(r, a, y), I = Te(h);
2038
2046
  i("update:labels", I);
2039
2047
  };
2040
- return xe(() => {
2048
+ return Se(() => {
2041
2049
  l.value && !l.value.fieldMap && (l.value.fieldMap = {
2042
2050
  title: "Name",
2043
2051
  label: "Name",
2044
2052
  value: "Id",
2045
2053
  key: "Id"
2046
2054
  }), r && Z(r.autoload, r, a);
2047
- }), ie(() => {
2055
+ }), oe(() => {
2048
2056
  r && de(r, a);
2049
- }), (y, A) => (E(), L("div", mt, [
2050
- C(b(Aa), le({
2051
- onChange: p,
2057
+ }), (y, E) => (A(), L("div", pt, [
2058
+ z(b(Ia), ie({
2059
+ onChange: d,
2052
2060
  class: "w-full mb-[-3px]"
2053
2061
  }, b(s)), {
2054
2062
  default: V(() => [
2055
- c.value.length > 0 ? (E(!0), L(ne, { key: 0 }, Ue(c.value, (h) => {
2063
+ c.value.length > 0 ? (A(!0), L(ne, { key: 0 }, De(c.value, (h) => {
2056
2064
  var I;
2057
- return E(), Ae(b(Ea), {
2065
+ return A(), be(b(xa), {
2058
2066
  key: h.value,
2059
2067
  value: h.value,
2060
2068
  disabled: h.disabled || h.value && e.disabledItems && e.disabledItems.indexOf(h.value.toString()) > -1,
2061
- class: ea([
2069
+ class: Ze([
2062
2070
  ((I = b(u)) == null ? void 0 : I.errClass) === "error" ? "error !text-red-400" : "",
2063
2071
  "text-nowrap",
2064
2072
  "pb-1",
@@ -2066,24 +2074,24 @@ const q = new at(), Z = (e, t, a) => {
2066
2074
  ])
2067
2075
  }, {
2068
2076
  default: V(() => [
2069
- Oe(z(h.label), 1)
2077
+ xe(C(h.label), 1)
2070
2078
  ]),
2071
2079
  _: 2
2072
2080
  }, 1032, ["value", "disabled", "class"]);
2073
- }), 128)) : e.nodata ? (E(), L("div", vt, z(e.nodata), 1)) : B("", !0)
2081
+ }), 128)) : e.nodata ? (A(), L("div", ht, C(e.nodata), 1)) : B("", !0)
2074
2082
  ]),
2075
2083
  _: 1
2076
2084
  }, 16)
2077
2085
  ]));
2078
2086
  }
2079
- }), gt = { class: "min-h-[32px] pt-1" }, yt = {
2087
+ }), mt = { class: "min-h-[32px] pt-1" }, vt = {
2080
2088
  key: 1,
2081
2089
  class: "text-center text-gray-500"
2082
- }, is = /* @__PURE__ */ X({
2090
+ }, rs = /* @__PURE__ */ X({
2083
2091
  inheritAttrs: !1,
2084
2092
  __name: "index",
2085
2093
  props: {
2086
- ...fe,
2094
+ ...ce,
2087
2095
  value: {
2088
2096
  type: [String, Number, null, Array],
2089
2097
  default: void 0
@@ -2101,17 +2109,17 @@ const q = new at(), Z = (e, t, a) => {
2101
2109
  },
2102
2110
  emits: ["change", "update:value", "update:labels"],
2103
2111
  setup(e, { emit: t }) {
2104
- var O, y, A;
2105
- const a = e, s = Ee(), n = Y(), o = he(a.url, a), r = a.optionCtrl ?? o.optionCtrl;
2112
+ var O, y, E;
2113
+ const a = e, s = Ie(), n = Y(), o = pe(a.url, a), r = a.optionCtrl ?? o.optionCtrl;
2106
2114
  r.inputFactory = K(n);
2107
2115
  const l = f({
2108
2116
  ...r == null ? void 0 : r.url,
2109
2117
  url: ((O = r == null ? void 0 : r.url) == null ? void 0 : O.url) || "",
2110
2118
  fieldMap: (r == null ? void 0 : r.fieldMap) || ((y = r == null ? void 0 : r.url) == null ? void 0 : y.fieldMap),
2111
- params: (r == null ? void 0 : r.params) || ((A = r == null ? void 0 : r.url) == null ? void 0 : A.params),
2119
+ params: (r == null ? void 0 : r.params) || ((E = r == null ? void 0 : r.url) == null ? void 0 : E.params),
2112
2120
  loadingText: !1
2113
- }), u = f(a.value), { errInfo: i } = n, c = f((r == null ? void 0 : r.options.value) || []), p = t;
2114
- n.inputEmit = p, r && g(
2121
+ }), u = f(a.value), { errInfo: i } = n, c = f((r == null ? void 0 : r.options.value) || []), d = t;
2122
+ n.inputEmit = d, r && g(
2115
2123
  () => r.options.value,
2116
2124
  (h) => {
2117
2125
  c.value = h || [];
@@ -2125,7 +2133,7 @@ const q = new at(), Z = (e, t, a) => {
2125
2133
  ), g(
2126
2134
  () => u.value,
2127
2135
  (h) => {
2128
- p("update:value", h);
2136
+ d("update:value", h);
2129
2137
  }
2130
2138
  );
2131
2139
  const v = (h, I) => {
@@ -2134,37 +2142,37 @@ const q = new at(), Z = (e, t, a) => {
2134
2142
  return R && (u.value = h), R;
2135
2143
  }
2136
2144
  return h === I;
2137
- }, d = (h) => {
2138
- const I = h.target.value, R = Pe(r, a, I), Q = we(R);
2139
- p("update:labels", Q);
2145
+ }, p = (h) => {
2146
+ const I = h.target.value, R = we(r, a, I), Q = Te(R);
2147
+ d("update:labels", Q);
2140
2148
  };
2141
- return xe(() => {
2149
+ return Se(() => {
2142
2150
  l.value && !l.value.fieldMap && (l.value.fieldMap = {
2143
2151
  label: "Name",
2144
2152
  value: "Id",
2145
2153
  key: "Id"
2146
2154
  }), r && Z(r.autoload, r, a);
2147
- }), ie(() => {
2155
+ }), oe(() => {
2148
2156
  r && de(r, a);
2149
- }), (h, I) => (E(), L("div", gt, [
2150
- C(b(Oa), le({
2157
+ }), (h, I) => (A(), L("div", mt, [
2158
+ z(b(Ea), ie({
2151
2159
  value: u.value,
2152
2160
  "onUpdate:value": I[0] || (I[0] = (R) => u.value = R),
2153
2161
  autocheck: !1,
2154
- onChange: d,
2162
+ onChange: p,
2155
2163
  class: "w-full flex align-items flex-wrap mb-[-3px]"
2156
2164
  }, b(s)), {
2157
2165
  default: V(() => [
2158
- c.value.length > 0 ? (E(!0), L(ne, { key: 0 }, Ue(c.value, (R) => {
2166
+ c.value.length > 0 ? (A(!0), L(ne, { key: 0 }, De(c.value, (R) => {
2159
2167
  var Q;
2160
- return E(), L(ne, {
2168
+ return A(), L(ne, {
2161
2169
  key: R.value
2162
2170
  }, [
2163
- R.visible !== !1 ? (E(), Ae(b(Ra), {
2171
+ R.visible !== !1 ? (A(), be(b(Aa), {
2164
2172
  key: 0,
2165
2173
  checked: v(R.value, a.value),
2166
2174
  value: R.value,
2167
- class: ea([
2175
+ class: Ze([
2168
2176
  ((Q = b(i)) == null ? void 0 : Q.errClass) === "error" ? "error !text-red-400" : "",
2169
2177
  "text-nowrap",
2170
2178
  "pb-1",
@@ -2172,25 +2180,25 @@ const q = new at(), Z = (e, t, a) => {
2172
2180
  ])
2173
2181
  }, {
2174
2182
  default: V(() => [
2175
- Oe(z(R.label), 1)
2183
+ xe(C(R.label), 1)
2176
2184
  ]),
2177
2185
  _: 2
2178
2186
  }, 1032, ["checked", "value", "class"])) : B("", !0)
2179
2187
  ], 64);
2180
- }), 128)) : e.nodata ? (E(), L("div", yt, z(e.nodata), 1)) : B("", !0)
2188
+ }), 128)) : e.nodata ? (A(), L("div", vt, C(e.nodata), 1)) : B("", !0)
2181
2189
  ]),
2182
2190
  _: 1
2183
2191
  }, 16, ["value"])
2184
2192
  ]));
2185
2193
  }
2186
- }), St = {
2194
+ }), gt = {
2187
2195
  key: 0,
2188
2196
  class: "absolute z-10 mt-[5px] mr-[10px] text-[#999] flex items-center"
2189
- }, ls = /* @__PURE__ */ X({
2197
+ }, os = /* @__PURE__ */ X({
2190
2198
  inheritAttrs: !1,
2191
2199
  __name: "index",
2192
2200
  props: {
2193
- ...fe,
2201
+ ...ce,
2194
2202
  value: {
2195
2203
  type: [String, Number, Array, null],
2196
2204
  default: void 0
@@ -2222,49 +2230,49 @@ const q = new at(), Z = (e, t, a) => {
2222
2230
  emits: ["change", "update:value", "update:label", "update:labels"],
2223
2231
  setup(e, { emit: t }) {
2224
2232
  var I, R, Q;
2225
- const a = e, s = a.value === void 0 ? !0 : a.undefValue, n = Y(), { editorCtrl: o, errInfo: r, labelText: l } = n, u = he(a.url, a), i = a.optionCtrl ?? u.optionCtrl;
2233
+ const a = e, s = a.value === void 0 ? !0 : a.undefValue, n = Y(), { editorCtrl: o, errInfo: r, labelText: l } = n, u = pe(a.url, a), i = a.optionCtrl ?? u.optionCtrl;
2226
2234
  i.inputFactory = K(n);
2227
- const c = Ee(), p = f({
2235
+ const c = Ie(), d = f({
2228
2236
  ...i == null ? void 0 : i.url,
2229
2237
  url: ((I = i == null ? void 0 : i.url) == null ? void 0 : I.url) || "",
2230
2238
  fieldMap: (i == null ? void 0 : i.fieldMap) || ((R = i == null ? void 0 : i.url) == null ? void 0 : R.fieldMap),
2231
2239
  params: (i == null ? void 0 : i.params) || ((Q = i == null ? void 0 : i.url) == null ? void 0 : Q.params),
2232
2240
  loadingText: !1
2233
- }), v = f(c.placeholder), d = f(i == null ? void 0 : i.selected.value), O = t;
2241
+ }), v = f(c.placeholder), p = f(i == null ? void 0 : i.selected.value), O = t;
2234
2242
  n.inputEmit = O;
2235
2243
  const y = (m) => {
2236
- const P = Pe(i, a, m), _ = we(P);
2237
- d.value = m, O("update:labels", _), O("update:label", _.join(";")), O("change", m), r != null && r.value.errClass && o && pe(o);
2238
- }, A = f((i == null ? void 0 : i.options.value) || []), h = (m) => {
2244
+ const P = we(i, a, m), N = Te(P);
2245
+ p.value = m, O("update:labels", N), O("update:label", N.join(";")), O("change", m), r != null && r.value.errClass && o && fe(o);
2246
+ }, E = f((i == null ? void 0 : i.options.value) || []), h = (m) => {
2239
2247
  if (m.length > 0 && F(a.value) && a.selectFirst)
2240
2248
  for (let P = 0; P < m.length; P++) {
2241
- const _ = m[P];
2242
- if (_.disabled === void 0 || _.disabled === !1) {
2243
- d.value = _.value;
2249
+ const N = m[P];
2250
+ if (N.disabled === void 0 || N.disabled === !1) {
2251
+ p.value = N.value;
2244
2252
  break;
2245
2253
  }
2246
2254
  }
2247
- else m.length > 0 && (d.value = a.value === null ? void 0 : a.value);
2248
- m.length > 0 && d.value !== void 0 && y(d.value);
2255
+ else m.length > 0 && (p.value = a.value === null ? void 0 : a.value);
2256
+ m.length > 0 && p.value !== void 0 && y(p.value);
2249
2257
  };
2250
2258
  return i && (g(
2251
2259
  () => i.options.value,
2252
2260
  (m) => {
2253
- A.value = m || [];
2261
+ E.value = m || [];
2254
2262
  },
2255
2263
  { immediate: !0, deep: !0 }
2256
2264
  ), g(
2257
2265
  () => i.selected.value,
2258
2266
  (m) => {
2259
- d.value = m;
2267
+ p.value = m;
2260
2268
  }
2261
2269
  )), g(
2262
- () => A.value,
2270
+ () => E.value,
2263
2271
  (m) => {
2264
2272
  h(m);
2265
2273
  }
2266
2274
  ), g(
2267
- () => p.value.loading,
2275
+ () => d.value.loading,
2268
2276
  (m) => {
2269
2277
  m ? v.value = "" : v.value || (v.value = "请选择" + l.value);
2270
2278
  },
@@ -2272,55 +2280,55 @@ const q = new at(), Z = (e, t, a) => {
2272
2280
  ), g(
2273
2281
  () => a.value,
2274
2282
  (m) => {
2275
- d.value = m;
2283
+ p.value = m;
2276
2284
  },
2277
2285
  { immediate: !0 }
2278
2286
  ), g(
2279
- () => d.value,
2287
+ () => p.value,
2280
2288
  (m) => {
2281
2289
  const P = m === void 0 ? s ? void 0 : null : m;
2282
2290
  i && (i.selected.value = P), O("update:value", P);
2283
2291
  }
2284
- ), xe(() => {
2285
- if (p.value && !p.value.fieldMap && (p.value.fieldMap = {
2292
+ ), Se(() => {
2293
+ if (d.value && !d.value.fieldMap && (d.value.fieldMap = {
2286
2294
  label: "Name",
2287
2295
  value: "Id",
2288
2296
  key: "Id"
2289
2297
  }), a.dataKey) {
2290
- const m = JSON.parse(JSON.stringify(M.getOptions(a.dataKey)));
2291
- A.value = m, h(m);
2298
+ const m = JSON.parse(JSON.stringify(_.getOptions(a.dataKey)));
2299
+ E.value = m, h(m);
2292
2300
  } else if (i) {
2293
2301
  const m = i.options.value || [];
2294
- m.length > 0 ? (A.value = m, h(m)) : Z(i.autoload, i, a);
2302
+ m.length > 0 ? (E.value = m, h(m)) : Z(i.autoload, i, a);
2295
2303
  }
2296
- }), ie(() => {
2304
+ }), oe(() => {
2297
2305
  i && de(i, a);
2298
2306
  }), (m, P) => {
2299
- var _, We, qe;
2300
- return E(), L("div", null, [
2301
- (We = (_ = b(i)) == null ? void 0 : _.url) != null && We.loading ? (E(), L("div", St, [
2302
- C(b(De), { class: "text-[#555] mx-[5px] !ml-[10px] !w-4 !h-4" }),
2303
- P[1] || (P[1] = Sa("span", null, "数据加载中...", -1))
2307
+ var N, Ge, We;
2308
+ return A(), L("div", null, [
2309
+ (Ge = (N = b(i)) == null ? void 0 : N.url) != null && Ge.loading ? (A(), L("div", gt, [
2310
+ z(b(Ne), { class: "text-[#555] mx-[5px] !ml-[10px] !w-4 !h-4" }),
2311
+ P[1] || (P[1] = ga("span", null, "数据加载中...", -1))
2304
2312
  ])) : B("", !0),
2305
- C(b(Ta), le({
2306
- class: [(qe = b(r)) == null ? void 0 : qe.errClass, "w-full"],
2307
- value: d.value,
2308
- "onUpdate:value": P[0] || (P[0] = (W) => d.value = W),
2313
+ z(b(Oa), ie({
2314
+ class: [(We = b(r)) == null ? void 0 : We.errClass, "w-full"],
2315
+ value: p.value,
2316
+ "onUpdate:value": P[0] || (P[0] = (G) => p.value = G),
2309
2317
  "allow-clear": !0,
2310
2318
  onChange: y,
2311
2319
  placeholder: v.value,
2312
2320
  "label-in-value": !1
2313
2321
  }, b(c)), {
2314
2322
  default: V(() => [
2315
- (E(!0), L(ne, null, Ue(A.value, (W) => (E(), L(ne, {
2316
- key: W.value
2323
+ (A(!0), L(ne, null, De(E.value, (G) => (A(), L(ne, {
2324
+ key: G.value
2317
2325
  }, [
2318
- W.visible !== !1 ? (E(), Ae(b(wa), {
2326
+ G.visible !== !1 ? (A(), be(b(Ra), {
2319
2327
  key: 0,
2320
- value: W.value
2328
+ value: G.value
2321
2329
  }, {
2322
2330
  default: V(() => [
2323
- Oe(z(W.label), 1)
2331
+ xe(C(G.label), 1)
2324
2332
  ]),
2325
2333
  _: 2
2326
2334
  }, 1032, ["value"])) : B("", !0)
@@ -2333,75 +2341,76 @@ const q = new at(), Z = (e, t, a) => {
2333
2341
  }
2334
2342
  });
2335
2343
  export {
2336
- _t as $,
2337
- pe as A,
2338
- os as B,
2339
- is as C,
2340
- ls as D,
2341
- Ve as E,
2342
- Na as F,
2343
- Bt as G,
2344
- rt as H,
2345
- ot as I,
2346
- Ct as J,
2347
- zt as K,
2348
- nt as L,
2349
- fa as M,
2350
- Yt as N,
2351
- M as O,
2344
+ Lt as $,
2345
+ fe as A,
2346
+ ns as B,
2347
+ rs as C,
2348
+ os as D,
2349
+ Ke as E,
2350
+ Ma as F,
2351
+ Wt as G,
2352
+ st as H,
2353
+ nt as I,
2354
+ qt as J,
2355
+ Bt as K,
2356
+ Ae as L,
2357
+ tt as M,
2358
+ ua as N,
2359
+ _ as O,
2352
2360
  D as P,
2353
- Zt as Q,
2354
- pt as R,
2355
- dt as S,
2356
- es as T,
2357
- Xe as U,
2358
- as as V,
2359
- ta as W,
2360
- Vt as X,
2361
- sa as Y,
2362
- Ft as Z,
2363
- ns as _,
2364
- ss as a,
2365
- Ke as a0,
2366
- Mt as a1,
2367
- Jt as a2,
2368
- et as a3,
2369
- ua as a4,
2370
- Gt as a5,
2371
- $t as a6,
2372
- aa as a7,
2373
- Da as a8,
2374
- Ne as a9,
2375
- q as aa,
2376
- se as ab,
2377
- ge as ac,
2378
- H as ad,
2379
- ts as ae,
2380
- Je as af,
2381
- re as ag,
2382
- Ut as b,
2383
- Xt as c,
2384
- Ht as d,
2385
- Nt as e,
2386
- Wt as f,
2387
- qt as g,
2388
- Qt as h,
2361
+ zt as Q,
2362
+ Yt as R,
2363
+ ct as S,
2364
+ ft as T,
2365
+ Xt as U,
2366
+ Ye as V,
2367
+ Zt as W,
2368
+ na as X,
2369
+ Ut as Y,
2370
+ ra as Z,
2371
+ ts as _,
2372
+ as as a,
2373
+ Ft as a0,
2374
+ Qe as a1,
2375
+ $t as a2,
2376
+ Kt as a3,
2377
+ Xa as a4,
2378
+ ia as a5,
2379
+ Jt as a6,
2380
+ kt as a7,
2381
+ sa as a8,
2382
+ qa as a9,
2383
+ _e as aa,
2384
+ q as ab,
2385
+ se as ac,
2386
+ ve as ad,
2387
+ H as ae,
2388
+ es as af,
2389
+ He as ag,
2390
+ re as ah,
2391
+ Nt as b,
2392
+ Ct as c,
2393
+ Dt as d,
2394
+ Mt as e,
2395
+ jt as f,
2396
+ Gt as g,
2397
+ Vt as h,
2389
2398
  F as i,
2390
- Kt as j,
2391
- la as k,
2392
- Za as l,
2393
- jt as m,
2394
- rs as n,
2395
- Dt as o,
2396
- fe as p,
2397
- Ua as q,
2398
- oe as r,
2399
+ Ht as j,
2400
+ oa as k,
2401
+ Ya as l,
2402
+ Qt as m,
2403
+ ss as n,
2404
+ _t as o,
2405
+ ce as p,
2406
+ Ba as q,
2407
+ Ee as r,
2399
2408
  Y as s,
2400
- he as t,
2401
- j as u,
2409
+ pe as t,
2410
+ M as u,
2402
2411
  Z as v,
2403
2412
  de as w,
2404
- De as x,
2405
- Pe as y,
2406
- we as z
2413
+ Ne as x,
2414
+ we as y,
2415
+ Te as z
2407
2416
  };