@skyfox2000/webui 1.4.22 → 1.4.24
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-BcSEYvus.js → baseLayout-DiqAUz2h.js} +3 -3
- package/lib/assets/modules/{file-upload-D11e2io7.js → file-upload-CKMd0H11.js} +1 -1
- package/lib/assets/modules/{index-ClMWx3tg.js → index-BpsqYPCw.js} +1 -1
- package/lib/assets/modules/{index-CO9_YadW.js → index-DvozNhVM.js} +2 -2
- package/lib/assets/modules/{index-voAmrZ30.js → index-gmbMtZa2.js} +2 -2
- package/lib/assets/modules/{menuTabs-C9wkt-m9.js → menuTabs-CvAiSVNW.js} +2 -2
- package/lib/assets/modules/{toolIcon-9zQ4jiFD.js → toolIcon-DWurTPaB.js} +1 -1
- package/lib/assets/modules/{upload-template-CM0O990W.js → upload-template-BuaWOXY_.js} +147 -142
- package/lib/assets/modules/{uploadList-DhkFSkqE.js → uploadList-De6KfTAV.js} +4 -4
- package/lib/components/content/toolbar/groupTools.vue.d.ts +27 -0
- package/lib/components/content/toolbar/index.d.ts +4 -0
- 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 +5 -5
- package/lib/es/MenuLayout/index.js +2 -2
- package/lib/es/TemplateFile/index.js +4 -4
- package/lib/es/UploadForm/index.js +4 -4
- package/lib/webui.css +1 -1
- package/lib/webui.es.js +13 -13
- package/package.json +2 -2
- package/src/components/content/toolbar/groupTools.vue +115 -0
- package/src/components/content/toolbar/index.ts +11 -0
- package/src/router/index.ts +3 -1
- package/src/utils/menu.ts +1 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent as _, onMounted as I, createBlock as s, openBlock as o, unref as e, withCtx as l, createCommentVNode as r, createVNode as p, createElementVNode as x, createElementBlock as y, toDisplayString as g, renderSlot as h } from "vue";
|
|
2
2
|
import { Layout as i, LayoutSider as k } from "ant-design-vue";
|
|
3
|
-
import { a as b } from "./toolIcon-
|
|
4
|
-
import { I as C, _ as S, f as w, d as $, g as N } from "./menuTabs-
|
|
5
|
-
import { ah as v, a as B, aj as E } from "./upload-template-
|
|
3
|
+
import { a as b } from "./toolIcon-DWurTPaB.js";
|
|
4
|
+
import { I as C, _ as S, f as w, d as $, g as N } from "./menuTabs-CvAiSVNW.js";
|
|
5
|
+
import { ah as v, a as B, aj as E } from "./upload-template-BuaWOXY_.js";
|
|
6
6
|
import "@skyfox2000/microbase";
|
|
7
7
|
import "@skyfox2000/fapi";
|
|
8
8
|
import L from "vue-m-message";
|
|
@@ -4,7 +4,7 @@ var d = (n, r, s) => m(n, typeof r != "symbol" ? r + "" : r, s);
|
|
|
4
4
|
import { hostUrl as w } from "@skyfox2000/fapi";
|
|
5
5
|
import y from "dayjs";
|
|
6
6
|
import f from "vue-m-message";
|
|
7
|
-
import { M as b, u as g } from "./upload-template-
|
|
7
|
+
import { M as b, u as g } from "./upload-template-BuaWOXY_.js";
|
|
8
8
|
import { isMicroApp as O } from "@skyfox2000/microbase";
|
|
9
9
|
var i = /* @__PURE__ */ ((n) => (n.Pending = "pending", n.Uploading = "uploading", n.Success = "success", n.Error = "error", n.Online = "online", n.Offline = "offline", n))(i || {});
|
|
10
10
|
class M {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as d, useAttrs as f, createElementBlock as u, openBlock as x, createVNode as e, withCtx as n, unref as o, mergeProps as r, renderSlot as p } from "vue";
|
|
2
2
|
import { Button as _ } from "ant-design-vue";
|
|
3
|
-
import { a as P, _ as k } from "./toolIcon-
|
|
3
|
+
import { a as P, _ as k } from "./toolIcon-DWurTPaB.js";
|
|
4
4
|
const C = /* @__PURE__ */ d({
|
|
5
5
|
inheritAttrs: !1,
|
|
6
6
|
__name: "index",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent as B, provide as N, ref as w, watch as p, onMounted as _, createBlock as n, openBlock as r, unref as a, withCtx as s, createElementVNode as b, renderSlot as C, createVNode as V, createCommentVNode as d, createTextVNode as u, toDisplayString as v } from "vue";
|
|
2
|
-
import { _ as m } from "./index-
|
|
2
|
+
import { _ as m } from "./index-BpsqYPCw.js";
|
|
3
3
|
import { Modal as D, Space as $ } from "ant-design-vue";
|
|
4
4
|
import "@skyfox2000/fapi";
|
|
5
|
-
import { P as E, d as M, o as P, b as K } from "./upload-template-
|
|
5
|
+
import { P as E, d as M, o as P, b as K } from "./upload-template-BuaWOXY_.js";
|
|
6
6
|
import "@skyfox2000/microbase";
|
|
7
7
|
import "vue-m-message";
|
|
8
8
|
import "async-validator";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import H from "async-validator";
|
|
2
2
|
import { httpPost as M, ResStatus as V } from "@skyfox2000/fapi";
|
|
3
|
-
import { i as T, am as U, L as $, u as z } from "./upload-template-
|
|
3
|
+
import { i as T, am as U, L as $, u as z } from "./upload-template-BuaWOXY_.js";
|
|
4
4
|
import m from "vue-m-message";
|
|
5
5
|
import { defineComponent as _, useAttrs as B, createElementBlock as A, openBlock as b, createVNode as O, unref as v, mergeProps as S, computed as E, createBlock as R, withCtx as L, normalizeStyle as N } from "vue";
|
|
6
6
|
import { Spin as K, Alert as P } from "ant-design-vue";
|
|
7
|
-
import { _ as W } from "./toolIcon-
|
|
7
|
+
import { _ as W } from "./toolIcon-DWurTPaB.js";
|
|
8
8
|
const D = (i) => {
|
|
9
9
|
const e = i.split(`
|
|
10
10
|
`).filter((l) => l.trim() !== "");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as x, createBlock as h, createCommentVNode as I, openBlock as u, unref as t, mergeProps as C, useAttrs as V, computed as j, ref as y, watch as k, withCtx as d, createElementBlock as g, normalizeStyle as T, createElementVNode as m, inject as W, onMounted as N, createVNode as l, toDisplayString as $, Fragment as R, createTextVNode as K, reactive as Y, nextTick as q, renderList as J, withModifiers as X } from "vue";
|
|
2
|
-
import { a as w, _ as b } from "./toolIcon-
|
|
3
|
-
import { c as L, W as M, aj as P, Z as E, Y as U, u as D, M as Z, a as F, X as G, r as H, ah as z } from "./upload-template-
|
|
2
|
+
import { a as w, _ as b } from "./toolIcon-DWurTPaB.js";
|
|
3
|
+
import { c as L, W as M, aj as P, Z as E, Y as U, u as D, M as Z, a as F, X as G, r as H, ah as z } from "./upload-template-BuaWOXY_.js";
|
|
4
4
|
import { _ as Q } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
import { theme as O, Breadcrumb as ee, Modal as te, Flex as ne, LayoutHeader as oe, Space as se, Menu as ie, Tabs as ce, TabPane as ae } from "ant-design-vue";
|
|
6
6
|
import { isMicroApp as le } from "@skyfox2000/microbase";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as i, createBlock as s, openBlock as l, unref as a, withCtx as p, renderSlot as f, createCommentVNode as u, mergeProps as d } from "vue";
|
|
2
2
|
import { Tooltip as I } from "ant-design-vue";
|
|
3
3
|
import { SERVER_HOST as r } from "@skyfox2000/fapi";
|
|
4
|
-
import { c as S } from "./upload-template-
|
|
4
|
+
import { c as S } from "./upload-template-BuaWOXY_.js";
|
|
5
5
|
const T = /* @__PURE__ */ i({
|
|
6
6
|
__name: "index",
|
|
7
7
|
props: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var mt = Object.defineProperty;
|
|
2
2
|
var vt = (e, a, t) => a in e ? mt(e, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[a] = t;
|
|
3
3
|
var P = (e, a, t) => vt(e, typeof a != "symbol" ? a + "" : a, t);
|
|
4
|
-
import { ref as c, h as H, nextTick as gt, inject as se, provide as $e, watch as
|
|
4
|
+
import { ref as c, h as H, nextTick as gt, inject as se, provide as $e, watch as y, toRaw as et, shallowRef as J, defineComponent as Z, reactive as yt, computed as St, onMounted as Ie, onUnmounted as le, createBlock as Ae, createCommentVNode as W, openBlock as O, unref as b, mergeProps as ue, useAttrs as Ee, onActivated as xe, createElementBlock as $, createVNode as C, withCtx as Q, createTextVNode as we, toDisplayString as Y, Fragment as oe, renderList as He, normalizeClass as tt, createElementVNode as bt } from "vue";
|
|
5
5
|
import { Switch as It, AutoComplete as At, Input as Et, CheckboxGroup as xt, Checkbox as wt, RadioGroup as Rt, Radio as Ot, Select as Tt, SelectOption as Pt } from "ant-design-vue";
|
|
6
6
|
import { createPinia as kt, defineStore as ce } from "pinia";
|
|
7
7
|
import Lt from "pinia-plugin-persistedstate";
|
|
@@ -202,7 +202,11 @@ const pe = {
|
|
|
202
202
|
if (t.length === 0 && !s)
|
|
203
203
|
return !0;
|
|
204
204
|
let l = !1, u = !1;
|
|
205
|
-
|
|
205
|
+
if (t.length > 0 && (l = r.hasRole(t)), s) {
|
|
206
|
+
const i = e.path.replace(/\/:[^/]+/g, "");
|
|
207
|
+
u = r.hasPermit(i, ":page");
|
|
208
|
+
}
|
|
209
|
+
return l || u;
|
|
206
210
|
}
|
|
207
211
|
}
|
|
208
212
|
return !1;
|
|
@@ -977,9 +981,9 @@ const Da = (e) => {
|
|
|
977
981
|
const i = ["string", "number", "array"];
|
|
978
982
|
for (const f of i)
|
|
979
983
|
if (u === f && t[f]) {
|
|
980
|
-
const
|
|
981
|
-
for (const m of
|
|
982
|
-
m === "range" && r.min != null && r.max != null &&
|
|
984
|
+
const d = t[f], p = ["len", "min", "max", "range"];
|
|
985
|
+
for (const m of p)
|
|
986
|
+
m === "range" && r.min != null && r.max != null && d.range ? n(d.range, o, { min: r.min, max: r.max }, l) : m !== "range" && r[m] != null && d[m] && n(d[m], o, { [m]: r[m] }, l);
|
|
983
987
|
}
|
|
984
988
|
if (r.required && t.required && n(t.required, o, {}, l), r.pattern && t.pattern && n(r.message, o, {}, l), r.enum && Array.isArray(r.enum) && t.enum) {
|
|
985
989
|
const f = r.enum.join(", ");
|
|
@@ -991,8 +995,8 @@ const Da = (e) => {
|
|
|
991
995
|
let i;
|
|
992
996
|
if (typeof o == "function") {
|
|
993
997
|
const f = [r];
|
|
994
|
-
for (const
|
|
995
|
-
f.push(l[
|
|
998
|
+
for (const d in l)
|
|
999
|
+
f.push(l[d]);
|
|
996
1000
|
i = o.apply(null, f), i && u.push(i);
|
|
997
1001
|
} else {
|
|
998
1002
|
i = String(o);
|
|
@@ -1042,7 +1046,7 @@ const Da = (e) => {
|
|
|
1042
1046
|
if (!e.label || !e.rule)
|
|
1043
1047
|
return t;
|
|
1044
1048
|
const s = a == null ? void 0 : a.ruleResults;
|
|
1045
|
-
return
|
|
1049
|
+
return y(
|
|
1046
1050
|
() => s == null ? void 0 : s.value,
|
|
1047
1051
|
(n) => {
|
|
1048
1052
|
if (t.value.errClass = "", t.value.msg = "", !F(n)) {
|
|
@@ -1080,9 +1084,9 @@ const Da = (e) => {
|
|
|
1080
1084
|
const i = a[u.field];
|
|
1081
1085
|
if (i) {
|
|
1082
1086
|
const f = n.value.match(l);
|
|
1083
|
-
f && f.forEach((
|
|
1084
|
-
const
|
|
1085
|
-
n.value = n.value.replace(
|
|
1087
|
+
f && f.forEach((d) => {
|
|
1088
|
+
const p = d.replace("${", "").replace("}", "");
|
|
1089
|
+
n.value = n.value.replace(d, i[p] ?? "");
|
|
1086
1090
|
});
|
|
1087
1091
|
}
|
|
1088
1092
|
}), s.value.length > 0 && (o.value = "error"), { msg: n, ruleErrors: s, errClass: o };
|
|
@@ -1139,16 +1143,16 @@ const Da = (e) => {
|
|
|
1139
1143
|
if (l && l.length > 2 && l[1] && l[2]) {
|
|
1140
1144
|
const u = l[1], i = l[2].replace(/Idx_/g, "").split("_"), f = e.formRules.value;
|
|
1141
1145
|
if (f && i.length > 0) {
|
|
1142
|
-
const
|
|
1143
|
-
i.forEach((
|
|
1144
|
-
f[
|
|
1146
|
+
const d = {};
|
|
1147
|
+
i.forEach((p) => {
|
|
1148
|
+
f[p] && (d[p] = [
|
|
1145
1149
|
{
|
|
1146
|
-
field:
|
|
1150
|
+
field: p,
|
|
1147
1151
|
fieldValue: u,
|
|
1148
1152
|
message: "数据重复"
|
|
1149
1153
|
}
|
|
1150
1154
|
]);
|
|
1151
|
-
}), Object.keys(
|
|
1155
|
+
}), Object.keys(d).length > 0 && (console.error("保存失败!", d), e.ruleResults.value = d);
|
|
1152
1156
|
}
|
|
1153
1157
|
x.error(`保存失败!数据 \`${u}\` 已存在!`);
|
|
1154
1158
|
} else x.error((n == null ? void 0 : n.msg) ?? "保存失败!");
|
|
@@ -1310,7 +1314,7 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
1310
1314
|
}, B.on(t.reloadEvent, s.reloadHandler);
|
|
1311
1315
|
}
|
|
1312
1316
|
if (t != null && t.data)
|
|
1313
|
-
|
|
1317
|
+
y(
|
|
1314
1318
|
() => t.data,
|
|
1315
1319
|
() => {
|
|
1316
1320
|
je(a, t.data, !0);
|
|
@@ -1439,10 +1443,10 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
1439
1443
|
l.every((i) => {
|
|
1440
1444
|
const f = be(u, { selectedValues: t });
|
|
1441
1445
|
try {
|
|
1442
|
-
const
|
|
1443
|
-
B.emit(i,
|
|
1444
|
-
} catch (
|
|
1445
|
-
console.error("eventParamsValue: ", f,
|
|
1446
|
+
const d = JSON.parse(f);
|
|
1447
|
+
B.emit(i, d, t, n);
|
|
1448
|
+
} catch (d) {
|
|
1449
|
+
console.error("eventParamsValue: ", f, d);
|
|
1446
1450
|
}
|
|
1447
1451
|
});
|
|
1448
1452
|
else {
|
|
@@ -1560,7 +1564,7 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
1560
1564
|
updateUrl: e.urls.update,
|
|
1561
1565
|
deleteUrl: e.urls.delete
|
|
1562
1566
|
};
|
|
1563
|
-
return
|
|
1567
|
+
return y(
|
|
1564
1568
|
() => s.reload.value,
|
|
1565
1569
|
(n) => {
|
|
1566
1570
|
n && (setTimeout(() => {
|
|
@@ -1581,7 +1585,7 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
1581
1585
|
data: J(void 0),
|
|
1582
1586
|
isTreeLoading: c(!1)
|
|
1583
1587
|
};
|
|
1584
|
-
return
|
|
1588
|
+
return y(
|
|
1585
1589
|
() => t.reload.value,
|
|
1586
1590
|
(s) => {
|
|
1587
1591
|
s && (setTimeout(() => {
|
|
@@ -1603,7 +1607,7 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
1603
1607
|
options: c([]),
|
|
1604
1608
|
isOptionLoading: c(!1)
|
|
1605
1609
|
};
|
|
1606
|
-
return
|
|
1610
|
+
return y(
|
|
1607
1611
|
() => t.reload.value,
|
|
1608
1612
|
(s) => {
|
|
1609
1613
|
s && (setTimeout(() => {
|
|
@@ -1661,25 +1665,25 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
1661
1665
|
const l = c(o.icon), u = c(0), i = () => {
|
|
1662
1666
|
o.icons && u.value++;
|
|
1663
1667
|
};
|
|
1664
|
-
return
|
|
1668
|
+
return y(
|
|
1665
1669
|
() => o.iconIndex,
|
|
1666
1670
|
(f) => {
|
|
1667
1671
|
f !== void 0 && (u.value = f);
|
|
1668
1672
|
},
|
|
1669
1673
|
{ immediate: !0 }
|
|
1670
|
-
),
|
|
1674
|
+
), y(
|
|
1671
1675
|
() => u.value,
|
|
1672
1676
|
(f) => {
|
|
1673
1677
|
o.icons && (f >= o.icons.length && (u.value = 0), l.value = o.icons[u.value], ge(t, l, l.value), r("update:iconIndex", u.value));
|
|
1674
1678
|
},
|
|
1675
1679
|
{ immediate: !0 }
|
|
1676
|
-
),
|
|
1680
|
+
), y(
|
|
1677
1681
|
() => G.value,
|
|
1678
1682
|
() => {
|
|
1679
1683
|
ge(t, l, l.value);
|
|
1680
1684
|
},
|
|
1681
1685
|
{ deep: !0 }
|
|
1682
|
-
),
|
|
1686
|
+
), y(
|
|
1683
1687
|
() => o.icon,
|
|
1684
1688
|
(f) => {
|
|
1685
1689
|
ge(t, l, f);
|
|
@@ -1811,21 +1815,22 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
1811
1815
|
}, ns = (e, a, t, s) => {
|
|
1812
1816
|
ht(e, [], t, s).forEach((o) => a.push(o));
|
|
1813
1817
|
}, ht = (e, a, t, s) => {
|
|
1814
|
-
var r, l, u, i, f;
|
|
1818
|
+
var r, l, u, i, f, d;
|
|
1815
1819
|
const n = [], o = N();
|
|
1816
1820
|
for (const p of e) {
|
|
1817
|
-
if (p.redirect ||
|
|
1821
|
+
if (p.redirect || (r = p.meta) != null && r.hidden || // 隐藏菜单
|
|
1822
|
+
p.path.includes("/login") || p.path.includes("/error") || p.path.includes("/:page(.*)") || (u = (l = p.meta) == null ? void 0 : l.roles) != null && u.length && !o.hasRole(p.meta.roles) && (i = p.meta) != null && i.permission && !o.hasPermit(p.meta.permission, ":page"))
|
|
1818
1823
|
continue;
|
|
1819
|
-
const
|
|
1820
|
-
|
|
1821
|
-
const
|
|
1822
|
-
key:
|
|
1823
|
-
label: ((
|
|
1824
|
-
title: ((
|
|
1824
|
+
const m = p.path.split("/");
|
|
1825
|
+
m.unshift(...a);
|
|
1826
|
+
const I = ht(p.children || [], m, t, s), g = {
|
|
1827
|
+
key: m.join("/"),
|
|
1828
|
+
label: ((f = p.name) == null ? void 0 : f.toString()) ?? "",
|
|
1829
|
+
title: ((d = p.name) == null ? void 0 : d.toString()) ?? "",
|
|
1825
1830
|
icon: p.icon ? H(t, { ...s, icon: p.icon }) : void 0,
|
|
1826
|
-
children:
|
|
1831
|
+
children: I.length > 0 ? I : void 0
|
|
1827
1832
|
};
|
|
1828
|
-
(
|
|
1833
|
+
(I.length > 0 || !p.children) && n.push(g);
|
|
1829
1834
|
}
|
|
1830
1835
|
return n;
|
|
1831
1836
|
}, Ze = yt([]), rs = () => {
|
|
@@ -2006,10 +2011,10 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2006
2011
|
const t = e, s = X(), n = me(t.url, t), o = t.optionCtrl ?? n.optionCtrl;
|
|
2007
2012
|
o.inputFactory = J(s);
|
|
2008
2013
|
const r = c([]);
|
|
2009
|
-
o &&
|
|
2014
|
+
o && y(
|
|
2010
2015
|
() => o.options.value,
|
|
2011
|
-
(
|
|
2012
|
-
r.value =
|
|
2016
|
+
(p) => {
|
|
2017
|
+
r.value = p || [];
|
|
2013
2018
|
},
|
|
2014
2019
|
{ immediate: !0, deep: !0 }
|
|
2015
2020
|
);
|
|
@@ -2020,8 +2025,8 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2020
2025
|
default:
|
|
2021
2026
|
return "w-[58px]";
|
|
2022
2027
|
}
|
|
2023
|
-
}),
|
|
2024
|
-
i != null && i.value.errClass && u && de(u), l("change",
|
|
2028
|
+
}), d = (p) => {
|
|
2029
|
+
i != null && i.value.errClass && u && de(u), l("change", p);
|
|
2025
2030
|
};
|
|
2026
2031
|
return Ie(() => {
|
|
2027
2032
|
if (!t.data || t.data.length != 2) {
|
|
@@ -2031,13 +2036,13 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2031
2036
|
o && ee(o.autoload, o, t);
|
|
2032
2037
|
}), le(() => {
|
|
2033
2038
|
o && he(o, t);
|
|
2034
|
-
}), (
|
|
2035
|
-
var
|
|
2039
|
+
}), (p, m) => {
|
|
2040
|
+
var I;
|
|
2036
2041
|
return r.value.length === 2 ? (O(), Ae(b(It), ue({
|
|
2037
2042
|
key: 0,
|
|
2038
2043
|
size: e.size,
|
|
2039
2044
|
class: [
|
|
2040
|
-
((
|
|
2045
|
+
((I = b(i)) == null ? void 0 : I.errClass) === "error" ? "error !border-red-300 shadow-[0_0_3px_0px_#ff4d4f]" : "",
|
|
2041
2046
|
"bg-blue-300",
|
|
2042
2047
|
f.value
|
|
2043
2048
|
],
|
|
@@ -2045,8 +2050,8 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2045
2050
|
checkedValue: r.value[0].value,
|
|
2046
2051
|
unCheckedChildren: r.value[1].label,
|
|
2047
2052
|
unCheckedValue: r.value[1].value,
|
|
2048
|
-
onChange:
|
|
2049
|
-
},
|
|
2053
|
+
onChange: d
|
|
2054
|
+
}, p.$attrs), null, 16, ["size", "class", "checkedChildren", "checkedValue", "unCheckedChildren", "unCheckedValue"])) : W("", !0);
|
|
2050
2055
|
};
|
|
2051
2056
|
}
|
|
2052
2057
|
}), us = /* @__PURE__ */ Z({
|
|
@@ -2077,59 +2082,59 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2077
2082
|
...r == null ? void 0 : r.fieldMap
|
|
2078
2083
|
};
|
|
2079
2084
|
const l = c(void 0);
|
|
2080
|
-
|
|
2085
|
+
y(
|
|
2081
2086
|
() => t.value,
|
|
2082
2087
|
() => {
|
|
2083
2088
|
l.value = t.value;
|
|
2084
2089
|
},
|
|
2085
2090
|
{ immediate: !0 }
|
|
2086
|
-
),
|
|
2091
|
+
), y(
|
|
2087
2092
|
() => l.value,
|
|
2088
|
-
(
|
|
2089
|
-
t.autoClean && t.formData && t.outFields &&
|
|
2093
|
+
(g) => {
|
|
2094
|
+
t.autoClean && t.formData && t.outFields && g !== t.value && ft(t.formData, t.outFields, null);
|
|
2090
2095
|
}
|
|
2091
2096
|
);
|
|
2092
|
-
const { editorCtrl: u, errInfo: i, labelText: f } = n,
|
|
2093
|
-
n.inputEmit =
|
|
2094
|
-
const
|
|
2095
|
-
r &&
|
|
2097
|
+
const { editorCtrl: u, errInfo: i, labelText: f } = n, d = a;
|
|
2098
|
+
n.inputEmit = d;
|
|
2099
|
+
const p = c((r == null ? void 0 : r.options.value) || []);
|
|
2100
|
+
r && y(
|
|
2096
2101
|
() => r.options.value,
|
|
2097
|
-
(
|
|
2098
|
-
|
|
2102
|
+
(g) => {
|
|
2103
|
+
p.value = g || [];
|
|
2099
2104
|
},
|
|
2100
2105
|
{ immediate: !0, deep: !0 }
|
|
2101
2106
|
);
|
|
2102
|
-
const m = (
|
|
2103
|
-
if (
|
|
2104
|
-
let
|
|
2107
|
+
const m = (g) => {
|
|
2108
|
+
if (p.value = [], g === "") return;
|
|
2109
|
+
let h = {
|
|
2105
2110
|
Query: {
|
|
2106
|
-
SearchField: "%" +
|
|
2111
|
+
SearchField: "%" + g.trim() + "%"
|
|
2107
2112
|
}
|
|
2108
2113
|
};
|
|
2109
|
-
r.params = fe(r.params,
|
|
2110
|
-
},
|
|
2111
|
-
const w = Le(r, t,
|
|
2112
|
-
|
|
2113
|
-
const
|
|
2114
|
-
|
|
2114
|
+
r.params = fe(r.params, h), r && ee(!0, r, t);
|
|
2115
|
+
}, I = (g) => {
|
|
2116
|
+
const w = Le(r, t, g);
|
|
2117
|
+
d("update:value", g), d("select", g);
|
|
2118
|
+
const h = ke(w);
|
|
2119
|
+
d("update:labels", h), i != null && i.value.errClass && u && de(u);
|
|
2115
2120
|
};
|
|
2116
2121
|
return xe(() => {
|
|
2117
2122
|
r && r.autoload && (r.reload.value = !0);
|
|
2118
2123
|
}), le(() => {
|
|
2119
2124
|
r && he(r, t);
|
|
2120
|
-
}), (
|
|
2121
|
-
var
|
|
2125
|
+
}), (g, w) => {
|
|
2126
|
+
var h;
|
|
2122
2127
|
return O(), $("div", null, [
|
|
2123
2128
|
C(b(At), ue({
|
|
2124
2129
|
value: l.value,
|
|
2125
|
-
"onUpdate:value": w[0] || (w[0] = (
|
|
2126
|
-
class: ["w-full", (
|
|
2127
|
-
options:
|
|
2130
|
+
"onUpdate:value": w[0] || (w[0] = (A) => l.value = A),
|
|
2131
|
+
class: ["w-full", (h = b(i)) == null ? void 0 : h.errClass],
|
|
2132
|
+
options: p.value,
|
|
2128
2133
|
onSearch: m,
|
|
2129
|
-
onSelect:
|
|
2134
|
+
onSelect: I
|
|
2130
2135
|
}, b(s), { "allow-clear": !1 }), {
|
|
2131
|
-
option: Q(({ label:
|
|
2132
|
-
we(Y(
|
|
2136
|
+
option: Q(({ label: A }) => [
|
|
2137
|
+
we(Y(A), 1)
|
|
2133
2138
|
]),
|
|
2134
2139
|
default: Q(() => [
|
|
2135
2140
|
C(b(Et), {
|
|
@@ -2166,28 +2171,28 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2166
2171
|
},
|
|
2167
2172
|
emits: ["change", "update:labels"],
|
|
2168
2173
|
setup(e, { emit: a }) {
|
|
2169
|
-
var
|
|
2174
|
+
var p, m, I;
|
|
2170
2175
|
const t = e, s = Ee(), n = X(), o = me(t.url, t), r = t.optionCtrl ?? o.optionCtrl;
|
|
2171
2176
|
r.inputFactory = J(n);
|
|
2172
2177
|
const l = c({
|
|
2173
2178
|
...r == null ? void 0 : r.url,
|
|
2174
|
-
url: ((
|
|
2179
|
+
url: ((p = r == null ? void 0 : r.url) == null ? void 0 : p.url) || "",
|
|
2175
2180
|
fieldMap: (r == null ? void 0 : r.fieldMap) || ((m = r == null ? void 0 : r.url) == null ? void 0 : m.fieldMap),
|
|
2176
|
-
params: (r == null ? void 0 : r.params) || ((
|
|
2181
|
+
params: (r == null ? void 0 : r.params) || ((I = r == null ? void 0 : r.url) == null ? void 0 : I.params),
|
|
2177
2182
|
loadingText: !1
|
|
2178
2183
|
}), { errInfo: u } = n, i = a;
|
|
2179
2184
|
n.inputEmit = i;
|
|
2180
2185
|
const f = c((r == null ? void 0 : r.options.value) || []);
|
|
2181
|
-
r &&
|
|
2186
|
+
r && y(
|
|
2182
2187
|
() => r.options.value,
|
|
2183
|
-
(
|
|
2184
|
-
f.value =
|
|
2188
|
+
(g) => {
|
|
2189
|
+
f.value = g || [];
|
|
2185
2190
|
},
|
|
2186
2191
|
{ immediate: !0, deep: !0 }
|
|
2187
2192
|
);
|
|
2188
|
-
const
|
|
2189
|
-
const
|
|
2190
|
-
i("update:labels",
|
|
2193
|
+
const d = (g) => {
|
|
2194
|
+
const h = Le(r, t, g), A = ke(h);
|
|
2195
|
+
i("update:labels", A);
|
|
2191
2196
|
};
|
|
2192
2197
|
return xe(() => {
|
|
2193
2198
|
r && r.autoload && (r.reload.value = !0);
|
|
@@ -2200,27 +2205,27 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2200
2205
|
}), r && ee(r.autoload, r, t);
|
|
2201
2206
|
}), le(() => {
|
|
2202
2207
|
r && he(r, t);
|
|
2203
|
-
}), (
|
|
2208
|
+
}), (g, w) => (O(), $("div", ya, [
|
|
2204
2209
|
C(b(xt), ue({
|
|
2205
|
-
onChange:
|
|
2210
|
+
onChange: d,
|
|
2206
2211
|
class: "w-full mb-[-3px]"
|
|
2207
2212
|
}, b(s)), {
|
|
2208
2213
|
default: Q(() => [
|
|
2209
|
-
f.value.length > 0 ? (O(!0), $(oe, { key: 0 }, He(f.value, (
|
|
2210
|
-
var
|
|
2214
|
+
f.value.length > 0 ? (O(!0), $(oe, { key: 0 }, He(f.value, (h) => {
|
|
2215
|
+
var A;
|
|
2211
2216
|
return O(), Ae(b(wt), {
|
|
2212
|
-
key:
|
|
2213
|
-
value:
|
|
2214
|
-
disabled:
|
|
2217
|
+
key: h.value,
|
|
2218
|
+
value: h.value,
|
|
2219
|
+
disabled: h.disabled || h.value && e.disabledItems && e.disabledItems.indexOf(h.value.toString()) > -1,
|
|
2215
2220
|
class: tt([
|
|
2216
|
-
((
|
|
2221
|
+
((A = b(u)) == null ? void 0 : A.errClass) === "error" ? "error !text-red-400" : "",
|
|
2217
2222
|
"text-nowrap",
|
|
2218
2223
|
"pb-1",
|
|
2219
2224
|
e.wrap ? `w-1/${t.wrap}` : ""
|
|
2220
2225
|
])
|
|
2221
2226
|
}, {
|
|
2222
2227
|
default: Q(() => [
|
|
2223
|
-
we(Y(
|
|
2228
|
+
we(Y(h.label), 1)
|
|
2224
2229
|
]),
|
|
2225
2230
|
_: 2
|
|
2226
2231
|
}, 1032, ["value", "disabled", "class"]);
|
|
@@ -2255,42 +2260,42 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2255
2260
|
},
|
|
2256
2261
|
emits: ["change", "update:value", "update:labels"],
|
|
2257
2262
|
setup(e, { emit: a }) {
|
|
2258
|
-
var
|
|
2263
|
+
var I, g, w;
|
|
2259
2264
|
const t = e, s = Ee(), n = X(), o = me(t.url, t), r = t.optionCtrl ?? o.optionCtrl;
|
|
2260
2265
|
r.inputFactory = J(n);
|
|
2261
2266
|
const l = c({
|
|
2262
2267
|
...r == null ? void 0 : r.url,
|
|
2263
|
-
url: ((
|
|
2264
|
-
fieldMap: (r == null ? void 0 : r.fieldMap) || ((
|
|
2268
|
+
url: ((I = r == null ? void 0 : r.url) == null ? void 0 : I.url) || "",
|
|
2269
|
+
fieldMap: (r == null ? void 0 : r.fieldMap) || ((g = r == null ? void 0 : r.url) == null ? void 0 : g.fieldMap),
|
|
2265
2270
|
params: (r == null ? void 0 : r.params) || ((w = r == null ? void 0 : r.url) == null ? void 0 : w.params),
|
|
2266
2271
|
loadingText: !1
|
|
2267
|
-
}), u = c(t.value), { errInfo: i } = n, f = c((r == null ? void 0 : r.options.value) || []),
|
|
2268
|
-
n.inputEmit =
|
|
2272
|
+
}), u = c(t.value), { errInfo: i } = n, f = c((r == null ? void 0 : r.options.value) || []), d = a;
|
|
2273
|
+
n.inputEmit = d, r && y(
|
|
2269
2274
|
() => r.options.value,
|
|
2270
|
-
(
|
|
2271
|
-
f.value =
|
|
2275
|
+
(h) => {
|
|
2276
|
+
f.value = h || [];
|
|
2272
2277
|
},
|
|
2273
2278
|
{ immediate: !0, deep: !0 }
|
|
2274
|
-
),
|
|
2279
|
+
), y(
|
|
2275
2280
|
() => t.value,
|
|
2276
|
-
(
|
|
2277
|
-
u.value =
|
|
2281
|
+
(h) => {
|
|
2282
|
+
u.value = h;
|
|
2278
2283
|
}
|
|
2279
|
-
),
|
|
2284
|
+
), y(
|
|
2280
2285
|
() => u.value,
|
|
2281
|
-
(
|
|
2282
|
-
|
|
2286
|
+
(h) => {
|
|
2287
|
+
d("update:value", h);
|
|
2283
2288
|
}
|
|
2284
2289
|
);
|
|
2285
|
-
const
|
|
2286
|
-
if (typeof
|
|
2287
|
-
const T = JSON.stringify(
|
|
2288
|
-
return T && (u.value =
|
|
2290
|
+
const p = (h, A) => {
|
|
2291
|
+
if (typeof h == "object" && typeof A == "object") {
|
|
2292
|
+
const T = JSON.stringify(h) === JSON.stringify(A);
|
|
2293
|
+
return T && (u.value = h), T;
|
|
2289
2294
|
}
|
|
2290
|
-
return
|
|
2291
|
-
}, m = (
|
|
2292
|
-
const
|
|
2293
|
-
|
|
2295
|
+
return h === A;
|
|
2296
|
+
}, m = (h) => {
|
|
2297
|
+
const A = h.target.value, T = Le(r, t, A), q = ke(T);
|
|
2298
|
+
d("update:labels", q);
|
|
2294
2299
|
};
|
|
2295
2300
|
return xe(() => {
|
|
2296
2301
|
r && r.autoload && (r.reload.value = !0);
|
|
@@ -2302,10 +2307,10 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2302
2307
|
}), r && ee(r.autoload, r, t);
|
|
2303
2308
|
}), le(() => {
|
|
2304
2309
|
r && he(r, t);
|
|
2305
|
-
}), (
|
|
2310
|
+
}), (h, A) => (O(), $("div", ba, [
|
|
2306
2311
|
C(b(Rt), ue({
|
|
2307
2312
|
value: u.value,
|
|
2308
|
-
"onUpdate:value":
|
|
2313
|
+
"onUpdate:value": A[0] || (A[0] = (T) => u.value = T),
|
|
2309
2314
|
autocheck: !1,
|
|
2310
2315
|
onChange: m,
|
|
2311
2316
|
class: "w-full flex align-items flex-wrap mb-[-3px]"
|
|
@@ -2318,7 +2323,7 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2318
2323
|
}, [
|
|
2319
2324
|
T.visible !== !1 ? (O(), Ae(b(Ot), {
|
|
2320
2325
|
key: 0,
|
|
2321
|
-
checked:
|
|
2326
|
+
checked: p(T.value, t.value),
|
|
2322
2327
|
value: T.value,
|
|
2323
2328
|
class: tt([
|
|
2324
2329
|
((q = b(i)) == null ? void 0 : q.errClass) === "error" ? "error !text-red-400" : "",
|
|
@@ -2377,21 +2382,21 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2377
2382
|
},
|
|
2378
2383
|
emits: ["change", "update:value", "update:label", "update:labels"],
|
|
2379
2384
|
setup(e, { emit: a }) {
|
|
2380
|
-
var
|
|
2385
|
+
var A, T, q;
|
|
2381
2386
|
const t = e, s = t.value === void 0 ? !0 : t.undefValue, n = X(), { editorCtrl: o, errInfo: r, labelText: l } = n, u = me(t.url, t), i = t.optionCtrl ?? u.optionCtrl;
|
|
2382
2387
|
i.inputFactory = J(n);
|
|
2383
|
-
const f = Ee(),
|
|
2388
|
+
const f = Ee(), d = c({
|
|
2384
2389
|
...i == null ? void 0 : i.url,
|
|
2385
|
-
url: ((
|
|
2390
|
+
url: ((A = i == null ? void 0 : i.url) == null ? void 0 : A.url) || "",
|
|
2386
2391
|
fieldMap: (i == null ? void 0 : i.fieldMap) || ((T = i == null ? void 0 : i.url) == null ? void 0 : T.fieldMap),
|
|
2387
2392
|
params: (i == null ? void 0 : i.params) || ((q = i == null ? void 0 : i.url) == null ? void 0 : q.params),
|
|
2388
2393
|
loadingText: !1
|
|
2389
|
-
}),
|
|
2390
|
-
n.inputEmit =
|
|
2391
|
-
const
|
|
2394
|
+
}), p = c(f.placeholder), m = c(i == null ? void 0 : i.selected.value), I = a;
|
|
2395
|
+
n.inputEmit = I;
|
|
2396
|
+
const g = (v) => {
|
|
2392
2397
|
const L = Le(i, t, v), D = ke(L);
|
|
2393
|
-
m.value = v,
|
|
2394
|
-
}, w = c((i == null ? void 0 : i.options.value) || []),
|
|
2398
|
+
m.value = v, I("update:labels", D), I("update:label", D.join(";")), I("change", v, L), r != null && r.value.errClass && o && de(o);
|
|
2399
|
+
}, w = c((i == null ? void 0 : i.options.value) || []), h = (v) => {
|
|
2395
2400
|
if (v.length > 0 && F(t.value) && t.selectFirst)
|
|
2396
2401
|
for (let L = 0; L < v.length; L++) {
|
|
2397
2402
|
const D = v[L];
|
|
@@ -2401,55 +2406,55 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2401
2406
|
}
|
|
2402
2407
|
}
|
|
2403
2408
|
else v.length > 0 && (m.value = t.value === null ? void 0 : t.value);
|
|
2404
|
-
v.length > 0 && m.value !== void 0 &&
|
|
2409
|
+
v.length > 0 && m.value !== void 0 && g(m.value);
|
|
2405
2410
|
};
|
|
2406
|
-
return i && (
|
|
2411
|
+
return i && (y(
|
|
2407
2412
|
() => i.options.value,
|
|
2408
2413
|
(v) => {
|
|
2409
2414
|
w.value = v || [];
|
|
2410
2415
|
},
|
|
2411
2416
|
{ immediate: !0, deep: !0 }
|
|
2412
|
-
),
|
|
2417
|
+
), y(
|
|
2413
2418
|
() => i.selected.value,
|
|
2414
2419
|
(v) => {
|
|
2415
2420
|
m.value = v;
|
|
2416
2421
|
}
|
|
2417
|
-
)),
|
|
2422
|
+
)), y(
|
|
2418
2423
|
() => w.value,
|
|
2419
2424
|
(v) => {
|
|
2420
|
-
|
|
2425
|
+
h(v);
|
|
2421
2426
|
}
|
|
2422
|
-
),
|
|
2423
|
-
() =>
|
|
2427
|
+
), y(
|
|
2428
|
+
() => d.value.loading,
|
|
2424
2429
|
(v) => {
|
|
2425
|
-
v ?
|
|
2430
|
+
v ? p.value = "" : p.value || (p.value = "请选择" + l.value);
|
|
2426
2431
|
},
|
|
2427
2432
|
{ immediate: !0 }
|
|
2428
|
-
),
|
|
2433
|
+
), y(
|
|
2429
2434
|
() => t.value,
|
|
2430
2435
|
(v) => {
|
|
2431
2436
|
m.value = v;
|
|
2432
2437
|
},
|
|
2433
2438
|
{ immediate: !0 }
|
|
2434
|
-
),
|
|
2439
|
+
), y(
|
|
2435
2440
|
() => m.value,
|
|
2436
2441
|
(v) => {
|
|
2437
2442
|
const L = v === void 0 ? s ? void 0 : null : v;
|
|
2438
|
-
i && (i.selected.value = L),
|
|
2443
|
+
i && (i.selected.value = L), I("update:value", L);
|
|
2439
2444
|
}
|
|
2440
2445
|
), xe(() => {
|
|
2441
2446
|
i && i.autoload && (i.reload.value = !0);
|
|
2442
2447
|
}), Ie(() => {
|
|
2443
|
-
if (
|
|
2448
|
+
if (d.value && !d.value.fieldMap && (d.value.fieldMap = {
|
|
2444
2449
|
label: "Name",
|
|
2445
2450
|
value: "Id",
|
|
2446
2451
|
key: "Id"
|
|
2447
2452
|
}), t.dataKey) {
|
|
2448
2453
|
const v = JSON.parse(JSON.stringify(_.getOptions(t.dataKey)));
|
|
2449
|
-
w.value = v,
|
|
2454
|
+
w.value = v, h(v);
|
|
2450
2455
|
} else if (i) {
|
|
2451
2456
|
const v = i.options.value || [];
|
|
2452
|
-
v.length > 0 ? (w.value = v,
|
|
2457
|
+
v.length > 0 ? (w.value = v, h(v)) : ee(i.autoload, i, t);
|
|
2453
2458
|
}
|
|
2454
2459
|
}), le(() => {
|
|
2455
2460
|
i && he(i, t);
|
|
@@ -2465,8 +2470,8 @@ const B = new na(), ee = (e, a, t) => {
|
|
|
2465
2470
|
value: m.value,
|
|
2466
2471
|
"onUpdate:value": L[0] || (L[0] = (z) => m.value = z),
|
|
2467
2472
|
"allow-clear": !0,
|
|
2468
|
-
onChange:
|
|
2469
|
-
placeholder:
|
|
2473
|
+
onChange: g,
|
|
2474
|
+
placeholder: p.value,
|
|
2470
2475
|
"label-in-value": !1
|
|
2471
2476
|
}, b(f)), {
|
|
2472
2477
|
default: Q(() => [
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { defineComponent as pe, ref as O, computed as $, watch as T, resolveDirective as de, createElementBlock as d, openBlock as c, normalizeClass as z, unref as n, createElementVNode as h, withDirectives as x, createCommentVNode as w, createBlock as V, mergeProps as q, withCtx as v, createVNode as p, createTextVNode as P, toDisplayString as I, Fragment as me, renderList as fe } from "vue";
|
|
2
|
-
import { _ as G } from "./index-
|
|
3
|
-
import { a as B, _ as R } from "./toolIcon-
|
|
2
|
+
import { _ as G } from "./index-BpsqYPCw.js";
|
|
3
|
+
import { a as B, _ as R } from "./toolIcon-DWurTPaB.js";
|
|
4
4
|
import { httpPost as K, ResStatus as N } from "@skyfox2000/fapi";
|
|
5
|
-
import { L as W, u as X, v as he, _ as ve } from "./upload-template-
|
|
6
|
-
import { U as i, f as ye, p as H } from "./file-upload-
|
|
5
|
+
import { L as W, u as X, v as he, _ as ve } from "./upload-template-BuaWOXY_.js";
|
|
6
|
+
import { U as i, f as ye, p as H } from "./file-upload-CKMd0H11.js";
|
|
7
7
|
import { combineParams as Y } from "@skyfox2000/microbase";
|
|
8
8
|
import _ from "vue-m-message";
|
|
9
9
|
import "async-validator";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ButtonTool } from '../../../typings/tools.d';
|
|
2
|
+
import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
|
|
3
|
+
export type GroupType = 'tools' | 'split' | 'space';
|
|
4
|
+
export interface ExtendedButtonTool extends ButtonTool {
|
|
5
|
+
component?: any;
|
|
6
|
+
props?: Record<string, any>;
|
|
7
|
+
}
|
|
8
|
+
export interface ToolGroup {
|
|
9
|
+
type: GroupType;
|
|
10
|
+
tools?: ExtendedButtonTool[];
|
|
11
|
+
width?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
14
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & {
|
|
15
|
+
groupTools: ToolGroup[];
|
|
16
|
+
} & Partial<{}>> & PublicProps;
|
|
17
|
+
expose(exposed: ShallowUnwrapRef<{}>): void;
|
|
18
|
+
attrs: any;
|
|
19
|
+
slots: {};
|
|
20
|
+
emit: {};
|
|
21
|
+
}>) => VNode & {
|
|
22
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
23
|
+
};
|
|
24
|
+
export default _default;
|
|
25
|
+
type __VLS_PrettifyLocal<T> = {
|
|
26
|
+
[K in keyof T]: T[K];
|
|
27
|
+
} & {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { defineComponent as F, defineAsyncComponent as M, ref as m, watch as V, onMounted as J, createElementBlock as x, openBlock as p, Fragment as K, createElementVNode as v, createVNode as _, toDisplayString as W, unref as i, createBlock as P, withKeys as f, normalizeClass as N, withModifiers as w, withCtx as z, createCommentVNode as L } from "vue";
|
|
2
2
|
import "ant-design-vue";
|
|
3
|
-
import { _ as q } from "../../assets/modules/toolIcon-
|
|
3
|
+
import { _ as q } from "../../assets/modules/toolIcon-DWurTPaB.js";
|
|
4
4
|
import "@skyfox2000/fapi";
|
|
5
|
-
import "../../assets/modules/upload-template-
|
|
5
|
+
import "../../assets/modules/upload-template-BuaWOXY_.js";
|
|
6
6
|
import "@skyfox2000/microbase";
|
|
7
7
|
import "vue-m-message";
|
|
8
8
|
import "async-validator";
|
|
9
9
|
import "dayjs";
|
|
10
|
-
import { _ as D } from "../../assets/modules/index-
|
|
10
|
+
import { _ as D } from "../../assets/modules/index-DvozNhVM.js";
|
|
11
11
|
import "vue-draggable-next";
|
|
12
12
|
const h = async (s) => window.ace ? window.ace : new Promise((l, t) => {
|
|
13
13
|
const o = document.createElement("script");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as f, ref as d, watch as _, onMounted as v, resolveComponent as h, createBlock as o, openBlock as t, withCtx as s, createElementVNode as C, normalizeClass as x, createVNode as w, KeepAlive as y, unref as n, resolveDynamicComponent as I } from "vue";
|
|
2
|
-
import { _ as g } from "../../assets/modules/baseLayout-
|
|
3
|
-
import { ah as A, a as S } from "../../assets/modules/upload-template-
|
|
2
|
+
import { _ as g } from "../../assets/modules/baseLayout-DiqAUz2h.js";
|
|
3
|
+
import { ah as A, a as S } from "../../assets/modules/upload-template-BuaWOXY_.js";
|
|
4
4
|
import "@skyfox2000/microbase";
|
|
5
5
|
import "@skyfox2000/fapi";
|
|
6
6
|
import b from "vue-m-message";
|
package/lib/es/Error403/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as i, createBlock as p, openBlock as m, unref as r, withCtx as e, createVNode as n, createTextVNode as a } from "vue";
|
|
2
|
-
import { r as s } from "../../assets/modules/upload-template-
|
|
2
|
+
import { r as s } from "../../assets/modules/upload-template-BuaWOXY_.js";
|
|
3
3
|
import "@skyfox2000/microbase";
|
|
4
4
|
import "@skyfox2000/fapi";
|
|
5
5
|
import "vue-m-message";
|
package/lib/es/Error404/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as i, createBlock as p, openBlock as m, unref as r, withCtx as e, createVNode as n, createTextVNode as a } from "vue";
|
|
2
|
-
import { r as s } from "../../assets/modules/upload-template-
|
|
2
|
+
import { r as s } from "../../assets/modules/upload-template-BuaWOXY_.js";
|
|
3
3
|
import "@skyfox2000/microbase";
|
|
4
4
|
import "@skyfox2000/fapi";
|
|
5
5
|
import "vue-m-message";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent as we, ref as f, computed as T, watch as H, onMounted as be, createBlock as W, openBlock as d, unref as n, withCtx as S, renderSlot as J, createElementBlock as g, createCommentVNode as K, createElementVNode as h, createVNode as C, createTextVNode as X, toDisplayString as E, normalizeClass as Ce, Fragment as ie, renderList as ne } from "vue";
|
|
2
|
-
import { _ as Y } from "../../assets/modules/index-
|
|
2
|
+
import { _ as Y } from "../../assets/modules/index-BpsqYPCw.js";
|
|
3
3
|
import { Modal as Fe, Upload as ue, Space as _e } from "ant-design-vue";
|
|
4
4
|
import { httpGet as Ue, ResStatus as fe } from "@skyfox2000/fapi";
|
|
5
|
-
import { G as Te, a5 as Se, ab as Ee } from "../../assets/modules/upload-template-
|
|
6
|
-
import { A as Re, p as De, U as ce } from "../../assets/modules/file-upload-
|
|
5
|
+
import { G as Te, a5 as Se, ab as Ee } from "../../assets/modules/upload-template-BuaWOXY_.js";
|
|
6
|
+
import { A as Re, p as De, U as ce } from "../../assets/modules/file-upload-CKMd0H11.js";
|
|
7
7
|
import "@skyfox2000/microbase";
|
|
8
8
|
import p from "vue-m-message";
|
|
9
|
-
import { c as ke, _ as Z, h as Le, p as Ne, i as Ke } from "../../assets/modules/index-
|
|
9
|
+
import { c as ke, _ as Z, h as Le, p as Ne, i as Ke } from "../../assets/modules/index-gmbMtZa2.js";
|
|
10
10
|
import "dayjs";
|
|
11
11
|
import "vue-draggable-next";
|
|
12
12
|
import "async-validator";
|
|
@@ -307,7 +307,7 @@ const Be = (l) => l.includes(",") || l.includes(`
|
|
|
307
307
|
return p.error(v), ue.LIST_IGNORE;
|
|
308
308
|
try {
|
|
309
309
|
if (A(), y.value = t.name, q.value = u ? "text/csv" : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", u) {
|
|
310
|
-
const w = await t.arrayBuffer(), O = new TextDecoder("utf-8").decode(w), { csvToExcelView: G } = await import("../../assets/modules/index-
|
|
310
|
+
const w = await t.arrayBuffer(), O = new TextDecoder("utf-8").decode(w), { csvToExcelView: G } = await import("../../assets/modules/index-gmbMtZa2.js").then((he) => he.j), M = await G(O, t.name);
|
|
311
311
|
if (!M.success)
|
|
312
312
|
throw new Error(M.error || "CSV文件处理失败");
|
|
313
313
|
const oe = await (await fetch(M.blobUrl)).arrayBuffer();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as f, ref as d, watch as _, onMounted as h, resolveComponent as v, createBlock as o, openBlock as t, withCtx as s, createElementVNode as C, normalizeClass as x, createVNode as w, KeepAlive as I, unref as n, resolveDynamicComponent as g } from "vue";
|
|
2
|
-
import { _ as y } from "../../assets/modules/baseLayout-
|
|
3
|
-
import { ah as A, a as S } from "../../assets/modules/upload-template-
|
|
2
|
+
import { _ as y } from "../../assets/modules/baseLayout-DiqAUz2h.js";
|
|
3
|
+
import { ah as A, a as S } from "../../assets/modules/upload-template-BuaWOXY_.js";
|
|
4
4
|
import "@skyfox2000/microbase";
|
|
5
5
|
import "@skyfox2000/fapi";
|
|
6
6
|
import k from "vue-m-message";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { defineComponent as x, ref as o, watch as S, onMounted as h, createBlock as C, openBlock as F, unref as m, withCtx as s, createVNode as f, createTextVNode as q } from "vue";
|
|
2
|
-
import { _ as L } from "../../assets/modules/index-
|
|
2
|
+
import { _ as L } from "../../assets/modules/index-BpsqYPCw.js";
|
|
3
3
|
import { Modal as z, Space as D } from "ant-design-vue";
|
|
4
4
|
import { httpPost as N, ResStatus as O } from "@skyfox2000/fapi";
|
|
5
|
-
import { ak as d } from "../../assets/modules/upload-template-
|
|
6
|
-
import { U as b } from "../../assets/modules/file-upload-
|
|
5
|
+
import { ak as d } from "../../assets/modules/upload-template-BuaWOXY_.js";
|
|
6
|
+
import { U as b } from "../../assets/modules/file-upload-CKMd0H11.js";
|
|
7
7
|
import "@skyfox2000/microbase";
|
|
8
8
|
import "vue-m-message";
|
|
9
9
|
import "async-validator";
|
|
10
10
|
import "dayjs";
|
|
11
11
|
import "vue-draggable-next";
|
|
12
|
-
import { U as g } from "../../assets/modules/uploadList-
|
|
12
|
+
import { U as g } from "../../assets/modules/uploadList-De6KfTAV.js";
|
|
13
13
|
const _ = /* @__PURE__ */ x({
|
|
14
14
|
__name: "templateFile",
|
|
15
15
|
props: {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { defineComponent as S, ref as s, watch as b, onMounted as F, createBlock as z, openBlock as y, unref as p, withCtx as n, createVNode as v, mergeProps as D, createTextVNode as w } from "vue";
|
|
2
|
-
import { _ as c } from "../../assets/modules/index-
|
|
2
|
+
import { _ as c } from "../../assets/modules/index-BpsqYPCw.js";
|
|
3
3
|
import { Modal as _, Space as L } from "ant-design-vue";
|
|
4
4
|
import { ResStatus as k } from "@skyfox2000/fapi";
|
|
5
|
-
import { a7 as T } from "../../assets/modules/upload-template-
|
|
5
|
+
import { a7 as T } from "../../assets/modules/upload-template-BuaWOXY_.js";
|
|
6
6
|
import "@skyfox2000/microbase";
|
|
7
7
|
import E from "vue-m-message";
|
|
8
8
|
import "async-validator";
|
|
9
9
|
import "dayjs";
|
|
10
|
-
import { A as N } from "../../assets/modules/file-upload-
|
|
10
|
+
import { A as N } from "../../assets/modules/file-upload-CKMd0H11.js";
|
|
11
11
|
import "vue-draggable-next";
|
|
12
|
-
import { U as A } from "../../assets/modules/uploadList-
|
|
12
|
+
import { U as A } from "../../assets/modules/uploadList-De6KfTAV.js";
|
|
13
13
|
const K = /* @__PURE__ */ S({
|
|
14
14
|
__name: "uploadForm",
|
|
15
15
|
props: {
|
package/lib/webui.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.bottom-\[3px\]{bottom:3px}.left-0{left:0}.left-\[2px\]{left:2px}.left-\[85px\]{left:85px}.top-0{top:0}.top-\[-2px\]{top:-2px}.z-10{z-index:10}.z-\[1\]{z-index:1}.z-\[9999\]{z-index:9999}.\!m-0{margin:0!important}.m-\[10px\]{margin:10px}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-\[5px\]{margin-left:5px;margin-right:5px}.mx-\[6px\]{margin-left:6px;margin-right:6px}.mx-auto{margin-left:auto;margin-right:auto}.\!ml-\[10px\]{margin-left:10px!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-7{margin-bottom:1.75rem}.mb-\[-3px\]{margin-bottom:-3px}.mb-\[10px\]{margin-bottom:10px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-5{margin-left:1.25rem}.ml-\[10px\]{margin-left:10px}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-\[10px\]{margin-right:10px}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-\[-2px\]{margin-top:-2px}.mt-\[3px\]{margin-top:3px}.mt-\[5px\]{margin-top:5px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.\!h-4{height:1rem!important}.\!h-5{height:1.25rem!important}.h-10{height:2.5rem}.h-16{height:4rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[100px\]{height:100px}.h-\[12px\]{height:12px}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[17px\]{height:17px}.h-\[18\.5px\]{height:18.5px}.h-\[18px\]{height:18px}.h-\[19px\]{height:19px}.h-\[240px\]{height:240px}.h-\[24px\]{height:24px}.h-\[30px\]{height:30px}.h-\[40px\]{height:40px}.h-\[500px\]{height:500px}.h-\[60px\]{height:60px}.h-\[calc\(100vh-100px\)\]{height:calc(100vh - 100px)}.h-\[calc\(100vh-40px\)\]{height:calc(100vh - 40px)}.h-\[calc\(100vh-80px\)\]{height:calc(100vh - 80px)}.h-\[calc\(100vh-81px\)\]{height:calc(100vh - 81px)}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[40px\]{max-height:40px}.\!min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)!important}.min-h-\[32px\]{min-height:32px}.min-h-\[480px\]{min-height:480px}.min-h-full{min-height:100%}.\!w-4{width:1rem!important}.\!w-5{width:1.25rem!important}.\!w-\[46px\]{width:46px!important}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-16{width:4rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[100\%\]{width:100%}.w-\[12px\]{width:12px}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[17px\]{width:17px}.w-\[18px\]{width:18px}.w-\[19px\]{width:19px}.w-\[22\%\]{width:22%}.w-\[248px\]{width:248px}.w-\[24px\]{width:24px}.w-\[3\%\]{width:3%}.w-\[33\%\]{width:33%}.w-\[46px\]{width:46px}.w-\[50\%\]{width:50%}.w-\[500px\]{width:500px}.w-\[58px\]{width:58px}.w-\[60px\]{width:60px}.w-\[64\%\]{width:64%}.w-\[80\%\]{width:80%}.w-\[80px\]{width:80px}.w-\[90\%\]{width:90%}.w-\[95\%\]{width:95%}.w-\[99\.3\%\]{width:99.3%}.w-full{width:100%}.min-w-\[100px\]{min-width:100px}.min-w-\[170px\]{min-width:170px}.min-w-\[430px\]{min-width:430px}.max-w-\[200px\]{max-width:200px}.max-w-\[248px\]{max-width:248px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.scale-\[1\.1\]{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-l-\[5px\]{border-top-left-radius:5px;border-bottom-left-radius:5px}.rounded-r-\[5px\]{border-top-right-radius:5px;border-bottom-right-radius:5px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.\!border-red-300{--tw-border-opacity: 1 !important;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))!important}.border-\[\#b3e0ff\]{--tw-border-opacity: 1;border-color:rgb(179 224 255 / var(--tw-border-opacity, 1))}.border-\[\#ccc\]{--tw-border-opacity: 1;border-color:rgb(204 204 204 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.bg-\[\#ccc\]{--tw-bg-opacity: 1;background-color:rgb(204 204 204 / var(--tw-bg-opacity, 1))}.bg-\[\#e6f7ff\]{--tw-bg-opacity: 1;background-color:rgb(230 247 255 / var(--tw-bg-opacity, 1))}.bg-\[\#fcfcfc\]{--tw-bg-opacity: 1;background-color:rgb(252 252 252 / var(--tw-bg-opacity, 1))}.bg-\[rgba\(240\,240\,240\,0\.2\)\]{background-color:#f0f0f033}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-300{--tw-bg-opacity: 1;background-color:rgb(147 197 253 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-opacity-50{--tw-bg-opacity: .5}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-\[10px\]{padding:10px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-\[10px\]{padding-left:10px;padding-right:10px}.px-\[5px\]{padding-left:5px;padding-right:5px}.px-\[8px\]{padding-left:8px;padding-right:8px}.py-0{padding-top:0;padding-bottom:0}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.py-\[4px\]{padding-top:4px;padding-bottom:4px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pl-5{padding-left:1.25rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pt-1{padding-top:.25rem}.pt-\[5px\]{padding-top:5px}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-\[\'Courier\'\]{font-family:Courier}.\!text-\[12px\]{font-size:12px!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.leading-\[2\.5\]{line-height:2.5}.leading-\[3\]{line-height:3}.\!text-red-400{--tw-text-opacity: 1 !important;color:rgb(248 113 113 / var(--tw-text-opacity, 1))!important}.text-\[\#555\]{--tw-text-opacity: 1;color:rgb(85 85 85 / var(--tw-text-opacity, 1))}.text-\[\#666\]{--tw-text-opacity: 1;color:rgb(102 102 102 / var(--tw-text-opacity, 1))}.text-\[\#888\]{--tw-text-opacity: 1;color:rgb(136 136 136 / var(--tw-text-opacity, 1))}.text-\[\#999\]{--tw-text-opacity: 1;color:rgb(153 153 153 / var(--tw-text-opacity, 1))}.text-\[\#ff4d4f\]{--tw-text-opacity: 1;color:rgb(255 77 79 / var(--tw-text-opacity, 1))}.text-\[\#ff4d4fcc\]{color:#ff4d4fcc}.text-\[rgba\(0\,0\,0\,0\.45\)\]{color:#00000073}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-30{opacity:.3}.shadow-\[0_-3px_6px_\#000\]{--tw-shadow: 0 -3px 6px #000;--tw-shadow-colored: 0 -3px 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_3px_0px_\#ff4d4f\]{--tw-shadow: 0 0 3px 0px #ff4d4f;--tw-shadow-colored: 0 0 3px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.disabled{opacity:.3;cursor:not-allowed;filter:grayscale(90%)}.last\:mb-0:last-child{margin-bottom:0}.hover\:z-10:hover{z-index:10}.hover\:border-\[\#8abeff\]:hover{--tw-border-opacity: 1;border-color:rgb(138 190 255 / var(--tw-border-opacity, 1))}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#b3e0ff\]:hover{--tw-bg-opacity: 1;background-color:rgb(179 224 255 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.\[\&\>div\]\:ml-\[-1px\]>div{margin-left:-1px}.first\:\[\&\>div\]\:ml-0>div:first-child{margin-left:0}.re-icon-container[data-v-0146f00c]{position:relative;display:inline-flex;vertical-align:middle;justify-content:center;align-items:center;overflow:hidden}.re-icon.symbol[data-v-0146f00c]{position:relative;margin:5px 0;width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.re-icon.fontclass[data-v-0146f00c]{position:relative;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.re-icon[disabled][data-v-0146f00c]{pointer-events:none;cursor:not-allowed;color:#666}.clickable[data-v-0146f00c]{cursor:pointer}.rotate[data-v-0146f00c]{animation:rotate 2s linear infinite}.flip[data-v-0146f00c]{transform:scaleX(-1)}.ant-switch-small .ant-switch-inner-checked,.ant-switch-small .ant-switch-inner-unchecked{font-size:10px!important}.error[data-v-87722b44] .ant-select-selector{border-color:#ff4d4f80;box-shadow:0 0 3px #ff4d4f}[data-v-87722b44] input::-webkit-search-cancel-button,[data-v-87722b44] input::-webkit-clear-button{display:none!important}.error[data-v-51ddfce3] .ant-select-selector{border-color:#ef444480;box-shadow:0 0 3px #ff4d4f}.error[data-v-249ea772] input+span{border-color:#ff717190;box-shadow:0 0 3px #ff4d4f}.error[data-v-358b82ef] .ant-input-group-addon,.error[data-v-358b82ef] .ant-input-affix-wrapper{border-color:#ff4d4f80;box-shadow:0 0 3px #ff4d4f}.error[data-v-aa237552] input+span{border-color:#ff7171;box-shadow:0 0 3px #ff4d4f}.error[data-v-b33df95f] .ant-select-selector{border-color:#ff4d4f80;box-shadow:0 0 3px #ff4d4f}.error[data-v-71d50074] .ant-select-selector{border-color:#ef444480;box-shadow:0 0 3px #ff4d4f}.error[data-v-26d707cc]{border-color:#ff4d4f80;box-shadow:0 0 3px #ff4d4f}.error-text[data-v-26d707cc]{color:#ff4d4f!important}.image-item[data-v-26d707cc]{transition:all .3s}.error[data-v-7ba0982f]{border-color:#ff4d4f80;box-shadow:0 0 3px #ff4d4f}.error-text[data-v-7ba0982f]{color:#ff4d4f!important}body{margin:0}.x-spreadsheet{font-size:13px;line-height:normal;-webkit-user-select:none;user-select:none;-moz-user-select:none;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;box-sizing:content-box;background:#fff;-webkit-font-smoothing:antialiased}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{font-family:inherit;position:absolute;padding:5px 10px;color:#fff;border-radius:1px;background:#000;font-size:12px;z-index:201}.x-spreadsheet-tooltip:before{pointer-events:none;position:absolute;left:calc(50% - 4px);top:-4px;content:"";width:8px;height:8px;background:inherit;transform:rotate(45deg);z-index:1;box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:2;background:#fff}.x-spreadsheet-color-palette table td{margin:0;cursor:pointer;border:1px solid transparent}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:0;background:#fff;table-layout:fixed}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{width:30px;height:30px;cursor:pointer;text-align:center}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;left:0;top:-3px}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{position:absolute;z-index:200;background:#fff;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-resizer{position:absolute;z-index:11}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;left:0;bottom:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{position:absolute;bottom:0;right:0;background-color:#f4f5f8;opacity:.9;z-index:12}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow-x:scroll;overflow-y:hidden}.x-spreadsheet-scrollbar.horizontal>div{height:1px;background:#ddd}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow-x:hidden;overflow-y:scroll}.x-spreadsheet-scrollbar.vertical>div{width:1px;background:#ddd}.x-spreadsheet-overlayer{position:absolute;left:0;top:0;z-index:10}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{position:absolute;overflow:hidden;pointer-events:none;width:100%;height:100%}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;position:absolute;overflow:hidden;pointer-events:none;top:0;left:0;width:100%;height:100%}.x-spreadsheet-selector .hide-input{position:absolute;z-index:0}.x-spreadsheet-selector .hide-input input{padding:0;width:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{position:absolute;border:2px solid #4b89ff;background:#4b89ff1a;z-index:5}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{position:absolute;background:transparent;z-index:100}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed rgba(0,0,0,.45)}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;position:absolute;cursor:crosshair;font-size:0;height:5px;width:5px;right:-5px;bottom:-5px;border:2px solid #ffffff;background:#4b89ff}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{position:absolute;text-align:left;border:2px solid #4b89ff;line-height:0;z-index:100;pointer-events:auto}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;border:none;padding:0 3px;outline:none;resize:none;text-align:start;overflow-y:hidden;font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;color:inherit;white-space:normal;word-wrap:break-word;line-height:22px;margin:0}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{overflow:hidden;visibility:hidden;position:fixed;top:0;left:0}.x-spreadsheet-item{-webkit-user-select:none;-moz-user-select:none;user-select:none;background:0;border:1px solid transparent;outline:none;height:26px;color:#000000e6;line-height:26px;list-style:none;padding:2px 10px;cursor:default;text-align:left;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{height:0;padding:0;margin:5px 0;border:none;border-bottom:1px solid rgba(0,0,0,.1)}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{padding-left:35px!important;position:relative}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";position:absolute;width:10px;height:10px;left:12px;top:calc(50% - 5px);background:#00000014;border-radius:2px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{position:relative;display:inline-block;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;font-size:1rem;line-height:1em}.x-spreadsheet-checkbox>input{position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:-1}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{position:absolute;box-shadow:1px 2px 5px 2px #33333326;background:#fff;z-index:100;width:260px;pointer-events:auto;overflow:auto}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;font-size:12px;margin:10px}.x-spreadsheet-filter .x-spreadsheet-header{padding:.5em .75em;background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid transparent}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-bottombar{height:40px;padding:0 30px;text-align:left;background:#f5f6f7;display:flex;position:relative;border-top:1px solid #e0e2e4}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{line-height:40px;height:40px;padding-top:0;padding-bottom:0;vertical-align:middle;border-right:1px solid #e8eaed}.x-spreadsheet-menu{display:flex;overflow-x:auto;list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.x-spreadsheet-menu>li{float:left;line-height:1.25em;padding:.785em 1em;margin:0;vertical-align:middle;text-align:left;font-weight:400;color:#80868b;white-space:nowrap;cursor:pointer;transition:all .3s;font-weight:700}.x-spreadsheet-menu>li.active{background-color:#fff;color:#000000a6}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-print{position:absolute;left:0;top:0;z-index:100;width:100%;height:100%;display:flex;flex-direction:column}.x-spreadsheet-print-bar{background:#424242;height:60px;line-height:60px;padding:0 30px}.x-spreadsheet-print-bar .-title{color:#fff;font-weight:700;font-size:1.2em;float:left}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{display:flex;flex:auto;flex-direction:row;background:#d0d0d0;height:calc(100% - 60px)}.x-spreadsheet-print-content .-sider{flex:0 0 300px;width:300px;border-left:2px solid #ccc;background:#fff}.x-spreadsheet-print-content .-content{flex:auto;overflow-x:auto;overflow-y:scroll;height:100%}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{background:#fff;margin:auto;page-break-before:auto;page-break-after:always;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;background:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none}.x-spreadsheet-calendar .calendar-header{font-weight:700;line-height:30px;text-align:center;width:100%;float:left;background:#f9fafb}.x-spreadsheet-calendar .calendar-header .calendar-header-left{padding-left:5px;float:left}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{padding:3px 0;margin-right:2px;border-radius:2px}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{width:14.28571429%;min-width:32px;text-align:center;font-weight:700;line-height:30px;padding:0}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{background:#ecf6fd;color:#2185d0}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{box-shadow:2px 2px 5px #0003;position:absolute;left:0;top:calc(100% + 5px);z-index:10;width:auto}.x-spreadsheet-buttons{display:flex;justify-content:flex-end}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{display:inline-block;border-radius:3px;line-height:1em;min-height:1em;white-space:nowrap;text-align:center;cursor:pointer;font-size:1em;font-weight:700;padding:.75em 1em;color:#0009;background:#e0e1e2;text-decoration:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;outline:none;vertical-align:baseline;zoom:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s linear}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{background-color:#c0c1c2;color:#000c}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{font-size:1em;position:relative;font-weight:400;display:inline-flex;color:#000000de}.x-spreadsheet-form-input input{z-index:1;margin:0;max-width:100%;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:30px;height:30px;padding:0 8px;background:#fff;border:1px solid #e9e9e9;border-radius:3px;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{position:relative;display:inline-block;background:#fff;border:1px solid #e9e9e9;border-radius:2px;cursor:pointer;color:#000000de;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;min-width:60px;width:auto;height:30px;line-height:30px;padding:0 8px}.x-spreadsheet-form-fields{display:flex;flex-direction:row;flex-wrap:wrap}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 1 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{display:inline-block;margin:0 10px 0 0}.x-spreadsheet-form-field{display:block;vertical-align:middle;margin-left:10px;margin-bottom:10px}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;background-color:#0009;opacity:0;animation-fill-mode:both;animation-duration:.5s;transition:background-color .5s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1000}.x-spreadsheet-dimmer.active{display:block;opacity:1}form fieldset{border:none}form fieldset label{display:block;margin-bottom:.5em;font-size:1em;color:#666}form fieldset select{font-size:1.1em;width:100%;background-color:#fff;border:none;border-bottom:2px solid #ddd;padding:.5em .85em;border-radius:2px}.x-spreadsheet-modal,.x-spreadsheet-toast{font-size:13px;position:fixed;z-index:1001;text-align:left;line-height:1.25em;min-width:360px;color:#000000de;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;border-radius:4px;border:1px solid rgba(0,0,0,.1);background-color:#fff;background-clip:padding-box;box-shadow:#0003 0 2px 8px}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{font-weight:600;background-clip:padding-box;background-color:#ffffffd9;border-bottom:1px solid rgba(0,0,0,.05);border-radius:4px 4px 0 0}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{border-bottom:1px solid #e0e2e4;background:#00000014;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}.x-spreadsheet-menu li:first-child{display:none}.vue-office-excel{height:100%}.modal .ant-modal-content{padding:16px}.full-modal .ant-modal{width:100%!important;max-width:100%;top:0;padding-bottom:0;margin:0}.full-modal .ant-modal-content{display:flex;flex-direction:column;height:100vh}.full-modal .ant-modal-body{flex:1}
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.bottom-\[3px\]{bottom:3px}.left-0{left:0}.left-\[2px\]{left:2px}.left-\[85px\]{left:85px}.top-0{top:0}.top-\[-2px\]{top:-2px}.z-10{z-index:10}.z-\[1\]{z-index:1}.z-\[9999\]{z-index:9999}.\!m-0{margin:0!important}.m-\[10px\]{margin:10px}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-\[5px\]{margin-left:5px;margin-right:5px}.mx-\[6px\]{margin-left:6px;margin-right:6px}.mx-\[8px\]{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.\!ml-\[10px\]{margin-left:10px!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-7{margin-bottom:1.75rem}.mb-\[-3px\]{margin-bottom:-3px}.mb-\[10px\]{margin-bottom:10px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-5{margin-left:1.25rem}.ml-\[10px\]{margin-left:10px}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-\[10px\]{margin-right:10px}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-\[-2px\]{margin-top:-2px}.mt-\[3px\]{margin-top:3px}.mt-\[5px\]{margin-top:5px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.\!h-4{height:1rem!important}.\!h-5{height:1.25rem!important}.h-10{height:2.5rem}.h-16{height:4rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[100px\]{height:100px}.h-\[12px\]{height:12px}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[16px\]{height:16px}.h-\[17px\]{height:17px}.h-\[18\.5px\]{height:18.5px}.h-\[18px\]{height:18px}.h-\[19px\]{height:19px}.h-\[240px\]{height:240px}.h-\[24px\]{height:24px}.h-\[30px\]{height:30px}.h-\[40px\]{height:40px}.h-\[500px\]{height:500px}.h-\[60px\]{height:60px}.h-\[calc\(100vh-100px\)\]{height:calc(100vh - 100px)}.h-\[calc\(100vh-40px\)\]{height:calc(100vh - 40px)}.h-\[calc\(100vh-80px\)\]{height:calc(100vh - 80px)}.h-\[calc\(100vh-81px\)\]{height:calc(100vh - 81px)}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[40px\]{max-height:40px}.\!min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)!important}.min-h-\[32px\]{min-height:32px}.min-h-\[480px\]{min-height:480px}.min-h-full{min-height:100%}.\!w-4{width:1rem!important}.\!w-5{width:1.25rem!important}.\!w-\[46px\]{width:46px!important}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-16{width:4rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[100\%\]{width:100%}.w-\[12px\]{width:12px}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[17px\]{width:17px}.w-\[18px\]{width:18px}.w-\[19px\]{width:19px}.w-\[1px\]{width:1px}.w-\[22\%\]{width:22%}.w-\[248px\]{width:248px}.w-\[24px\]{width:24px}.w-\[3\%\]{width:3%}.w-\[33\%\]{width:33%}.w-\[46px\]{width:46px}.w-\[50\%\]{width:50%}.w-\[500px\]{width:500px}.w-\[58px\]{width:58px}.w-\[60px\]{width:60px}.w-\[64\%\]{width:64%}.w-\[80\%\]{width:80%}.w-\[80px\]{width:80px}.w-\[90\%\]{width:90%}.w-\[95\%\]{width:95%}.w-\[99\.3\%\]{width:99.3%}.w-full{width:100%}.min-w-\[100px\]{min-width:100px}.min-w-\[170px\]{min-width:170px}.min-w-\[430px\]{min-width:430px}.max-w-\[200px\]{max-width:200px}.max-w-\[248px\]{max-width:248px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.scale-\[1\.1\]{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-l-\[5px\]{border-top-left-radius:5px;border-bottom-left-radius:5px}.rounded-r-\[5px\]{border-top-right-radius:5px;border-bottom-right-radius:5px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.\!border-red-300{--tw-border-opacity: 1 !important;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))!important}.border-\[\#b3e0ff\]{--tw-border-opacity: 1;border-color:rgb(179 224 255 / var(--tw-border-opacity, 1))}.border-\[\#ccc\]{--tw-border-opacity: 1;border-color:rgb(204 204 204 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.bg-\[\#ccc\]{--tw-bg-opacity: 1;background-color:rgb(204 204 204 / var(--tw-bg-opacity, 1))}.bg-\[\#d9d9d9\]{--tw-bg-opacity: 1;background-color:rgb(217 217 217 / var(--tw-bg-opacity, 1))}.bg-\[\#e6f7ff\]{--tw-bg-opacity: 1;background-color:rgb(230 247 255 / var(--tw-bg-opacity, 1))}.bg-\[\#fcfcfc\]{--tw-bg-opacity: 1;background-color:rgb(252 252 252 / var(--tw-bg-opacity, 1))}.bg-\[rgba\(240\,240\,240\,0\.2\)\]{background-color:#f0f0f033}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-300{--tw-bg-opacity: 1;background-color:rgb(147 197 253 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-opacity-50{--tw-bg-opacity: .5}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-\[10px\]{padding:10px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-\[10px\]{padding-left:10px;padding-right:10px}.px-\[5px\]{padding-left:5px;padding-right:5px}.px-\[8px\]{padding-left:8px;padding-right:8px}.py-0{padding-top:0;padding-bottom:0}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.py-\[4px\]{padding-top:4px;padding-bottom:4px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pl-5{padding-left:1.25rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pt-1{padding-top:.25rem}.pt-\[5px\]{padding-top:5px}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-\[\'Courier\'\]{font-family:Courier}.\!text-\[12px\]{font-size:12px!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.leading-\[2\.5\]{line-height:2.5}.leading-\[3\]{line-height:3}.\!text-red-400{--tw-text-opacity: 1 !important;color:rgb(248 113 113 / var(--tw-text-opacity, 1))!important}.text-\[\#555\]{--tw-text-opacity: 1;color:rgb(85 85 85 / var(--tw-text-opacity, 1))}.text-\[\#666\]{--tw-text-opacity: 1;color:rgb(102 102 102 / var(--tw-text-opacity, 1))}.text-\[\#888\]{--tw-text-opacity: 1;color:rgb(136 136 136 / var(--tw-text-opacity, 1))}.text-\[\#999\]{--tw-text-opacity: 1;color:rgb(153 153 153 / var(--tw-text-opacity, 1))}.text-\[\#ff4d4f\]{--tw-text-opacity: 1;color:rgb(255 77 79 / var(--tw-text-opacity, 1))}.text-\[\#ff4d4fcc\]{color:#ff4d4fcc}.text-\[rgba\(0\,0\,0\,0\.45\)\]{color:#00000073}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-30{opacity:.3}.shadow-\[0_-3px_6px_\#000\]{--tw-shadow: 0 -3px 6px #000;--tw-shadow-colored: 0 -3px 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_3px_0px_\#ff4d4f\]{--tw-shadow: 0 0 3px 0px #ff4d4f;--tw-shadow-colored: 0 0 3px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.disabled{opacity:.3;cursor:not-allowed;filter:grayscale(90%)}.last\:mb-0:last-child{margin-bottom:0}.hover\:z-10:hover{z-index:10}.hover\:border-\[\#8abeff\]:hover{--tw-border-opacity: 1;border-color:rgb(138 190 255 / var(--tw-border-opacity, 1))}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#b3e0ff\]:hover{--tw-bg-opacity: 1;background-color:rgb(179 224 255 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.\[\&\>button\]\:ml-\[-1px\]>button{margin-left:-1px}.first\:\[\&\>button\]\:ml-0>button:first-child{margin-left:0}.\[\&\>div\]\:ml-\[-1px\]>div{margin-left:-1px}.first\:\[\&\>div\]\:ml-0>div:first-child{margin-left:0}.re-icon-container[data-v-0146f00c]{position:relative;display:inline-flex;vertical-align:middle;justify-content:center;align-items:center;overflow:hidden}.re-icon.symbol[data-v-0146f00c]{position:relative;margin:5px 0;width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.re-icon.fontclass[data-v-0146f00c]{position:relative;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.re-icon[disabled][data-v-0146f00c]{pointer-events:none;cursor:not-allowed;color:#666}.clickable[data-v-0146f00c]{cursor:pointer}.rotate[data-v-0146f00c]{animation:rotate 2s linear infinite}.flip[data-v-0146f00c]{transform:scaleX(-1)}.ant-switch-small .ant-switch-inner-checked,.ant-switch-small .ant-switch-inner-unchecked{font-size:10px!important}.error[data-v-87722b44] .ant-select-selector{border-color:#ff4d4f80;box-shadow:0 0 3px #ff4d4f}[data-v-87722b44] input::-webkit-search-cancel-button,[data-v-87722b44] input::-webkit-clear-button{display:none!important}.error[data-v-51ddfce3] .ant-select-selector{border-color:#ef444480;box-shadow:0 0 3px #ff4d4f}.error[data-v-249ea772] input+span{border-color:#ff717190;box-shadow:0 0 3px #ff4d4f}.error[data-v-358b82ef] .ant-input-group-addon,.error[data-v-358b82ef] .ant-input-affix-wrapper{border-color:#ff4d4f80;box-shadow:0 0 3px #ff4d4f}.error[data-v-aa237552] input+span{border-color:#ff7171;box-shadow:0 0 3px #ff4d4f}.error[data-v-b33df95f] .ant-select-selector{border-color:#ff4d4f80;box-shadow:0 0 3px #ff4d4f}.error[data-v-71d50074] .ant-select-selector{border-color:#ef444480;box-shadow:0 0 3px #ff4d4f}.error[data-v-26d707cc]{border-color:#ff4d4f80;box-shadow:0 0 3px #ff4d4f}.error-text[data-v-26d707cc]{color:#ff4d4f!important}.image-item[data-v-26d707cc]{transition:all .3s}.error[data-v-7ba0982f]{border-color:#ff4d4f80;box-shadow:0 0 3px #ff4d4f}.error-text[data-v-7ba0982f]{color:#ff4d4f!important}body{margin:0}.x-spreadsheet{font-size:13px;line-height:normal;-webkit-user-select:none;user-select:none;-moz-user-select:none;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;box-sizing:content-box;background:#fff;-webkit-font-smoothing:antialiased}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{font-family:inherit;position:absolute;padding:5px 10px;color:#fff;border-radius:1px;background:#000;font-size:12px;z-index:201}.x-spreadsheet-tooltip:before{pointer-events:none;position:absolute;left:calc(50% - 4px);top:-4px;content:"";width:8px;height:8px;background:inherit;transform:rotate(45deg);z-index:1;box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:2;background:#fff}.x-spreadsheet-color-palette table td{margin:0;cursor:pointer;border:1px solid transparent}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:0;background:#fff;table-layout:fixed}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{width:30px;height:30px;cursor:pointer;text-align:center}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;left:0;top:-3px}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{position:absolute;z-index:200;background:#fff;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-resizer{position:absolute;z-index:11}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;left:0;bottom:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{position:absolute;bottom:0;right:0;background-color:#f4f5f8;opacity:.9;z-index:12}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow-x:scroll;overflow-y:hidden}.x-spreadsheet-scrollbar.horizontal>div{height:1px;background:#ddd}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow-x:hidden;overflow-y:scroll}.x-spreadsheet-scrollbar.vertical>div{width:1px;background:#ddd}.x-spreadsheet-overlayer{position:absolute;left:0;top:0;z-index:10}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{position:absolute;overflow:hidden;pointer-events:none;width:100%;height:100%}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;position:absolute;overflow:hidden;pointer-events:none;top:0;left:0;width:100%;height:100%}.x-spreadsheet-selector .hide-input{position:absolute;z-index:0}.x-spreadsheet-selector .hide-input input{padding:0;width:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{position:absolute;border:2px solid #4b89ff;background:#4b89ff1a;z-index:5}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{position:absolute;background:transparent;z-index:100}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed rgba(0,0,0,.45)}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;position:absolute;cursor:crosshair;font-size:0;height:5px;width:5px;right:-5px;bottom:-5px;border:2px solid #ffffff;background:#4b89ff}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{position:absolute;text-align:left;border:2px solid #4b89ff;line-height:0;z-index:100;pointer-events:auto}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;border:none;padding:0 3px;outline:none;resize:none;text-align:start;overflow-y:hidden;font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;color:inherit;white-space:normal;word-wrap:break-word;line-height:22px;margin:0}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{overflow:hidden;visibility:hidden;position:fixed;top:0;left:0}.x-spreadsheet-item{-webkit-user-select:none;-moz-user-select:none;user-select:none;background:0;border:1px solid transparent;outline:none;height:26px;color:#000000e6;line-height:26px;list-style:none;padding:2px 10px;cursor:default;text-align:left;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{height:0;padding:0;margin:5px 0;border:none;border-bottom:1px solid rgba(0,0,0,.1)}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{padding-left:35px!important;position:relative}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";position:absolute;width:10px;height:10px;left:12px;top:calc(50% - 5px);background:#00000014;border-radius:2px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{position:relative;display:inline-block;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;font-size:1rem;line-height:1em}.x-spreadsheet-checkbox>input{position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:-1}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{position:absolute;box-shadow:1px 2px 5px 2px #33333326;background:#fff;z-index:100;width:260px;pointer-events:auto;overflow:auto}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;font-size:12px;margin:10px}.x-spreadsheet-filter .x-spreadsheet-header{padding:.5em .75em;background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid transparent}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-bottombar{height:40px;padding:0 30px;text-align:left;background:#f5f6f7;display:flex;position:relative;border-top:1px solid #e0e2e4}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{line-height:40px;height:40px;padding-top:0;padding-bottom:0;vertical-align:middle;border-right:1px solid #e8eaed}.x-spreadsheet-menu{display:flex;overflow-x:auto;list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.x-spreadsheet-menu>li{float:left;line-height:1.25em;padding:.785em 1em;margin:0;vertical-align:middle;text-align:left;font-weight:400;color:#80868b;white-space:nowrap;cursor:pointer;transition:all .3s;font-weight:700}.x-spreadsheet-menu>li.active{background-color:#fff;color:#000000a6}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-print{position:absolute;left:0;top:0;z-index:100;width:100%;height:100%;display:flex;flex-direction:column}.x-spreadsheet-print-bar{background:#424242;height:60px;line-height:60px;padding:0 30px}.x-spreadsheet-print-bar .-title{color:#fff;font-weight:700;font-size:1.2em;float:left}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{display:flex;flex:auto;flex-direction:row;background:#d0d0d0;height:calc(100% - 60px)}.x-spreadsheet-print-content .-sider{flex:0 0 300px;width:300px;border-left:2px solid #ccc;background:#fff}.x-spreadsheet-print-content .-content{flex:auto;overflow-x:auto;overflow-y:scroll;height:100%}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{background:#fff;margin:auto;page-break-before:auto;page-break-after:always;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;background:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none}.x-spreadsheet-calendar .calendar-header{font-weight:700;line-height:30px;text-align:center;width:100%;float:left;background:#f9fafb}.x-spreadsheet-calendar .calendar-header .calendar-header-left{padding-left:5px;float:left}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{padding:3px 0;margin-right:2px;border-radius:2px}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{width:14.28571429%;min-width:32px;text-align:center;font-weight:700;line-height:30px;padding:0}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{background:#ecf6fd;color:#2185d0}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{box-shadow:2px 2px 5px #0003;position:absolute;left:0;top:calc(100% + 5px);z-index:10;width:auto}.x-spreadsheet-buttons{display:flex;justify-content:flex-end}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{display:inline-block;border-radius:3px;line-height:1em;min-height:1em;white-space:nowrap;text-align:center;cursor:pointer;font-size:1em;font-weight:700;padding:.75em 1em;color:#0009;background:#e0e1e2;text-decoration:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;outline:none;vertical-align:baseline;zoom:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s linear}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{background-color:#c0c1c2;color:#000c}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{font-size:1em;position:relative;font-weight:400;display:inline-flex;color:#000000de}.x-spreadsheet-form-input input{z-index:1;margin:0;max-width:100%;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:30px;height:30px;padding:0 8px;background:#fff;border:1px solid #e9e9e9;border-radius:3px;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{position:relative;display:inline-block;background:#fff;border:1px solid #e9e9e9;border-radius:2px;cursor:pointer;color:#000000de;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;min-width:60px;width:auto;height:30px;line-height:30px;padding:0 8px}.x-spreadsheet-form-fields{display:flex;flex-direction:row;flex-wrap:wrap}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 1 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{display:inline-block;margin:0 10px 0 0}.x-spreadsheet-form-field{display:block;vertical-align:middle;margin-left:10px;margin-bottom:10px}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;background-color:#0009;opacity:0;animation-fill-mode:both;animation-duration:.5s;transition:background-color .5s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1000}.x-spreadsheet-dimmer.active{display:block;opacity:1}form fieldset{border:none}form fieldset label{display:block;margin-bottom:.5em;font-size:1em;color:#666}form fieldset select{font-size:1.1em;width:100%;background-color:#fff;border:none;border-bottom:2px solid #ddd;padding:.5em .85em;border-radius:2px}.x-spreadsheet-modal,.x-spreadsheet-toast{font-size:13px;position:fixed;z-index:1001;text-align:left;line-height:1.25em;min-width:360px;color:#000000de;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;border-radius:4px;border:1px solid rgba(0,0,0,.1);background-color:#fff;background-clip:padding-box;box-shadow:#0003 0 2px 8px}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{font-weight:600;background-clip:padding-box;background-color:#ffffffd9;border-bottom:1px solid rgba(0,0,0,.05);border-radius:4px 4px 0 0}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{border-bottom:1px solid #e0e2e4;background:#00000014;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}.x-spreadsheet-menu li:first-child{display:none}.vue-office-excel{height:100%}.modal .ant-modal-content{padding:16px}.full-modal .ant-modal{width:100%!important;max-width:100%;top:0;padding-bottom:0;margin:0}.full-modal .ant-modal-content{display:flex;flex-direction:column;height:100vh}.full-modal .ant-modal-body{flex:1}
|
package/lib/webui.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { u as Le, i as ce, a as Ue, L as xt, c as kt, P as ae, o as We, b as wt, d as Ct, e as qe, g as He, r as ue, f as Qe, h as Ge, j as Je, k as St, l as me, m as Xe, _ as Ze, n as et, O as Ne, p as $t, q as tt, s as Tt, t as It, v as q, w as Dt, x as Ft, y as Pt, z as Et, A as Lt, B as Ut, C as le, D as Nt, E as Bt, F as Mt, G as at, M as zt } from "./assets/modules/upload-template-
|
|
2
|
-
import { ad as fr, T as vr, U as mr, Y as hr, ac as gr, aa as br, ab as yr, ae as _r, a0 as xr, W as kr, a8 as wr, a5 as Cr, R as Sr, a7 as $r, X as Tr, I as Ir, a2 as Dr, a6 as Fr, a9 as Pr, S as Er, V as Lr, af as Ur, H as Nr, a4 as Br, ag as Mr, $ as zr, a1 as Or, Z as Ar, al as Rr, ak as Kr, ah as jr, J as Vr, K as Yr, ai as Wr, Q as qr, aj as Hr, N as Qr, a3 as Gr } from "./assets/modules/upload-template-
|
|
3
|
-
import { f as Ot, p as Oe } from "./assets/modules/file-upload-
|
|
4
|
-
import { A as Xr, U as Zr } from "./assets/modules/file-upload-
|
|
1
|
+
import { u as Le, i as ce, a as Ue, L as xt, c as kt, P as ae, o as We, b as wt, d as Ct, e as qe, g as He, r as ue, f as Qe, h as Ge, j as Je, k as St, l as me, m as Xe, _ as Ze, n as et, O as Ne, p as $t, q as tt, s as Tt, t as It, v as q, w as Dt, x as Ft, y as Pt, z as Et, A as Lt, B as Ut, C as le, D as Nt, E as Bt, F as Mt, G as at, M as zt } from "./assets/modules/upload-template-BuaWOXY_.js";
|
|
2
|
+
import { ad as fr, T as vr, U as mr, Y as hr, ac as gr, aa as br, ab as yr, ae as _r, a0 as xr, W as kr, a8 as wr, a5 as Cr, R as Sr, a7 as $r, X as Tr, I as Ir, a2 as Dr, a6 as Fr, a9 as Pr, S as Er, V as Lr, af as Ur, H as Nr, a4 as Br, ag as Mr, $ as zr, a1 as Or, Z as Ar, al as Rr, ak as Kr, ah as jr, J as Vr, K as Yr, ai as Wr, Q as qr, aj as Hr, N as Qr, a3 as Gr } from "./assets/modules/upload-template-BuaWOXY_.js";
|
|
3
|
+
import { f as Ot, p as Oe } from "./assets/modules/file-upload-CKMd0H11.js";
|
|
4
|
+
import { A as Xr, U as Zr } from "./assets/modules/file-upload-CKMd0H11.js";
|
|
5
5
|
import { EnvConfig as Ae, isMicroApp as At } from "@skyfox2000/microbase";
|
|
6
6
|
import { FrontCache as ve, httpPost as Be, ResStatus as Me, SERVER_HOST as Rt, fieldMapping as he } from "@skyfox2000/fapi";
|
|
7
7
|
import G from "vue-m-message";
|
|
@@ -10,15 +10,15 @@ import "async-validator";
|
|
|
10
10
|
import Pe from "dayjs";
|
|
11
11
|
import { Popover as Wt, theme as rt, Drawer as qt, Space as ie, Form as st, message as Ht, FormItem as ot, ConfigProvider as be, Popconfirm as nt, DropdownButton as it, Menu as ke, MenuItem as we, Dropdown as Ee, Checkbox as Qt, List as Gt, ListItem as Jt, Card as Xt, Button as ut, Table as ct, Tree as Zt, Cascader as ea, DatePicker as ta, Input as de, InputPassword as aa, InputNumber as la, RangePicker as ra, Textarea as sa, TimePicker as oa, Transfer as na, TreeSelect as ia, Upload as ua, Image as ca, LayoutContent as da } from "ant-design-vue";
|
|
12
12
|
import { VueDraggableNext as pa } from "vue-draggable-next";
|
|
13
|
-
import { d as fa } from "./assets/modules/uploadList-
|
|
14
|
-
import { C as ts, U as as, a as ls, p as rs } from "./assets/modules/uploadList-
|
|
15
|
-
import { c as dt } from "./assets/modules/index-
|
|
16
|
-
import { _ as os, h as ns, b as is, a as us, d as cs, e as ds, g as ps, f as fs, n as vs, p as ms, t as hs, v as gs } from "./assets/modules/index-
|
|
17
|
-
import { _ as Q } from "./assets/modules/index-
|
|
18
|
-
import { _ as K } from "./assets/modules/toolIcon-
|
|
19
|
-
import { a as ys } from "./assets/modules/toolIcon-
|
|
20
|
-
import { _ as xs, b as ks, c as ws, d as Cs, e as Ss, I as $s, f as Ts, g as Is, a as Ds } from "./assets/modules/menuTabs-
|
|
21
|
-
import { _ as Ps } from "./assets/modules/index-
|
|
13
|
+
import { d as fa } from "./assets/modules/uploadList-De6KfTAV.js";
|
|
14
|
+
import { C as ts, U as as, a as ls, p as rs } from "./assets/modules/uploadList-De6KfTAV.js";
|
|
15
|
+
import { c as dt } from "./assets/modules/index-gmbMtZa2.js";
|
|
16
|
+
import { _ as os, h as ns, b as is, a as us, d as cs, e as ds, g as ps, f as fs, n as vs, p as ms, t as hs, v as gs } from "./assets/modules/index-gmbMtZa2.js";
|
|
17
|
+
import { _ as Q } from "./assets/modules/index-BpsqYPCw.js";
|
|
18
|
+
import { _ as K } from "./assets/modules/toolIcon-DWurTPaB.js";
|
|
19
|
+
import { a as ys } from "./assets/modules/toolIcon-DWurTPaB.js";
|
|
20
|
+
import { _ as xs, b as ks, c as ws, d as Cs, e as Ss, I as $s, f as Ts, g as Is, a as Ds } from "./assets/modules/menuTabs-CvAiSVNW.js";
|
|
21
|
+
import { _ as Ps } from "./assets/modules/index-DvozNhVM.js";
|
|
22
22
|
import { _ as se } from "./assets/modules/_plugin-vue_export-helper-CHgC5LLL.js";
|
|
23
23
|
const Ke = (r, a, e, t = "remove") => {
|
|
24
24
|
if (!e)
|
package/package.json
CHANGED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
<script setup lang="ts" generic="T">
|
|
2
|
+
import { Button, ToolIcon } from '../../common';
|
|
3
|
+
import type { ButtonTool } from '@/typings/tools.d';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 工具组类型定义
|
|
7
|
+
*/
|
|
8
|
+
export type GroupType = 'tools' | 'split' | 'space';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 扩展的工具定义,支持自定义组件
|
|
12
|
+
*/
|
|
13
|
+
export interface ExtendedButtonTool extends ButtonTool {
|
|
14
|
+
/**
|
|
15
|
+
* 自定义组件
|
|
16
|
+
*/
|
|
17
|
+
component?: any;
|
|
18
|
+
/**
|
|
19
|
+
* 组件属性
|
|
20
|
+
*/
|
|
21
|
+
props?: Record<string, any>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 工具组定义
|
|
26
|
+
*/
|
|
27
|
+
export interface ToolGroup {
|
|
28
|
+
/**
|
|
29
|
+
* 组类型
|
|
30
|
+
* - tools: 工具组
|
|
31
|
+
* - split: 竖线分割
|
|
32
|
+
* - space: 空白区域
|
|
33
|
+
*/
|
|
34
|
+
type: GroupType;
|
|
35
|
+
/**
|
|
36
|
+
* 工具列表,当type为tools时有效
|
|
37
|
+
*/
|
|
38
|
+
tools?: ExtendedButtonTool[];
|
|
39
|
+
/**
|
|
40
|
+
* 空白区域宽度,当type为space时有效
|
|
41
|
+
*/
|
|
42
|
+
width?: string;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
defineProps<{
|
|
46
|
+
/**
|
|
47
|
+
* 分组工具配置
|
|
48
|
+
*/
|
|
49
|
+
groupTools: ToolGroup[];
|
|
50
|
+
}>();
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 处理工具点击事件
|
|
54
|
+
*/
|
|
55
|
+
const onToolClick = (tool: ExtendedButtonTool) => {
|
|
56
|
+
if (tool.click) {
|
|
57
|
+
// 传入必要的参数,这里使用空对象作为占位符,实际使用时由外部传入
|
|
58
|
+
tool.click({} as any, undefined as any, undefined as any);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* 判断工具是否可见
|
|
64
|
+
*/
|
|
65
|
+
const isToolVisible = (tool: ExtendedButtonTool): boolean => {
|
|
66
|
+
if (typeof tool.visible === 'boolean') return tool.visible;
|
|
67
|
+
if (typeof tool.visible === 'function') return tool.visible({} as any);
|
|
68
|
+
return true;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* 判断工具是否禁用
|
|
73
|
+
*/
|
|
74
|
+
const isToolDisabled = (tool: ExtendedButtonTool): boolean => {
|
|
75
|
+
if (typeof tool.disabled === 'boolean') return tool.disabled;
|
|
76
|
+
if (typeof tool.disabled === 'function') return tool.disabled({} as any);
|
|
77
|
+
return false;
|
|
78
|
+
};
|
|
79
|
+
</script>
|
|
80
|
+
|
|
81
|
+
<template>
|
|
82
|
+
<div class="flex items-center">
|
|
83
|
+
<template v-for="(group, groupIndex) in groupTools" :key="groupIndex">
|
|
84
|
+
<!-- 工具组 -->
|
|
85
|
+
<div v-if="group.type === 'tools'" class="inline-flex [&>button]:ml-[-1px] first:[&>button]:ml-0">
|
|
86
|
+
<template v-for="(tool, toolIndex) in group.tools" :key="tool.key">
|
|
87
|
+
<Button v-if="isToolVisible(tool) && !tool.children" :class="[
|
|
88
|
+
'px-[8px] py-[2px] relative border-[#ccc] bg-[#fcfcfc] rounded-none text-[#666] hover:z-10',
|
|
89
|
+
toolIndex === 0 ? 'rounded-l-[5px]' : '',
|
|
90
|
+
toolIndex === (group.tools?.length || 0) - 1 ? 'rounded-r-[5px]' : '',
|
|
91
|
+
tool.class || ''
|
|
92
|
+
]" :type="tool.type" :danger="tool.danger" :disabled="isToolDisabled(tool)" :tiptext="tool.label"
|
|
93
|
+
@click="onToolClick(tool)">
|
|
94
|
+
<template v-if="tool.icon">
|
|
95
|
+
<ToolIcon :icon="tool.icon" class="w-[18px] h-[18.5px]" clickable />
|
|
96
|
+
</template>
|
|
97
|
+
<template v-if="tool.label">
|
|
98
|
+
{{ tool.label }}
|
|
99
|
+
</template>
|
|
100
|
+
</Button>
|
|
101
|
+
|
|
102
|
+
<!-- 自定义组件 -->
|
|
103
|
+
<component v-else-if="tool.component" :is="tool.component" v-bind="tool.props"
|
|
104
|
+
@click="onToolClick(tool)" />
|
|
105
|
+
</template>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<!-- 竖线分割 -->
|
|
109
|
+
<div v-else-if="group.type === 'split'" class="w-[1px] h-[16px] bg-[#d9d9d9] mx-[8px]"></div>
|
|
110
|
+
|
|
111
|
+
<!-- 空白区域 -->
|
|
112
|
+
<div v-else-if="group.type === 'space'" :class="group.width ? group.width : 'flex-1'"></div>
|
|
113
|
+
</template>
|
|
114
|
+
</div>
|
|
115
|
+
</template>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 工具栏组件导出
|
|
3
|
+
*/
|
|
4
|
+
export { default as GroupTools } from './groupTools.vue';
|
|
5
|
+
export { default as IconTool } from './icontool.vue';
|
|
6
|
+
export { default as Toolbar } from './index.vue';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 工具栏相关类型定义
|
|
10
|
+
*/
|
|
11
|
+
export type { ToolGroup } from './groupTools.vue';
|
package/src/router/index.ts
CHANGED
|
@@ -93,7 +93,9 @@ const hasPermission = (route: RouteRecord, isLogin: boolean): boolean => {
|
|
|
93
93
|
|
|
94
94
|
// 检查功能权限
|
|
95
95
|
if (permission) {
|
|
96
|
-
|
|
96
|
+
// 将动态路由路径转换为权限路径,移除动态参数
|
|
97
|
+
const permissionPath = route.path.replace(/\/:[^/]+/g, '');
|
|
98
|
+
hasPermitPermission = userInfoStore.hasPermit(permissionPath, ':page');
|
|
97
99
|
}
|
|
98
100
|
|
|
99
101
|
// 任意一个有权限即可访问
|
package/src/utils/menu.ts
CHANGED