@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 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.7";
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 MdPreview from "./md-preview";
2
2
  import OrgPicker from "./org-picker";
3
3
  import ProjectSelect from "./project-select";
4
- const version = "1.17.7";
4
+ const version = "1.17.8";
5
5
  function install(app) {
6
6
  const components = [
7
7
  MdPreview,
@@ -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("txl");
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
- setRecentSelectedUsers(selectedItems.value);
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
- setRecentSelectedUsers(selectedItems.value);
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": "px-16px py-8px border-b border-[#eee]"
134
- }, [_createVNode("span", null, [historyItem.selectedUsers.map((user) => highlightText(user.name, keyword.value)).reduce((prev, curr) => [prev, "\uFF0C", curr])])]))]) : _createVNode(_Fragment, null, [_createVNode("div", {
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 .px-\[16px\],
64
- .cgx-atm .px-16px{padding-left:16px;padding-right:16px;}
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;}
@@ -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}
@@ -98,6 +98,7 @@
98
98
  flex-direction: column;
99
99
  overflow: hidden;
100
100
  position: relative;
101
+ padding-top: 4px;
101
102
  }
102
103
 
103
104
  .feed-list-wrap {
@@ -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>;
@@ -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 px-[16px] py-[8px]"
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.7";
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.7";
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)("txl");
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
- setRecentSelectedUsers(selectedItems.value);
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
- setRecentSelectedUsers(selectedItems.value);
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": "px-16px py-8px border-b border-[#eee]"
166
- }, [(0, import_vue.createVNode)("span", null, [historyItem.selectedUsers.map((user) => highlightText(user.name, keyword.value)).reduce((prev, curr) => [prev, "\uFF0C", curr])])]))]) : (0, import_vue.createVNode)(import_vue.Fragment, null, [(0, import_vue.createVNode)("div", {
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 .px-\[16px\],
64
- .cgx-atm .px-16px{padding-left:16px;padding-right:16px;}
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;}
@@ -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}
@@ -98,6 +98,7 @@
98
98
  flex-direction: column;
99
99
  overflow: hidden;
100
100
  position: relative;
101
+ padding-top: 4px;
101
102
  }
102
103
 
103
104
  .feed-list-wrap {
@@ -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>;
@@ -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 px-[16px] py-[8px]"
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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cgboiler/biz-mobile",
3
- "version": "1.17.8",
3
+ "version": "1.17.9",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",