@done-coding/admin-core 0.3.1-alpha.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/bridge/index.mjs +83 -27
- package/es/components/app-layout/AppBody.vue.mjs +7 -0
- package/es/components/app-layout/AppBody.vue2.mjs +89 -0
- package/es/components/app-layout/AppBreadcrumb.vue.mjs +7 -0
- package/es/components/app-layout/AppBreadcrumb.vue2.mjs +58 -0
- package/es/components/app-layout/AppFooter.vue.mjs +7 -0
- package/es/components/app-layout/AppFooter.vue2.mjs +17 -0
- package/es/components/app-layout/AppHeader.vue.mjs +7 -0
- package/es/components/app-layout/AppHeader.vue2.mjs +99 -0
- package/es/components/app-layout/AppLayout.vue.mjs +7 -0
- package/es/components/app-layout/AppLayout.vue2.mjs +130 -0
- package/es/components/app-layout/AppPage.vue.mjs +7 -0
- package/es/components/app-layout/AppPage.vue2.mjs +39 -0
- package/es/components/app-layout/AppSidebar.vue.mjs +7 -0
- package/es/components/app-layout/AppSidebar.vue2.mjs +97 -0
- package/es/components/app-layout/index.mjs +32 -0
- package/es/components/display/ActionBtnGroup.vue.mjs +61 -0
- package/es/components/display/ActionBtnGroup.vue2.mjs +4 -0
- package/es/components/display/index.mjs +13 -11
- package/es/components/misc/ActionBtn.vue.mjs +84 -65
- package/es/components/misc/ActionConfirm.vue.mjs +1 -1
- package/es/components/misc/ActionConfirm.vue2.mjs +77 -71
- package/es/components/misc/SelectModule.vue.mjs +55 -0
- package/es/components/misc/SelectModule.vue2.mjs +4 -0
- package/es/components/modal/ConfirmModal.vue.mjs +1 -1
- package/es/components/modal/ConfirmModal.vue2.mjs +13 -12
- package/es/components/modal/modal-shelf-hierarchy.mjs +4 -6
- package/es/components/table/ToolbarButtons.vue.mjs +10 -40
- package/es/index.mjs +165 -132
- package/es/inject/key.mjs +15 -6
- package/es/router/guard/index.mjs +31 -0
- package/es/router/guard/login.mjs +4 -0
- package/es/router/guard/permission.mjs +4 -0
- package/es/store/app.mjs +103 -0
- package/es/store/router-permission.mjs +65 -0
- package/es/store/user.mjs +52 -52
- package/es/style.css +1 -1
- package/package.json +2 -2
- package/types/bridge/index.d.ts +180 -76
- package/types/components/app-layout/AppBody.vue.d.ts +45 -0
- package/types/components/app-layout/AppBreadcrumb.vue.d.ts +25 -0
- package/types/components/app-layout/AppFooter.vue.d.ts +2 -0
- package/types/components/app-layout/AppHeader.vue.d.ts +55 -0
- package/types/components/app-layout/AppLayout.vue.d.ts +76 -0
- package/types/components/app-layout/AppPage.vue.d.ts +54 -0
- package/types/components/app-layout/AppSidebar.vue.d.ts +51 -0
- package/types/components/app-layout/index.d.ts +27 -0
- package/types/components/app-layout/types.d.ts +43 -0
- package/types/components/display/ActionBtnGroup.vue.d.ts +16 -0
- package/types/components/display/TabsHeader.vue.d.ts +8 -8
- package/types/components/display/index.d.ts +10 -1
- package/types/components/display/types.d.ts +42 -1
- package/types/components/misc/ActionBtn.vue.d.ts +17 -23
- package/types/components/misc/ActionConfirm.vue.d.ts +56 -27
- package/types/components/misc/SelectModule.vue.d.ts +2 -0
- package/types/components/misc/index.d.ts +2 -1
- package/types/components/misc/types.d.ts +35 -26
- package/types/components/modal/ConfirmModal.vue.d.ts +19 -2
- package/types/components/modal/modal-shelf-hierarchy.d.ts +1 -1
- package/types/components/table/TableToolbar.vue.d.ts +8 -8
- package/types/components/table/types.d.ts +10 -12
- package/types/helpers/index.d.ts +10 -3
- package/types/index.d.ts +4 -1
- package/types/inject/key.d.ts +25 -0
- package/types/router/guard/index.d.ts +21 -0
- package/types/router/guard/login.d.ts +5 -0
- package/types/router/guard/permission.d.ts +5 -0
- package/types/router/guard/types.d.ts +15 -0
- package/types/router/index.d.ts +1 -0
- package/types/store/app.d.ts +149 -0
- package/types/store/index.d.ts +2 -0
- package/types/store/router-permission.d.ts +80 -0
- package/types/store/user.d.ts +11 -9
- /package/es/{helpers → bridge}/route.mjs +0 -0
- /package/es/{helpers → bridge}/state.mjs +0 -0
- /package/es/{helpers → bridge}/storage.mjs +0 -0
- /package/types/{helpers → bridge}/route.d.ts +0 -0
- /package/types/{helpers → bridge}/state.d.ts +0 -0
- /package/types/{helpers → bridge}/storage.d.ts +0 -0
package/es/store/app.mjs
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { defineStore as k } from "pinia";
|
|
2
|
+
import { useRoute as R } from "vue-router";
|
|
3
|
+
import { ref as n, computed as t, watch as U } from "vue";
|
|
4
|
+
function M(b) {
|
|
5
|
+
const { bridge: o } = b;
|
|
6
|
+
return k("APP", () => {
|
|
7
|
+
const a = o.APP_LAYOUT_HEADER_CONFIG.height, d = o.APP_LAYOUT_FOOTER_CONFIG.height, P = n(o.APP_BASE_INFO.name), s = n(!1), T = n(!1), c = n(!1), i = n(!1), S = t(() => c.value ? o.APP_LAYOUT_SIDEBAR_CONFIG.collapseWidth : o.APP_LAYOUT_SIDEBAR_CONFIG.width), C = R(), r = t(
|
|
8
|
+
() => s.value ? o.APP_THEME_CONFIG.dark : o.APP_THEME_CONFIG.light
|
|
9
|
+
), h = t(() => C.meta), l = t(() => h.value.layout), E = t(() => h.value.keepAlive), m = t(
|
|
10
|
+
() => {
|
|
11
|
+
var e;
|
|
12
|
+
return ((e = l.value) == null ? void 0 : e.header) ?? o.APP_ROUTER_META_DEFAULT_CONFIG.showHeader;
|
|
13
|
+
}
|
|
14
|
+
), g = t(
|
|
15
|
+
() => {
|
|
16
|
+
var e;
|
|
17
|
+
return ((e = l.value) == null ? void 0 : e.footer) ?? o.APP_ROUTER_META_DEFAULT_CONFIG.showFooter;
|
|
18
|
+
}
|
|
19
|
+
), v = t(
|
|
20
|
+
() => {
|
|
21
|
+
var e;
|
|
22
|
+
return (((e = l.value) == null ? void 0 : e.sidebar) ?? o.APP_ROUTER_META_DEFAULT_CONFIG.showSidebar) && i.value;
|
|
23
|
+
}
|
|
24
|
+
), O = t(
|
|
25
|
+
() => {
|
|
26
|
+
var e;
|
|
27
|
+
return ((e = l.value) == null ? void 0 : e.breadcrumb) ?? o.APP_ROUTER_META_DEFAULT_CONFIG.showBreadcrumb;
|
|
28
|
+
}
|
|
29
|
+
), _ = t(
|
|
30
|
+
() => {
|
|
31
|
+
var e;
|
|
32
|
+
return ((e = l.value) == null ? void 0 : e.bodyShimPadding) ?? o.APP_LAYOUT_BODY_CONFIG.shimPadding;
|
|
33
|
+
}
|
|
34
|
+
), u = t(() => ({
|
|
35
|
+
height: `${m.value ? a : 0}px`,
|
|
36
|
+
backgroundColor: r.value.bodyColor,
|
|
37
|
+
color: r.value.baseColor
|
|
38
|
+
})), p = t(() => ({
|
|
39
|
+
height: `${g.value ? d : 0}px`,
|
|
40
|
+
backgroundColor: r.value.bodyColor
|
|
41
|
+
})), A = t(() => ({
|
|
42
|
+
width: `${v.value ? S.value : 0}px`,
|
|
43
|
+
paddingTop: u.value.height,
|
|
44
|
+
backgroundColor: r.value.bodyColor,
|
|
45
|
+
color: r.value.baseColor
|
|
46
|
+
})), I = t(() => ({
|
|
47
|
+
paddingLeft: A.value.width,
|
|
48
|
+
paddingTop: u.value.height,
|
|
49
|
+
backgroundColor: r.value.bodyColor
|
|
50
|
+
})), F = t(() => ({
|
|
51
|
+
minHeight: `calc(100vh - ${u.value.height} - ${p.value.height})`,
|
|
52
|
+
padding: `${_.value}px`
|
|
53
|
+
})), f = (e) => {
|
|
54
|
+
c.value = e;
|
|
55
|
+
}, y = (e) => {
|
|
56
|
+
i.value = e;
|
|
57
|
+
}, N = (e) => {
|
|
58
|
+
s.value = e;
|
|
59
|
+
};
|
|
60
|
+
return U(
|
|
61
|
+
s,
|
|
62
|
+
() => {
|
|
63
|
+
const e = document.documentElement.className;
|
|
64
|
+
s.value ? document.documentElement.className = `${e} dark`.trim() : document.documentElement.className = e.replace(/\bdark\b/g, "").trim();
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
immediate: !0
|
|
68
|
+
}
|
|
69
|
+
), {
|
|
70
|
+
name: P,
|
|
71
|
+
isDarkTheme: t(() => s.value),
|
|
72
|
+
theme: r,
|
|
73
|
+
extractLevel1ToHeader: T,
|
|
74
|
+
showHeader: m,
|
|
75
|
+
showFooter: g,
|
|
76
|
+
showSidebar: v,
|
|
77
|
+
showBreadcrumb: O,
|
|
78
|
+
keepAlive: E,
|
|
79
|
+
headerStyle: u,
|
|
80
|
+
footerStyle: p,
|
|
81
|
+
sidebarStyle: A,
|
|
82
|
+
bodyStyle: I,
|
|
83
|
+
bodyShimPadding: _,
|
|
84
|
+
bodyShimStyle: F,
|
|
85
|
+
sidebarIsCollapse: t(() => c.value),
|
|
86
|
+
changeSidebarCollapseStatus: f,
|
|
87
|
+
changeSidebarHasMenusStatus: y,
|
|
88
|
+
changeIsDarkTheme: N
|
|
89
|
+
};
|
|
90
|
+
}, {
|
|
91
|
+
persist: {
|
|
92
|
+
storage: {
|
|
93
|
+
getItem: (a) => o.getStorage().getItem(a),
|
|
94
|
+
setItem: (a, d) => o.getStorage().setItem(a, d),
|
|
95
|
+
removeItem: (a) => o.getStorage().removeItem(a)
|
|
96
|
+
},
|
|
97
|
+
pick: ["isDarkTheme"]
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
export {
|
|
102
|
+
M as createAppStore
|
|
103
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { defineStore as T } from "pinia";
|
|
2
|
+
import { computed as a, watch as p } from "vue";
|
|
3
|
+
import { useRoute as U, useRouter as C } from "vue-router";
|
|
4
|
+
import { getRoutePermissionKey as N } from "../utils/router.mjs";
|
|
5
|
+
function F(h) {
|
|
6
|
+
const { bridge: u, useUserStore: l, paths: o } = h;
|
|
7
|
+
return T("ROUTE_PERMISSION", () => {
|
|
8
|
+
const t = U(), i = C(), s = l(), c = a(() => s.isLogin), f = (e) => {
|
|
9
|
+
var r;
|
|
10
|
+
if (o.loginNoCheck.includes(e.path))
|
|
11
|
+
return !1;
|
|
12
|
+
const n = e.meta;
|
|
13
|
+
return !!N({
|
|
14
|
+
path: e.path,
|
|
15
|
+
permission: n.permission
|
|
16
|
+
}) || (((r = n.permission) == null ? void 0 : r.login) ?? u.APP_ROUTER_META_DEFAULT_CONFIG.needLogin);
|
|
17
|
+
}, m = (e) => f(e) && !c.value, P = a(() => m(t)), g = (e) => o.authNoCheck.includes(e.path) ? !1 : !s.havePermissionByPath(e.path), d = a(() => c.value && g(t)), R = (e = t, n = "replace") => {
|
|
18
|
+
s.noApiLogout();
|
|
19
|
+
const { fullPath: r, path: L } = e;
|
|
20
|
+
L !== o.login && t.path !== o.login && i[n]({
|
|
21
|
+
path: o.login,
|
|
22
|
+
query: {
|
|
23
|
+
from: encodeURIComponent(r)
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
return u.register({ goToLogin: R }), p(
|
|
28
|
+
P,
|
|
29
|
+
(e) => {
|
|
30
|
+
e && i.replace({
|
|
31
|
+
path: o.login,
|
|
32
|
+
query: {
|
|
33
|
+
from: encodeURIComponent(t.fullPath)
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
immediate: !0
|
|
39
|
+
}
|
|
40
|
+
), p(
|
|
41
|
+
d,
|
|
42
|
+
(e) => {
|
|
43
|
+
if (e) {
|
|
44
|
+
const n = t.meta;
|
|
45
|
+
i.replace({
|
|
46
|
+
path: o.noPermission,
|
|
47
|
+
query: {
|
|
48
|
+
target: encodeURIComponent(t.fullPath),
|
|
49
|
+
title: encodeURIComponent(n.title || "")
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
immediate: !0
|
|
56
|
+
}
|
|
57
|
+
), {
|
|
58
|
+
checkNeedGoToAuthPage: g,
|
|
59
|
+
checkNeedGoToLoginPage: m
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
export {
|
|
64
|
+
F as createRoutePermissionStore
|
|
65
|
+
};
|
package/es/store/user.mjs
CHANGED
|
@@ -1,69 +1,67 @@
|
|
|
1
|
-
import { defineStore as
|
|
2
|
-
import { computed as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const d = O(t);
|
|
16
|
-
return M(d, e, f), d;
|
|
17
|
-
}
|
|
18
|
-
} : { get: e.get, set: e.set }, c = p(l.token), g = p(l.refreshToken), k = (e) => R(e, "permission"), P = o.getAppConfig().APP_CACHE_CONFIG.namespace, n = H(P)(
|
|
19
|
-
T(),
|
|
1
|
+
import { defineStore as U } from "pinia";
|
|
2
|
+
import { computed as n, watch as f } from "vue";
|
|
3
|
+
import p from "lodash/get";
|
|
4
|
+
import _ from "lodash/set";
|
|
5
|
+
import L from "lodash/cloneDeep";
|
|
6
|
+
import { flatRouteMetaResolveRaw as E } from "../utils/router.mjs";
|
|
7
|
+
function D(d) {
|
|
8
|
+
const { bridge: o } = d;
|
|
9
|
+
return U("USER", () => {
|
|
10
|
+
const k = o.getUserInfoInitFn(), c = (e, t, m) => {
|
|
11
|
+
const g = L(e);
|
|
12
|
+
return _(g, t, m), g;
|
|
13
|
+
}, S = (e) => p(e, "permission"), r = o.useState(
|
|
14
|
+
k(),
|
|
20
15
|
{
|
|
21
16
|
moduleKey: "USER_STORE",
|
|
22
17
|
debug: !1,
|
|
23
18
|
cache: !0
|
|
24
19
|
}
|
|
25
|
-
),
|
|
26
|
-
|
|
27
|
-
),
|
|
28
|
-
() =>
|
|
20
|
+
), s = n(() => r.state), a = n(
|
|
21
|
+
() => p(s.value, "token")
|
|
22
|
+
), u = n(() => !!a.value), v = n(
|
|
23
|
+
() => p(s.value, "refresh_token")
|
|
24
|
+
), h = n(() => S(s.value) || []), R = n(
|
|
25
|
+
() => o.generateRouteMetaRawTree(o.getRoutes(), {
|
|
29
26
|
// 配置权限且有权限 或 (未配置权限无子路由(即末端子路由) 或 子路由有权限)
|
|
30
|
-
filterFn: (e, t,
|
|
27
|
+
filterFn: (e, t, m) => e.checkPermission ? h.value.includes(e.permissionKey) : !m || t,
|
|
31
28
|
sortFn: (e, t) => e.menuSort - t.menuSort
|
|
32
29
|
})
|
|
33
|
-
),
|
|
34
|
-
|
|
35
|
-
},
|
|
30
|
+
), y = n(() => E(R.value)), P = n(() => y.value.map((e) => e.path)), l = () => {
|
|
31
|
+
r.resetState();
|
|
32
|
+
}, T = async () => {
|
|
36
33
|
try {
|
|
37
34
|
u.value && await o.logoutApi();
|
|
38
35
|
} catch (e) {
|
|
39
36
|
console.error("退出登录失败", e);
|
|
40
37
|
}
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
38
|
+
l();
|
|
39
|
+
}, I = async (e) => {
|
|
40
|
+
l();
|
|
41
|
+
const t = await o.loginApi(e);
|
|
42
|
+
r.updateState(t);
|
|
46
43
|
}, i = async () => {
|
|
47
|
-
const
|
|
48
|
-
c
|
|
44
|
+
const e = await o.getUserInfoApi(), t = c(
|
|
45
|
+
c(e, "token", a.value),
|
|
46
|
+
"refresh_token",
|
|
47
|
+
v.value
|
|
48
|
+
);
|
|
49
|
+
return r.updateState(t), e;
|
|
50
|
+
}, w = async () => {
|
|
51
|
+
const e = await o.refreshTokenApi(
|
|
49
52
|
v.value
|
|
50
53
|
);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const { data: e } = await o.refreshTokenApi({
|
|
54
|
-
Authorization: v.value
|
|
55
|
-
});
|
|
56
|
-
n.updateState(
|
|
57
|
-
c.set(r.value, e.token)
|
|
54
|
+
r.updateState(
|
|
55
|
+
c(s.value, "token", e)
|
|
58
56
|
);
|
|
59
57
|
};
|
|
60
58
|
o.register({
|
|
61
59
|
getToken: () => a.value,
|
|
62
|
-
refreshToken:
|
|
60
|
+
refreshToken: w,
|
|
63
61
|
refreshAuth: i
|
|
64
62
|
});
|
|
65
|
-
const
|
|
66
|
-
return
|
|
63
|
+
const A = (e) => P.value.includes(e), F = (e) => h.value.includes(e);
|
|
64
|
+
return f(
|
|
67
65
|
u,
|
|
68
66
|
(e, t) => {
|
|
69
67
|
e && (t ?? i());
|
|
@@ -71,21 +69,23 @@ function Q(S) {
|
|
|
71
69
|
{
|
|
72
70
|
immediate: !0
|
|
73
71
|
}
|
|
74
|
-
),
|
|
72
|
+
), f(u, (e, t) => {
|
|
73
|
+
e && !t && i();
|
|
74
|
+
}), f(a, (e, t) => {
|
|
75
75
|
e && t && i();
|
|
76
76
|
}), {
|
|
77
|
-
userInfo:
|
|
77
|
+
userInfo: s,
|
|
78
78
|
token: a,
|
|
79
79
|
isLogin: u,
|
|
80
|
-
login:
|
|
81
|
-
logout:
|
|
82
|
-
noApiLogout:
|
|
80
|
+
login: I,
|
|
81
|
+
logout: T,
|
|
82
|
+
noApiLogout: l,
|
|
83
83
|
getInfo: i,
|
|
84
|
-
havePermissionByPath:
|
|
85
|
-
havePermissionByKey:
|
|
84
|
+
havePermissionByPath: A,
|
|
85
|
+
havePermissionByKey: F
|
|
86
86
|
};
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
89
|
export {
|
|
90
|
-
|
|
90
|
+
D as createUserStore
|
|
91
91
|
};
|
package/es/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.form-item-tip[data-v-0dd66b41]{text-align:left;line-height:1.5;font-size:12px}.form-item-label-hide[data-v-0dd66b41] .el-form-item__label-wrap{display:none}.form-search_show[data-v-996aa2dc]{margin-bottom:10px}.form-search .btn-box[data-v-996aa2dc]{display:flex;align-items:center;gap:8px;justify-content:flex-end}.form-search .btn-box-expand-icon[data-v-996aa2dc]{margin-right:2px}.form-search[data-v-996aa2dc] .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}.tabs-main-bar[data-v-dbdd01cb]{position:relative;display:flex;align-items:center}.tabs-main-bar-item[data-v-dbdd01cb]{border:none;background:transparent;cursor:pointer;color:var(--el-text-color-regular);transition:background .2s,color .2s,box-shadow .2s}.tabs-main-bar-indicator[data-v-dbdd01cb]{position:absolute;left:0;background:var(--el-color-primary);transition:transform .2s,width .2s}.tabs-main-bar--l1 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:16px}.tabs-main-bar--l2 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:14px}.tabs-main-bar--l3 .tabs-main-bar-item[data-v-dbdd01cb],.tabs-main-bar--l4 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:12px}.tabs-main-bar--variant-card[data-v-dbdd01cb]{position:relative;overflow:hidden;gap:2px}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-dbdd01cb]{position:relative;padding:8px 20px;line-height:1.4;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-dbdd01cb]:hover:not(.tabs-main-bar-item_active){color:var(--el-color-primary)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary);border-color:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:before,.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:after{content:"";position:absolute;bottom:0;width:100vw;height:1px;background:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:before{right:100%}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:after{left:100%}.tabs-main-bar--variant-indicator .tabs-main-bar-item[data-v-dbdd01cb]{padding:8px 16px}.tabs-main-bar--variant-indicator .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator .tabs-main-bar-indicator[data-v-dbdd01cb]{bottom:0;height:2px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item[data-v-dbdd01cb]{padding:6px 10px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-indicator[data-v-dbdd01cb]{bottom:0;height:1px}.tabs-main-bar--variant-plain .tabs-main-bar-item[data-v-dbdd01cb]{padding:4px 8px}.tabs-main-bar--variant-plain .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary);font-weight:600}.
|
|
1
|
+
.form-item-tip[data-v-0dd66b41]{text-align:left;line-height:1.5;font-size:12px}.form-item-label-hide[data-v-0dd66b41] .el-form-item__label-wrap{display:none}.form-search_show[data-v-996aa2dc]{margin-bottom:10px}.form-search .btn-box[data-v-996aa2dc]{display:flex;align-items:center;gap:8px;justify-content:flex-end}.form-search .btn-box-expand-icon[data-v-996aa2dc]{margin-right:2px}.form-search[data-v-996aa2dc] .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}.tabs-main-bar[data-v-dbdd01cb]{position:relative;display:flex;align-items:center}.tabs-main-bar-item[data-v-dbdd01cb]{border:none;background:transparent;cursor:pointer;color:var(--el-text-color-regular);transition:background .2s,color .2s,box-shadow .2s}.tabs-main-bar-indicator[data-v-dbdd01cb]{position:absolute;left:0;background:var(--el-color-primary);transition:transform .2s,width .2s}.tabs-main-bar--l1 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:16px}.tabs-main-bar--l2 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:14px}.tabs-main-bar--l3 .tabs-main-bar-item[data-v-dbdd01cb],.tabs-main-bar--l4 .tabs-main-bar-item[data-v-dbdd01cb]{font-size:12px}.tabs-main-bar--variant-card[data-v-dbdd01cb]{position:relative;overflow:hidden;gap:2px}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-dbdd01cb]{position:relative;padding:8px 20px;line-height:1.4;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0}.tabs-main-bar--variant-card .tabs-main-bar-item[data-v-dbdd01cb]:hover:not(.tabs-main-bar-item_active){color:var(--el-color-primary)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary);border-color:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:before,.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:after{content:"";position:absolute;bottom:0;width:100vw;height:1px;background:var(--el-border-color-light)}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:before{right:100%}.tabs-main-bar--variant-card .tabs-main-bar-item_active[data-v-dbdd01cb]:after{left:100%}.tabs-main-bar--variant-indicator .tabs-main-bar-item[data-v-dbdd01cb]{padding:8px 16px}.tabs-main-bar--variant-indicator .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator .tabs-main-bar-indicator[data-v-dbdd01cb]{bottom:0;height:2px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item[data-v-dbdd01cb]{padding:6px 10px}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary)}.tabs-main-bar--variant-indicator-compact .tabs-main-bar-indicator[data-v-dbdd01cb]{bottom:0;height:1px}.tabs-main-bar--variant-plain .tabs-main-bar-item[data-v-dbdd01cb]{padding:4px 8px}.tabs-main-bar--variant-plain .tabs-main-bar-item_active[data-v-dbdd01cb]{color:var(--el-color-primary);font-weight:600}.confirm-dialog .content[data-v-dfc2f447]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 200px)}.confirm-dialog .btn[data-v-dfc2f447]{width:150px;height:40px;border-radius:4px}.confirm-dialog .main[data-v-dfc2f447]{position:relative;text-align:center}.confirm-dialog .main .close-box[data-v-dfc2f447]{position:absolute;top:0;right:0;cursor:pointer;z-index:2}.confirm-dialog .main .shim[data-v-dfc2f447]{position:relative;z-index:1}.confirm-dialog .main .shim .title[data-v-dfc2f447]{font-size:18px;font-weight:500}.confirm-dialog .main .shim .content[data-v-dfc2f447]{font-size:16px;margin-top:15px}.confirm-dialog .main .shim .footer[data-v-dfc2f447]{display:flex;justify-content:center;align-items:center;padding-top:5px}.confirm-dialog .main .shim .footer>.btn[data-v-dfc2f447]:not(:last-child){margin-right:30px}.confirm-dialog .main .shim .footer[reverse=true][data-v-dfc2f447]{flex-direction:row-reverse}.confirm-dialog .main .shim .footer[reverse=true]>.btn[data-v-dfc2f447]:not(:last-child){margin-right:0;margin-left:30px}.confirm-dialog .el-dialog__header,.confirm-dialog .el-dialog__body{padding:0;background-color:transparent}.action-confirm__title[data-v-5bb407c9]{font-weight:600;margin-bottom:6px}.action-confirm__content[data-v-5bb407c9]{margin-bottom:12px;color:var(--el-text-color-regular)}.action-confirm__actions[data-v-5bb407c9]{display:flex;justify-content:flex-end;gap:8px}.auto-refresh[data-v-9d78ca06]{display:flex;align-items:center;gap:8px}.auto-refresh-label[data-v-9d78ca06]{font-size:13px;color:var(--el-text-color-regular)}.auto-refresh-interval[data-v-9d78ca06]{width:80px}.table-toolbar[data-v-90cd7b54]{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;gap:20px}.table-toolbar-left[data-v-90cd7b54],.table-toolbar-right[data-v-90cd7b54]{display:flex;align-items:center;gap:10px}.table-toolbar-icon--rotating[data-v-90cd7b54]{animation:table-toolbar-rotating-90cd7b54 1s linear infinite}@keyframes table-toolbar-rotating-90cd7b54{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.data-list-view[data-v-4c7d7547]{width:100%}.table-main-table[data-v-feb76359]{--el-table-header-bg-color: var(--v028010cb)}.table-main-pagination[data-v-feb76359]{margin-top:10px;display:flex;justify-content:flex-end}.list-page[data-v-d8d188e5]{min-height:var(--v990abd1c)}.list-page-header[data-v-d8d188e5],.list-page-operation[data-v-d8d188e5]{margin-bottom:10px}.list-page[data-v-d8d188e5] .el-loading-mask{left:-10px;top:-10px;right:-10px;bottom:-10px}.panel-edit-switch[data-v-ea2a07d5]{position:relative}.panel-edit-switch-edit-btn[data-v-ea2a07d5]{position:absolute;top:0;right:0;z-index:1}.panel-edit-switch-actions[data-v-ea2a07d5]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.app-breadcrumb[data-v-39d4ee00]{display:flex;align-items:center;justify-content:flex-start;background-color:#fff}.app-body[data-v-305d730c]{transition-duration:.3s;transition-property:padding;transition-timing-function:linear;min-height:100vh}.app-body-shim[data-v-305d730c]{width:100%;--app-viewport-max-height: var(--v078aa5b4)}.app-header[data-v-55cf55e9]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;position:fixed;left:0;top:0;width:100%;box-shadow:5px 0 5px #0000001a;z-index:1}.app-header-module[data-v-55cf55e9]{display:flex;flex:1;height:100%;overflow-x:auto}.app-header-module-item[data-v-55cf55e9]{display:flex;justify-content:center;align-items:center;padding:0 20px;white-space:nowrap;height:100%;color:var(--v4db2d700)}.app-header-module-item[data-v-55cf55e9]:hover,.app-header-module-item_active[data-v-55cf55e9]{color:var(--v23ceefd3)}.app-header-module-item_active[data-v-55cf55e9]{position:relative}.app-header-module-item_active[data-v-55cf55e9]:before{content:"";position:absolute;left:50%;top:0;width:100%;height:3px;background-color:var(--v23ceefd3);transform:translate(-50%)}.app-header-shim[data-v-55cf55e9]{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:18px;font-weight:700}.app-footer[data-v-393d9768]{transition-duration:.3s;transition-property:height;transition-timing-function:linear;overflow:hidden;width:100%;box-shadow:-5px 0 5px #0000001a}.app-footer-shim[data-v-393d9768]{width:100%;height:100%;padding:0 20px}.app-sidebar[data-v-37ff5e0c]{transition-duration:.3s;transition-property:width;transition-timing-function:linear;position:fixed;left:0;top:0;height:100%;box-shadow:0 5px 5px #0000001a;overflow:visible;z-index:var(--ce9ef212)}.app-sidebar-top[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:0;overflow:hidden}.app-sidebar-bottom[data-v-37ff5e0c]{position:absolute;left:0;right:0;bottom:0;overflow:hidden}.app-sidebar-shim[data-v-37ff5e0c]{position:absolute;left:0;right:0;top:var(--v309db2c2);bottom:var(--v2189b8a1);overflow-x:hidden;overflow-y:auto;--el-menu-border-color: transparent;-webkit-user-select:none;user-select:none}.app-sidebar-toggle[data-v-37ff5e0c]{position:absolute;left:100%;top:50%;transform:translate(-50%,-50%);cursor:pointer;width:22px;height:22px;border-radius:50%;background-color:var(--v65908f82);color:var(--v42a24063);border:1px solid var(--v42a24063);box-shadow:0 1px 2px #0000000f;display:flex;align-items:center;justify-content:center;font-size:12px;z-index:1;isolation:isolate;transition:color .3s,border-color .3s,box-shadow .3s}.app-sidebar-toggle[data-v-37ff5e0c]:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background-color:var(--v42a24063);opacity:.18;z-index:-1;pointer-events:none;transition:opacity .3s,inset .3s}.app-sidebar-toggle[data-v-37ff5e0c]:active,.app-sidebar-toggle[data-v-37ff5e0c]:focus,.app-sidebar-toggle[data-v-37ff5e0c]:hover{box-shadow:0 2px 6px #0000001f}.app-sidebar-toggle[data-v-37ff5e0c]:active:before,.app-sidebar-toggle[data-v-37ff5e0c]:focus:before,.app-sidebar-toggle[data-v-37ff5e0c]:hover:before{opacity:.32;top:-5px;right:-5px;bottom:-5px;left:-5px}.app-sidebar-toggle-icon[data-v-37ff5e0c]{transition:transform .3s}.app-layout[data-v-2952b5fa]{position:relative}.app-layout_noLogin[data-v-2952b5fa] .app-body,.app-layout_noLogin[data-v-2952b5fa] .app-sidebar,.app-layout_noLogin[data-v-2952b5fa] .app-header,.app-layout_noLogin[data-v-2952b5fa] .app-footer{transition:none!important}.app-page-shim[data-v-fda19616]{--app-viewport-max-height: var(--v54888f0e)}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@done-coding/admin-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "后台管理核心",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "lib/index.cjs",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"node": ">=18.0.0",
|
|
79
79
|
"pnpm": ">=9.0.0"
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "ce9b0f2434afdce02e890646450208c02345951d"
|
|
82
82
|
}
|