@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.
- package/lib/assets/modules/{baseLayout-B9dSxkYo.js → baseLayout-DIEq13qJ.js} +6 -6
- package/lib/assets/modules/{file-upload-JBIvw5Xx.js → file-upload-DGuLxYSu.js} +2 -2
- package/lib/assets/modules/{index-BMkaOjBS.js → index-BPufvr-r.js} +134 -133
- package/lib/assets/modules/{index-BOYtm8ib.js → index-CAtotNY6.js} +2 -2
- package/lib/assets/modules/{index-BkChvyed.js → index-DVzBH6zL.js} +1 -1
- package/lib/assets/modules/{menuTabs-BFPjaQRI.js → menuTabs-DKvoic5x.js} +7 -7
- package/lib/assets/modules/{toolIcon-XOgjdQdO.js → toolIcon-Y7Lpx2Hb.js} +1 -1
- package/lib/assets/modules/{uploadList-BedljASx.js → uploadList-Bh2SzZzX.js} +710 -701
- package/lib/assets/modules/{uploadList-CW7OIDS3.js → uploadList-DG33cpFl.js} +152 -146
- package/lib/components/common/icon/index.vue.d.ts +1 -1
- package/lib/es/AceEditor/index.js +3 -3
- package/lib/es/BasicLayout/index.js +2 -2
- package/lib/es/Error403/index.js +1 -1
- package/lib/es/Error404/index.js +1 -1
- package/lib/es/ExcelForm/index.js +38 -38
- package/lib/es/MenuLayout/index.js +2 -2
- package/lib/es/UploadForm/index.js +4 -4
- package/lib/stores/userInfo.d.ts +3 -1
- package/lib/typings/form.d.ts +1 -1
- package/lib/typings/tree.d.ts +4 -0
- package/lib/utils/micro-openapis.d.ts +35 -0
- package/lib/webui.es.js +358 -353
- package/package.json +1 -2
- package/src/components/content/dialog/excelForm.vue +1 -1
- package/src/components/content/form/formItem.vue +5 -0
- package/src/components/layout/header/headerExits.vue +1 -1
- package/src/stores/appInfo.ts +7 -8
- package/src/stores/userInfo.ts +21 -63
- package/src/typings/form.d.ts +1 -1
- package/src/typings/tree.d.ts +4 -0
- package/src/utils/data.ts +6 -0
- package/src/utils/download.ts +10 -1
- package/src/utils/export-table.ts +5 -0
- package/src/utils/form-excel.ts +14 -9
- package/src/utils/form.ts +7 -1
- package/src/utils/main-openapis.ts +2 -2
- package/src/utils/micro-openapis.ts +146 -0
- package/src/utils/options.ts +5 -0
- package/src/utils/table.ts +7 -2
- package/src/utils/tree.ts +4 -2
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var $ = (e, t, a) =>
|
|
4
|
-
import {
|
|
5
|
-
import { Switch as
|
|
6
|
-
import { createPinia as
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
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
|
|
12
|
-
import
|
|
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
|
|
16
|
-
|
|
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
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const
|
|
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,
|
|
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 =
|
|
464
|
-
a !== -1 &&
|
|
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
|
-
},
|
|
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) =>
|
|
469
|
-
},
|
|
470
|
-
history:
|
|
471
|
-
routes:
|
|
472
|
-
}),
|
|
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 =
|
|
479
|
-
if (
|
|
193
|
+
const r = M();
|
|
194
|
+
if (ge.VITE_PERMISSION_MODE === "role")
|
|
480
195
|
return a.length === 0 ? !0 : r.hasRole(a);
|
|
481
|
-
if (
|
|
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
|
-
|
|
205
|
+
Ee.beforeEach((e, t, a) => {
|
|
491
206
|
var l;
|
|
492
207
|
const s = e;
|
|
493
|
-
if (e.path.startsWith("/error/") || e.path.startsWith(
|
|
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 =
|
|
228
|
+
const u = M();
|
|
514
229
|
if (!u.isLogin)
|
|
515
|
-
a({ path:
|
|
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 =
|
|
239
|
+
const c = Na(s, u.isLogin);
|
|
525
240
|
a();
|
|
526
241
|
}
|
|
527
242
|
}
|
|
528
243
|
});
|
|
529
|
-
const
|
|
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
|
-
},
|
|
535
|
-
const t =
|
|
249
|
+
}, Ua = (e) => {
|
|
250
|
+
const t = He();
|
|
536
251
|
if (t.TabEnabled) {
|
|
537
|
-
if (
|
|
252
|
+
if (Ha(e.key, t.TabPanes))
|
|
538
253
|
return;
|
|
539
254
|
t.TabPanes.push(e);
|
|
540
255
|
}
|
|
541
|
-
},
|
|
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
|
-
|
|
301
|
+
Ua(s), this.TabActive = e;
|
|
587
302
|
}
|
|
588
303
|
},
|
|
589
304
|
persist: !1
|
|
590
|
-
}),
|
|
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
|
-
},
|
|
598
|
-
const t =
|
|
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 (
|
|
316
|
+
if (ge.VITE_PERMISSION_MODE === "role")
|
|
602
317
|
return F(a) ? !0 : t.hasRole(a);
|
|
603
|
-
if (
|
|
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
|
-
},
|
|
323
|
+
}, aa = (e) => e.map((t) => {
|
|
609
324
|
const a = { ...t };
|
|
610
|
-
return
|
|
611
|
-
}).filter(Boolean),
|
|
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 =
|
|
333
|
+
const s = ta(a.children, t + a.path + "/");
|
|
619
334
|
if (s)
|
|
620
335
|
return s;
|
|
621
336
|
}
|
|
622
337
|
}
|
|
623
|
-
}, H =
|
|
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:
|
|
632
|
-
Action:
|
|
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
|
|
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
|
|
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
|
-
}), (!
|
|
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
|
-
|
|
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
|
-
}),
|
|
716
|
-
const a =
|
|
717
|
-
if (
|
|
718
|
-
if (this.menuLoaded = !0,
|
|
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
|
-
|
|
440
|
+
W.value.mainAppPush(s);
|
|
721
441
|
}
|
|
722
|
-
|
|
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) &&
|
|
741
|
-
if (
|
|
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
|
-
|
|
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 =
|
|
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
|
-
},
|
|
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),
|
|
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:
|
|
801
|
-
Action:
|
|
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(),
|
|
531
|
+
this.clean(), window.location.assign("/");
|
|
812
532
|
}
|
|
813
533
|
},
|
|
814
534
|
persist: !1
|
|
815
|
-
}),
|
|
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
|
-
},
|
|
553
|
+
}, Ja = (e) => {
|
|
834
554
|
let t = {
|
|
835
555
|
Option: {
|
|
836
556
|
Mode: "MicroApp"
|
|
837
557
|
},
|
|
838
558
|
Query: e
|
|
839
559
|
};
|
|
840
|
-
return
|
|
841
|
-
},
|
|
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
|
|
848
|
-
|
|
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
|
|
854
|
-
},
|
|
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(
|
|
587
|
+
return console.error(Qa, t), !1;
|
|
873
588
|
}
|
|
874
|
-
}, k = f(""), ee = f(null),
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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 = "",
|
|
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
|
|
1030
|
-
} catch (
|
|
1031
|
-
console.error("调用登出接口失败",
|
|
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:
|
|
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
|
-
}),
|
|
1052
|
-
|
|
1053
|
-
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
|
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]),
|
|
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)
|
|
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
|
-
},
|
|
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)),
|
|
1105
|
+
}, 50), s)), Qt = (e, t) => {
|
|
1107
1106
|
const a = {};
|
|
1108
|
-
return a[e.primaryKey] = t[e.primaryKey], a[e.statusKey] = t[e.statusKey],
|
|
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
|
-
},
|
|
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
|
-
}),
|
|
1116
|
+
}), Jt = (e, t) => {
|
|
1118
1117
|
const a = t;
|
|
1119
|
-
return
|
|
1120
|
-
},
|
|
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 && (
|
|
1123
|
-
},
|
|
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
|
|
1130
|
-
class
|
|
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(
|
|
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(
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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 &&
|
|
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
|
-
},
|
|
1198
|
+
}, je = (e, t, a) => {
|
|
1200
1199
|
if (a) {
|
|
1201
1200
|
const s = {
|
|
1202
1201
|
...e.fieldMap
|
|
1203
1202
|
};
|
|
1204
|
-
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
|
-
},
|
|
1211
|
-
Array.isArray(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
|
-
},
|
|
1216
|
-
const s = JSON.parse(JSON.stringify(e.params ?? {})), n = JSON.parse(JSON.stringify(t.params ?? {})), o =
|
|
1217
|
-
|
|
1218
|
-
|
|
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
|
-
},
|
|
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,
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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 =
|
|
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 =
|
|
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
|
-
},
|
|
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) &&
|
|
1296
|
-
const n =
|
|
1297
|
-
if (e.selectedOptions.value = n, t.formData && t.outFields &&
|
|
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 =
|
|
1310
|
+
const c = ye(u, { selectedValues: a });
|
|
1303
1311
|
try {
|
|
1304
|
-
const
|
|
1305
|
-
q.emit(i,
|
|
1306
|
-
} catch (
|
|
1307
|
-
console.error("eventParamsValue: ", c,
|
|
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 =
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
}),
|
|
1397
|
-
|
|
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 ?
|
|
1438
|
+
}, 1), s.remotePage ? oa(s) : Ya(s));
|
|
1431
1439
|
}
|
|
1432
1440
|
), {
|
|
1433
1441
|
gridCtrl: s
|
|
1434
1442
|
};
|
|
1435
|
-
},
|
|
1436
|
-
|
|
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),
|
|
1459
|
+
}, 1), Ba(a));
|
|
1452
1460
|
}
|
|
1453
1461
|
), {
|
|
1454
1462
|
treeCtrl: a
|
|
1455
1463
|
};
|
|
1456
|
-
},
|
|
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
|
-
},
|
|
1479
|
-
|
|
1486
|
+
}, Bt = (e, t, a) => {
|
|
1487
|
+
Pe(e);
|
|
1480
1488
|
const s = {
|
|
1481
1489
|
...S.PageOption,
|
|
1482
1490
|
...e
|
|
1483
|
-
}, { editorCtrl: n } =
|
|
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
|
-
},
|
|
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
|
|
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) &&
|
|
1495
|
-
|
|
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],
|
|
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
|
-
|
|
1549
|
+
me(a, l, l.value);
|
|
1542
1550
|
},
|
|
1543
1551
|
{ deep: !0 }
|
|
1544
1552
|
), g(
|
|
1545
1553
|
() => o.icon,
|
|
1546
1554
|
(c) => {
|
|
1547
|
-
|
|
1555
|
+
me(a, l, c);
|
|
1548
1556
|
}
|
|
1549
|
-
),
|
|
1557
|
+
), me(a, l, l.value), { isLoaded: t, Icon: a, handleClick: i };
|
|
1550
1558
|
},
|
|
1551
1559
|
render() {
|
|
1552
1560
|
if (!t.value)
|
|
1553
|
-
return
|
|
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(
|
|
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:
|
|
1571
|
+
transform: ft(this.angle, this.flip)
|
|
1564
1572
|
}
|
|
1565
1573
|
}) : U("div", { class: "w-[14px] h-[14px]" });
|
|
1566
1574
|
}
|
|
1567
1575
|
});
|
|
1568
|
-
},
|
|
1576
|
+
}, ot = (e, t) => {
|
|
1569
1577
|
let a = e.iconUrl;
|
|
1570
1578
|
if (!a)
|
|
1571
1579
|
return console.error("图标库地址不能为空"), Promise.resolve();
|
|
1572
|
-
if (
|
|
1580
|
+
if (Fe.has(a))
|
|
1573
1581
|
return Promise.resolve();
|
|
1574
|
-
const s =
|
|
1582
|
+
const s = fa(a);
|
|
1575
1583
|
if (s)
|
|
1576
|
-
return new Promise(async (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
|
|
1587
|
+
await it(a, e.monoColor || !1), o(), Fe.delete(a);
|
|
1580
1588
|
});
|
|
1581
|
-
return
|
|
1582
|
-
},
|
|
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
|
-
|
|
1603
|
+
lt(e, r, t, s);
|
|
1596
1604
|
}
|
|
1597
|
-
|
|
1605
|
+
ca(s);
|
|
1598
1606
|
return;
|
|
1599
1607
|
} catch (a) {
|
|
1600
1608
|
return console.error("网络异常,无法加载图标库:", a), null;
|
|
1601
1609
|
}
|
|
1602
|
-
},
|
|
1610
|
+
}, ca = (e) => {
|
|
1603
1611
|
const t = document.createElement("script");
|
|
1604
1612
|
t.textContent = e, document.head.appendChild(t);
|
|
1605
|
-
},
|
|
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() +
|
|
1619
|
+
expireTime: Date.now() + rt
|
|
1612
1620
|
// 缓存时间:7天
|
|
1613
1621
|
};
|
|
1614
1622
|
localStorage.setItem(n, JSON.stringify(o));
|
|
1615
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
),
|
|
1658
|
-
const a =
|
|
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 && !
|
|
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
|
-
},
|
|
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
|
-
},
|
|
1678
|
+
}, ft = (e, t) => {
|
|
1671
1679
|
let a = "";
|
|
1672
1680
|
return e && (a += `rotate(${e}deg)`), t && (a += " scaleX(-1)"), a;
|
|
1673
|
-
},
|
|
1674
|
-
|
|
1675
|
-
},
|
|
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 =
|
|
1678
|
-
for (const
|
|
1679
|
-
if (
|
|
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 =
|
|
1689
|
+
const v = d.path.split("/");
|
|
1682
1690
|
v.unshift(...t);
|
|
1683
|
-
const
|
|
1691
|
+
const p = da(d.children || [], v, a, s), O = {
|
|
1684
1692
|
key: v.join("/"),
|
|
1685
|
-
label: ((i =
|
|
1686
|
-
title: ((c =
|
|
1687
|
-
icon:
|
|
1688
|
-
children:
|
|
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
|
-
(
|
|
1698
|
+
(p.length > 0 || !d.children) && n.push(O);
|
|
1691
1699
|
}
|
|
1692
1700
|
return n;
|
|
1693
|
-
},
|
|
1694
|
-
|
|
1701
|
+
}, Ye = va([]), Zt = () => {
|
|
1702
|
+
Ye.length = 0;
|
|
1695
1703
|
const e = H();
|
|
1696
|
-
let a =
|
|
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
|
-
|
|
1712
|
+
Ye.push(r);
|
|
1705
1713
|
});
|
|
1706
|
-
},
|
|
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
|
-
},
|
|
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
|
-
|
|
1757
|
+
Le.SITEHOST_API || (Le.SITEHOST_API = s);
|
|
1750
1758
|
const o = t || window.location.origin;
|
|
1751
|
-
|
|
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,
|
|
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,
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
1858
|
+
}), ts = /* @__PURE__ */ X({
|
|
1851
1859
|
__name: "index",
|
|
1852
1860
|
props: {
|
|
1853
|
-
...
|
|
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 =
|
|
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
|
-
(
|
|
1870
|
-
r.value =
|
|
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 = (
|
|
1875
|
-
i != null && i.value.errClass && u &&
|
|
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
|
|
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
|
-
}),
|
|
1891
|
+
}), oe(() => {
|
|
1884
1892
|
o && de(o, a);
|
|
1885
|
-
}), (
|
|
1886
|
-
var
|
|
1887
|
-
return r.value.length === 2 ? (
|
|
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
|
-
((
|
|
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
|
-
},
|
|
1907
|
+
}, d.$attrs), null, 16, ["class", "checkedChildren", "checkedValue", "unCheckedChildren", "unCheckedValue"])) : B("", !0);
|
|
1900
1908
|
};
|
|
1901
1909
|
}
|
|
1902
|
-
}),
|
|
1910
|
+
}), ss = /* @__PURE__ */ X({
|
|
1903
1911
|
inheritAttrs: !1,
|
|
1904
1912
|
__name: "index",
|
|
1905
1913
|
props: {
|
|
1906
|
-
...
|
|
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 =
|
|
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 &&
|
|
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,
|
|
1943
|
-
n.inputEmit =
|
|
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
|
|
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 =
|
|
1967
|
+
r.params = ue(r.params, h), r && Z(!0, r, a);
|
|
1960
1968
|
}, O = (y) => {
|
|
1961
|
-
const
|
|
1962
|
-
|
|
1963
|
-
const h =
|
|
1964
|
-
|
|
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
|
|
1974
|
+
return oe(() => {
|
|
1967
1975
|
r && de(r, a);
|
|
1968
|
-
}), (y,
|
|
1976
|
+
}), (y, E) => {
|
|
1969
1977
|
var h;
|
|
1970
|
-
return
|
|
1971
|
-
|
|
1978
|
+
return A(), L("div", null, [
|
|
1979
|
+
z(b(Sa), ie({
|
|
1972
1980
|
value: l.value,
|
|
1973
|
-
"onUpdate:value":
|
|
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:
|
|
1984
|
+
onSearch: p,
|
|
1977
1985
|
onSelect: O
|
|
1978
1986
|
}, b(s), { "allow-clear": !1 }), {
|
|
1979
1987
|
option: V(({ label: I }) => [
|
|
1980
|
-
|
|
1988
|
+
xe(C(I), 1)
|
|
1981
1989
|
]),
|
|
1982
1990
|
default: V(() => [
|
|
1983
|
-
|
|
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
|
-
}),
|
|
2001
|
+
}), pt = { class: "min-h-[32px] pt-[5px]" }, ht = {
|
|
1994
2002
|
key: 1,
|
|
1995
2003
|
class: "text-center text-gray-500"
|
|
1996
|
-
},
|
|
2004
|
+
}, ns = /* @__PURE__ */ X({
|
|
1997
2005
|
inheritAttrs: !1,
|
|
1998
2006
|
__name: "index",
|
|
1999
2007
|
props: {
|
|
2000
|
-
...
|
|
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,
|
|
2018
|
-
const a = e, s =
|
|
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) || ((
|
|
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
|
|
2037
|
-
const 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
|
|
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
|
-
}),
|
|
2055
|
+
}), oe(() => {
|
|
2048
2056
|
r && de(r, a);
|
|
2049
|
-
}), (y,
|
|
2050
|
-
|
|
2051
|
-
onChange:
|
|
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 ? (
|
|
2063
|
+
c.value.length > 0 ? (A(!0), L(ne, { key: 0 }, De(c.value, (h) => {
|
|
2056
2064
|
var I;
|
|
2057
|
-
return
|
|
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:
|
|
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
|
-
|
|
2077
|
+
xe(C(h.label), 1)
|
|
2070
2078
|
]),
|
|
2071
2079
|
_: 2
|
|
2072
2080
|
}, 1032, ["value", "disabled", "class"]);
|
|
2073
|
-
}), 128)) : e.nodata ? (
|
|
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
|
-
}),
|
|
2087
|
+
}), mt = { class: "min-h-[32px] pt-1" }, vt = {
|
|
2080
2088
|
key: 1,
|
|
2081
2089
|
class: "text-center text-gray-500"
|
|
2082
|
-
},
|
|
2090
|
+
}, rs = /* @__PURE__ */ X({
|
|
2083
2091
|
inheritAttrs: !1,
|
|
2084
2092
|
__name: "index",
|
|
2085
2093
|
props: {
|
|
2086
|
-
...
|
|
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,
|
|
2105
|
-
const a = e, s =
|
|
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) || ((
|
|
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) || []),
|
|
2114
|
-
n.inputEmit =
|
|
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
|
-
|
|
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
|
-
},
|
|
2138
|
-
const I = h.target.value, R =
|
|
2139
|
-
|
|
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
|
|
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
|
-
}),
|
|
2155
|
+
}), oe(() => {
|
|
2148
2156
|
r && de(r, a);
|
|
2149
|
-
}), (h, I) => (
|
|
2150
|
-
|
|
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:
|
|
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 ? (
|
|
2166
|
+
c.value.length > 0 ? (A(!0), L(ne, { key: 0 }, De(c.value, (R) => {
|
|
2159
2167
|
var Q;
|
|
2160
|
-
return
|
|
2168
|
+
return A(), L(ne, {
|
|
2161
2169
|
key: R.value
|
|
2162
2170
|
}, [
|
|
2163
|
-
R.visible !== !1 ? (
|
|
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:
|
|
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
|
-
|
|
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 ? (
|
|
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
|
-
}),
|
|
2194
|
+
}), gt = {
|
|
2187
2195
|
key: 0,
|
|
2188
2196
|
class: "absolute z-10 mt-[5px] mr-[10px] text-[#999] flex items-center"
|
|
2189
|
-
},
|
|
2197
|
+
}, os = /* @__PURE__ */ X({
|
|
2190
2198
|
inheritAttrs: !1,
|
|
2191
2199
|
__name: "index",
|
|
2192
2200
|
props: {
|
|
2193
|
-
...
|
|
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 =
|
|
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 =
|
|
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),
|
|
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 =
|
|
2237
|
-
|
|
2238
|
-
},
|
|
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
|
|
2242
|
-
if (
|
|
2243
|
-
|
|
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 && (
|
|
2248
|
-
m.length > 0 &&
|
|
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
|
-
|
|
2261
|
+
E.value = m || [];
|
|
2254
2262
|
},
|
|
2255
2263
|
{ immediate: !0, deep: !0 }
|
|
2256
2264
|
), g(
|
|
2257
2265
|
() => i.selected.value,
|
|
2258
2266
|
(m) => {
|
|
2259
|
-
|
|
2267
|
+
p.value = m;
|
|
2260
2268
|
}
|
|
2261
2269
|
)), g(
|
|
2262
|
-
() =>
|
|
2270
|
+
() => E.value,
|
|
2263
2271
|
(m) => {
|
|
2264
2272
|
h(m);
|
|
2265
2273
|
}
|
|
2266
2274
|
), g(
|
|
2267
|
-
() =>
|
|
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
|
-
|
|
2283
|
+
p.value = m;
|
|
2276
2284
|
},
|
|
2277
2285
|
{ immediate: !0 }
|
|
2278
2286
|
), g(
|
|
2279
|
-
() =>
|
|
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
|
-
),
|
|
2285
|
-
if (
|
|
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(
|
|
2291
|
-
|
|
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 ? (
|
|
2302
|
+
m.length > 0 ? (E.value = m, h(m)) : Z(i.autoload, i, a);
|
|
2295
2303
|
}
|
|
2296
|
-
}),
|
|
2304
|
+
}), oe(() => {
|
|
2297
2305
|
i && de(i, a);
|
|
2298
2306
|
}), (m, P) => {
|
|
2299
|
-
var
|
|
2300
|
-
return
|
|
2301
|
-
(
|
|
2302
|
-
|
|
2303
|
-
P[1] || (P[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
|
-
|
|
2306
|
-
class: [(
|
|
2307
|
-
value:
|
|
2308
|
-
"onUpdate:value": P[0] || (P[0] = (
|
|
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
|
-
(
|
|
2316
|
-
key:
|
|
2323
|
+
(A(!0), L(ne, null, De(E.value, (G) => (A(), L(ne, {
|
|
2324
|
+
key: G.value
|
|
2317
2325
|
}, [
|
|
2318
|
-
|
|
2326
|
+
G.visible !== !1 ? (A(), be(b(Ra), {
|
|
2319
2327
|
key: 0,
|
|
2320
|
-
value:
|
|
2328
|
+
value: G.value
|
|
2321
2329
|
}, {
|
|
2322
2330
|
default: V(() => [
|
|
2323
|
-
|
|
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
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
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
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
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
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
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
|
-
|
|
2401
|
-
|
|
2409
|
+
pe as t,
|
|
2410
|
+
M as u,
|
|
2402
2411
|
Z as v,
|
|
2403
2412
|
de as w,
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2413
|
+
Ne as x,
|
|
2414
|
+
we as y,
|
|
2415
|
+
Te as z
|
|
2407
2416
|
};
|