@cmstops/pro-compo 0.1.12 → 0.1.13
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/index.css +63 -16
- package/dist/index.min.css +1 -1
- package/es/index.css +63 -16
- package/es/mediaFilter/components/DocFilter.js +17 -12
- package/es/mediaFilter/index.d.ts +1 -0
- package/es/mediaFilter/script/types.d.ts +16 -0
- package/es/mediaFilter/style/index.css +16 -16
- package/es/mediaFilter/style/index.less +94 -92
- package/es/userDirector/component.js +185 -70
- package/es/userDirector/components/userTree.d.ts +0 -0
- package/es/userDirector/components/userTree.js +76 -0
- package/es/userDirector/style/index.css +47 -0
- package/es/userDirector/style/index.less +50 -0
- package/lib/index.css +63 -16
- package/lib/mediaFilter/components/DocFilter.js +17 -12
- package/lib/mediaFilter/style/index.css +16 -16
- package/lib/mediaFilter/style/index.less +94 -92
- package/lib/userDirector/component.js +182 -67
- package/lib/userDirector/components/userTree.js +77 -0
- package/lib/userDirector/style/index.css +47 -0
- package/lib/userDirector/style/index.less +50 -0
- package/package.json +1 -1
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var vue = require("vue");
|
|
3
3
|
var webVue = require("@arco-design/web-vue");
|
|
4
|
+
var icon = require("@arco-design/web-vue/es/icon");
|
|
4
5
|
var config = require("../config.js");
|
|
6
|
+
var userTree = require("./components/userTree.js");
|
|
5
7
|
var api = require("./script/api.js");
|
|
6
8
|
const _hoisted_1 = { class: "user-select-content" };
|
|
7
9
|
const _hoisted_2 = { class: "user-select-left" };
|
|
8
|
-
const _hoisted_3 =
|
|
10
|
+
const _hoisted_3 = { class: "user-select-right" };
|
|
11
|
+
const _hoisted_4 = { class: "user-select-right-title" };
|
|
12
|
+
const _hoisted_5 = { class: "left" };
|
|
13
|
+
const _hoisted_6 = { class: "alias" };
|
|
14
|
+
const _hoisted_7 = { class: "action" };
|
|
9
15
|
const _sfc_main = vue.defineComponent({
|
|
10
16
|
...{ name: "userDirector" },
|
|
11
17
|
__name: "component",
|
|
12
18
|
props: {
|
|
13
19
|
BASE_API: {},
|
|
14
20
|
repositoryId: {},
|
|
21
|
+
defaultData: {},
|
|
15
22
|
visible: { type: Boolean },
|
|
16
23
|
title: {}
|
|
17
24
|
},
|
|
@@ -20,47 +27,58 @@ const _sfc_main = vue.defineComponent({
|
|
|
20
27
|
const props = __props;
|
|
21
28
|
const BASE_API = props.BASE_API || config.DEFAULT_BASE_API;
|
|
22
29
|
const emit = __emit;
|
|
23
|
-
const loadMore = () => {
|
|
24
|
-
};
|
|
25
30
|
const RoleTreeData = vue.ref([]);
|
|
26
31
|
const DepartTreeData = vue.ref([]);
|
|
27
|
-
const
|
|
28
|
-
children: "children",
|
|
29
|
-
title: "alias",
|
|
30
|
-
key: "node_key"
|
|
31
|
-
};
|
|
32
|
+
const userSelectedList = vue.ref([]);
|
|
32
33
|
const selectRoleNode = (selectedKeys, data) => {
|
|
33
34
|
console.log("selectRoleNode", data);
|
|
34
35
|
};
|
|
36
|
+
const clearUserSelectedList = () => {
|
|
37
|
+
userSelectedList.value = [];
|
|
38
|
+
};
|
|
39
|
+
const loadRoleAllUser = async (id) => {
|
|
40
|
+
const res = await api.getRoleAllUser(BASE_API, { id });
|
|
41
|
+
if (res.code === 0) {
|
|
42
|
+
return res.message.map((item) => {
|
|
43
|
+
item.node_key = `role_${id}_${item.uid}`;
|
|
44
|
+
item.isUser = true;
|
|
45
|
+
item.isLeaf = true;
|
|
46
|
+
return item;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return [];
|
|
50
|
+
};
|
|
35
51
|
const expandRoleNode = async (selectedKeys, data) => {
|
|
36
52
|
if (data.node.isRole) {
|
|
37
|
-
|
|
38
|
-
if (res.code === 0) {
|
|
39
|
-
data.node.children = res.message.map((item) => {
|
|
40
|
-
item.node_key = `role_${data.node.id}_${item.uid}`;
|
|
41
|
-
item.isUser = true;
|
|
42
|
-
item.isLeaf = true;
|
|
43
|
-
return item;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
53
|
+
data.node.children = await loadRoleAllUser(data.node.id);
|
|
46
54
|
}
|
|
47
55
|
};
|
|
48
56
|
const selectDepartNode = (selectedKeys, data) => {
|
|
49
57
|
console.log("selectDepartNode", data);
|
|
50
58
|
};
|
|
59
|
+
const loadDepartUserList = async (id) => {
|
|
60
|
+
const res = await api.getDepartUserList(BASE_API, { pid: id });
|
|
61
|
+
if (res.code === 0) {
|
|
62
|
+
return res.message.map((item) => {
|
|
63
|
+
item.node_key = `depart_${id}_${item.uid}`;
|
|
64
|
+
item.isUser = true;
|
|
65
|
+
item.isLeaf = true;
|
|
66
|
+
return item;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return [];
|
|
70
|
+
};
|
|
51
71
|
const expandDepartNode = async (selectedKeys, data) => {
|
|
52
72
|
if (data.node.isDepart) {
|
|
53
|
-
|
|
54
|
-
if (res.code === 0) {
|
|
55
|
-
data.node.children = res.message.map((item) => {
|
|
56
|
-
item.node_key = `depart_${data.node.id}_${item.uid}`;
|
|
57
|
-
item.isUser = true;
|
|
58
|
-
item.isLeaf = true;
|
|
59
|
-
return item;
|
|
60
|
-
});
|
|
61
|
-
}
|
|
73
|
+
data.node.children = await loadDepartUserList(data.node.id);
|
|
62
74
|
}
|
|
63
75
|
};
|
|
76
|
+
const collapseStyle = vue.ref({
|
|
77
|
+
paddingLfet: "0px",
|
|
78
|
+
paddingRigth: "0px",
|
|
79
|
+
border: "none",
|
|
80
|
+
background: "white"
|
|
81
|
+
});
|
|
64
82
|
const collapseChange = async (keys) => {
|
|
65
83
|
if (keys.includes("Role")) {
|
|
66
84
|
api.getRepoRoleList(BASE_API, { repoID: props.repositoryId }).then((res) => {
|
|
@@ -86,22 +104,56 @@ const _sfc_main = vue.defineComponent({
|
|
|
86
104
|
}
|
|
87
105
|
};
|
|
88
106
|
const allUserList = vue.ref([]);
|
|
89
|
-
const completeUser = vue.ref();
|
|
90
107
|
const getUserList = async () => {
|
|
91
108
|
const res = await api.getRepoUserList(BASE_API, { id: props.repositoryId });
|
|
92
109
|
if (res.code === 0) {
|
|
93
|
-
allUserList.value = res.message
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
110
|
+
allUserList.value = res.message;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
const searchUserChange = (value) => {
|
|
114
|
+
const target = allUserList.value.find((item) => item.uid === value);
|
|
115
|
+
if (target) {
|
|
116
|
+
addUserSelectedList(target);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
const userSelectedListFilter = (user) => {
|
|
120
|
+
const result = { ...user };
|
|
121
|
+
const userList = [].concat(userSelectedList.value);
|
|
122
|
+
for (const i of userList) {
|
|
123
|
+
if (result.id === i.id) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return result;
|
|
128
|
+
};
|
|
129
|
+
const addItem = async (nodeData) => {
|
|
130
|
+
if (nodeData.isUser) {
|
|
131
|
+
addUserSelectedList(nodeData);
|
|
132
|
+
}
|
|
133
|
+
if (nodeData.isRole) {
|
|
134
|
+
const users = await loadRoleAllUser(nodeData.id);
|
|
135
|
+
users.forEach((user) => {
|
|
136
|
+
addUserSelectedList(user, false);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
if (nodeData.isDepart) {
|
|
140
|
+
const users = await loadDepartUserList(nodeData.id);
|
|
141
|
+
users.forEach((user) => {
|
|
142
|
+
addUserSelectedList(user, false);
|
|
97
143
|
});
|
|
98
144
|
}
|
|
99
145
|
};
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
146
|
+
const addUserSelectedList = (user, tip = true) => {
|
|
147
|
+
user = userSelectedListFilter(user);
|
|
148
|
+
if (user) {
|
|
149
|
+
user.rtype = "user";
|
|
150
|
+
userSelectedList.value.push(user);
|
|
151
|
+
} else if (tip) {
|
|
152
|
+
webVue.Message.warning("\u6210\u5458\u5DF2\u5B58\u5728");
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
const removeUserSelected = (index) => {
|
|
156
|
+
userSelectedList.value.splice(index, 1);
|
|
105
157
|
};
|
|
106
158
|
vue.onMounted(() => {
|
|
107
159
|
getUserList();
|
|
@@ -126,10 +178,10 @@ const _sfc_main = vue.defineComponent({
|
|
|
126
178
|
return (_ctx, _cache) => {
|
|
127
179
|
return vue.openBlock(), vue.createBlock(vue.unref(webVue.Modal), {
|
|
128
180
|
visible: visible.value,
|
|
129
|
-
width: "
|
|
181
|
+
width: "700px",
|
|
130
182
|
"mask-closable": false,
|
|
131
|
-
footer: false,
|
|
132
183
|
"title-align": "start",
|
|
184
|
+
"body-class": "user-director-modal-body",
|
|
133
185
|
"unmount-on-close": "",
|
|
134
186
|
onOk: handleOk,
|
|
135
187
|
onCancel: handleCancel
|
|
@@ -140,57 +192,120 @@ const _sfc_main = vue.defineComponent({
|
|
|
140
192
|
default: vue.withCtx(() => [
|
|
141
193
|
vue.createElementVNode("div", _hoisted_1, [
|
|
142
194
|
vue.createElementVNode("div", _hoisted_2, [
|
|
143
|
-
vue.createVNode(vue.unref(webVue.
|
|
144
|
-
modelValue: completeUser.value,
|
|
145
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => completeUser.value = $event),
|
|
146
|
-
data: allUserList.value,
|
|
195
|
+
vue.createVNode(vue.unref(webVue.Select), {
|
|
147
196
|
placeholder: "\u641C\u7D22\u59D3\u540D\u3001\u7528\u6237\u540D",
|
|
148
|
-
|
|
149
|
-
|
|
197
|
+
"allow-search": "",
|
|
198
|
+
size: "large",
|
|
199
|
+
onChange: searchUserChange
|
|
200
|
+
}, {
|
|
201
|
+
default: vue.withCtx(() => [
|
|
202
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(allUserList.value, (item) => {
|
|
203
|
+
return vue.openBlock(), vue.createBlock(vue.unref(webVue.Option), {
|
|
204
|
+
key: item.uid,
|
|
205
|
+
value: item.uid,
|
|
206
|
+
label: item.alias
|
|
207
|
+
}, null, 8, ["value", "label"]);
|
|
208
|
+
}), 128))
|
|
209
|
+
]),
|
|
210
|
+
_: 1
|
|
211
|
+
}),
|
|
150
212
|
vue.createVNode(vue.unref(webVue.Collapse), {
|
|
151
213
|
accordion: "",
|
|
214
|
+
bordered: false,
|
|
152
215
|
onChange: collapseChange
|
|
153
216
|
}, {
|
|
154
217
|
default: vue.withCtx(() => [
|
|
155
218
|
vue.createVNode(vue.unref(webVue.CollapseItem), {
|
|
156
219
|
key: "Role",
|
|
157
|
-
header: "\u6309\u89D2\u8272\u9009\u62E9"
|
|
220
|
+
header: "\u6309\u89D2\u8272\u9009\u62E9",
|
|
221
|
+
style: vue.normalizeStyle(collapseStyle.value)
|
|
158
222
|
}, {
|
|
159
223
|
default: vue.withCtx(() => [
|
|
160
|
-
vue.createVNode(vue.unref(webVue.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
224
|
+
vue.createVNode(vue.unref(webVue.Scrollbar), { style: { "height": "40vh", "overflow": "auto" } }, {
|
|
225
|
+
default: vue.withCtx(() => [
|
|
226
|
+
vue.createVNode(userTree, {
|
|
227
|
+
list: RoleTreeData.value,
|
|
228
|
+
onSelect: selectRoleNode,
|
|
229
|
+
onExpand: expandRoleNode,
|
|
230
|
+
onAdd: addItem
|
|
231
|
+
}, null, 8, ["list"])
|
|
232
|
+
]),
|
|
233
|
+
_: 1
|
|
234
|
+
})
|
|
168
235
|
]),
|
|
169
236
|
_: 1
|
|
170
|
-
}),
|
|
237
|
+
}, 8, ["style"]),
|
|
171
238
|
vue.createVNode(vue.unref(webVue.CollapseItem), {
|
|
172
239
|
key: "Depart",
|
|
173
|
-
header: "\u6309\u7EC4\u7EC7\u67B6\u6784\u9009\u62E9"
|
|
240
|
+
header: "\u6309\u7EC4\u7EC7\u67B6\u6784\u9009\u62E9",
|
|
241
|
+
style: vue.normalizeStyle(collapseStyle.value)
|
|
174
242
|
}, {
|
|
175
243
|
default: vue.withCtx(() => [
|
|
176
|
-
vue.createVNode(vue.unref(webVue.
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
244
|
+
vue.createVNode(vue.unref(webVue.Scrollbar), { style: { "height": "40vh", "overflow": "auto" } }, {
|
|
245
|
+
default: vue.withCtx(() => [
|
|
246
|
+
vue.createVNode(userTree, {
|
|
247
|
+
list: DepartTreeData.value,
|
|
248
|
+
onSelect: selectDepartNode,
|
|
249
|
+
onExpand: expandDepartNode,
|
|
250
|
+
onAdd: addItem
|
|
251
|
+
}, null, 8, ["list"])
|
|
252
|
+
]),
|
|
253
|
+
_: 1
|
|
254
|
+
})
|
|
186
255
|
]),
|
|
187
256
|
_: 1
|
|
188
|
-
})
|
|
257
|
+
}, 8, ["style"])
|
|
189
258
|
]),
|
|
190
259
|
_: 1
|
|
191
260
|
})
|
|
192
261
|
]),
|
|
193
|
-
_hoisted_3
|
|
262
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
263
|
+
vue.createElementVNode("div", _hoisted_4, [
|
|
264
|
+
vue.createElementVNode("span", null, "\u5DF2\u9009\u6210\u5458(" + vue.toDisplayString(userSelectedList.value.length) + "\u4EBA)", 1),
|
|
265
|
+
vue.createVNode(vue.unref(webVue.Button), {
|
|
266
|
+
type: "text",
|
|
267
|
+
size: "mini",
|
|
268
|
+
onClick: clearUserSelectedList
|
|
269
|
+
}, {
|
|
270
|
+
default: vue.withCtx(() => [
|
|
271
|
+
vue.createTextVNode("\u5168\u90E8\u6E05\u9664")
|
|
272
|
+
]),
|
|
273
|
+
_: 1
|
|
274
|
+
})
|
|
275
|
+
]),
|
|
276
|
+
vue.createVNode(vue.unref(webVue.Scrollbar), { style: { "height": "100%", "overflow": "auto" } }, {
|
|
277
|
+
default: vue.withCtx(() => [
|
|
278
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(userSelectedList.value, (item, index) => {
|
|
279
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
280
|
+
key: item.uid,
|
|
281
|
+
class: "user-item"
|
|
282
|
+
}, [
|
|
283
|
+
vue.createElementVNode("div", _hoisted_5, [
|
|
284
|
+
vue.createVNode(vue.unref(webVue.Avatar), {
|
|
285
|
+
size: 32,
|
|
286
|
+
"image-url": item.avatar
|
|
287
|
+
}, null, 8, ["image-url"]),
|
|
288
|
+
vue.createElementVNode("div", _hoisted_6, vue.toDisplayString(item.alias), 1)
|
|
289
|
+
]),
|
|
290
|
+
vue.createElementVNode("div", _hoisted_7, [
|
|
291
|
+
vue.createVNode(vue.unref(webVue.Button), {
|
|
292
|
+
type: "primary",
|
|
293
|
+
size: "mini",
|
|
294
|
+
shape: "circle",
|
|
295
|
+
onClick: ($event) => removeUserSelected(index)
|
|
296
|
+
}, {
|
|
297
|
+
default: vue.withCtx(() => [
|
|
298
|
+
vue.createVNode(vue.unref(icon.IconDelete))
|
|
299
|
+
]),
|
|
300
|
+
_: 2
|
|
301
|
+
}, 1032, ["onClick"])
|
|
302
|
+
])
|
|
303
|
+
]);
|
|
304
|
+
}), 128))
|
|
305
|
+
]),
|
|
306
|
+
_: 1
|
|
307
|
+
})
|
|
308
|
+
])
|
|
194
309
|
])
|
|
195
310
|
]),
|
|
196
311
|
_: 1
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var vue = require("vue");
|
|
3
|
+
var webVue = require("@arco-design/web-vue");
|
|
4
|
+
var icon = require("@arco-design/web-vue/es/icon");
|
|
5
|
+
const _hoisted_1 = { class: "user-item" };
|
|
6
|
+
const _hoisted_2 = { class: "left" };
|
|
7
|
+
const _sfc_main = vue.defineComponent({
|
|
8
|
+
__name: "userTree",
|
|
9
|
+
props: {
|
|
10
|
+
list: {}
|
|
11
|
+
},
|
|
12
|
+
emits: ["select", "expand", "add"],
|
|
13
|
+
setup(__props, { emit: __emit }) {
|
|
14
|
+
const props = __props;
|
|
15
|
+
const loadMore = () => {
|
|
16
|
+
};
|
|
17
|
+
const fieldNames = {
|
|
18
|
+
children: "children",
|
|
19
|
+
title: "alias",
|
|
20
|
+
key: "node_key"
|
|
21
|
+
};
|
|
22
|
+
const emit = __emit;
|
|
23
|
+
const select = (selectedKeys, data) => {
|
|
24
|
+
emit("select", selectedKeys, data);
|
|
25
|
+
};
|
|
26
|
+
const expand = (expandedKeys, data) => {
|
|
27
|
+
emit("expand", expandedKeys, data);
|
|
28
|
+
};
|
|
29
|
+
const addItem = (nodeData) => {
|
|
30
|
+
emit("add", nodeData);
|
|
31
|
+
};
|
|
32
|
+
return (_ctx, _cache) => {
|
|
33
|
+
return vue.openBlock(), vue.createBlock(vue.unref(webVue.Tree), {
|
|
34
|
+
data: props.list,
|
|
35
|
+
"load-more": loadMore,
|
|
36
|
+
"block-node": "",
|
|
37
|
+
size: "large",
|
|
38
|
+
"field-names": fieldNames,
|
|
39
|
+
"action-on-node-click": "expand",
|
|
40
|
+
onSelect: select,
|
|
41
|
+
onExpand: expand
|
|
42
|
+
}, {
|
|
43
|
+
icon: vue.withCtx((node) => [
|
|
44
|
+
!node.isLeaf ? (vue.openBlock(), vue.createBlock(vue.unref(icon.IconUserGroup), { key: 0 })) : vue.createCommentVNode("v-if", true)
|
|
45
|
+
]),
|
|
46
|
+
title: vue.withCtx((nodeData) => [
|
|
47
|
+
vue.createElementVNode("div", _hoisted_1, [
|
|
48
|
+
vue.createElementVNode("div", _hoisted_2, [
|
|
49
|
+
nodeData.isUser ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.Avatar), {
|
|
50
|
+
key: 0,
|
|
51
|
+
size: 22,
|
|
52
|
+
"image-url": nodeData.avatar
|
|
53
|
+
}, null, 8, ["image-url"])) : vue.createCommentVNode("v-if", true),
|
|
54
|
+
vue.createElementVNode("span", null, vue.toDisplayString(nodeData.alias), 1)
|
|
55
|
+
])
|
|
56
|
+
])
|
|
57
|
+
]),
|
|
58
|
+
extra: vue.withCtx((nodeData) => [
|
|
59
|
+
vue.createVNode(vue.unref(webVue.Button), {
|
|
60
|
+
class: "tree-action",
|
|
61
|
+
type: "primary",
|
|
62
|
+
size: "mini",
|
|
63
|
+
shape: "circle",
|
|
64
|
+
onClick: ($event) => addItem(nodeData)
|
|
65
|
+
}, {
|
|
66
|
+
default: vue.withCtx(() => [
|
|
67
|
+
vue.createVNode(vue.unref(icon.IconPlus))
|
|
68
|
+
]),
|
|
69
|
+
_: 2
|
|
70
|
+
}, 1032, ["onClick"])
|
|
71
|
+
]),
|
|
72
|
+
_: 1
|
|
73
|
+
}, 8, ["data"]);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
module.exports = _sfc_main;
|
|
@@ -1,8 +1,55 @@
|
|
|
1
|
+
.user-director-modal-body {
|
|
2
|
+
padding: 0;
|
|
3
|
+
}
|
|
4
|
+
.user-director-modal-body .arco-collapse {
|
|
5
|
+
height: calc(100% - 36px);
|
|
6
|
+
}
|
|
7
|
+
.user-director-modal-body .arco-collapse-item-content {
|
|
8
|
+
padding-left: 10px;
|
|
9
|
+
padding-right: 0;
|
|
10
|
+
background: white;
|
|
11
|
+
}
|
|
1
12
|
.user-select-content {
|
|
2
13
|
height: 60vh;
|
|
14
|
+
display: flex;
|
|
3
15
|
}
|
|
4
16
|
.user-select-content .user-select-left,
|
|
5
17
|
.user-select-content .user-select-right {
|
|
6
18
|
width: 50%;
|
|
7
19
|
height: 100%;
|
|
8
20
|
}
|
|
21
|
+
.user-select-content .user-select-left {
|
|
22
|
+
border-right: 1px solid var(--color-neutral-3);
|
|
23
|
+
}
|
|
24
|
+
.user-select-content .user-select-right .user-select-right-title {
|
|
25
|
+
display: flex;
|
|
26
|
+
justify-content: space-between;
|
|
27
|
+
font-size: 14px;
|
|
28
|
+
font-weight: 500;
|
|
29
|
+
padding: 6px 16px;
|
|
30
|
+
border-bottom: 1px solid var(--color-neutral-3);
|
|
31
|
+
}
|
|
32
|
+
.user-select-content .user-select-right .user-item {
|
|
33
|
+
display: flex;
|
|
34
|
+
align-items: center;
|
|
35
|
+
justify-content: space-between;
|
|
36
|
+
padding: 5px 16px;
|
|
37
|
+
}
|
|
38
|
+
.user-select-content .user-select-right .user-item .action {
|
|
39
|
+
display: none;
|
|
40
|
+
}
|
|
41
|
+
.user-select-content .user-select-right .user-item:hover {
|
|
42
|
+
background-color: var(--color-fill-1);
|
|
43
|
+
}
|
|
44
|
+
.user-select-content .user-select-right .user-item:hover .action {
|
|
45
|
+
display: flex;
|
|
46
|
+
}
|
|
47
|
+
.user-select-content .tree-action {
|
|
48
|
+
position: absolute;
|
|
49
|
+
top: 7px;
|
|
50
|
+
right: 30px;
|
|
51
|
+
display: none;
|
|
52
|
+
}
|
|
53
|
+
.user-select-content .arco-tree-node:hover .tree-action {
|
|
54
|
+
display: inline-block;
|
|
55
|
+
}
|
|
@@ -1,8 +1,58 @@
|
|
|
1
|
+
.user-director-modal-body {
|
|
2
|
+
padding: 0;
|
|
3
|
+
.arco-collapse {
|
|
4
|
+
height: calc(100% - 36px);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.arco-collapse-item-content {
|
|
8
|
+
padding-left: 10px;
|
|
9
|
+
padding-right: 0;
|
|
10
|
+
background: white;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
1
13
|
.user-select-content {
|
|
2
14
|
height: 60vh;
|
|
15
|
+
display: flex;
|
|
3
16
|
.user-select-left,
|
|
4
17
|
.user-select-right {
|
|
5
18
|
width: 50%;
|
|
6
19
|
height: 100%;
|
|
7
20
|
}
|
|
21
|
+
.user-select-left {
|
|
22
|
+
border-right: 1px solid var(--color-neutral-3);
|
|
23
|
+
}
|
|
24
|
+
.user-select-right {
|
|
25
|
+
.user-select-right-title {
|
|
26
|
+
display: flex;
|
|
27
|
+
justify-content: space-between;
|
|
28
|
+
font-size: 14px;
|
|
29
|
+
font-weight: 500;
|
|
30
|
+
padding: 6px 16px;
|
|
31
|
+
border-bottom: 1px solid var(--color-neutral-3);
|
|
32
|
+
}
|
|
33
|
+
.user-item {
|
|
34
|
+
display: flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
justify-content: space-between;
|
|
37
|
+
padding: 5px 16px;
|
|
38
|
+
.action {
|
|
39
|
+
display: none;
|
|
40
|
+
}
|
|
41
|
+
&:hover {
|
|
42
|
+
background-color: var(--color-fill-1);
|
|
43
|
+
.action {
|
|
44
|
+
display: flex;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
.tree-action {
|
|
50
|
+
position: absolute;
|
|
51
|
+
top: 7px;
|
|
52
|
+
right: 30px;
|
|
53
|
+
display: none;
|
|
54
|
+
}
|
|
55
|
+
.arco-tree-node:hover .tree-action {
|
|
56
|
+
display: inline-block;
|
|
57
|
+
}
|
|
8
58
|
}
|