@done-coding/admin-core 0.1.0 → 0.1.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/display/TabsMain.vue.mjs +61 -0
- package/es/components/display/TabsMain.vue2.mjs +4 -0
- package/es/components/display/index.mjs +9 -7
- package/es/components/form/FormDateTimeRange.vue.mjs +46 -0
- package/es/components/form/FormDateTimeRange.vue2.mjs +4 -0
- package/es/components/form/FormRadio.vue.mjs +69 -0
- package/es/components/form/FormRadio.vue2.mjs +4 -0
- package/es/components/form/index.mjs +29 -23
- package/es/components/list-page/ListPage.vue.mjs +1 -1
- package/es/components/list-page/ListPage.vue2.mjs +12 -12
- package/es/components/misc/AutoRefresh.vue.mjs +7 -0
- package/es/components/misc/AutoRefresh.vue2.mjs +57 -0
- package/es/components/misc/index.mjs +7 -5
- package/es/components/table/TableMain.vue.mjs +1 -1
- package/es/components/table/TableMain.vue2.mjs +28 -24
- package/es/components/table/TableToolbar.vue.mjs +2 -2
- package/es/components/table/TableToolbar.vue2.mjs +39 -59
- package/es/config/route.mjs +3 -2
- package/es/index.mjs +90 -81
- package/es/style.css +1 -1
- package/package.json +2 -2
- package/types/components/display/TabsMain.vue.d.ts +52 -0
- package/types/components/display/index.d.ts +2 -1
- package/types/components/form/FormDateTimeRange.vue.d.ts +18 -0
- package/types/components/form/FormRadio.vue.d.ts +35 -0
- package/types/components/form/FormSearch.vue.d.ts +1 -1
- package/types/components/form/FormSelect.vue.d.ts +2 -6
- package/types/components/form/index.d.ts +3 -1
- package/types/components/form/types.d.ts +12 -0
- package/types/components/misc/AutoRefresh.vue.d.ts +14 -0
- package/types/components/misc/index.d.ts +2 -1
- package/types/components/modal/ConfirmModal.vue.d.ts +1 -1
- package/types/components/table/types.d.ts +4 -2
- package/types/config/route.d.ts +2 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ElTabs as v, ElTabPane as b } from "element-plus/es";
|
|
2
|
+
import "element-plus/es/components/base/style/css";
|
|
3
|
+
import "element-plus/es/components/tabs/style/css";
|
|
4
|
+
import "element-plus/es/components/tab-pane/style/css";
|
|
5
|
+
import { defineComponent as y, useModel as V, computed as _, openBlock as n, createBlock as m, isRef as B, unref as i, withCtx as d, createElementBlock as M, Fragment as T, renderList as g, renderSlot as k, mergeModels as R } from "vue";
|
|
6
|
+
import { useRouter as E } from "vue-router";
|
|
7
|
+
import { TabsMainReplaceQueryKey as Q } from "../../config/route.mjs";
|
|
8
|
+
const F = /* @__PURE__ */ y({
|
|
9
|
+
__name: "TabsMain",
|
|
10
|
+
props: /* @__PURE__ */ R({
|
|
11
|
+
list: {},
|
|
12
|
+
replaceQuery: { type: Boolean, default: !1 },
|
|
13
|
+
notNull: { type: Boolean, default: !0 }
|
|
14
|
+
}, {
|
|
15
|
+
modelValue: {},
|
|
16
|
+
modelModifiers: {}
|
|
17
|
+
}),
|
|
18
|
+
emits: ["update:modelValue"],
|
|
19
|
+
setup(a) {
|
|
20
|
+
const t = a, o = V(a, "modelValue"), s = E(), c = (e) => e === void 0 || e === "" ? !1 : t.list.some((u) => u.value === e), r = _({
|
|
21
|
+
get() {
|
|
22
|
+
return c(o.value) ? o.value : t.notNull && t.list.length > 0 ? t.list[0].value : o.value;
|
|
23
|
+
},
|
|
24
|
+
set(e) {
|
|
25
|
+
o.value = e, t.replaceQuery && s.replace({
|
|
26
|
+
query: {
|
|
27
|
+
...s.currentRoute.value.query,
|
|
28
|
+
[Q]: e
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return (e, u) => {
|
|
34
|
+
const p = b, f = v;
|
|
35
|
+
return n(), m(f, {
|
|
36
|
+
modelValue: i(r),
|
|
37
|
+
"onUpdate:modelValue": u[0] || (u[0] = (l) => B(r) ? r.value = l : null)
|
|
38
|
+
}, {
|
|
39
|
+
default: d(() => [
|
|
40
|
+
(n(!0), M(T, null, g(a.list, (l) => (n(), m(p, {
|
|
41
|
+
key: l.value,
|
|
42
|
+
label: l.title,
|
|
43
|
+
name: l.value
|
|
44
|
+
}, {
|
|
45
|
+
default: d(() => [
|
|
46
|
+
k(e.$slots, `content-${l.value}`, {
|
|
47
|
+
item: l,
|
|
48
|
+
currentValue: i(r)
|
|
49
|
+
})
|
|
50
|
+
]),
|
|
51
|
+
_: 2
|
|
52
|
+
}, 1032, ["label", "name"]))), 128))
|
|
53
|
+
]),
|
|
54
|
+
_: 3
|
|
55
|
+
}, 8, ["modelValue"]);
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
export {
|
|
60
|
+
F as default
|
|
61
|
+
};
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import t from "./WatchSize.vue.mjs";
|
|
2
|
+
import o from "./TabsMain.vue.mjs";
|
|
3
|
+
const i = { WatchSize: t, TabsMain: o }, m = {
|
|
4
|
+
install(a) {
|
|
5
|
+
Object.entries(i).forEach(([n, s]) => {
|
|
6
|
+
a.component(n, s);
|
|
6
7
|
});
|
|
7
8
|
}
|
|
8
9
|
};
|
|
9
10
|
export {
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
o as TabsMain,
|
|
12
|
+
t as WatchSize,
|
|
13
|
+
m as displayInstall
|
|
12
14
|
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ElDatePicker as d, ElButton as c } from "element-plus/es";
|
|
2
|
+
import "element-plus/es/components/base/style/css";
|
|
3
|
+
import "element-plus/es/components/button/style/css";
|
|
4
|
+
import "element-plus/es/components/date-picker/style/css";
|
|
5
|
+
import { defineComponent as p, useModel as f, useAttrs as k, openBlock as o, createElementBlock as r, createVNode as V, mergeProps as _, unref as g, Fragment as y, renderList as B, createBlock as C, withCtx as D, createTextVNode as E, toDisplayString as v, mergeModels as w } from "vue";
|
|
6
|
+
const x = { class: "form-date-time-range" }, N = /* @__PURE__ */ p({
|
|
7
|
+
name: "FormDateTimeRange",
|
|
8
|
+
inheritAttrs: !1,
|
|
9
|
+
__name: "FormDateTimeRange",
|
|
10
|
+
props: /* @__PURE__ */ w({
|
|
11
|
+
swiftOptions: { default: () => [] }
|
|
12
|
+
}, {
|
|
13
|
+
modelValue: { default: null },
|
|
14
|
+
modelModifiers: {}
|
|
15
|
+
}),
|
|
16
|
+
emits: ["update:modelValue"],
|
|
17
|
+
setup(l) {
|
|
18
|
+
const t = f(l, "modelValue"), m = k(), i = (n) => {
|
|
19
|
+
t.value = n.set();
|
|
20
|
+
};
|
|
21
|
+
return (n, a) => {
|
|
22
|
+
const s = d, u = c;
|
|
23
|
+
return o(), r("span", x, [
|
|
24
|
+
V(s, _({
|
|
25
|
+
modelValue: t.value,
|
|
26
|
+
"onUpdate:modelValue": a[0] || (a[0] = (e) => t.value = e),
|
|
27
|
+
type: "datetimerange"
|
|
28
|
+
}, g(m)), null, 16, ["modelValue"]),
|
|
29
|
+
(o(!0), r(y, null, B(l.swiftOptions, (e) => (o(), C(u, {
|
|
30
|
+
key: e.key,
|
|
31
|
+
type: "primary",
|
|
32
|
+
link: "",
|
|
33
|
+
onClick: (h) => i(e)
|
|
34
|
+
}, {
|
|
35
|
+
default: D(() => [
|
|
36
|
+
E(v(e.key), 1)
|
|
37
|
+
]),
|
|
38
|
+
_: 2
|
|
39
|
+
}, 1032, ["onClick"]))), 128))
|
|
40
|
+
]);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
export {
|
|
45
|
+
N as default
|
|
46
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ElRadioGroup as h, ElRadioButton as y, ElRadio as B } from "element-plus/es";
|
|
2
|
+
import "element-plus/es/components/base/style/css";
|
|
3
|
+
import "element-plus/es/components/radio-group/style/css";
|
|
4
|
+
import "element-plus/es/components/radio/style/css";
|
|
5
|
+
import "element-plus/es/components/radio-button/style/css";
|
|
6
|
+
import { defineComponent as V, useModel as _, computed as b, watch as g, openBlock as a, createBlock as r, unref as x, withCtx as d, createElementBlock as m, Fragment as c, renderList as s, createTextVNode as v, toDisplayString as p, createCommentVNode as M, mergeModels as N } from "vue";
|
|
7
|
+
const D = /* @__PURE__ */ V({
|
|
8
|
+
name: "FormRadio",
|
|
9
|
+
inheritAttrs: !0,
|
|
10
|
+
__name: "FormRadio",
|
|
11
|
+
props: /* @__PURE__ */ N({
|
|
12
|
+
list: {},
|
|
13
|
+
mode: { default: "radio" },
|
|
14
|
+
notNull: { type: Boolean, default: !0 }
|
|
15
|
+
}, {
|
|
16
|
+
modelValue: {},
|
|
17
|
+
modelModifiers: {}
|
|
18
|
+
}),
|
|
19
|
+
emits: ["update:modelValue"],
|
|
20
|
+
setup(o) {
|
|
21
|
+
const u = o, l = _(o, "modelValue"), n = b(() => {
|
|
22
|
+
if (u.notNull && u.list.length > 0) {
|
|
23
|
+
const e = u.list.some((i) => i.value === l.value);
|
|
24
|
+
if (l.value === void 0 || !e)
|
|
25
|
+
return u.list[0].value;
|
|
26
|
+
}
|
|
27
|
+
return l.value;
|
|
28
|
+
}), f = (e) => {
|
|
29
|
+
l.value = e;
|
|
30
|
+
};
|
|
31
|
+
return g(
|
|
32
|
+
n,
|
|
33
|
+
(e) => {
|
|
34
|
+
e !== void 0 && e !== l.value && (l.value = e);
|
|
35
|
+
},
|
|
36
|
+
{ immediate: !0 }
|
|
37
|
+
), (e, i) => {
|
|
38
|
+
const R = y, k = B, E = h;
|
|
39
|
+
return a(), r(E, {
|
|
40
|
+
"model-value": x(n),
|
|
41
|
+
"onUpdate:modelValue": f
|
|
42
|
+
}, {
|
|
43
|
+
default: d(() => [
|
|
44
|
+
o.mode === "buttonGroup" ? (a(!0), m(c, { key: 0 }, s(o.list, (t) => (a(), r(R, {
|
|
45
|
+
key: t.value,
|
|
46
|
+
value: t.value
|
|
47
|
+
}, {
|
|
48
|
+
default: d(() => [
|
|
49
|
+
v(p(t.label), 1)
|
|
50
|
+
]),
|
|
51
|
+
_: 2
|
|
52
|
+
}, 1032, ["value"]))), 128)) : o.mode === "radio" ? (a(!0), m(c, { key: 1 }, s(o.list, (t) => (a(), r(k, {
|
|
53
|
+
key: t.value,
|
|
54
|
+
value: t.value
|
|
55
|
+
}, {
|
|
56
|
+
default: d(() => [
|
|
57
|
+
v(p(t.label), 1)
|
|
58
|
+
]),
|
|
59
|
+
_: 2
|
|
60
|
+
}, 1032, ["value"]))), 128)) : M("", !0)
|
|
61
|
+
]),
|
|
62
|
+
_: 1
|
|
63
|
+
}, 8, ["model-value"]);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
export {
|
|
68
|
+
D as default
|
|
69
|
+
};
|
|
@@ -1,32 +1,38 @@
|
|
|
1
|
-
import
|
|
1
|
+
import a from "./FormMain.vue.mjs";
|
|
2
2
|
import i from "./FormSelect.vue.mjs";
|
|
3
|
-
import
|
|
4
|
-
import t from "./
|
|
5
|
-
import f from "./
|
|
6
|
-
import n from "./
|
|
7
|
-
import s from "./
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import e from "./FormRadioGroup.vue.mjs";
|
|
4
|
+
import t from "./FormRadio.vue.mjs";
|
|
5
|
+
import f from "./FormTree.vue.mjs";
|
|
6
|
+
import n from "./FormSearch.vue.mjs";
|
|
7
|
+
import s from "./FormVerifyImage.vue.mjs";
|
|
8
|
+
import c from "./FormVerifyCode.vue.mjs";
|
|
9
|
+
import F from "./FormDateTimeRange.vue.mjs";
|
|
10
|
+
const p = {
|
|
11
|
+
FormMain: a,
|
|
10
12
|
FormSelect: i,
|
|
11
|
-
FormRadioGroup:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
FormRadioGroup: e,
|
|
14
|
+
FormRadio: t,
|
|
15
|
+
FormTree: f,
|
|
16
|
+
FormSearch: n,
|
|
17
|
+
FormVerifyImage: s,
|
|
18
|
+
FormVerifyCode: c,
|
|
19
|
+
FormDateTimeRange: F
|
|
20
|
+
}, V = {
|
|
17
21
|
install(o) {
|
|
18
|
-
Object.entries(
|
|
19
|
-
o.component(
|
|
22
|
+
Object.entries(p).forEach(([m, r]) => {
|
|
23
|
+
o.component(m, r);
|
|
20
24
|
});
|
|
21
25
|
}
|
|
22
26
|
};
|
|
23
27
|
export {
|
|
24
|
-
|
|
25
|
-
a as
|
|
26
|
-
|
|
28
|
+
F as FormDateTimeRange,
|
|
29
|
+
a as FormMain,
|
|
30
|
+
t as FormRadio,
|
|
31
|
+
e as FormRadioGroup,
|
|
32
|
+
n as FormSearch,
|
|
27
33
|
i as FormSelect,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
f as FormTree,
|
|
35
|
+
c as FormVerifyCode,
|
|
36
|
+
s as FormVerifyImage,
|
|
37
|
+
V as formInstall
|
|
32
38
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./ListPage.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a578c778"]]);
|
|
5
5
|
export {
|
|
6
6
|
p as default
|
|
7
7
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ElLoadingDirective as te } from "element-plus/es";
|
|
2
2
|
import "element-plus/es/components/base/style/css";
|
|
3
3
|
import "element-plus/es/components/loading/style/css";
|
|
4
|
-
import { defineComponent as re, useCssVars as ae, unref as a, useModel as oe, ref as c, shallowRef as O, inject as ne, computed as s, watch as se, withDirectives as ie, openBlock as j, createElementBlock as le, createVNode as k, mergeProps as y, createSlots as F, renderList as
|
|
4
|
+
import { defineComponent as re, useCssVars as ae, unref as a, useModel as oe, ref as c, shallowRef as O, inject as ne, computed as s, watch as se, withDirectives as ie, openBlock as j, createElementBlock as le, createVNode as k, mergeProps as y, createSlots as F, renderList as b, withCtx as g, renderSlot as d, normalizeProps as T, guardReactiveProps as $, createBlock as ue, createCommentVNode as ce, mergeModels as A } from "vue";
|
|
5
5
|
import fe from "../form/FormSearch.vue.mjs";
|
|
6
6
|
import { generateFormData as he, stringifyFormData as ge } from "../form/utils.mjs";
|
|
7
7
|
import de from "../display/WatchSize.vue.mjs";
|
|
@@ -9,7 +9,7 @@ import me from "../table/TableMain.vue.mjs";
|
|
|
9
9
|
import pe from "lodash/pick";
|
|
10
10
|
import ve from "lodash/cloneDeep";
|
|
11
11
|
import { BODY_CONTENT_VIEWPORT_HEIGHT as ye } from "../../inject/key.mjs";
|
|
12
|
-
const
|
|
12
|
+
const be = {
|
|
13
13
|
"element-loading-background": "rgba(122, 122, 122, 0.5)",
|
|
14
14
|
class: "list-page"
|
|
15
15
|
}, ke = /* @__PURE__ */ re({
|
|
@@ -36,9 +36,9 @@ const Se = {
|
|
|
36
36
|
emits: /* @__PURE__ */ A(["dataChange", "pageInfoChange"], ["update:isAutoRefresh"]),
|
|
37
37
|
setup(n, { expose: x, emit: B }) {
|
|
38
38
|
ae((e) => ({
|
|
39
|
-
|
|
39
|
+
bb4a2a8e: a(q)
|
|
40
40
|
}));
|
|
41
|
-
const o = n,
|
|
41
|
+
const o = n, S = B, m = oe(n, "isAutoRefresh"), p = c({}), v = c(
|
|
42
42
|
{}
|
|
43
43
|
), C = c(!1), i = O(), u = O(), E = ne(
|
|
44
44
|
ye,
|
|
@@ -61,9 +61,9 @@ const Se = {
|
|
|
61
61
|
...f
|
|
62
62
|
};
|
|
63
63
|
}, J = (e) => {
|
|
64
|
-
|
|
64
|
+
S("dataChange", e);
|
|
65
65
|
}, Q = (e) => {
|
|
66
|
-
|
|
66
|
+
S("pageInfoChange", e);
|
|
67
67
|
}, z = (e) => {
|
|
68
68
|
C.value = e;
|
|
69
69
|
}, G = (e) => {
|
|
@@ -71,11 +71,11 @@ const Se = {
|
|
|
71
71
|
}, U = (e) => {
|
|
72
72
|
R.value = e;
|
|
73
73
|
}, W = s(() => o.list), Y = s(() => o.rowKey), P = s(() => p.value), D = {
|
|
74
|
-
refresh: (e = !1) => {
|
|
74
|
+
refresh: async (e = !1) => {
|
|
75
75
|
var t;
|
|
76
76
|
return (t = u.value) == null ? void 0 : t.refresh(e);
|
|
77
77
|
},
|
|
78
|
-
reload: (e = !1) => {
|
|
78
|
+
reload: async (e = !1) => {
|
|
79
79
|
var t;
|
|
80
80
|
return (t = u.value) == null ? void 0 : t.reload(e);
|
|
81
81
|
},
|
|
@@ -131,7 +131,7 @@ const Se = {
|
|
|
131
131
|
}
|
|
132
132
|
), (e, t) => {
|
|
133
133
|
const f = te;
|
|
134
|
-
return ie((j(), le("div",
|
|
134
|
+
return ie((j(), le("div", be, [
|
|
135
135
|
k(a(fe), y({
|
|
136
136
|
ref_key: "formSearch",
|
|
137
137
|
ref: i,
|
|
@@ -142,7 +142,7 @@ const Se = {
|
|
|
142
142
|
onHeightChange: G,
|
|
143
143
|
onVisibleChange: ee
|
|
144
144
|
}), F({ _: 2 }, [
|
|
145
|
-
|
|
145
|
+
b(n.list, (r) => ({
|
|
146
146
|
name: r.key,
|
|
147
147
|
fn: g((l) => [
|
|
148
148
|
d(e.$slots, `form-${r.key}`, T($(l)), void 0, !0)
|
|
@@ -176,13 +176,13 @@ const Se = {
|
|
|
176
176
|
onDataChange: J,
|
|
177
177
|
onPageInfoChange: Q
|
|
178
178
|
}), F({ _: 2 }, [
|
|
179
|
-
|
|
179
|
+
b(n.columns, (r) => ({
|
|
180
180
|
name: r.prop,
|
|
181
181
|
fn: g((l) => [
|
|
182
182
|
d(e.$slots, `table-${r.prop}`, T($(Z(l))), void 0, !0)
|
|
183
183
|
])
|
|
184
184
|
})),
|
|
185
|
-
|
|
185
|
+
b(n.columns, (r) => ({
|
|
186
186
|
name: `header-${r.prop}`,
|
|
187
187
|
fn: g((l) => {
|
|
188
188
|
var h;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ElInputNumber as x, ElSwitch as M } from "element-plus/es";
|
|
2
|
+
import "element-plus/es/components/base/style/css";
|
|
3
|
+
import "element-plus/es/components/switch/style/css";
|
|
4
|
+
import "element-plus/es/components/input-number/style/css";
|
|
5
|
+
import { defineComponent as N, useModel as m, watch as n, openBlock as i, createElementBlock as d, Fragment as b, createElementVNode as f, createVNode as p, createCommentVNode as k, mergeModels as w } from "vue";
|
|
6
|
+
import { useTimeout as B } from "../../hooks/timeout.mjs";
|
|
7
|
+
import { useActivatedExec as T } from "../../hooks/activated.mjs";
|
|
8
|
+
const y = { class: "auto-refresh" }, F = /* @__PURE__ */ N({
|
|
9
|
+
__name: "AutoRefresh",
|
|
10
|
+
props: {
|
|
11
|
+
modelValue: { type: Boolean, default: !1 },
|
|
12
|
+
modelModifiers: {},
|
|
13
|
+
interval: { default: 30 },
|
|
14
|
+
intervalModifiers: {}
|
|
15
|
+
},
|
|
16
|
+
emits: /* @__PURE__ */ w(["refresh"], ["update:modelValue", "update:interval"]),
|
|
17
|
+
setup(s, { expose: v, emit: c }) {
|
|
18
|
+
const r = c, e = m(s, "modelValue"), o = m(s, "interval"), [V, h] = B(), l = () => {
|
|
19
|
+
V(() => {
|
|
20
|
+
r("refresh"), e.value && l();
|
|
21
|
+
}, o.value * 1e3);
|
|
22
|
+
};
|
|
23
|
+
return v({ trigger: () => {
|
|
24
|
+
r("refresh"), e.value && l();
|
|
25
|
+
} }), n(e, (u) => {
|
|
26
|
+
u ? l() : h();
|
|
27
|
+
}), n(o, () => {
|
|
28
|
+
e.value && l();
|
|
29
|
+
}), T(() => {
|
|
30
|
+
e.value && (r("refresh"), l());
|
|
31
|
+
}), (u, t) => {
|
|
32
|
+
const E = x, g = M;
|
|
33
|
+
return i(), d("div", y, [
|
|
34
|
+
e.value ? (i(), d(b, { key: 0 }, [
|
|
35
|
+
t[2] || (t[2] = f("span", { class: "auto-refresh-label" }, "刷新间隔", -1)),
|
|
36
|
+
p(E, {
|
|
37
|
+
modelValue: o.value,
|
|
38
|
+
"onUpdate:modelValue": t[0] || (t[0] = (a) => o.value = a),
|
|
39
|
+
min: 1,
|
|
40
|
+
step: 5,
|
|
41
|
+
size: "small",
|
|
42
|
+
class: "auto-refresh-interval"
|
|
43
|
+
}, null, 8, ["modelValue"]),
|
|
44
|
+
t[3] || (t[3] = f("span", { class: "auto-refresh-label" }, "秒", -1))
|
|
45
|
+
], 64)) : k("", !0),
|
|
46
|
+
p(g, {
|
|
47
|
+
modelValue: e.value,
|
|
48
|
+
"onUpdate:modelValue": t[1] || (t[1] = (a) => e.value = a),
|
|
49
|
+
"active-text": "自动刷新"
|
|
50
|
+
}, null, 8, ["modelValue"])
|
|
51
|
+
]);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
export {
|
|
56
|
+
F as default
|
|
57
|
+
};
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import e from "./TriggerAutoImport.vue.mjs";
|
|
2
|
+
import m from "./AutoRefresh.vue.mjs";
|
|
3
|
+
const n = { TriggerAutoImport: e, AutoRefresh: m }, i = {
|
|
3
4
|
install(o) {
|
|
4
|
-
Object.entries(
|
|
5
|
+
Object.entries(n).forEach(([t, r]) => {
|
|
5
6
|
o.component(t, r);
|
|
6
7
|
});
|
|
7
8
|
}
|
|
8
9
|
};
|
|
9
10
|
export {
|
|
10
|
-
|
|
11
|
-
e as
|
|
11
|
+
m as AutoRefresh,
|
|
12
|
+
e as TriggerAutoImport,
|
|
13
|
+
i as miscInstall
|
|
12
14
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./TableMain.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-5944984b"]]);
|
|
5
5
|
export {
|
|
6
6
|
p as default
|
|
7
7
|
};
|
|
@@ -37,11 +37,11 @@ const Oe = { class: "table-main" }, ze = { class: "table-main-pagination" }, qe
|
|
|
37
37
|
isAutoRefreshModifiers: {}
|
|
38
38
|
}),
|
|
39
39
|
emits: /* @__PURE__ */ G(["pageChange", "pageSizeChange", "dataChange", "loadingChange", "pageInfoChange"], ["update:isAutoRefresh"]),
|
|
40
|
-
setup(
|
|
40
|
+
setup(i, { expose: W, emit: Z }) {
|
|
41
41
|
ce((e) => ({
|
|
42
|
-
|
|
42
|
+
v7c6ca44f: e.headerColor
|
|
43
43
|
}));
|
|
44
|
-
const a =
|
|
44
|
+
const a = i, m = Z, P = me(i, "isAutoRefresh"), Q = he(), T = g([]), w = g(0), s = g(0), o = g(1), h = g(!1), x = g(!1), O = g(0), X = (e) => {
|
|
45
45
|
O.value = e;
|
|
46
46
|
}, z = ve(), ee = ye(
|
|
47
47
|
Pe,
|
|
@@ -64,7 +64,7 @@ const Oe = { class: "table-main" }, ze = { class: "table-main-pagination" }, qe
|
|
|
64
64
|
) : void 0;
|
|
65
65
|
}), S = d(() => {
|
|
66
66
|
const e = U(a.query || {});
|
|
67
|
-
return D(e, E.PAGE_SIZE_KEY,
|
|
67
|
+
return D(e, E.PAGE_SIZE_KEY, s.value), D(
|
|
68
68
|
e,
|
|
69
69
|
E.CURRENT_PAGE_KEY,
|
|
70
70
|
o.value
|
|
@@ -80,10 +80,10 @@ const Oe = { class: "table-main" }, ze = { class: "table-main-pagination" }, qe
|
|
|
80
80
|
)} => ${JSON.stringify(S.value)}`
|
|
81
81
|
), u;
|
|
82
82
|
}, K = (e = !1) => {
|
|
83
|
-
if (!
|
|
83
|
+
if (!s.value) return;
|
|
84
84
|
h.value ? console.warn("请求并发") : h.value = !0, e || (x.value = !0);
|
|
85
85
|
const t = U(S.value);
|
|
86
|
-
a.api(t).then((u) => {
|
|
86
|
+
return a.api(t).then((u) => {
|
|
87
87
|
A(t, !1) && (T.value = F(
|
|
88
88
|
u,
|
|
89
89
|
E.LIST_KEY
|
|
@@ -91,17 +91,21 @@ const Oe = { class: "table-main" }, ze = { class: "table-main-pagination" }, qe
|
|
|
91
91
|
u,
|
|
92
92
|
E.TOTAL_KEY
|
|
93
93
|
), m("pageInfoChange", {
|
|
94
|
-
pageSize:
|
|
94
|
+
pageSize: s.value,
|
|
95
95
|
currentPage: o.value,
|
|
96
96
|
total: w.value
|
|
97
97
|
}));
|
|
98
98
|
}).finally(() => {
|
|
99
99
|
A(t) && (h.value = !1, x.value = !1);
|
|
100
100
|
});
|
|
101
|
-
}, j = (e = !1) => {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
}, j = async (e = !1) => {
|
|
102
|
+
var t;
|
|
103
|
+
return (t = K(e)) == null ? void 0 : t.catch(() => {
|
|
104
|
+
});
|
|
105
|
+
}, ae = async (e = !1) => {
|
|
106
|
+
if (o.value === 1)
|
|
107
|
+
return j(e);
|
|
108
|
+
o.value = 1;
|
|
105
109
|
}, oe = (e) => e, v = {
|
|
106
110
|
refresh: j,
|
|
107
111
|
reload: ae,
|
|
@@ -117,10 +121,10 @@ const Oe = { class: "table-main" }, ze = { class: "table-main-pagination" }, qe
|
|
|
117
121
|
});
|
|
118
122
|
W(v);
|
|
119
123
|
const ne = (e) => {
|
|
120
|
-
|
|
124
|
+
s.value = e, o.value = 1;
|
|
121
125
|
}, M = (e) => !e || e === "expand";
|
|
122
126
|
return be(() => {
|
|
123
|
-
|
|
127
|
+
s.value = a.pageSizeInit, Ce(() => {
|
|
124
128
|
v.refresh();
|
|
125
129
|
});
|
|
126
130
|
}), c(T, (e) => {
|
|
@@ -140,12 +144,12 @@ const Oe = { class: "table-main" }, ze = { class: "table-main-pagination" }, qe
|
|
|
140
144
|
}
|
|
141
145
|
), c(x, (e) => {
|
|
142
146
|
m("loadingChange", e);
|
|
143
|
-
}), c(
|
|
147
|
+
}), c(s, (e) => {
|
|
144
148
|
m("pageSizeChange", e);
|
|
145
149
|
}), c(o, (e) => {
|
|
146
150
|
m("pageChange", e);
|
|
147
151
|
}), (e, t) => {
|
|
148
|
-
const u = fe, le = ge,
|
|
152
|
+
const u = fe, le = ge, se = ue, ie = pe;
|
|
149
153
|
return n(), y("div", Oe, [
|
|
150
154
|
l(N) ? (n(), b(l(Re), {
|
|
151
155
|
key: 0,
|
|
@@ -161,7 +165,7 @@ const Oe = { class: "table-main" }, ze = { class: "table-main-pagination" }, qe
|
|
|
161
165
|
]),
|
|
162
166
|
_: 1
|
|
163
167
|
})) : Se("", !0),
|
|
164
|
-
I(
|
|
168
|
+
I(se, p({
|
|
165
169
|
ref_key: "elTable",
|
|
166
170
|
ref: z,
|
|
167
171
|
class: "table-main-table",
|
|
@@ -171,7 +175,7 @@ const Oe = { class: "table-main" }, ze = { class: "table-main-pagination" }, qe
|
|
|
171
175
|
}, l(re), {
|
|
172
176
|
maxHeight: l(te),
|
|
173
177
|
data: l(T),
|
|
174
|
-
rowKey: oe(
|
|
178
|
+
rowKey: oe(i.rowKey)
|
|
175
179
|
}), {
|
|
176
180
|
empty: C(() => [
|
|
177
181
|
l(h) ? (n(), y(_, { key: 0 }, [
|
|
@@ -179,7 +183,7 @@ const Oe = { class: "table-main" }, ze = { class: "table-main-pagination" }, qe
|
|
|
179
183
|
], 64)) : (n(), b(le, { key: 1 }))
|
|
180
184
|
]),
|
|
181
185
|
default: C(() => [
|
|
182
|
-
(n(!0), y(_, null, _e(
|
|
186
|
+
(n(!0), y(_, null, _e(i.columns, (r) => (n(), b(u, p({
|
|
183
187
|
key: r.columnKey || r.prop
|
|
184
188
|
}, { ref_for: !0 }, r), Ee({ _: 2 }, [
|
|
185
189
|
M(r.type) ? {
|
|
@@ -217,20 +221,20 @@ const Oe = { class: "table-main" }, ze = { class: "table-main-pagination" }, qe
|
|
|
217
221
|
_: 3
|
|
218
222
|
}, 16, ["maxHeight", "data", "rowKey"]),
|
|
219
223
|
Te(we("div", ze, [
|
|
220
|
-
I(
|
|
224
|
+
I(ie, {
|
|
221
225
|
"current-page": l(o),
|
|
222
226
|
"onUpdate:currentPage": t[1] || (t[1] = (r) => Y(o) ? o.value = r : null),
|
|
223
|
-
"page-size": l(
|
|
224
|
-
"onUpdate:pageSize": t[2] || (t[2] = (r) => Y(
|
|
225
|
-
"page-sizes":
|
|
227
|
+
"page-size": l(s),
|
|
228
|
+
"onUpdate:pageSize": t[2] || (t[2] = (r) => Y(s) ? s.value = r : null),
|
|
229
|
+
"page-sizes": i.pageSizeOptions,
|
|
226
230
|
size: "small",
|
|
227
231
|
background: "",
|
|
228
|
-
layout:
|
|
232
|
+
layout: i.pageLayout,
|
|
229
233
|
total: l(w),
|
|
230
234
|
onSizeChange: ne
|
|
231
235
|
}, null, 8, ["current-page", "page-size", "page-sizes", "layout", "total"])
|
|
232
236
|
], 512), [
|
|
233
|
-
[xe,
|
|
237
|
+
[xe, i.showPager]
|
|
234
238
|
])
|
|
235
239
|
]);
|
|
236
240
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./TableToolbar.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import a from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const
|
|
4
|
+
const p = /* @__PURE__ */ a(o, [["__scopeId", "data-v-4a425d38"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
p as default
|
|
7
7
|
};
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ElButton as g, ElIcon as k } from "element-plus/es";
|
|
2
2
|
import "element-plus/es/components/base/style/css";
|
|
3
3
|
import "element-plus/es/components/button/style/css";
|
|
4
4
|
import "element-plus/es/components/icon/style/css";
|
|
5
|
-
import "
|
|
6
|
-
import "element-plus/
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
import { useTimeout as q } from "../../hooks/timeout.mjs";
|
|
10
|
-
import { useActivatedExec as D } from "../../hooks/activated.mjs";
|
|
11
|
-
const G = { class: "table-toolbar" }, H = { class: "table-toolbar-right" }, $ = /* @__PURE__ */ M({
|
|
5
|
+
import { defineComponent as A, useModel as B, computed as f, ref as i, watch as _, openBlock as a, createElementBlock as V, createElementVNode as x, createBlock as d, createCommentVNode as m, withCtx as c, createVNode as h, normalizeClass as y, unref as C, mergeModels as I } from "vue";
|
|
6
|
+
import { Refresh as M } from "@element-plus/icons-vue";
|
|
7
|
+
import w from "../misc/AutoRefresh.vue.mjs";
|
|
8
|
+
const N = { class: "table-toolbar" }, T = { class: "table-toolbar-right" }, G = /* @__PURE__ */ A({
|
|
12
9
|
__name: "TableToolbar",
|
|
13
|
-
props: /* @__PURE__ */
|
|
10
|
+
props: /* @__PURE__ */ I({
|
|
14
11
|
features: { default: () => ["refresh", "autoRefresh"] },
|
|
15
12
|
refreshInterval: { default: 30 },
|
|
16
13
|
tableExpose: {},
|
|
@@ -20,76 +17,59 @@ const G = { class: "table-toolbar" }, H = { class: "table-toolbar-right" }, $ =
|
|
|
20
17
|
isAutoRefreshModifiers: {}
|
|
21
18
|
}),
|
|
22
19
|
emits: ["update:isAutoRefresh"],
|
|
23
|
-
setup(
|
|
24
|
-
const e =
|
|
20
|
+
setup(s) {
|
|
21
|
+
const e = s, n = B(s, "isAutoRefresh"), p = f(
|
|
25
22
|
() => e.features === void 0 || e.features.includes("refresh")
|
|
26
|
-
),
|
|
23
|
+
), v = f(
|
|
27
24
|
() => e.features === void 0 || e.features.includes("autoRefresh")
|
|
28
|
-
), l =
|
|
29
|
-
|
|
25
|
+
), l = i(30);
|
|
26
|
+
_(
|
|
30
27
|
() => e.refreshInterval,
|
|
31
|
-
(
|
|
32
|
-
l.value =
|
|
28
|
+
(o) => {
|
|
29
|
+
l.value = o;
|
|
33
30
|
},
|
|
34
31
|
{ immediate: !0 }
|
|
35
32
|
);
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}, l.value * 1e3);
|
|
40
|
-
}, _ = () => {
|
|
41
|
-
e.tableExpose.refresh(), t.value && s();
|
|
33
|
+
const u = i(), R = () => {
|
|
34
|
+
var o;
|
|
35
|
+
(o = u.value) == null || o.trigger();
|
|
42
36
|
};
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
min: 1,
|
|
59
|
-
step: 5,
|
|
60
|
-
size: "small",
|
|
61
|
-
class: "table-toolbar-interval"
|
|
62
|
-
}, null, 8, ["modelValue"]),
|
|
63
|
-
o[3] || (o[3] = m("span", { class: "table-toolbar-label" }, "秒", -1))
|
|
64
|
-
], 64)) : c("", !0),
|
|
65
|
-
d.value ? (a(), b(A, {
|
|
37
|
+
return (o, t) => {
|
|
38
|
+
const b = k, E = g;
|
|
39
|
+
return a(), V("div", N, [
|
|
40
|
+
x("div", T, [
|
|
41
|
+
v.value ? (a(), d(w, {
|
|
42
|
+
key: 0,
|
|
43
|
+
ref_key: "autoRefreshRef",
|
|
44
|
+
ref: u,
|
|
45
|
+
modelValue: n.value,
|
|
46
|
+
"onUpdate:modelValue": t[0] || (t[0] = (r) => n.value = r),
|
|
47
|
+
interval: l.value,
|
|
48
|
+
"onUpdate:interval": t[1] || (t[1] = (r) => l.value = r),
|
|
49
|
+
onRefresh: t[2] || (t[2] = (r) => e.tableExpose.refresh())
|
|
50
|
+
}, null, 8, ["modelValue", "interval"])) : m("", !0),
|
|
51
|
+
p.value ? (a(), d(E, {
|
|
66
52
|
key: 1,
|
|
67
|
-
modelValue: t.value,
|
|
68
|
-
"onUpdate:modelValue": o[1] || (o[1] = (u) => t.value = u),
|
|
69
|
-
"active-text": "自动刷新"
|
|
70
|
-
}, null, 8, ["modelValue"])) : c("", !0),
|
|
71
|
-
R.value ? (a(), b(I, {
|
|
72
|
-
key: 2,
|
|
73
53
|
circle: "",
|
|
74
|
-
onClick:
|
|
54
|
+
onClick: R
|
|
75
55
|
}, {
|
|
76
|
-
default:
|
|
77
|
-
|
|
78
|
-
class:
|
|
56
|
+
default: c(() => [
|
|
57
|
+
h(b, {
|
|
58
|
+
class: y({ "table-toolbar-icon--rotating": s.loading })
|
|
79
59
|
}, {
|
|
80
|
-
default:
|
|
81
|
-
|
|
60
|
+
default: c(() => [
|
|
61
|
+
h(C(M))
|
|
82
62
|
]),
|
|
83
63
|
_: 1
|
|
84
64
|
}, 8, ["class"])
|
|
85
65
|
]),
|
|
86
66
|
_: 1
|
|
87
|
-
})) :
|
|
67
|
+
})) : m("", !0)
|
|
88
68
|
])
|
|
89
69
|
]);
|
|
90
70
|
};
|
|
91
71
|
}
|
|
92
72
|
});
|
|
93
73
|
export {
|
|
94
|
-
|
|
74
|
+
G as default
|
|
95
75
|
};
|
package/es/config/route.mjs
CHANGED
package/es/index.mjs
CHANGED
|
@@ -5,99 +5,108 @@ import { miscInstall as a } from "./components/misc/index.mjs";
|
|
|
5
5
|
import { modalInstall as m } from "./components/modal/index.mjs";
|
|
6
6
|
import { tableInstall as f } from "./components/table/index.mjs";
|
|
7
7
|
import { listPageInstall as s } from "./components/list-page/index.mjs";
|
|
8
|
-
import { default as
|
|
9
|
-
import { default as
|
|
10
|
-
import { default as
|
|
11
|
-
import { default as
|
|
12
|
-
import { default as
|
|
13
|
-
import { default as D } from "./components/form/
|
|
14
|
-
import { default as P } from "./components/
|
|
15
|
-
import { default as
|
|
16
|
-
import { default as
|
|
17
|
-
import { default as
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import { default as
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import { default as
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import { default as ce } from "./components/
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
8
|
+
import { default as F } from "./components/modal/DetailModal.vue.mjs";
|
|
9
|
+
import { default as E } from "./components/form/FormDateTimeRange.vue.mjs";
|
|
10
|
+
import { default as R } from "./components/form/FormMain.vue.mjs";
|
|
11
|
+
import { default as C } from "./components/form/FormRadio.vue.mjs";
|
|
12
|
+
import { default as S } from "./components/form/FormRadioGroup.vue.mjs";
|
|
13
|
+
import { default as D } from "./components/form/FormSelect.vue.mjs";
|
|
14
|
+
import { default as P } from "./components/form/FormTree.vue.mjs";
|
|
15
|
+
import { default as h } from "./components/form/FormVerifyCode.vue.mjs";
|
|
16
|
+
import { default as G } from "./components/menu/MenuItemSub.vue.mjs";
|
|
17
|
+
import { default as w } from "./components/menu/MenuTree.vue.mjs";
|
|
18
|
+
import { default as v } from "./components/display/TabsMain.vue.mjs";
|
|
19
|
+
import { default as H } from "./components/misc/TriggerAutoImport.vue.mjs";
|
|
20
|
+
import { default as W } from "./components/display/WatchSize.vue.mjs";
|
|
21
|
+
import { APP_API_LIST_MODEL_KEY_CONFIG as B } from "./config/list-model.mjs";
|
|
22
|
+
import { default as Q } from "./components/misc/AutoRefresh.vue.mjs";
|
|
23
|
+
import { BODY_CONTENT_VIEWPORT_HEIGHT as k } from "./inject/key.mjs";
|
|
24
|
+
import { default as J } from "./components/modal/ConfirmModal.vue.mjs";
|
|
25
|
+
import { FORM_CONFIG_SELECT_ALL_VALUE as Z, getConfirmPasswordRule as $, passwordRule as ee, setFormComponentType as te } from "./helpers/form.mjs";
|
|
26
|
+
import { FORM_ITEM_CHANGE_LOADING as re, generateFormData as ae, getBlurSubmit as me, getChangeSubmit as fe, getEnterSubmit as se, getPlaceholder as le, getVModelSugar as ue, parseFormData as ie, setInputComponent as pe, setSelectComponent as ne, stringifyFormData as xe, swiftFormItemConfig as de } from "./components/form/utils.mjs";
|
|
27
|
+
import { default as ce } from "./components/form/FormSearch.vue.mjs";
|
|
28
|
+
import { default as Fe } from "./components/form/FormVerifyImage.vue.mjs";
|
|
29
|
+
import { default as Ee } from "./components/list-page/ListPage.vue.mjs";
|
|
30
|
+
import { ROUTE_MODULE_LEVEL as Re, TabsMainReplaceQueryKey as _e } from "./config/route.mjs";
|
|
31
|
+
import { default as Ae } from "./components/table/TableMain.vue.mjs";
|
|
32
|
+
import { countAll as Le, createListApi as De, fetchListAll as Oe } from "./helpers/list-helper.mjs";
|
|
33
|
+
import { createGenerateRouteMetaRawTree as be } from "./helpers/route.mjs";
|
|
34
|
+
import { createStorageWithNamespace as ye } from "./helpers/storage.mjs";
|
|
35
|
+
import { createUseState as Ne } from "./helpers/state.mjs";
|
|
36
|
+
import { flatRouteMetaResolveRaw as Ve, getRoutePermissionKey as ve } from "./utils/router.mjs";
|
|
37
|
+
import { getId as He } from "./utils/id.mjs";
|
|
38
|
+
import { timeCountDown as We } from "./utils/time.mjs";
|
|
39
|
+
import { useActivated as Be, useActivatedEvent as Ye, useActivatedExec as Qe } from "./hooks/activated.mjs";
|
|
40
|
+
import { useFeelSize as ke } from "./hooks/feel-size.mjs";
|
|
41
|
+
import { useMenusDataDispatch as Je } from "./hooks/menus-dispatch.mjs";
|
|
42
|
+
import { useTimeout as Ze } from "./hooks/timeout.mjs";
|
|
39
43
|
const I = {
|
|
40
44
|
install(e) {
|
|
41
45
|
e.use(t), e.use(o), e.use(r), e.use(a), e.use(m), e.use(f), e.use(s);
|
|
42
46
|
}
|
|
43
47
|
};
|
|
44
48
|
export {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
49
|
+
B as APP_API_LIST_MODEL_KEY_CONFIG,
|
|
50
|
+
Q as AutoRefresh,
|
|
51
|
+
k as BODY_CONTENT_VIEWPORT_HEIGHT,
|
|
52
|
+
J as ConfirmModal,
|
|
53
|
+
F as DetailModal,
|
|
54
|
+
Z as FORM_CONFIG_SELECT_ALL_VALUE,
|
|
55
|
+
re as FORM_ITEM_CHANGE_LOADING,
|
|
56
|
+
E as FormDateTimeRange,
|
|
57
|
+
R as FormMain,
|
|
58
|
+
C as FormRadio,
|
|
59
|
+
S as FormRadioGroup,
|
|
60
|
+
ce as FormSearch,
|
|
61
|
+
D as FormSelect,
|
|
62
|
+
P as FormTree,
|
|
63
|
+
h as FormVerifyCode,
|
|
64
|
+
Fe as FormVerifyImage,
|
|
65
|
+
Ee as ListPage,
|
|
66
|
+
G as MenuItemSub,
|
|
67
|
+
w as MenuTree,
|
|
68
|
+
Re as ROUTE_MODULE_LEVEL,
|
|
69
|
+
Ae as TableMain,
|
|
70
|
+
v as TabsMain,
|
|
71
|
+
_e as TabsMainReplaceQueryKey,
|
|
72
|
+
H as TriggerAutoImport,
|
|
73
|
+
W as WatchSize,
|
|
74
|
+
Le as countAll,
|
|
75
|
+
be as createGenerateRouteMetaRawTree,
|
|
76
|
+
De as createListApi,
|
|
77
|
+
ye as createStorageWithNamespace,
|
|
78
|
+
Ne as createUseState,
|
|
70
79
|
r as displayInstall,
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
Oe as fetchListAll,
|
|
81
|
+
Ve as flatRouteMetaResolveRaw,
|
|
73
82
|
t as formInstall,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
ae as generateFormData,
|
|
84
|
+
me as getBlurSubmit,
|
|
85
|
+
fe as getChangeSubmit,
|
|
86
|
+
$ as getConfirmPasswordRule,
|
|
87
|
+
se as getEnterSubmit,
|
|
88
|
+
He as getId,
|
|
89
|
+
le as getPlaceholder,
|
|
90
|
+
ve as getRoutePermissionKey,
|
|
91
|
+
ue as getVModelSugar,
|
|
83
92
|
I as installComponents,
|
|
84
93
|
s as listPageInstall,
|
|
85
94
|
o as menuInstall,
|
|
86
95
|
a as miscInstall,
|
|
87
96
|
m as modalInstall,
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
97
|
+
ie as parseFormData,
|
|
98
|
+
ee as passwordRule,
|
|
99
|
+
te as setFormComponentType,
|
|
100
|
+
pe as setInputComponent,
|
|
101
|
+
ne as setSelectComponent,
|
|
102
|
+
xe as stringifyFormData,
|
|
103
|
+
de as swiftFormItemConfig,
|
|
95
104
|
f as tableInstall,
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
We as timeCountDown,
|
|
106
|
+
Be as useActivated,
|
|
107
|
+
Ye as useActivatedEvent,
|
|
108
|
+
Qe as useActivatedExec,
|
|
109
|
+
ke as useFeelSize,
|
|
110
|
+
Je as useMenusDataDispatch,
|
|
111
|
+
Ze as useTimeout
|
|
103
112
|
};
|
package/es/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.form-item-tip[data-v-e889a0ed]{text-align:left;line-height:1.5;font-size:12px}.form-search_show[data-v-8896356d]{margin-bottom:10px}.form-search .btn-box[data-v-8896356d]{padding-left:20px}.form-search[data-v-8896356d] .el-col{padding-left:14px}.form-verify-image[data-v-a4baf877] .el-input__suffix-inner *{margin:0}.form-verify-image-suffix[data-v-a4baf877]{position:absolute;height:100%;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));top:50%;transform:translateY(-50%);overflow:hidden;cursor:pointer}.form-verify-image-suffix-main[data-v-a4baf877]{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f4f4f4}.confirm-dialog .content[data-v-2f0c870e]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 200px)}.confirm-dialog .btn[data-v-2f0c870e]{width:150px;height:40px;border-radius:4px}.confirm-dialog .main[data-v-2f0c870e]{position:relative;text-align:center}.confirm-dialog .main .close-box[data-v-2f0c870e]{position:absolute;top:0;right:0;cursor:pointer;z-index:2}.confirm-dialog .main .shim[data-v-2f0c870e]{position:relative;z-index:1}.confirm-dialog .main .shim .title[data-v-2f0c870e]{font-size:18px;font-weight:500}.confirm-dialog .main .shim .content[data-v-2f0c870e]{font-size:16px;margin-top:15px}.confirm-dialog .main .shim .footer[data-v-2f0c870e]{display:flex;justify-content:center;align-items:center;padding-top:5px}.confirm-dialog .main .shim .footer>.btn[data-v-2f0c870e]:not(:last-child){margin-right:30px}.confirm-dialog .main .shim .footer[reverse=true][data-v-2f0c870e]{flex-direction:row-reverse}.confirm-dialog .main .shim .footer[reverse=true]>.btn[data-v-2f0c870e]:not(:last-child){margin-right:0;margin-left:30px}.confirm-dialog .el-dialog__header,.confirm-dialog .el-dialog__body{padding:0;background-color:transparent}.table-toolbar[data-v-
|
|
1
|
+
.form-item-tip[data-v-e889a0ed]{text-align:left;line-height:1.5;font-size:12px}.form-search_show[data-v-8896356d]{margin-bottom:10px}.form-search .btn-box[data-v-8896356d]{padding-left:20px}.form-search[data-v-8896356d] .el-col{padding-left:14px}.form-verify-image[data-v-a4baf877] .el-input__suffix-inner *{margin:0}.form-verify-image-suffix[data-v-a4baf877]{position:absolute;height:100%;border-radius:var(--el-input-border-radius, var(--el-border-radius-base));top:50%;transform:translateY(-50%);overflow:hidden;cursor:pointer}.form-verify-image-suffix-main[data-v-a4baf877]{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f4f4f4}.auto-refresh[data-v-b734f05f]{display:flex;align-items:center;gap:8px}.auto-refresh-label[data-v-b734f05f]{font-size:13px;color:var(--el-text-color-regular)}.auto-refresh-interval[data-v-b734f05f]{width:80px}.confirm-dialog .content[data-v-2f0c870e]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 200px)}.confirm-dialog .btn[data-v-2f0c870e]{width:150px;height:40px;border-radius:4px}.confirm-dialog .main[data-v-2f0c870e]{position:relative;text-align:center}.confirm-dialog .main .close-box[data-v-2f0c870e]{position:absolute;top:0;right:0;cursor:pointer;z-index:2}.confirm-dialog .main .shim[data-v-2f0c870e]{position:relative;z-index:1}.confirm-dialog .main .shim .title[data-v-2f0c870e]{font-size:18px;font-weight:500}.confirm-dialog .main .shim .content[data-v-2f0c870e]{font-size:16px;margin-top:15px}.confirm-dialog .main .shim .footer[data-v-2f0c870e]{display:flex;justify-content:center;align-items:center;padding-top:5px}.confirm-dialog .main .shim .footer>.btn[data-v-2f0c870e]:not(:last-child){margin-right:30px}.confirm-dialog .main .shim .footer[reverse=true][data-v-2f0c870e]{flex-direction:row-reverse}.confirm-dialog .main .shim .footer[reverse=true]>.btn[data-v-2f0c870e]:not(:last-child){margin-right:0;margin-left:30px}.confirm-dialog .el-dialog__header,.confirm-dialog .el-dialog__body{padding:0;background-color:transparent}.table-toolbar[data-v-4a425d38]{display:flex;justify-content:flex-end;align-items:center;padding-bottom:8px}.table-toolbar-right[data-v-4a425d38]{display:flex;align-items:center;gap:8px}.table-toolbar-icon--rotating[data-v-4a425d38]{animation:table-toolbar-rotating-4a425d38 1s linear infinite}@keyframes table-toolbar-rotating-4a425d38{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-main-table[data-v-5944984b]{--el-table-header-bg-color: var(--v7c6ca44f)}.table-main-pagination[data-v-5944984b]{margin-top:10px;display:flex;justify-content:flex-end}.list-page[data-v-a578c778]{min-height:var(--bb4a2a8e)}.list-page-operation[data-v-a578c778]{margin-bottom:10px}.list-page[data-v-a578c778] .el-loading-mask{left:-10px;top:-10px;right:-10px;bottom:-10px}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@done-coding/admin-core",
|
|
3
|
-
"version": "0.1.0",
|
|
3
|
+
"version": "0.1.1-alpha.0",
|
|
4
4
|
"description": "后台管理核心",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "lib/index.cjs",
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"node": ">=18.0.0",
|
|
78
78
|
"pnpm": ">=9.0.0"
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "ee98121b978b17eb12a861b97ef26227d2315523"
|
|
81
81
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
declare function __VLS_template(): Partial<Record<`content-${string}`, (_: {
|
|
2
|
+
item: {
|
|
3
|
+
value: string;
|
|
4
|
+
title: string;
|
|
5
|
+
};
|
|
6
|
+
currentValue: string | undefined;
|
|
7
|
+
}) => any>>;
|
|
8
|
+
declare const __VLS_component: import('vue').DefineComponent<globalThis.ExtractPropTypes<{
|
|
9
|
+
modelValue: import('vue').PropType<string>;
|
|
10
|
+
list: {
|
|
11
|
+
type: globalThis.PropType<{
|
|
12
|
+
value: string;
|
|
13
|
+
title: string;
|
|
14
|
+
}[]>;
|
|
15
|
+
required: true;
|
|
16
|
+
};
|
|
17
|
+
replaceQuery: {
|
|
18
|
+
type: globalThis.PropType<boolean>;
|
|
19
|
+
default: boolean;
|
|
20
|
+
};
|
|
21
|
+
notNull: {
|
|
22
|
+
type: globalThis.PropType<boolean>;
|
|
23
|
+
default: boolean;
|
|
24
|
+
};
|
|
25
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
|
26
|
+
modelValue: import('vue').PropType<string>;
|
|
27
|
+
list: {
|
|
28
|
+
type: globalThis.PropType<{
|
|
29
|
+
value: string;
|
|
30
|
+
title: string;
|
|
31
|
+
}[]>;
|
|
32
|
+
required: true;
|
|
33
|
+
};
|
|
34
|
+
replaceQuery: {
|
|
35
|
+
type: globalThis.PropType<boolean>;
|
|
36
|
+
default: boolean;
|
|
37
|
+
};
|
|
38
|
+
notNull: {
|
|
39
|
+
type: globalThis.PropType<boolean>;
|
|
40
|
+
default: boolean;
|
|
41
|
+
};
|
|
42
|
+
}>> & Readonly<{}>, {
|
|
43
|
+
replaceQuery: boolean;
|
|
44
|
+
notNull: boolean;
|
|
45
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
46
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
47
|
+
export default _default;
|
|
48
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
49
|
+
new (): {
|
|
50
|
+
$slots: S;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DateTimeRangeSwiftOption } from './types';
|
|
2
|
+
|
|
3
|
+
declare const _default: import('vue').DefineComponent<globalThis.ExtractPropTypes<{
|
|
4
|
+
modelValue: import('vue').PropType<[Date, Date] | null>;
|
|
5
|
+
swiftOptions: {
|
|
6
|
+
type: globalThis.PropType<DateTimeRangeSwiftOption[]>;
|
|
7
|
+
default: () => never[];
|
|
8
|
+
};
|
|
9
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
|
10
|
+
modelValue: import('vue').PropType<[Date, Date] | null>;
|
|
11
|
+
swiftOptions: {
|
|
12
|
+
type: globalThis.PropType<DateTimeRangeSwiftOption[]>;
|
|
13
|
+
default: () => never[];
|
|
14
|
+
};
|
|
15
|
+
}>> & Readonly<{}>, {
|
|
16
|
+
swiftOptions: DateTimeRangeSwiftOption[];
|
|
17
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { OptionItem } from './types';
|
|
2
|
+
|
|
3
|
+
declare const _default: import('vue').DefineComponent<globalThis.ExtractPropTypes<{
|
|
4
|
+
modelValue: import('vue').PropType<OptionItem["value"]>;
|
|
5
|
+
list: {
|
|
6
|
+
type: globalThis.PropType<OptionItem[]>;
|
|
7
|
+
required: true;
|
|
8
|
+
};
|
|
9
|
+
notNull: {
|
|
10
|
+
type: globalThis.PropType<boolean>;
|
|
11
|
+
default: boolean;
|
|
12
|
+
};
|
|
13
|
+
mode: {
|
|
14
|
+
type: globalThis.PropType<"radio" | "buttonGroup">;
|
|
15
|
+
default: string;
|
|
16
|
+
};
|
|
17
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
|
18
|
+
modelValue: import('vue').PropType<OptionItem["value"]>;
|
|
19
|
+
list: {
|
|
20
|
+
type: globalThis.PropType<OptionItem[]>;
|
|
21
|
+
required: true;
|
|
22
|
+
};
|
|
23
|
+
notNull: {
|
|
24
|
+
type: globalThis.PropType<boolean>;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
27
|
+
mode: {
|
|
28
|
+
type: globalThis.PropType<"radio" | "buttonGroup">;
|
|
29
|
+
default: string;
|
|
30
|
+
};
|
|
31
|
+
}>> & Readonly<{}>, {
|
|
32
|
+
notNull: boolean;
|
|
33
|
+
mode: "radio" | "buttonGroup";
|
|
34
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
35
|
+
export default _default;
|
|
@@ -2,8 +2,8 @@ import { FormSearchInstance, FormSearchProps, FormSearchSearchType } from './typ
|
|
|
2
2
|
|
|
3
3
|
declare const _default: <PO extends Record<string, any>, SO extends Record<string, any>, SQ extends Record<string, any>>(__VLS_props: Awaited<typeof __VLS_setup>["props"], __VLS_ctx?: __VLS_Prettify<Pick<Awaited<typeof __VLS_setup>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
4
4
|
props: __VLS_Prettify<__VLS_OmitKeepDiscriminatedUnion<(Partial<{}> & Omit<{
|
|
5
|
-
readonly onHeightChange?: ((height: number) => any) | undefined;
|
|
6
5
|
readonly onSearch?: ((data: import('./types').ExcludeNeverProperties<import('./types').ExtractFormStringifyRawFromObject<PO, SO>> & SQ, type: FormSearchSearchType) => any) | undefined;
|
|
6
|
+
readonly onHeightChange?: ((height: number) => any) | undefined;
|
|
7
7
|
readonly onVisibleChange?: ((status: boolean) => any) | undefined;
|
|
8
8
|
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>) & FormSearchProps<PO, SO, SQ>, keyof import('vue').VNodeProps | keyof import('vue').AllowedComponentProps>> & {} & (import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps);
|
|
9
9
|
expose(exposed: import('vue').ShallowUnwrapRef<FormSearchInstance>): void;
|
|
@@ -2,12 +2,14 @@ import { Plugin } from 'vue';
|
|
|
2
2
|
import { default as FormMain } from './FormMain.vue';
|
|
3
3
|
import { default as FormSelect } from './FormSelect.vue';
|
|
4
4
|
import { default as FormRadioGroup } from './FormRadioGroup.vue';
|
|
5
|
+
import { default as FormRadio } from './FormRadio.vue';
|
|
5
6
|
import { default as FormTree } from './FormTree.vue';
|
|
6
7
|
import { default as FormSearch } from './FormSearch.vue';
|
|
7
8
|
import { default as FormVerifyImage } from './FormVerifyImage.vue';
|
|
8
9
|
import { default as FormVerifyCode } from './FormVerifyCode.vue';
|
|
10
|
+
import { default as FormDateTimeRange } from './FormDateTimeRange.vue';
|
|
9
11
|
|
|
10
12
|
export * from './types';
|
|
11
13
|
export * from './utils';
|
|
12
|
-
export { FormMain, FormSelect, FormSearch, FormRadioGroup, FormTree, FormVerifyImage, FormVerifyCode, };
|
|
14
|
+
export { FormMain, FormSelect, FormSearch, FormRadioGroup, FormRadio, FormTree, FormVerifyImage, FormVerifyCode, FormDateTimeRange, };
|
|
13
15
|
export declare const formInstall: Plugin;
|
|
@@ -169,6 +169,13 @@ export type FormItemLoadingChangeFunc = (data: {
|
|
|
169
169
|
key: string;
|
|
170
170
|
message?: string;
|
|
171
171
|
}) => void;
|
|
172
|
+
/** 选项类型 */
|
|
173
|
+
export interface OptionItem extends Record<string, any> {
|
|
174
|
+
label: string | number;
|
|
175
|
+
value: string | number;
|
|
176
|
+
disabled?: boolean;
|
|
177
|
+
[key: string]: any;
|
|
178
|
+
}
|
|
172
179
|
/** form tree 单项类型 */
|
|
173
180
|
export interface FormTreeItem {
|
|
174
181
|
id: string | number;
|
|
@@ -181,6 +188,11 @@ export interface FormTreeItem {
|
|
|
181
188
|
export type FormItemSubmitType = "blur" | "change" | "enter";
|
|
182
189
|
/** 表单搜索搜索类型 */
|
|
183
190
|
export type FormSearchSearchType = "search" | "reset" | FormItemSubmitType;
|
|
191
|
+
/** 日期时间范围选择器快捷选项 */
|
|
192
|
+
export interface DateTimeRangeSwiftOption {
|
|
193
|
+
key: string;
|
|
194
|
+
set: () => [Date, Date];
|
|
195
|
+
}
|
|
184
196
|
export type FormItemConfigSwiftOptionsCommon<PO extends Record<string, any>,
|
|
185
197
|
/** 需要格式化的模型 */
|
|
186
198
|
SO extends Record<string, any>> = Omit<FormItemConfig<PO, SO>, "rules"> & {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<globalThis.ExtractPropTypes<{
|
|
2
|
+
modelValue: import('vue').PropType<boolean>;
|
|
3
|
+
interval: import('vue').PropType<number>;
|
|
4
|
+
}>, {
|
|
5
|
+
trigger: () => void;
|
|
6
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
7
|
+
refresh: () => void;
|
|
8
|
+
}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
|
9
|
+
modelValue: import('vue').PropType<boolean>;
|
|
10
|
+
interval: import('vue').PropType<number>;
|
|
11
|
+
}>> & Readonly<{
|
|
12
|
+
onRefresh?: (() => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
14
|
+
export default _default;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Plugin } from 'vue';
|
|
2
2
|
import { default as TriggerAutoImport } from './TriggerAutoImport.vue';
|
|
3
|
+
import { default as AutoRefresh } from './AutoRefresh.vue';
|
|
3
4
|
|
|
4
|
-
export { TriggerAutoImport };
|
|
5
|
+
export { TriggerAutoImport, AutoRefresh };
|
|
5
6
|
export declare const miscInstall: Plugin;
|
|
@@ -72,8 +72,8 @@ declare const __VLS_component: import('vue').DefineComponent<globalThis.ExtractP
|
|
|
72
72
|
}>>> & Readonly<{
|
|
73
73
|
"onUpdate:show"?: ((value: boolean) => any) | undefined;
|
|
74
74
|
}>, {
|
|
75
|
-
width: number | string;
|
|
76
75
|
reverse: boolean;
|
|
76
|
+
width: number | string;
|
|
77
77
|
showClose: boolean;
|
|
78
78
|
cancelText: string | (() => VNode);
|
|
79
79
|
confirmText: string | (() => VNode);
|
|
@@ -18,8 +18,10 @@ SQ extends Record<string, any> = Record<string, any>> = BuildListParams<typeof A
|
|
|
18
18
|
*/
|
|
19
19
|
export type TableApiResult<T extends Record<string, any> = Record<string, any>> = UnionToIntersection<DotToObject<typeof APP_API_LIST_MODEL_KEY_CONFIG.LIST_KEY, T[]> | DotToObject<typeof APP_API_LIST_MODEL_KEY_CONFIG.TOTAL_KEY, number>>;
|
|
20
20
|
export interface TableMainInstance {
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
/** 如果关心是否结束(无论成功还是失败 甚至都未发起请求(比如某些状态机未满足)),那么可以await, 等待刷新调用给个结束 */
|
|
22
|
+
refresh: (silent?: boolean) => Promise<unknown>;
|
|
23
|
+
/** 如果关心是否结束(无论成功还是失败 甚至都未发起请求(比如某些状态机未满足)),那么可以await, 等待刷新调用给个结束 */
|
|
24
|
+
reload: (slice?: boolean) => Promise<unknown>;
|
|
23
25
|
getTableInstance: () => TableInstance | undefined;
|
|
24
26
|
}
|
|
25
27
|
/** toolbar 可配置功能列表 */
|
package/types/config/route.d.ts
CHANGED