@utogether/udp-core 2.0.0-beta.21 → 2.0.0-beta.22
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/dist/{403-DICzHwBh.js → 403-CAQ-gKzB.js} +1 -1
- package/dist/{404-CE2ilza7.js → 404-Bt741znF.js} +3 -3
- package/dist/{500-DqbOUpFQ.js → 500-D2jT-L5U.js} +1 -1
- package/dist/{AuthorityInfo-DD9xMuFM.js → AuthorityInfo-rrhMImq9.js} +1 -1
- package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-aH0WIYDG.js → AuthorityInfo.vue_vue_type_style_index_0_lang-t3TtTkNB.js} +1 -1
- package/dist/{Company-CZSbX6Cr.js → Company-OyHHgUiy.js} +3 -3
- package/dist/{CompanyPanel-DRz2RdEP.js → CompanyPanel-D-V5PE9g.js} +1 -1
- package/dist/{Department-B8HWfFX7.js → Department-Do3AcdWQ.js} +3 -3
- package/dist/{DepartmentPanel-DXfqf0O-.js → DepartmentPanel-DIchoE6d.js} +1 -1
- package/dist/{DesignPanel-DCemiRmN.js → DesignPanel-BsiGLb2w.js} +1 -1
- package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-BpI6lZ8h.js → DesignPanel.vue_vue_type_style_index_0_lang-BsVJx8eH.js} +2 -2
- package/dist/{DictView-CQZ_Z-_n.js → DictView-BKnZ5JxT.js} +1 -1
- package/dist/{InvOrganization-Nq87pxzj.js → InvOrganization-VDNOjLdb.js} +1 -1
- package/dist/{Org-DuqSCs0N.js → Org-C952e0fi.js} +1 -1
- package/dist/{Preview-Du_1OWoT.js → Preview-dC0AaoU7.js} +1 -1
- package/dist/{ReportDefine-QSidK9OU.js → ReportDefine-B0ZonkeO.js} +1 -1
- package/dist/{ReportDesign-BH7WbI4K.js → ReportDesign-DR5HJeO5.js} +2 -2
- package/dist/{ReportQuery-Br5UKVjQ.js → ReportQuery-BPFvznsJ.js} +1 -1
- package/dist/{ReportQueryFrom-Dg-DjcMi.js → ReportQueryFrom-CFlIzHWH.js} +1 -1
- package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-D3RWJEGQ.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-C3x30JMB.js} +1 -1
- package/dist/{ReportTemplate-BU3VS8FO.js → ReportTemplate-BRmUyR0F.js} +1 -1
- package/dist/{Role-CN18RZjI.js → Role-CSIjXuu-.js} +3 -3
- package/dist/{RoleAssign-DXloJByw.js → RoleAssign-C65mKTY3.js} +3 -3
- package/dist/{RolePanel-DGW5mWjQ.js → RolePanel-T2688066.js} +1 -1
- package/dist/{RolePanel-CZmXekBA.js → RolePanel-fXVapub8.js} +1 -1
- package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-DdvxxsMl.js → RolePanel.vue_vue_type_script_setup_true_lang-UcdeYYCU.js} +3 -3
- package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-DAtJnQI4.js → RolePanel.vue_vue_type_script_setup_true_lang-vCQj6JUM.js} +1 -1
- package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-DzZ9CZig.js → ScrollPanel.vue_vue_type_style_index_0_lang-BMX37C_H.js} +1 -1
- package/dist/{Staff-qG73AUgD.js → Staff-BTVwMPI4.js} +3 -3
- package/dist/{StaffInfo-COP7bCup.js → StaffInfo-DMTV0fkA.js} +1 -1
- package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-BityQi7n.js → StaffInfo.vue_vue_type_script_setup_true_lang-Di6Tay8o.js} +1 -1
- package/dist/{StaffPanel-CB7cBhYD.js → StaffPanel-2NlyN2og.js} +1 -1
- package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-DcPck6b8.js → StaffPanel.vue_vue_type_script_setup_true_lang-Dcsi9178.js} +2 -2
- package/dist/{SysUser-Dmfu9N7S.js → SysUser-BPn3kj57.js} +2 -2
- package/dist/{SysUserPanel-C2O-P9nB.js → SysUserPanel-DnQdgH26.js} +1 -1
- package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-DyF3Tmps.js → SysUserPanel.vue_vue_type_script_setup_true_lang-BWhieaeS.js} +1 -1
- package/dist/{SystemMenu-QZaHtPet.js → SystemMenu-BEH6JSE4.js} +2 -2
- package/dist/{UserInfo-CxP5kr_T.js → UserInfo-BbdolDWz.js} +1 -1
- package/dist/{UserInfo.vue_vue_type_style_index_0_lang-pe7FALf9.js → UserInfo.vue_vue_type_style_index_0_lang-BWb0ey1b.js} +1 -1
- package/dist/{childView-LCu_Df1q.js → childView-D8IQ-Eik.js} +1 -1
- package/dist/{childView-ohYBzZ0o.js → childView-DWjpPkND.js} +1 -1
- package/dist/{childView.vue_vue_type_style_index_0_lang-jbOoVsYJ.js → childView.vue_vue_type_style_index_0_lang-C5JuSstn.js} +1 -1
- package/dist/{childView.vue_vue_type_style_index_0_lang-DJletJUx.js → childView.vue_vue_type_style_index_0_lang-DBXMbacv.js} +1 -1
- package/dist/{code-rule-B9eZeeo8.js → code-rule-Ch6YNyCA.js} +1 -1
- package/dist/core.es.js +6 -6
- package/dist/{cron-task-Dp71tYa4.js → cron-task--_VgTkCZ.js} +1 -1
- package/dist/{frameView-02snW4T6.js → frameView-BIFR0oH0.js} +1 -1
- package/dist/{index-gL1hMTqJ.js → index-DPTWuyo7.js} +2670 -2071
- package/dist/{layout-home-DCrNKejz.js → layout-home-adtU8Yoh.js} +1 -1
- package/dist/{layoutView-Cu3YZ1zM.js → layoutView-qTmcDeoI.js} +554 -558
- package/dist/{log-in-C0oqCCsq.js → log-in-iYiw0kPB.js} +1 -1
- package/dist/{log-out-DsTsQcQT.js → log-out-H2Kni3Qk.js} +1 -1
- package/dist/{login-_IgWG4L5.js → login-C7Z-Xg5H.js} +14 -14
- package/dist/{lov-view-B4HvQI1i.js → lov-view-CyYhwwrT.js} +2 -2
- package/dist/{menuInfo-y_CFBZLU.js → menuInfo-BBUlFO0X.js} +1 -1
- package/dist/{menuInfo.vue_vue_type_style_index_0_lang-BNgwCBo4.js → menuInfo.vue_vue_type_style_index_0_lang-fUKEpjAA.js} +1 -1
- package/dist/{pda-app-DplNCuYS.js → pda-app-DU146LR1.js} +18 -18
- package/dist/{resource-C2fCs2gF.js → resource-fTfF9epk.js} +5 -5
- package/dist/{su-welcome-Q0C5LnI_.js → su-welcome-BRFxhduP.js} +3 -3
- package/dist/{sys-config-Bsb7aFcn.js → sys-config-Do7SIoN-.js} +13 -13
- package/dist/udp-core.css +1 -1
- package/dist/{useNav-D5jP-2AH.js → useNav-BRX5xftp.js} +20 -20
- package/package.json +1 -1
- package/src/api/index.ts +47 -33
- package/src/components/udp/content/index.vue +93 -88
- package/src/components/udp/grid/index.vue +546 -524
- package/src/components/udp/index.ts +8 -6
- package/src/components/udp/upload/index.vue +444 -0
- package/src/main.ts +111 -111
- package/types/global.d.ts +234 -232
- package/src/components/SuTable/SuTable.vue +0 -334
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { computed as o } from "vue";
|
|
2
|
-
import { storeToRefs as
|
|
3
|
-
import { useRouter as
|
|
4
|
-
import { useGlobal as
|
|
5
|
-
import { p as B, e as i, u as G, h as M, k as z, m,
|
|
2
|
+
import { storeToRefs as N } from "pinia";
|
|
3
|
+
import { useRouter as O } from "vue-router";
|
|
4
|
+
import { useGlobal as q, storageLocal as x, cookies as a } from "@utogether/utils";
|
|
5
|
+
import { p as B, e as i, u as G, h as M, k as z, m, B as K, C as p, c as l, l as U, D as j, z as F, A as J, E as W, G as Y, H as $, J as Q } from "./index-DPTWuyo7.js";
|
|
6
6
|
const V = "当前路由配置不正确,请检查配置";
|
|
7
7
|
function oe() {
|
|
8
|
-
const r = B(), g =
|
|
8
|
+
const r = B(), g = O().options.routes, { wholeMenus: f } = N(i()), h = o(() => ({
|
|
9
9
|
width: "100%",
|
|
10
10
|
display: "flex",
|
|
11
11
|
alignItems: "center",
|
|
@@ -14,11 +14,11 @@ function oe() {
|
|
|
14
14
|
})), v = o(() => (e, t) => ({
|
|
15
15
|
background: e === t ? G().epThemeColor : "",
|
|
16
16
|
color: e === t ? "#f4f4f5" : "#000"
|
|
17
|
-
})), w = o(() => (e, t) => e === t ? "" : "dark:hover:text-primary!"), c = o(() => M().getUserInfo || {}), S = o(() => c.value ? { marginRight: "10px" } : ""), k = o(() => !r.getSidebarStatus),
|
|
17
|
+
})), w = o(() => (e, t) => e === t ? "" : "dark:hover:text-primary!"), c = o(() => M().getUserInfo || {}), S = o(() => c.value ? { marginRight: "10px" } : ""), k = o(() => !r.getSidebarStatus), P = o(() => r.getDevice), { $storage: n } = q(), y = o(() => {
|
|
18
18
|
var e;
|
|
19
19
|
return (e = n == null ? void 0 : n.layout) == null ? void 0 : e.layout;
|
|
20
20
|
}), s = o(() => {
|
|
21
|
-
const e =
|
|
21
|
+
const e = x.getItem(z) || {};
|
|
22
22
|
return (e == null ? void 0 : e.title) || "U-DP";
|
|
23
23
|
});
|
|
24
24
|
function I() {
|
|
@@ -26,10 +26,10 @@ function oe() {
|
|
|
26
26
|
}
|
|
27
27
|
function T() {
|
|
28
28
|
var e, t;
|
|
29
|
-
|
|
29
|
+
$(), l().handleTags("equal", [...U]), a.remove(j), a.remove(F), a.remove(J), i().setWholeMenus([]), l().handleTags("splice", "", {
|
|
30
30
|
startIndex: 1,
|
|
31
31
|
length: (t = (e = l()) == null ? void 0 : e.multiTags) == null ? void 0 : t.length
|
|
32
|
-
}), i().clearAllCachePage(),
|
|
32
|
+
}), i().clearAllCachePage(), W(), Q(), p.push("/login");
|
|
33
33
|
}
|
|
34
34
|
function C() {
|
|
35
35
|
p.push("/welcome");
|
|
@@ -37,10 +37,10 @@ function oe() {
|
|
|
37
37
|
function D() {
|
|
38
38
|
m.emit("openPanel");
|
|
39
39
|
}
|
|
40
|
-
function
|
|
40
|
+
function H() {
|
|
41
41
|
r.toggleSideBar();
|
|
42
42
|
}
|
|
43
|
-
function
|
|
43
|
+
function E(e) {
|
|
44
44
|
e == null || e.handleResize();
|
|
45
45
|
}
|
|
46
46
|
function R(e) {
|
|
@@ -50,12 +50,12 @@ function oe() {
|
|
|
50
50
|
return t.test(u) ? e.path + "/" + u : u;
|
|
51
51
|
}
|
|
52
52
|
function b(e) {
|
|
53
|
-
f.value.length === 0 ||
|
|
53
|
+
f.value.length === 0 || A(e) || m.emit("changLayoutRoute", e);
|
|
54
54
|
}
|
|
55
|
-
function
|
|
56
|
-
return
|
|
55
|
+
function A(e) {
|
|
56
|
+
return Y.includes(e);
|
|
57
57
|
}
|
|
58
|
-
function
|
|
58
|
+
function L() {
|
|
59
59
|
const e = { name: "$input", props: { type: "password" } };
|
|
60
60
|
return [
|
|
61
61
|
{ field: "oldUserPwd", title: "message.udp.oldPwd", required: !0, itemRender: e },
|
|
@@ -65,8 +65,8 @@ function oe() {
|
|
|
65
65
|
}
|
|
66
66
|
return {
|
|
67
67
|
title: s,
|
|
68
|
-
device:
|
|
69
|
-
layout:
|
|
68
|
+
device: P,
|
|
69
|
+
layout: y,
|
|
70
70
|
logout: T,
|
|
71
71
|
routers: g,
|
|
72
72
|
$storage: n,
|
|
@@ -74,9 +74,9 @@ function oe() {
|
|
|
74
74
|
onPanel: D,
|
|
75
75
|
getDivStyle: h,
|
|
76
76
|
setDocumentTitle: I,
|
|
77
|
-
toggleSideBar:
|
|
77
|
+
toggleSideBar: H,
|
|
78
78
|
menuSelect: b,
|
|
79
|
-
handleResize:
|
|
79
|
+
handleResize: E,
|
|
80
80
|
resolvePath: R,
|
|
81
81
|
isCollapse: k,
|
|
82
82
|
appHook: r,
|
|
@@ -84,7 +84,7 @@ function oe() {
|
|
|
84
84
|
avatarsStyle: S,
|
|
85
85
|
getDropdownItemStyle: v,
|
|
86
86
|
getDropdownItemClass: w,
|
|
87
|
-
passwordItems:
|
|
87
|
+
passwordItems: L
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
export {
|
package/package.json
CHANGED
package/src/api/index.ts
CHANGED
|
@@ -1,33 +1,47 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author: wei.li
|
|
3
|
-
* @Date: 2021-11-17 16:24:43
|
|
4
|
-
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime:
|
|
6
|
-
* @Description: API封装
|
|
7
|
-
*/
|
|
8
|
-
import { http } from '@utogether/utils';
|
|
9
|
-
// import { http } from '../utils/udp/http';
|
|
10
|
-
import { getEnv } from '../config';
|
|
11
|
-
|
|
12
|
-
// 路由相关服务
|
|
13
|
-
export const getServiceApi = () => {
|
|
14
|
-
return {
|
|
15
|
-
post: (url: string, data: object, config?) => http.post(`${getBaseURL()}${url}`, data, config),
|
|
16
|
-
get: (url: string, params: object, config?) => http.get(`${getBaseURL()}${url}`, params, config),
|
|
17
|
-
put: (url: string, params: object) => http.put(`${getBaseURL()}${url}`, params),
|
|
18
|
-
delete: (url: string, params: object) => http.delete(`${getBaseURL()}${url}`, params)
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export const setRouter = router => {
|
|
23
|
-
http.setRouter(router);
|
|
24
|
-
};
|
|
25
|
-
export const setBaseUrl = router => {
|
|
26
|
-
http.setBaseUrl(router);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const origin = window.location.origin + '/gateway';
|
|
30
|
-
|
|
31
|
-
export const getBaseURL = () => {
|
|
32
|
-
return getEnv().VITE_BASE_URL === 'origin' ? origin : getEnv().VITE_BASE_URL;
|
|
33
|
-
};
|
|
1
|
+
/*
|
|
2
|
+
* @Author: wei.li
|
|
3
|
+
* @Date: 2021-11-17 16:24:43
|
|
4
|
+
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
+
* @LastEditTime: 2026-03-30 11:12:15
|
|
6
|
+
* @Description: API封装
|
|
7
|
+
*/
|
|
8
|
+
import { http } from '@utogether/utils';
|
|
9
|
+
// import { http } from '../utils/udp/http';
|
|
10
|
+
import { getEnv } from '../config';
|
|
11
|
+
|
|
12
|
+
// 路由相关服务
|
|
13
|
+
export const getServiceApi = () => {
|
|
14
|
+
return {
|
|
15
|
+
post: (url: string, data: object, config?) => http.post(`${getBaseURL()}${url}`, data, config),
|
|
16
|
+
get: (url: string, params: object, config?) => http.get(`${getBaseURL()}${url}`, params, config),
|
|
17
|
+
put: (url: string, params: object) => http.put(`${getBaseURL()}${url}`, params),
|
|
18
|
+
delete: (url: string, params: object) => http.delete(`${getBaseURL()}${url}`, params)
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const setRouter = router => {
|
|
23
|
+
http.setRouter(router);
|
|
24
|
+
};
|
|
25
|
+
export const setBaseUrl = router => {
|
|
26
|
+
http.setBaseUrl(router);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const origin = window.location.origin + '/gateway';
|
|
30
|
+
|
|
31
|
+
export const getBaseURL = () => {
|
|
32
|
+
return getEnv().VITE_BASE_URL === 'origin' ? origin : getEnv().VITE_BASE_URL;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const getDebugBaseURL = () => {
|
|
36
|
+
console.log('getDebugBaseURL', getDebugURL());
|
|
37
|
+
return {
|
|
38
|
+
post: (url: string, data: object, config?) => http.post(`${getDebugURL()}${url}`, data, config),
|
|
39
|
+
get: (url: string, params: object, config?) => http.get(`${getDebugURL()}${url}`, params, config),
|
|
40
|
+
put: (url: string, params: object) => http.put(`${getDebugURL()}${url}`, params),
|
|
41
|
+
delete: (url: string, params: object) => http.delete(`${getDebugURL()}${url}`, params)
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const getDebugURL = () => {
|
|
46
|
+
return getEnv().VITE_DEBUG_URL;
|
|
47
|
+
};
|
|
@@ -1,88 +1,93 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
* @Author: wei.li
|
|
3
|
-
* @Date: 2022-03-09 10:31:45
|
|
4
|
-
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime: 2025-11-20 10:30:15
|
|
6
|
-
* @Description: 详情统一容器
|
|
7
|
-
-->
|
|
8
|
-
<template>
|
|
9
|
-
<div class="ut-content">
|
|
10
|
-
<StampBadge
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</
|
|
29
|
-
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
1
|
+
<!--
|
|
2
|
+
* @Author: wei.li
|
|
3
|
+
* @Date: 2022-03-09 10:31:45
|
|
4
|
+
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
+
* @LastEditTime: 2025-11-20 10:30:15
|
|
6
|
+
* @Description: 详情统一容器
|
|
7
|
+
-->
|
|
8
|
+
<template>
|
|
9
|
+
<div class="ut-content">
|
|
10
|
+
<StampBadge
|
|
11
|
+
:color="stampOptions.color || 'success'"
|
|
12
|
+
:content="stampOptions.content"
|
|
13
|
+
:size="stampOptions.size"
|
|
14
|
+
:code="stampOptions.code"
|
|
15
|
+
/>
|
|
16
|
+
<div v-if="showTop && showContentop" class="ut-content-top" :class="title ? 'justify-between' : 'justify-end'">
|
|
17
|
+
<span v-if="title" class="font-black">{{ title }}</span>
|
|
18
|
+
<div class="ut-right-panel">
|
|
19
|
+
<slot name="header" />
|
|
20
|
+
<ut-button
|
|
21
|
+
v-if="showClose"
|
|
22
|
+
status="info"
|
|
23
|
+
:icon="$attrs.icon || 'ri-reply-line'"
|
|
24
|
+
:content="$attrs.content || 'goback'"
|
|
25
|
+
@tap="handleClose()"
|
|
26
|
+
/>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="ut-content-body">
|
|
30
|
+
<slot name="body" />
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
</template>
|
|
34
|
+
|
|
35
|
+
<script setup lang="ts">
|
|
36
|
+
import { ref } from 'vue';
|
|
37
|
+
import StampBadge from '../ut-stamp-badge/index.vue';
|
|
38
|
+
defineOptions({ name: 'UtContent' });
|
|
39
|
+
|
|
40
|
+
interface Props {
|
|
41
|
+
title?: string;
|
|
42
|
+
showTop?: boolean;
|
|
43
|
+
showClose?: boolean;
|
|
44
|
+
stampOptions?: IRecord;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
withDefaults(defineProps<Props>(), {
|
|
48
|
+
title: '',
|
|
49
|
+
showTop: true,
|
|
50
|
+
showClose: true
|
|
51
|
+
});
|
|
52
|
+
const showContentop = ref(window.top === window.self);
|
|
53
|
+
|
|
54
|
+
const emit = defineEmits<{ (e: 'close'): void }>();
|
|
55
|
+
|
|
56
|
+
const handleClose = () => {
|
|
57
|
+
emit('close');
|
|
58
|
+
};
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
<style lang="scss" scoped>
|
|
62
|
+
.ut-content {
|
|
63
|
+
position: relative;
|
|
64
|
+
display: flex;
|
|
65
|
+
flex-direction: column;
|
|
66
|
+
width: 100%;
|
|
67
|
+
height: 100%;
|
|
68
|
+
padding: 0 8px;
|
|
69
|
+
background-color: #f7f7f7;
|
|
70
|
+
|
|
71
|
+
&-top {
|
|
72
|
+
position: sticky;
|
|
73
|
+
top: 0;
|
|
74
|
+
left: 0;
|
|
75
|
+
z-index: 10;
|
|
76
|
+
display: flex;
|
|
77
|
+
align-items: center;
|
|
78
|
+
height: 36px;
|
|
79
|
+
padding: 2px 12px;
|
|
80
|
+
background-color: #fff;
|
|
81
|
+
border: 1px solid #e0ebf6;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&-body {
|
|
85
|
+
width: 100%;
|
|
86
|
+
height: 100%;
|
|
87
|
+
margin: 5px 0;
|
|
88
|
+
background-color: #fff;
|
|
89
|
+
border: 1px solid #e0ebf6;
|
|
90
|
+
border-radius: 5px;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
</style>
|