@cgboiler/biz-mobile 1.17.8 → 1.17.9
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/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/org-picker/OrgPicker.js +19 -8
- package/es/org-picker/_atomic.css +4 -2
- package/es/org-picker/index.css +1 -1
- package/es/org-picker/index.less +1 -0
- package/es/org-picker/useApi.d.ts +1 -0
- package/es/org-picker/useApi.js +10 -0
- package/es/org-picker/useSearch.d.ts +2 -0
- package/es/org-picker/useSearch.js +13 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/org-picker/OrgPicker.js +18 -7
- package/lib/org-picker/_atomic.css +4 -2
- package/lib/org-picker/index.css +1 -1
- package/lib/org-picker/index.less +1 -0
- package/lib/org-picker/useApi.d.ts +1 -0
- package/lib/org-picker/useApi.js +10 -0
- package/lib/org-picker/useSearch.d.ts +2 -0
- package/lib/org-picker/useSearch.js +13 -1
- package/package.json +1 -1
package/es/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ declare namespace _default {
|
|
|
7
7
|
}
|
|
8
8
|
export default _default;
|
|
9
9
|
export function install(app: any): void;
|
|
10
|
-
export const version: "1.17.
|
|
10
|
+
export const version: "1.17.8";
|
|
11
11
|
import MdPreview from './md-preview';
|
|
12
12
|
import OrgPicker from './org-picker';
|
|
13
13
|
import ProjectSelect from './project-select';
|
package/es/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createVNode as _createVNode, createTextVNode as _createTextVNode, Fragment as _Fragment } from "vue";
|
|
2
2
|
import "./_atomic.css";
|
|
3
3
|
import { defineComponent, ref, computed, watch } from "vue";
|
|
4
|
-
import { ActionSheet, Search, List, Image, Empty, Tabs, Tab } from "vant";
|
|
4
|
+
import { ActionSheet, Search, List, Image, Empty, Tabs, Tab, Icon } from "vant";
|
|
5
5
|
import DeptImg from "./components/DeptImg";
|
|
6
6
|
import { orgPickerProps } from "./types";
|
|
7
7
|
import { useApi } from "./useApi";
|
|
@@ -19,15 +19,16 @@ var stdin_default = defineComponent({
|
|
|
19
19
|
getOrgList,
|
|
20
20
|
orgList,
|
|
21
21
|
deptPath,
|
|
22
|
-
userList
|
|
23
|
-
setRecentSelectedUsers
|
|
22
|
+
userList
|
|
24
23
|
} = api;
|
|
25
24
|
getOrgList();
|
|
26
|
-
const activeTab = ref("
|
|
25
|
+
const activeTab = ref("zjxz");
|
|
27
26
|
const {
|
|
28
27
|
keyword,
|
|
29
28
|
searchRef,
|
|
30
29
|
recentSelectedHistory,
|
|
30
|
+
setRecentUsers,
|
|
31
|
+
handleDeleteHistorySelect,
|
|
31
32
|
highlightText,
|
|
32
33
|
renderSearchResult
|
|
33
34
|
} = useSearch(props, api);
|
|
@@ -67,7 +68,7 @@ var stdin_default = defineComponent({
|
|
|
67
68
|
selectedItems.value = [item];
|
|
68
69
|
emit("update:modelValue", [item.id]);
|
|
69
70
|
emit("update:show", false);
|
|
70
|
-
|
|
71
|
+
setRecentUsers(selectedItems.value);
|
|
71
72
|
}
|
|
72
73
|
};
|
|
73
74
|
const handleHistorySelect = (item) => {
|
|
@@ -76,7 +77,7 @@ var stdin_default = defineComponent({
|
|
|
76
77
|
const handleConfirm = () => {
|
|
77
78
|
emit("update:show", false);
|
|
78
79
|
emit("update:modelValue", selectedItems.value.map((item) => item.id));
|
|
79
|
-
|
|
80
|
+
setRecentUsers(selectedItems.value);
|
|
80
81
|
};
|
|
81
82
|
const isSelected = (item) => {
|
|
82
83
|
return selectedItems.value.some((s) => s.id === item.id);
|
|
@@ -130,8 +131,18 @@ var stdin_default = defineComponent({
|
|
|
130
131
|
}, null) : recentSelectedHistory.value.map((historyItem) => _createVNode("div", {
|
|
131
132
|
"key": historyItem.id,
|
|
132
133
|
"onClick": () => handleHistorySelect(historyItem),
|
|
133
|
-
"class": "
|
|
134
|
-
}, [_createVNode("span",
|
|
134
|
+
"class": "py-8px border-b border-[#eee] flex items-center"
|
|
135
|
+
}, [_createVNode("span", {
|
|
136
|
+
"class": "flex-1"
|
|
137
|
+
}, [historyItem.selectedUsers.map((user) => highlightText(user.name, keyword.value)).reduce((prev, curr) => [prev, "\uFF0C", curr])]), _createVNode("span", {
|
|
138
|
+
"class": "p-4px pl-2",
|
|
139
|
+
"onClick": (e) => {
|
|
140
|
+
e.stopPropagation();
|
|
141
|
+
handleDeleteHistorySelect(historyItem);
|
|
142
|
+
}
|
|
143
|
+
}, [_createVNode(Icon, {
|
|
144
|
+
"name": "delete-o"
|
|
145
|
+
}, null)])]))]) : _createVNode(_Fragment, null, [_createVNode("div", {
|
|
135
146
|
"class": "breadcrumb-nav"
|
|
136
147
|
}, [deptPath.value.map((dept, index) => _createVNode("span", {
|
|
137
148
|
"key": dept.id
|
|
@@ -56,14 +56,16 @@
|
|
|
56
56
|
.cgx-atm .flex{display:flex;}
|
|
57
57
|
.cgx-atm .flex-1{flex:1 1 0%;}
|
|
58
58
|
.cgx-atm .flex-col{flex-direction:column;}
|
|
59
|
+
.cgx-atm .items-center{align-items:center;}
|
|
59
60
|
.cgx-atm .overflow-auto{overflow:auto;}
|
|
60
61
|
.cgx-atm .overflow-hidden{overflow:hidden;}
|
|
61
62
|
.cgx-atm .border-b{border-bottom-width:1px;border-bottom-style:solid;}
|
|
62
63
|
.cgx-atm .border-\[\#eee\]{--un-border-opacity:1;border-color:rgba(238,238,238,var(--un-border-opacity));}
|
|
63
|
-
.cgx-atm .
|
|
64
|
-
.cgx-atm .px
|
|
64
|
+
.cgx-atm .p-4px{padding:4px;}
|
|
65
|
+
.cgx-atm .px-\[16px\]{padding-left:16px;padding-right:16px;}
|
|
65
66
|
.cgx-atm .py-\[8px\],
|
|
66
67
|
.cgx-atm .py-8px{padding-top:8px;padding-bottom:8px;}
|
|
68
|
+
.cgx-atm .pl-2{padding-left:0.5rem;}
|
|
67
69
|
.cgx-atm .text-center{text-align:center;}
|
|
68
70
|
.cgx-atm .text-\[14px\]{font-size:14px;}
|
|
69
71
|
.cgx-atm .leading-\[38px\]{line-height:38px;}
|
package/es/org-picker/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root:root{--van-action-sheet-max-height: 100%}.org-list{height:85vh;display:flex;flex-direction:column}.org-list .highlight{color:var(--van-primary-color);font-weight:700}.org-list .breadcrumb-nav{margin-bottom:4px;padding:2px 16px;border-radius:4px;font-size:12px}.org-list .breadcrumb-nav .dept-name.current-dept{color:#969799}.org-list .breadcrumb-nav .separator{color:#969799;margin:0 4px}.org-list .search-bar{position:-webkit-sticky;position:-webkit-sticky;position:sticky;top:0;z-index:1}.org-list .org-selected-items{display:flex;flex-wrap:nowrap;padding:12px 16px;gap:12px;background-color:#fff;overflow-x:auto;height:68px;border-bottom:1px solid #eee}.org-list .org-selected-items .selected-tag{flex-shrink:0;background:none;border:none;padding:0;margin:0;position:relative}.org-list .org-selected-items .selected-tag .close-icon{position:absolute;top:0;right:0;z-index:1;background-color:#fff;border-radius:50%;border:1px solid #eee;width:10px;height:10px;display:flex;align-items:center;justify-content:center;font-size:6px;color:#969799}.org-list .org-selected-items .selected-tag .tag-avatar{width:40px;height:40px}.org-list .org-selected-items .selected-tag .tag-avatar img{border-radius:4px;border:1px solid #eee;object-fit:contain}.org-list .bottom-section{border-top:1px solid #eee;background-color:#fff}.org-list .van-list{flex:1;overflow-y:auto;padding:0 16px}.org-list .org-content-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.org-list .feed-list-wrap{flex:1;display:flex;overflow:hidden;position:relative;justify-content:center}.org-list .search-result-list{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;background-color:#fff;overflow-y:auto;padding:0 16px}.org-list .org-item{padding:12px 0;border-bottom:1px solid #eee;cursor:pointer;display:flex;align-items:center;gap:12px}.org-list .org-item .org-item-select-icon{display:none;padding-left:4px}.org-list .org-item.selected{color:var(--van-primary-color)}.org-list .org-item.selected .org-item-select-icon{display:inline}.org-list .org-item .org-avatar{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.org-list .org-item .org-avatar img{border-radius:4px;border:1px solid #eee;object-fit:contain}.org-list .org-item .org-name{font-size:14px;flex:1}.org-list .org-item:last-child{border-bottom:none}.org-list .action-buttons{padding:16px;display:flex;justify-content:center}.org-list .action-buttons .confirm-button{background-color:var(--van-primary-color);color:#fff;padding:10px 0;border-radius:4px;text-align:center;width:100%;font-size:14px}
|
|
1
|
+
:root:root{--van-action-sheet-max-height: 100%}.org-list{height:85vh;display:flex;flex-direction:column}.org-list .highlight{color:var(--van-primary-color);font-weight:700}.org-list .breadcrumb-nav{margin-bottom:4px;padding:2px 16px;border-radius:4px;font-size:12px}.org-list .breadcrumb-nav .dept-name.current-dept{color:#969799}.org-list .breadcrumb-nav .separator{color:#969799;margin:0 4px}.org-list .search-bar{position:-webkit-sticky;position:-webkit-sticky;position:sticky;top:0;z-index:1}.org-list .org-selected-items{display:flex;flex-wrap:nowrap;padding:12px 16px;gap:12px;background-color:#fff;overflow-x:auto;height:68px;border-bottom:1px solid #eee}.org-list .org-selected-items .selected-tag{flex-shrink:0;background:none;border:none;padding:0;margin:0;position:relative}.org-list .org-selected-items .selected-tag .close-icon{position:absolute;top:0;right:0;z-index:1;background-color:#fff;border-radius:50%;border:1px solid #eee;width:10px;height:10px;display:flex;align-items:center;justify-content:center;font-size:6px;color:#969799}.org-list .org-selected-items .selected-tag .tag-avatar{width:40px;height:40px}.org-list .org-selected-items .selected-tag .tag-avatar img{border-radius:4px;border:1px solid #eee;object-fit:contain}.org-list .bottom-section{border-top:1px solid #eee;background-color:#fff}.org-list .van-list{flex:1;overflow-y:auto;padding:0 16px}.org-list .org-content-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;padding-top:4px}.org-list .feed-list-wrap{flex:1;display:flex;overflow:hidden;position:relative;justify-content:center}.org-list .search-result-list{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;background-color:#fff;overflow-y:auto;padding:0 16px}.org-list .org-item{padding:12px 0;border-bottom:1px solid #eee;cursor:pointer;display:flex;align-items:center;gap:12px}.org-list .org-item .org-item-select-icon{display:none;padding-left:4px}.org-list .org-item.selected{color:var(--van-primary-color)}.org-list .org-item.selected .org-item-select-icon{display:inline}.org-list .org-item .org-avatar{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.org-list .org-item .org-avatar img{border-radius:4px;border:1px solid #eee;object-fit:contain}.org-list .org-item .org-name{font-size:14px;flex:1}.org-list .org-item:last-child{border-bottom:none}.org-list .action-buttons{padding:16px;display:flex;justify-content:center}.org-list .action-buttons .confirm-button{background-color:var(--van-primary-color);color:#fff;padding:10px 0;border-radius:4px;text-align:center;width:100%;font-size:14px}
|
package/es/org-picker/index.less
CHANGED
|
@@ -52,6 +52,7 @@ export declare const useApi: () => {
|
|
|
52
52
|
id: string | number;
|
|
53
53
|
name: string;
|
|
54
54
|
}[]>;
|
|
55
|
+
deleteRecentSelectedUsers: (id: string) => Promise<void>;
|
|
55
56
|
searchOrgList: import("lodash-es").DebouncedFunc<(userName: string) => Promise<void>>;
|
|
56
57
|
getRecentSelectedUsers: () => Promise<RecentSelection[]>;
|
|
57
58
|
setRecentSelectedUsers: (users: OrgItem[]) => Promise<void>;
|
package/es/org-picker/useApi.js
CHANGED
|
@@ -104,6 +104,15 @@ const useApi = () => {
|
|
|
104
104
|
console.error("Failed to set recent selected users history to localStorage", error);
|
|
105
105
|
}
|
|
106
106
|
});
|
|
107
|
+
const deleteRecentSelectedUsers = (id) => __async(void 0, null, function* () {
|
|
108
|
+
const history = yield getRecentSelectedUsers();
|
|
109
|
+
const updatedHistory = history.filter((item) => item.id !== id);
|
|
110
|
+
try {
|
|
111
|
+
yield setStorage(RECENT_SELECTED_USERS_KEY, JSON.parse(JSON.stringify(updatedHistory)));
|
|
112
|
+
} catch (error) {
|
|
113
|
+
console.error("Failed to delete recent selected users history to localStorage", error);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
107
116
|
return {
|
|
108
117
|
userList,
|
|
109
118
|
orgList,
|
|
@@ -111,6 +120,7 @@ const useApi = () => {
|
|
|
111
120
|
getOrgList,
|
|
112
121
|
currentDeptId,
|
|
113
122
|
deptPath,
|
|
123
|
+
deleteRecentSelectedUsers,
|
|
114
124
|
searchOrgList,
|
|
115
125
|
getRecentSelectedUsers,
|
|
116
126
|
setRecentSelectedUsers
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export declare function useSearch(props: any, api: any): {
|
|
2
2
|
keyword: import("vue").Ref<string, string>;
|
|
3
3
|
searchRef: import("vue").Ref<any, any>;
|
|
4
|
+
setRecentUsers: (users: any[]) => Promise<void>;
|
|
4
5
|
renderSearchResult: ({ handleHistorySelect, isSelected, handleSelect }: any) => import("vue/jsx-runtime").JSX.Element;
|
|
6
|
+
handleDeleteHistorySelect: (item: any) => Promise<void>;
|
|
5
7
|
filteredOrgList: import("vue").ComputedRef<any>;
|
|
6
8
|
recentSelectedHistory: import("vue").Ref<any[], any[]>;
|
|
7
9
|
filterRecentSelectedHistory: import("vue").Ref<any[], any[]>;
|
|
@@ -28,6 +28,8 @@ function useSearch(props, api) {
|
|
|
28
28
|
getOrgList,
|
|
29
29
|
currentDeptId,
|
|
30
30
|
searchOrgList,
|
|
31
|
+
setRecentSelectedUsers,
|
|
32
|
+
deleteRecentSelectedUsers,
|
|
31
33
|
getRecentSelectedUsers
|
|
32
34
|
} = api;
|
|
33
35
|
const keyword = ref("");
|
|
@@ -37,6 +39,14 @@ function useSearch(props, api) {
|
|
|
37
39
|
watchEffect(() => __async(this, null, function* () {
|
|
38
40
|
recentSelectedHistory.value = yield getRecentSelectedUsers();
|
|
39
41
|
}));
|
|
42
|
+
const setRecentUsers = (users) => __async(this, null, function* () {
|
|
43
|
+
yield setRecentSelectedUsers(users);
|
|
44
|
+
recentSelectedHistory.value = yield getRecentSelectedUsers();
|
|
45
|
+
});
|
|
46
|
+
const handleDeleteHistorySelect = (item) => __async(this, null, function* () {
|
|
47
|
+
yield deleteRecentSelectedUsers(item.id);
|
|
48
|
+
recentSelectedHistory.value = yield getRecentSelectedUsers();
|
|
49
|
+
});
|
|
40
50
|
watchEffect(() => {
|
|
41
51
|
if (keyword.value) {
|
|
42
52
|
filterRecentSelectedHistory.value = recentSelectedHistory.value.filter((item) => item.selectedUsers.some((user) => keyword.value.split("").some((char) => user.name.includes(char))));
|
|
@@ -85,7 +95,7 @@ function useSearch(props, api) {
|
|
|
85
95
|
}, [filterRecentSelectedHistory.value.length ? _createVNode(_Fragment, null, [_createVNode("p", {
|
|
86
96
|
"class": "text-[14px] text-[#333] font-bold px-[16px] py-[12px] border-b border-[#eee]"
|
|
87
97
|
}, [_createTextVNode("\u6700\u8FD1\u9009\u62E9")]), _createVNode("div", {
|
|
88
|
-
"class": "recent-list-wrap flex-1 overflow-auto
|
|
98
|
+
"class": "recent-list-wrap flex-1 overflow-auto py-[8px]"
|
|
89
99
|
}, [filterRecentSelectedHistory.value.map((historyItem) => _createVNode("div", {
|
|
90
100
|
"key": historyItem.id,
|
|
91
101
|
"onClick": () => handleHistorySelect(historyItem),
|
|
@@ -113,7 +123,9 @@ function useSearch(props, api) {
|
|
|
113
123
|
return {
|
|
114
124
|
keyword,
|
|
115
125
|
searchRef,
|
|
126
|
+
setRecentUsers,
|
|
116
127
|
renderSearchResult,
|
|
128
|
+
handleDeleteHistorySelect,
|
|
117
129
|
filteredOrgList,
|
|
118
130
|
recentSelectedHistory,
|
|
119
131
|
filterRecentSelectedHistory,
|
package/lib/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ declare namespace _default {
|
|
|
7
7
|
}
|
|
8
8
|
export default _default;
|
|
9
9
|
export function install(app: any): void;
|
|
10
|
-
export const version: "1.17.
|
|
10
|
+
export const version: "1.17.8";
|
|
11
11
|
import MdPreview from './md-preview';
|
|
12
12
|
import OrgPicker from './org-picker';
|
|
13
13
|
import ProjectSelect from './project-select';
|
package/lib/index.js
CHANGED
|
@@ -42,7 +42,7 @@ var import_project_select = __toESM(require("./project-select"));
|
|
|
42
42
|
__reExport(stdin_exports, require("./md-preview"), module.exports);
|
|
43
43
|
__reExport(stdin_exports, require("./org-picker"), module.exports);
|
|
44
44
|
__reExport(stdin_exports, require("./project-select"), module.exports);
|
|
45
|
-
const version = "1.17.
|
|
45
|
+
const version = "1.17.8";
|
|
46
46
|
function install(app) {
|
|
47
47
|
const components = [
|
|
48
48
|
import_md_preview.default,
|
|
@@ -51,15 +51,16 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
51
51
|
getOrgList,
|
|
52
52
|
orgList,
|
|
53
53
|
deptPath,
|
|
54
|
-
userList
|
|
55
|
-
setRecentSelectedUsers
|
|
54
|
+
userList
|
|
56
55
|
} = api;
|
|
57
56
|
getOrgList();
|
|
58
|
-
const activeTab = (0, import_vue2.ref)("
|
|
57
|
+
const activeTab = (0, import_vue2.ref)("zjxz");
|
|
59
58
|
const {
|
|
60
59
|
keyword,
|
|
61
60
|
searchRef,
|
|
62
61
|
recentSelectedHistory,
|
|
62
|
+
setRecentUsers,
|
|
63
|
+
handleDeleteHistorySelect,
|
|
63
64
|
highlightText,
|
|
64
65
|
renderSearchResult
|
|
65
66
|
} = (0, import_useSearch.useSearch)(props, api);
|
|
@@ -99,7 +100,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
99
100
|
selectedItems.value = [item];
|
|
100
101
|
emit("update:modelValue", [item.id]);
|
|
101
102
|
emit("update:show", false);
|
|
102
|
-
|
|
103
|
+
setRecentUsers(selectedItems.value);
|
|
103
104
|
}
|
|
104
105
|
};
|
|
105
106
|
const handleHistorySelect = (item) => {
|
|
@@ -108,7 +109,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
108
109
|
const handleConfirm = () => {
|
|
109
110
|
emit("update:show", false);
|
|
110
111
|
emit("update:modelValue", selectedItems.value.map((item) => item.id));
|
|
111
|
-
|
|
112
|
+
setRecentUsers(selectedItems.value);
|
|
112
113
|
};
|
|
113
114
|
const isSelected = (item) => {
|
|
114
115
|
return selectedItems.value.some((s) => s.id === item.id);
|
|
@@ -162,8 +163,18 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
162
163
|
}, null) : recentSelectedHistory.value.map((historyItem) => (0, import_vue.createVNode)("div", {
|
|
163
164
|
"key": historyItem.id,
|
|
164
165
|
"onClick": () => handleHistorySelect(historyItem),
|
|
165
|
-
"class": "
|
|
166
|
-
}, [(0, import_vue.createVNode)("span",
|
|
166
|
+
"class": "py-8px border-b border-[#eee] flex items-center"
|
|
167
|
+
}, [(0, import_vue.createVNode)("span", {
|
|
168
|
+
"class": "flex-1"
|
|
169
|
+
}, [historyItem.selectedUsers.map((user) => highlightText(user.name, keyword.value)).reduce((prev, curr) => [prev, "\uFF0C", curr])]), (0, import_vue.createVNode)("span", {
|
|
170
|
+
"class": "p-4px pl-2",
|
|
171
|
+
"onClick": (e) => {
|
|
172
|
+
e.stopPropagation();
|
|
173
|
+
handleDeleteHistorySelect(historyItem);
|
|
174
|
+
}
|
|
175
|
+
}, [(0, import_vue.createVNode)(import_vant.Icon, {
|
|
176
|
+
"name": "delete-o"
|
|
177
|
+
}, null)])]))]) : (0, import_vue.createVNode)(import_vue.Fragment, null, [(0, import_vue.createVNode)("div", {
|
|
167
178
|
"class": "breadcrumb-nav"
|
|
168
179
|
}, [deptPath.value.map((dept, index) => (0, import_vue.createVNode)("span", {
|
|
169
180
|
"key": dept.id
|
|
@@ -56,14 +56,16 @@
|
|
|
56
56
|
.cgx-atm .flex{display:flex;}
|
|
57
57
|
.cgx-atm .flex-1{flex:1 1 0%;}
|
|
58
58
|
.cgx-atm .flex-col{flex-direction:column;}
|
|
59
|
+
.cgx-atm .items-center{align-items:center;}
|
|
59
60
|
.cgx-atm .overflow-auto{overflow:auto;}
|
|
60
61
|
.cgx-atm .overflow-hidden{overflow:hidden;}
|
|
61
62
|
.cgx-atm .border-b{border-bottom-width:1px;border-bottom-style:solid;}
|
|
62
63
|
.cgx-atm .border-\[\#eee\]{--un-border-opacity:1;border-color:rgba(238,238,238,var(--un-border-opacity));}
|
|
63
|
-
.cgx-atm .
|
|
64
|
-
.cgx-atm .px
|
|
64
|
+
.cgx-atm .p-4px{padding:4px;}
|
|
65
|
+
.cgx-atm .px-\[16px\]{padding-left:16px;padding-right:16px;}
|
|
65
66
|
.cgx-atm .py-\[8px\],
|
|
66
67
|
.cgx-atm .py-8px{padding-top:8px;padding-bottom:8px;}
|
|
68
|
+
.cgx-atm .pl-2{padding-left:0.5rem;}
|
|
67
69
|
.cgx-atm .text-center{text-align:center;}
|
|
68
70
|
.cgx-atm .text-\[14px\]{font-size:14px;}
|
|
69
71
|
.cgx-atm .leading-\[38px\]{line-height:38px;}
|
package/lib/org-picker/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root:root{--van-action-sheet-max-height: 100%}.org-list{height:85vh;display:flex;flex-direction:column}.org-list .highlight{color:var(--van-primary-color);font-weight:700}.org-list .breadcrumb-nav{margin-bottom:4px;padding:2px 16px;border-radius:4px;font-size:12px}.org-list .breadcrumb-nav .dept-name.current-dept{color:#969799}.org-list .breadcrumb-nav .separator{color:#969799;margin:0 4px}.org-list .search-bar{position:-webkit-sticky;position:-webkit-sticky;position:sticky;top:0;z-index:1}.org-list .org-selected-items{display:flex;flex-wrap:nowrap;padding:12px 16px;gap:12px;background-color:#fff;overflow-x:auto;height:68px;border-bottom:1px solid #eee}.org-list .org-selected-items .selected-tag{flex-shrink:0;background:none;border:none;padding:0;margin:0;position:relative}.org-list .org-selected-items .selected-tag .close-icon{position:absolute;top:0;right:0;z-index:1;background-color:#fff;border-radius:50%;border:1px solid #eee;width:10px;height:10px;display:flex;align-items:center;justify-content:center;font-size:6px;color:#969799}.org-list .org-selected-items .selected-tag .tag-avatar{width:40px;height:40px}.org-list .org-selected-items .selected-tag .tag-avatar img{border-radius:4px;border:1px solid #eee;object-fit:contain}.org-list .bottom-section{border-top:1px solid #eee;background-color:#fff}.org-list .van-list{flex:1;overflow-y:auto;padding:0 16px}.org-list .org-content-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.org-list .feed-list-wrap{flex:1;display:flex;overflow:hidden;position:relative;justify-content:center}.org-list .search-result-list{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;background-color:#fff;overflow-y:auto;padding:0 16px}.org-list .org-item{padding:12px 0;border-bottom:1px solid #eee;cursor:pointer;display:flex;align-items:center;gap:12px}.org-list .org-item .org-item-select-icon{display:none;padding-left:4px}.org-list .org-item.selected{color:var(--van-primary-color)}.org-list .org-item.selected .org-item-select-icon{display:inline}.org-list .org-item .org-avatar{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.org-list .org-item .org-avatar img{border-radius:4px;border:1px solid #eee;object-fit:contain}.org-list .org-item .org-name{font-size:14px;flex:1}.org-list .org-item:last-child{border-bottom:none}.org-list .action-buttons{padding:16px;display:flex;justify-content:center}.org-list .action-buttons .confirm-button{background-color:var(--van-primary-color);color:#fff;padding:10px 0;border-radius:4px;text-align:center;width:100%;font-size:14px}
|
|
1
|
+
:root:root{--van-action-sheet-max-height: 100%}.org-list{height:85vh;display:flex;flex-direction:column}.org-list .highlight{color:var(--van-primary-color);font-weight:700}.org-list .breadcrumb-nav{margin-bottom:4px;padding:2px 16px;border-radius:4px;font-size:12px}.org-list .breadcrumb-nav .dept-name.current-dept{color:#969799}.org-list .breadcrumb-nav .separator{color:#969799;margin:0 4px}.org-list .search-bar{position:-webkit-sticky;position:-webkit-sticky;position:sticky;top:0;z-index:1}.org-list .org-selected-items{display:flex;flex-wrap:nowrap;padding:12px 16px;gap:12px;background-color:#fff;overflow-x:auto;height:68px;border-bottom:1px solid #eee}.org-list .org-selected-items .selected-tag{flex-shrink:0;background:none;border:none;padding:0;margin:0;position:relative}.org-list .org-selected-items .selected-tag .close-icon{position:absolute;top:0;right:0;z-index:1;background-color:#fff;border-radius:50%;border:1px solid #eee;width:10px;height:10px;display:flex;align-items:center;justify-content:center;font-size:6px;color:#969799}.org-list .org-selected-items .selected-tag .tag-avatar{width:40px;height:40px}.org-list .org-selected-items .selected-tag .tag-avatar img{border-radius:4px;border:1px solid #eee;object-fit:contain}.org-list .bottom-section{border-top:1px solid #eee;background-color:#fff}.org-list .van-list{flex:1;overflow-y:auto;padding:0 16px}.org-list .org-content-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;padding-top:4px}.org-list .feed-list-wrap{flex:1;display:flex;overflow:hidden;position:relative;justify-content:center}.org-list .search-result-list{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;background-color:#fff;overflow-y:auto;padding:0 16px}.org-list .org-item{padding:12px 0;border-bottom:1px solid #eee;cursor:pointer;display:flex;align-items:center;gap:12px}.org-list .org-item .org-item-select-icon{display:none;padding-left:4px}.org-list .org-item.selected{color:var(--van-primary-color)}.org-list .org-item.selected .org-item-select-icon{display:inline}.org-list .org-item .org-avatar{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.org-list .org-item .org-avatar img{border-radius:4px;border:1px solid #eee;object-fit:contain}.org-list .org-item .org-name{font-size:14px;flex:1}.org-list .org-item:last-child{border-bottom:none}.org-list .action-buttons{padding:16px;display:flex;justify-content:center}.org-list .action-buttons .confirm-button{background-color:var(--van-primary-color);color:#fff;padding:10px 0;border-radius:4px;text-align:center;width:100%;font-size:14px}
|
|
@@ -52,6 +52,7 @@ export declare const useApi: () => {
|
|
|
52
52
|
id: string | number;
|
|
53
53
|
name: string;
|
|
54
54
|
}[]>;
|
|
55
|
+
deleteRecentSelectedUsers: (id: string) => Promise<void>;
|
|
55
56
|
searchOrgList: import("lodash-es").DebouncedFunc<(userName: string) => Promise<void>>;
|
|
56
57
|
getRecentSelectedUsers: () => Promise<RecentSelection[]>;
|
|
57
58
|
setRecentSelectedUsers: (users: OrgItem[]) => Promise<void>;
|
package/lib/org-picker/useApi.js
CHANGED
|
@@ -126,6 +126,15 @@ const useApi = () => {
|
|
|
126
126
|
console.error("Failed to set recent selected users history to localStorage", error);
|
|
127
127
|
}
|
|
128
128
|
});
|
|
129
|
+
const deleteRecentSelectedUsers = (id) => __async(void 0, null, function* () {
|
|
130
|
+
const history = yield getRecentSelectedUsers();
|
|
131
|
+
const updatedHistory = history.filter((item) => item.id !== id);
|
|
132
|
+
try {
|
|
133
|
+
yield (0, import_core.setStorage)(RECENT_SELECTED_USERS_KEY, JSON.parse(JSON.stringify(updatedHistory)));
|
|
134
|
+
} catch (error) {
|
|
135
|
+
console.error("Failed to delete recent selected users history to localStorage", error);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
129
138
|
return {
|
|
130
139
|
userList,
|
|
131
140
|
orgList,
|
|
@@ -133,6 +142,7 @@ const useApi = () => {
|
|
|
133
142
|
getOrgList,
|
|
134
143
|
currentDeptId,
|
|
135
144
|
deptPath,
|
|
145
|
+
deleteRecentSelectedUsers,
|
|
136
146
|
searchOrgList,
|
|
137
147
|
getRecentSelectedUsers,
|
|
138
148
|
setRecentSelectedUsers
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export declare function useSearch(props: any, api: any): {
|
|
2
2
|
keyword: import("vue").Ref<string, string>;
|
|
3
3
|
searchRef: import("vue").Ref<any, any>;
|
|
4
|
+
setRecentUsers: (users: any[]) => Promise<void>;
|
|
4
5
|
renderSearchResult: ({ handleHistorySelect, isSelected, handleSelect }: any) => import("vue/jsx-runtime").JSX.Element;
|
|
6
|
+
handleDeleteHistorySelect: (item: any) => Promise<void>;
|
|
5
7
|
filteredOrgList: import("vue").ComputedRef<any>;
|
|
6
8
|
recentSelectedHistory: import("vue").Ref<any[], any[]>;
|
|
7
9
|
filterRecentSelectedHistory: import("vue").Ref<any[], any[]>;
|
|
@@ -50,6 +50,8 @@ function useSearch(props, api) {
|
|
|
50
50
|
getOrgList,
|
|
51
51
|
currentDeptId,
|
|
52
52
|
searchOrgList,
|
|
53
|
+
setRecentSelectedUsers,
|
|
54
|
+
deleteRecentSelectedUsers,
|
|
53
55
|
getRecentSelectedUsers
|
|
54
56
|
} = api;
|
|
55
57
|
const keyword = (0, import_vue2.ref)("");
|
|
@@ -59,6 +61,14 @@ function useSearch(props, api) {
|
|
|
59
61
|
(0, import_vue2.watchEffect)(() => __async(this, null, function* () {
|
|
60
62
|
recentSelectedHistory.value = yield getRecentSelectedUsers();
|
|
61
63
|
}));
|
|
64
|
+
const setRecentUsers = (users) => __async(this, null, function* () {
|
|
65
|
+
yield setRecentSelectedUsers(users);
|
|
66
|
+
recentSelectedHistory.value = yield getRecentSelectedUsers();
|
|
67
|
+
});
|
|
68
|
+
const handleDeleteHistorySelect = (item) => __async(this, null, function* () {
|
|
69
|
+
yield deleteRecentSelectedUsers(item.id);
|
|
70
|
+
recentSelectedHistory.value = yield getRecentSelectedUsers();
|
|
71
|
+
});
|
|
62
72
|
(0, import_vue2.watchEffect)(() => {
|
|
63
73
|
if (keyword.value) {
|
|
64
74
|
filterRecentSelectedHistory.value = recentSelectedHistory.value.filter((item) => item.selectedUsers.some((user) => keyword.value.split("").some((char) => user.name.includes(char))));
|
|
@@ -107,7 +117,7 @@ function useSearch(props, api) {
|
|
|
107
117
|
}, [filterRecentSelectedHistory.value.length ? (0, import_vue.createVNode)(import_vue.Fragment, null, [(0, import_vue.createVNode)("p", {
|
|
108
118
|
"class": "text-[14px] text-[#333] font-bold px-[16px] py-[12px] border-b border-[#eee]"
|
|
109
119
|
}, [(0, import_vue.createTextVNode)("\u6700\u8FD1\u9009\u62E9")]), (0, import_vue.createVNode)("div", {
|
|
110
|
-
"class": "recent-list-wrap flex-1 overflow-auto
|
|
120
|
+
"class": "recent-list-wrap flex-1 overflow-auto py-[8px]"
|
|
111
121
|
}, [filterRecentSelectedHistory.value.map((historyItem) => (0, import_vue.createVNode)("div", {
|
|
112
122
|
"key": historyItem.id,
|
|
113
123
|
"onClick": () => handleHistorySelect(historyItem),
|
|
@@ -135,7 +145,9 @@ function useSearch(props, api) {
|
|
|
135
145
|
return {
|
|
136
146
|
keyword,
|
|
137
147
|
searchRef,
|
|
148
|
+
setRecentUsers,
|
|
138
149
|
renderSearchResult,
|
|
150
|
+
handleDeleteHistorySelect,
|
|
139
151
|
filteredOrgList,
|
|
140
152
|
recentSelectedHistory,
|
|
141
153
|
filterRecentSelectedHistory,
|