@cmstops/pro-compo 0.1.11 → 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.
Files changed (34) hide show
  1. package/dist/index.css +134 -1
  2. package/dist/index.min.css +1 -1
  3. package/es/index.css +134 -1
  4. package/es/mediaFilter/component.js +2 -2
  5. package/es/mediaFilter/components/DocFilter.js +23 -21
  6. package/es/mediaFilter/components/FilterGroup.js +4 -7
  7. package/es/mediaFilter/components/FilterItem.js +2 -5
  8. package/es/mediaFilter/index.d.ts +1 -0
  9. package/es/mediaFilter/script/types.d.ts +16 -0
  10. package/es/mediaFilter/style/index.css +87 -1
  11. package/es/mediaFilter/style/index.less +109 -3
  12. package/es/style.css +0 -89
  13. package/es/userDirector/component.js +185 -70
  14. package/es/userDirector/components/userTree.d.ts +0 -0
  15. package/es/userDirector/components/userTree.js +76 -0
  16. package/es/userDirector/style/index.css +47 -0
  17. package/es/userDirector/style/index.less +50 -0
  18. package/lib/index.css +134 -1
  19. package/lib/mediaFilter/components/DocFilter.js +19 -17
  20. package/lib/mediaFilter/components/FilterGroup.js +4 -7
  21. package/lib/mediaFilter/components/FilterItem.js +2 -5
  22. package/lib/mediaFilter/style/index.css +87 -1
  23. package/lib/mediaFilter/style/index.less +109 -3
  24. package/lib/userDirector/component.js +182 -67
  25. package/lib/userDirector/components/userTree.js +77 -0
  26. package/lib/userDirector/style/index.css +47 -0
  27. package/lib/userDirector/style/index.less +50 -0
  28. package/package.json +1 -1
  29. package/es/mediaFilter/components/DocFilter.vue_vue_type_style_index_0_scoped_true_lang.js +0 -2
  30. package/es/mediaFilter/components/FilterGroup.vue_vue_type_style_index_0_scoped_true_lang.js +0 -2
  31. package/es/mediaFilter/components/FilterItem.vue_vue_type_style_index_0_scoped_true_lang.js +0 -2
  32. package/lib/mediaFilter/components/DocFilter.vue_vue_type_style_index_0_scoped_true_lang.js +0 -3
  33. package/lib/mediaFilter/components/FilterGroup.vue_vue_type_style_index_0_scoped_true_lang.js +0 -3
  34. package/lib/mediaFilter/components/FilterItem.vue_vue_type_style_index_0_scoped_true_lang.js +0 -3
@@ -1,16 +1,23 @@
1
- import { defineComponent, ref, onMounted, computed, openBlock, createBlock, unref, withCtx, createTextVNode, toDisplayString, createElementVNode, createVNode } from "vue";
2
- import { Modal, AutoComplete, Collapse, CollapseItem, Tree } from "@arco-design/web-vue";
1
+ import { defineComponent, ref, onMounted, computed, openBlock, createBlock, unref, withCtx, createTextVNode, toDisplayString, createElementVNode, createVNode, createElementBlock, Fragment, renderList, normalizeStyle } from "vue";
2
+ import { Modal, Select, Option, Collapse, CollapseItem, Scrollbar, Button, Avatar, Message } from "@arco-design/web-vue";
3
+ import { IconDelete } from "@arco-design/web-vue/es/icon";
3
4
  import { DEFAULT_BASE_API } from "../config.js";
4
- import { getRoleAllUser, getDepartUserList, getRepoRoleList, getDepartList, getRepoUserList } from "./script/api.js";
5
+ import _sfc_main$1 from "./components/userTree.js";
6
+ import { getRepoRoleList, getDepartList, getRepoUserList, getRoleAllUser, getDepartUserList } from "./script/api.js";
5
7
  const _hoisted_1 = { class: "user-select-content" };
6
8
  const _hoisted_2 = { class: "user-select-left" };
7
- const _hoisted_3 = /* @__PURE__ */ createElementVNode("div", { class: "user-select-right" }, null, -1);
9
+ const _hoisted_3 = { class: "user-select-right" };
10
+ const _hoisted_4 = { class: "user-select-right-title" };
11
+ const _hoisted_5 = { class: "left" };
12
+ const _hoisted_6 = { class: "alias" };
13
+ const _hoisted_7 = { class: "action" };
8
14
  const _sfc_main = defineComponent({
9
15
  ...{ name: "userDirector" },
10
16
  __name: "component",
11
17
  props: {
12
18
  BASE_API: {},
13
19
  repositoryId: {},
20
+ defaultData: {},
14
21
  visible: { type: Boolean },
15
22
  title: {}
16
23
  },
@@ -19,47 +26,58 @@ const _sfc_main = defineComponent({
19
26
  const props = __props;
20
27
  const BASE_API = props.BASE_API || DEFAULT_BASE_API;
21
28
  const emit = __emit;
22
- const loadMore = () => {
23
- };
24
29
  const RoleTreeData = ref([]);
25
30
  const DepartTreeData = ref([]);
26
- const fieldNames = {
27
- children: "children",
28
- title: "alias",
29
- key: "node_key"
30
- };
31
+ const userSelectedList = ref([]);
31
32
  const selectRoleNode = (selectedKeys, data) => {
32
33
  console.log("selectRoleNode", data);
33
34
  };
35
+ const clearUserSelectedList = () => {
36
+ userSelectedList.value = [];
37
+ };
38
+ const loadRoleAllUser = async (id) => {
39
+ const res = await getRoleAllUser(BASE_API, { id });
40
+ if (res.code === 0) {
41
+ return res.message.map((item) => {
42
+ item.node_key = `role_${id}_${item.uid}`;
43
+ item.isUser = true;
44
+ item.isLeaf = true;
45
+ return item;
46
+ });
47
+ }
48
+ return [];
49
+ };
34
50
  const expandRoleNode = async (selectedKeys, data) => {
35
51
  if (data.node.isRole) {
36
- const res = await getRoleAllUser(BASE_API, { id: data.node.id });
37
- if (res.code === 0) {
38
- data.node.children = res.message.map((item) => {
39
- item.node_key = `role_${data.node.id}_${item.uid}`;
40
- item.isUser = true;
41
- item.isLeaf = true;
42
- return item;
43
- });
44
- }
52
+ data.node.children = await loadRoleAllUser(data.node.id);
45
53
  }
46
54
  };
47
55
  const selectDepartNode = (selectedKeys, data) => {
48
56
  console.log("selectDepartNode", data);
49
57
  };
58
+ const loadDepartUserList = async (id) => {
59
+ const res = await getDepartUserList(BASE_API, { pid: id });
60
+ if (res.code === 0) {
61
+ return res.message.map((item) => {
62
+ item.node_key = `depart_${id}_${item.uid}`;
63
+ item.isUser = true;
64
+ item.isLeaf = true;
65
+ return item;
66
+ });
67
+ }
68
+ return [];
69
+ };
50
70
  const expandDepartNode = async (selectedKeys, data) => {
51
71
  if (data.node.isDepart) {
52
- const res = await getDepartUserList(BASE_API, { pid: data.node.id });
53
- if (res.code === 0) {
54
- data.node.children = res.message.map((item) => {
55
- item.node_key = `depart_${data.node.id}_${item.uid}`;
56
- item.isUser = true;
57
- item.isLeaf = true;
58
- return item;
59
- });
60
- }
72
+ data.node.children = await loadDepartUserList(data.node.id);
61
73
  }
62
74
  };
75
+ const collapseStyle = ref({
76
+ paddingLfet: "0px",
77
+ paddingRigth: "0px",
78
+ border: "none",
79
+ background: "white"
80
+ });
63
81
  const collapseChange = async (keys) => {
64
82
  if (keys.includes("Role")) {
65
83
  getRepoRoleList(BASE_API, { repoID: props.repositoryId }).then((res) => {
@@ -85,22 +103,56 @@ const _sfc_main = defineComponent({
85
103
  }
86
104
  };
87
105
  const allUserList = ref([]);
88
- const completeUser = ref();
89
106
  const getUserList = async () => {
90
107
  const res = await getRepoUserList(BASE_API, { id: props.repositoryId });
91
108
  if (res.code === 0) {
92
- allUserList.value = res.message.map((item) => {
93
- item.value = item.uid;
94
- item.label = item.alias;
95
- return item;
109
+ allUserList.value = res.message;
110
+ }
111
+ };
112
+ const searchUserChange = (value) => {
113
+ const target = allUserList.value.find((item) => item.uid === value);
114
+ if (target) {
115
+ addUserSelectedList(target);
116
+ }
117
+ };
118
+ const userSelectedListFilter = (user) => {
119
+ const result = { ...user };
120
+ const userList = [].concat(userSelectedList.value);
121
+ for (const i of userList) {
122
+ if (result.id === i.id) {
123
+ return false;
124
+ }
125
+ }
126
+ return result;
127
+ };
128
+ const addItem = async (nodeData) => {
129
+ if (nodeData.isUser) {
130
+ addUserSelectedList(nodeData);
131
+ }
132
+ if (nodeData.isRole) {
133
+ const users = await loadRoleAllUser(nodeData.id);
134
+ users.forEach((user) => {
135
+ addUserSelectedList(user, false);
136
+ });
137
+ }
138
+ if (nodeData.isDepart) {
139
+ const users = await loadDepartUserList(nodeData.id);
140
+ users.forEach((user) => {
141
+ addUserSelectedList(user, false);
96
142
  });
97
143
  }
98
144
  };
99
- const selectUser = (value) => {
100
- console.log(value);
101
- setTimeout(() => {
102
- completeUser.value = "";
103
- }, 100);
145
+ const addUserSelectedList = (user, tip = true) => {
146
+ user = userSelectedListFilter(user);
147
+ if (user) {
148
+ user.rtype = "user";
149
+ userSelectedList.value.push(user);
150
+ } else if (tip) {
151
+ Message.warning("\u6210\u5458\u5DF2\u5B58\u5728");
152
+ }
153
+ };
154
+ const removeUserSelected = (index) => {
155
+ userSelectedList.value.splice(index, 1);
104
156
  };
105
157
  onMounted(() => {
106
158
  getUserList();
@@ -125,10 +177,10 @@ const _sfc_main = defineComponent({
125
177
  return (_ctx, _cache) => {
126
178
  return openBlock(), createBlock(unref(Modal), {
127
179
  visible: visible.value,
128
- width: "986px",
180
+ width: "700px",
129
181
  "mask-closable": false,
130
- footer: false,
131
182
  "title-align": "start",
183
+ "body-class": "user-director-modal-body",
132
184
  "unmount-on-close": "",
133
185
  onOk: handleOk,
134
186
  onCancel: handleCancel
@@ -139,57 +191,120 @@ const _sfc_main = defineComponent({
139
191
  default: withCtx(() => [
140
192
  createElementVNode("div", _hoisted_1, [
141
193
  createElementVNode("div", _hoisted_2, [
142
- createVNode(unref(AutoComplete), {
143
- modelValue: completeUser.value,
144
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => completeUser.value = $event),
145
- data: allUserList.value,
194
+ createVNode(unref(Select), {
146
195
  placeholder: "\u641C\u7D22\u59D3\u540D\u3001\u7528\u6237\u540D",
147
- onSelect: selectUser
148
- }, null, 8, ["modelValue", "data"]),
196
+ "allow-search": "",
197
+ size: "large",
198
+ onChange: searchUserChange
199
+ }, {
200
+ default: withCtx(() => [
201
+ (openBlock(true), createElementBlock(Fragment, null, renderList(allUserList.value, (item) => {
202
+ return openBlock(), createBlock(unref(Option), {
203
+ key: item.uid,
204
+ value: item.uid,
205
+ label: item.alias
206
+ }, null, 8, ["value", "label"]);
207
+ }), 128))
208
+ ]),
209
+ _: 1
210
+ }),
149
211
  createVNode(unref(Collapse), {
150
212
  accordion: "",
213
+ bordered: false,
151
214
  onChange: collapseChange
152
215
  }, {
153
216
  default: withCtx(() => [
154
217
  createVNode(unref(CollapseItem), {
155
218
  key: "Role",
156
- header: "\u6309\u89D2\u8272\u9009\u62E9"
219
+ header: "\u6309\u89D2\u8272\u9009\u62E9",
220
+ style: normalizeStyle(collapseStyle.value)
157
221
  }, {
158
222
  default: withCtx(() => [
159
- createVNode(unref(Tree), {
160
- data: RoleTreeData.value,
161
- "load-more": loadMore,
162
- "field-names": fieldNames,
163
- "action-on-node-click": "expand",
164
- onSelect: selectRoleNode,
165
- onExpand: expandRoleNode
166
- }, null, 8, ["data"])
223
+ createVNode(unref(Scrollbar), { style: { "height": "40vh", "overflow": "auto" } }, {
224
+ default: withCtx(() => [
225
+ createVNode(_sfc_main$1, {
226
+ list: RoleTreeData.value,
227
+ onSelect: selectRoleNode,
228
+ onExpand: expandRoleNode,
229
+ onAdd: addItem
230
+ }, null, 8, ["list"])
231
+ ]),
232
+ _: 1
233
+ })
167
234
  ]),
168
235
  _: 1
169
- }),
236
+ }, 8, ["style"]),
170
237
  createVNode(unref(CollapseItem), {
171
238
  key: "Depart",
172
- header: "\u6309\u7EC4\u7EC7\u67B6\u6784\u9009\u62E9"
239
+ header: "\u6309\u7EC4\u7EC7\u67B6\u6784\u9009\u62E9",
240
+ style: normalizeStyle(collapseStyle.value)
173
241
  }, {
174
242
  default: withCtx(() => [
175
- createVNode(unref(Tree), {
176
- size: "large",
177
- "block-node": "",
178
- "field-names": fieldNames,
179
- data: DepartTreeData.value,
180
- "load-more": loadMore,
181
- "action-on-node-click": "expand",
182
- onSelect: selectDepartNode,
183
- onExpand: expandDepartNode
184
- }, null, 8, ["data"])
243
+ createVNode(unref(Scrollbar), { style: { "height": "40vh", "overflow": "auto" } }, {
244
+ default: withCtx(() => [
245
+ createVNode(_sfc_main$1, {
246
+ list: DepartTreeData.value,
247
+ onSelect: selectDepartNode,
248
+ onExpand: expandDepartNode,
249
+ onAdd: addItem
250
+ }, null, 8, ["list"])
251
+ ]),
252
+ _: 1
253
+ })
185
254
  ]),
186
255
  _: 1
187
- })
256
+ }, 8, ["style"])
188
257
  ]),
189
258
  _: 1
190
259
  })
191
260
  ]),
192
- _hoisted_3
261
+ createElementVNode("div", _hoisted_3, [
262
+ createElementVNode("div", _hoisted_4, [
263
+ createElementVNode("span", null, "\u5DF2\u9009\u6210\u5458(" + toDisplayString(userSelectedList.value.length) + "\u4EBA)", 1),
264
+ createVNode(unref(Button), {
265
+ type: "text",
266
+ size: "mini",
267
+ onClick: clearUserSelectedList
268
+ }, {
269
+ default: withCtx(() => [
270
+ createTextVNode("\u5168\u90E8\u6E05\u9664")
271
+ ]),
272
+ _: 1
273
+ })
274
+ ]),
275
+ createVNode(unref(Scrollbar), { style: { "height": "100%", "overflow": "auto" } }, {
276
+ default: withCtx(() => [
277
+ (openBlock(true), createElementBlock(Fragment, null, renderList(userSelectedList.value, (item, index) => {
278
+ return openBlock(), createElementBlock("div", {
279
+ key: item.uid,
280
+ class: "user-item"
281
+ }, [
282
+ createElementVNode("div", _hoisted_5, [
283
+ createVNode(unref(Avatar), {
284
+ size: 32,
285
+ "image-url": item.avatar
286
+ }, null, 8, ["image-url"]),
287
+ createElementVNode("div", _hoisted_6, toDisplayString(item.alias), 1)
288
+ ]),
289
+ createElementVNode("div", _hoisted_7, [
290
+ createVNode(unref(Button), {
291
+ type: "primary",
292
+ size: "mini",
293
+ shape: "circle",
294
+ onClick: ($event) => removeUserSelected(index)
295
+ }, {
296
+ default: withCtx(() => [
297
+ createVNode(unref(IconDelete))
298
+ ]),
299
+ _: 2
300
+ }, 1032, ["onClick"])
301
+ ])
302
+ ]);
303
+ }), 128))
304
+ ]),
305
+ _: 1
306
+ })
307
+ ])
193
308
  ])
194
309
  ]),
195
310
  _: 1
File without changes
@@ -0,0 +1,76 @@
1
+ import { defineComponent, openBlock, createBlock, unref, withCtx, createCommentVNode, createElementVNode, toDisplayString, createVNode } from "vue";
2
+ import { Tree, Avatar, Button } from "@arco-design/web-vue";
3
+ import { IconUserGroup, IconPlus } from "@arco-design/web-vue/es/icon";
4
+ const _hoisted_1 = { class: "user-item" };
5
+ const _hoisted_2 = { class: "left" };
6
+ const _sfc_main = defineComponent({
7
+ __name: "userTree",
8
+ props: {
9
+ list: {}
10
+ },
11
+ emits: ["select", "expand", "add"],
12
+ setup(__props, { emit: __emit }) {
13
+ const props = __props;
14
+ const loadMore = () => {
15
+ };
16
+ const fieldNames = {
17
+ children: "children",
18
+ title: "alias",
19
+ key: "node_key"
20
+ };
21
+ const emit = __emit;
22
+ const select = (selectedKeys, data) => {
23
+ emit("select", selectedKeys, data);
24
+ };
25
+ const expand = (expandedKeys, data) => {
26
+ emit("expand", expandedKeys, data);
27
+ };
28
+ const addItem = (nodeData) => {
29
+ emit("add", nodeData);
30
+ };
31
+ return (_ctx, _cache) => {
32
+ return openBlock(), createBlock(unref(Tree), {
33
+ data: props.list,
34
+ "load-more": loadMore,
35
+ "block-node": "",
36
+ size: "large",
37
+ "field-names": fieldNames,
38
+ "action-on-node-click": "expand",
39
+ onSelect: select,
40
+ onExpand: expand
41
+ }, {
42
+ icon: withCtx((node) => [
43
+ !node.isLeaf ? (openBlock(), createBlock(unref(IconUserGroup), { key: 0 })) : createCommentVNode("v-if", true)
44
+ ]),
45
+ title: withCtx((nodeData) => [
46
+ createElementVNode("div", _hoisted_1, [
47
+ createElementVNode("div", _hoisted_2, [
48
+ nodeData.isUser ? (openBlock(), createBlock(unref(Avatar), {
49
+ key: 0,
50
+ size: 22,
51
+ "image-url": nodeData.avatar
52
+ }, null, 8, ["image-url"])) : createCommentVNode("v-if", true),
53
+ createElementVNode("span", null, toDisplayString(nodeData.alias), 1)
54
+ ])
55
+ ])
56
+ ]),
57
+ extra: withCtx((nodeData) => [
58
+ createVNode(unref(Button), {
59
+ class: "tree-action",
60
+ type: "primary",
61
+ size: "mini",
62
+ shape: "circle",
63
+ onClick: ($event) => addItem(nodeData)
64
+ }, {
65
+ default: withCtx(() => [
66
+ createVNode(unref(IconPlus))
67
+ ]),
68
+ _: 2
69
+ }, 1032, ["onClick"])
70
+ ]),
71
+ _: 1
72
+ }, 8, ["data"]);
73
+ };
74
+ }
75
+ });
76
+ export { _sfc_main as default };
@@ -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
  }
package/lib/index.css CHANGED
@@ -2113,19 +2113,152 @@
2113
2113
  .empty-data-container .slot-view {
2114
2114
  margin-top: 16px;
2115
2115
  }
2116
- .tooltip-button {
2116
+ .filter-wrp .tooltip-button {
2117
2117
  height: auto;
2118
2118
  padding: 20px;
2119
2119
  }
2120
+ .filter-wrp .dop.active {
2121
+ color: #165dff;
2122
+ }
2123
+ .filter-wrp .dop .label {
2124
+ display: flex;
2125
+ gap: 10px;
2126
+ align-items: center;
2127
+ }
2128
+ .filter-wrp .filter-view-container {
2129
+ display: flex;
2130
+ align-items: center;
2131
+ margin-bottom: 10px;
2132
+ font-size: 14px;
2133
+ }
2134
+ .filter-wrp .filter-search {
2135
+ display: flex;
2136
+ gap: 10px;
2137
+ width: 180px;
2138
+ margin-right: 10px;
2139
+ }
2140
+ .filter-wrp .filter-content {
2141
+ position: relative;
2142
+ display: flex;
2143
+ flex: 1;
2144
+ align-items: center;
2145
+ justify-content: space-between;
2146
+ }
2147
+ .filter-wrp .left {
2148
+ display: flex;
2149
+ gap: 10px;
2150
+ align-items: center;
2151
+ }
2152
+ .filter-wrp .right {
2153
+ position: absolute;
2154
+ right: 0;
2155
+ z-index: 1;
2156
+ display: flex;
2157
+ flex-wrap: nowrap;
2158
+ align-items: center;
2159
+ height: 100%;
2160
+ padding-left: 20px;
2161
+ background: white;
2162
+ }
2163
+ .filter-wrp .more-btn {
2164
+ margin-right: 10px;
2165
+ }
2166
+ .filter-wrp .right-prefix {
2167
+ display: flex;
2168
+ gap: 10px;
2169
+ align-items: center;
2170
+ }
2171
+ .filter-wrp .filter-pannel {
2172
+ display: flex;
2173
+ gap: 10px;
2174
+ padding: 10px;
2175
+ background-color: white;
2176
+ border-radius: 6px;
2177
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
2178
+ }
2179
+ .filter-wrp .filter-item-view {
2180
+ position: relative;
2181
+ display: flex;
2182
+ overflow: hidden;
2183
+ }
2184
+ .filter-wrp .filter-item-view .show-view {
2185
+ z-index: 1;
2186
+ width: 100%;
2187
+ height: 100%;
2188
+ background: #fff;
2189
+ pointer-events: none;
2190
+ }
2191
+ .filter-wrp .filter-item-view .select-view {
2192
+ position: absolute;
2193
+ z-index: 0;
2194
+ width: 100%;
2195
+ }
2196
+ .filter-wrp .hasvalue-btn {
2197
+ color: #165dff;
2198
+ background-color: #e8f3ff;
2199
+ border-right: none !important;
2200
+ }
2201
+ .filter-wrp .right-prefix {
2202
+ display: flex;
2203
+ gap: 10px;
2204
+ align-items: center;
2205
+ }
2120
2206
  .large {
2121
2207
  width: 40px !important;
2122
2208
  height: 40px !important;
2123
2209
  }
2210
+ .user-director-modal-body {
2211
+ padding: 0;
2212
+ }
2213
+ .user-director-modal-body .arco-collapse {
2214
+ height: calc(100% - 36px);
2215
+ }
2216
+ .user-director-modal-body .arco-collapse-item-content {
2217
+ padding-left: 10px;
2218
+ padding-right: 0;
2219
+ background: white;
2220
+ }
2124
2221
  .user-select-content {
2125
2222
  height: 60vh;
2223
+ display: flex;
2126
2224
  }
2127
2225
  .user-select-content .user-select-left,
2128
2226
  .user-select-content .user-select-right {
2129
2227
  width: 50%;
2130
2228
  height: 100%;
2131
2229
  }
2230
+ .user-select-content .user-select-left {
2231
+ border-right: 1px solid var(--color-neutral-3);
2232
+ }
2233
+ .user-select-content .user-select-right .user-select-right-title {
2234
+ display: flex;
2235
+ justify-content: space-between;
2236
+ font-size: 14px;
2237
+ font-weight: 500;
2238
+ padding: 6px 16px;
2239
+ border-bottom: 1px solid var(--color-neutral-3);
2240
+ }
2241
+ .user-select-content .user-select-right .user-item {
2242
+ display: flex;
2243
+ align-items: center;
2244
+ justify-content: space-between;
2245
+ padding: 5px 16px;
2246
+ }
2247
+ .user-select-content .user-select-right .user-item .action {
2248
+ display: none;
2249
+ }
2250
+ .user-select-content .user-select-right .user-item:hover {
2251
+ background-color: var(--color-fill-1);
2252
+ }
2253
+ .user-select-content .user-select-right .user-item:hover .action {
2254
+ display: flex;
2255
+ }
2256
+ .user-select-content .tree-action {
2257
+ position: absolute;
2258
+ top: 7px;
2259
+ right: 30px;
2260
+ display: none;
2261
+ }
2262
+ .user-select-content .arco-tree-node:hover .tree-action {
2263
+ display: inline-block;
2264
+ }