@blueking/bk-user-selector 0.0.28 → 0.0.29-beta.10
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/README.md +19 -18
- package/package.json +1 -4
- package/typings/api/user.d.ts +27 -7
- package/typings/components/me-tag.vue.d.ts +5 -5
- package/typings/components/multiple-selector.vue.d.ts +6 -51
- package/typings/components/selection-popover.vue.d.ts +27 -5
- package/typings/components/single-selector.vue.d.ts +6 -45
- package/typings/components/user-render.d.ts +3 -3
- package/typings/components/user-selector.vue.d.ts +7 -51
- package/typings/components/user-tag.vue.d.ts +5 -14
- package/typings/hooks/use-jsonp.d.ts +31 -0
- package/typings/hooks/useTenantData.d.ts +4 -3
- package/typings/hooks/useUserSearch.d.ts +4 -4
- package/typings/types/index.d.ts +8 -0
- package/vue2/index.es.min.js +4073 -4662
- package/vue2/index.iife.min.js +6835 -6823
- package/vue2/index.umd.min.js +4073 -4662
- package/vue2/vue2.css +63 -62
- package/vue3/index.es.min.js +2923 -2766
- package/vue3/index.iife.min.js +4073 -4662
- package/vue3/index.umd.min.js +2925 -2768
- package/vue3/vue3.css +63 -62
package/README.md
CHANGED
|
@@ -124,24 +124,25 @@ export default {
|
|
|
124
124
|
|
|
125
125
|
### 属性
|
|
126
126
|
|
|
127
|
-
| 参数
|
|
128
|
-
|
|
|
129
|
-
| modelValue / v-model
|
|
130
|
-
| apiBaseUrl
|
|
131
|
-
| tenantId
|
|
132
|
-
| label
|
|
133
|
-
| placeholder
|
|
134
|
-
| multiple
|
|
135
|
-
| draggable
|
|
136
|
-
| exactSearchKey
|
|
137
|
-
| currentUserId
|
|
138
|
-
| userGroup
|
|
139
|
-
| userGroupName
|
|
140
|
-
| emptyText
|
|
141
|
-
| disabled
|
|
142
|
-
| renderTag
|
|
143
|
-
| renderListItem
|
|
144
|
-
| excludeUserIds
|
|
127
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
128
|
+
| --------------------- | ----------------------------------------------------------------------- | ------------------------------ | ------------------ |
|
|
129
|
+
| modelValue / v-model | 绑定值,单选为字符串,多选为数组 | String / Array | '' / [] |
|
|
130
|
+
| apiBaseUrl | API 基础 URL | String | '' |
|
|
131
|
+
| tenantId | 租户 ID | String | '' |
|
|
132
|
+
| label | 文本标签 | String | 人员选择 |
|
|
133
|
+
| placeholder | 占位文本 | String | 请输入人员名称搜索 |
|
|
134
|
+
| multiple | 是否多选 | Boolean | false |
|
|
135
|
+
| draggable | 是否可拖拽(仅多选模式有效) | Boolean | false |
|
|
136
|
+
| exactSearchKey | 精确查找key,可选值为 bk_username、login_name、full_name, 多个以逗号分隔 | String | bk_username |
|
|
137
|
+
| currentUserId | 当前用户ID(用于快速选择"我") | String | '' |
|
|
138
|
+
| userGroup | 用户组列表,用于在下拉列表中显示用户组 | Array | [] |
|
|
139
|
+
| userGroupName | 用户组名称,用于在下拉列表中显示用户组名称 | String | 用户群组 |
|
|
140
|
+
| emptyText | 无匹配人员时的提示文本 | String | 无匹配人员 |
|
|
141
|
+
| disabled | 是否禁用 | Boolean | false |
|
|
142
|
+
| renderTag | 渲染标签 | Function(h, userInfo) => VNode | - |
|
|
143
|
+
| renderListItem | 渲染列表项 | Function(h, userInfo) => VNode | - |
|
|
144
|
+
| excludeUserIds | 排除的用户ID列表 | Array | [] |
|
|
145
|
+
| enableMultiTenantMode | 是否启用多租户模式,关闭后则使用原有用户管理接口查询 | Boolean | true |
|
|
145
146
|
|
|
146
147
|
### 事件
|
|
147
148
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blueking/bk-user-selector",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.29-beta.10",
|
|
4
4
|
"description": "蓝鲸用户选择器",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Tencent BlueKing",
|
|
@@ -65,8 +65,5 @@
|
|
|
65
65
|
},
|
|
66
66
|
"engines": {
|
|
67
67
|
"node": ">=18.16.0"
|
|
68
|
-
},
|
|
69
|
-
"devDependencies": {
|
|
70
|
-
"vite": "^6.2.2"
|
|
71
68
|
}
|
|
72
69
|
}
|
package/typings/api/user.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 用户选择器相关API
|
|
3
|
-
* @module api/user
|
|
4
|
-
*/
|
|
5
1
|
import { type User, type Tenant, type FormattedUser } from '../types';
|
|
6
2
|
/**
|
|
7
3
|
* 获取本租户所有数据来源的租户信息
|
|
@@ -17,7 +13,12 @@ export declare const getTenants: (apiBaseUrl: string, tenantId: string) => Promi
|
|
|
17
13
|
* @param keyword - 搜索关键词
|
|
18
14
|
* @returns 用户列表Promise
|
|
19
15
|
*/
|
|
20
|
-
export declare const searchUsers: (
|
|
16
|
+
export declare const searchUsers: (params: {
|
|
17
|
+
apiBaseUrl: string;
|
|
18
|
+
tenantId: string;
|
|
19
|
+
keyword: string;
|
|
20
|
+
enableMultiTenantMode?: boolean;
|
|
21
|
+
}) => Promise<User[]>;
|
|
21
22
|
/**
|
|
22
23
|
* 批量精准查找用户
|
|
23
24
|
* @param apiBaseUrl - API基础URL
|
|
@@ -26,10 +27,29 @@ export declare const searchUsers: (apiBaseUrl?: string, tenantId?: string, keywo
|
|
|
26
27
|
* @param exactSearchKey - 精确查找key
|
|
27
28
|
* @returns 查找到的用户列表Promise
|
|
28
29
|
*/
|
|
29
|
-
export declare const lookupUsers: (
|
|
30
|
+
export declare const lookupUsers: (params: {
|
|
31
|
+
apiBaseUrl: string;
|
|
32
|
+
tenantId: string;
|
|
33
|
+
exactSearchKey: string;
|
|
34
|
+
usersList: string[];
|
|
35
|
+
enableMultiTenantMode?: boolean;
|
|
36
|
+
}) => Promise<User[]>;
|
|
30
37
|
/**
|
|
31
38
|
* 将API返回的用户数据格式化为组件所需格式
|
|
32
39
|
* @param users - API返回的用户列表
|
|
33
40
|
* @returns 格式化后的用户列表
|
|
34
41
|
*/
|
|
35
|
-
export declare const formatUsers: (users: User[]) => FormattedUser[];
|
|
42
|
+
export declare const formatUsers: (users: User[], enableMultiTenantMode?: boolean) => FormattedUser[];
|
|
43
|
+
/**
|
|
44
|
+
* 获取用户列表 兼容旧版本的人员选择器
|
|
45
|
+
* @param url 请求的 URL
|
|
46
|
+
* @param params 请求参数
|
|
47
|
+
* @returns 用户列表
|
|
48
|
+
*/
|
|
49
|
+
export declare const getUserList: (url: string, params: {
|
|
50
|
+
userIds?: string[];
|
|
51
|
+
keyword?: string;
|
|
52
|
+
pageSize?: number;
|
|
53
|
+
page?: number;
|
|
54
|
+
appCode?: string;
|
|
55
|
+
}) => Promise<User[]>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
2
|
/**
|
|
3
3
|
* 当前用户ID
|
|
4
4
|
*/
|
|
@@ -13,7 +13,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
13
13
|
type: BooleanConstructor;
|
|
14
14
|
default: boolean;
|
|
15
15
|
};
|
|
16
|
-
}
|
|
16
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
17
17
|
click: (...args: any[]) => void;
|
|
18
18
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
19
19
|
/**
|
|
@@ -30,10 +30,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
30
30
|
type: BooleanConstructor;
|
|
31
31
|
default: boolean;
|
|
32
32
|
};
|
|
33
|
-
}>> & {
|
|
33
|
+
}>> & Readonly<{
|
|
34
34
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
35
|
-
}
|
|
35
|
+
}>, {
|
|
36
36
|
currentUserId: string;
|
|
37
37
|
isDisabled: boolean;
|
|
38
|
-
}, {}>;
|
|
38
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
39
39
|
export default _default;
|
|
@@ -1,42 +1,16 @@
|
|
|
1
1
|
import { FormattedUser, MultipleSelectorProps } from '../types';
|
|
2
|
-
declare const _default: import("vue").DefineComponent<
|
|
3
|
-
modelValue: () => never[];
|
|
4
|
-
placeholder: string;
|
|
5
|
-
draggable: boolean;
|
|
6
|
-
apiBaseUrl: string;
|
|
7
|
-
tenantId: string;
|
|
8
|
-
selectedUsers: () => never[];
|
|
9
|
-
tenants: () => {};
|
|
10
|
-
currentUserId: string;
|
|
11
|
-
exactSearchKey: string;
|
|
12
|
-
userGroup: () => never[];
|
|
13
|
-
userGroupName: string;
|
|
14
|
-
emptyText: string;
|
|
15
|
-
excludeUserIds: () => never[];
|
|
16
|
-
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
2
|
+
declare const _default: import("vue").DefineComponent<MultipleSelectorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
17
3
|
"update:selectedUsers": (...args: any[]) => void;
|
|
18
4
|
"add-user": (...args: any[]) => void;
|
|
19
5
|
"remove-user": (...args: any[]) => void;
|
|
20
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
21
|
-
modelValue: () => never[];
|
|
22
|
-
placeholder: string;
|
|
23
|
-
draggable: boolean;
|
|
24
|
-
apiBaseUrl: string;
|
|
25
|
-
tenantId: string;
|
|
26
|
-
selectedUsers: () => never[];
|
|
27
|
-
tenants: () => {};
|
|
28
|
-
currentUserId: string;
|
|
29
|
-
exactSearchKey: string;
|
|
30
|
-
userGroup: () => never[];
|
|
31
|
-
userGroupName: string;
|
|
32
|
-
emptyText: string;
|
|
33
|
-
excludeUserIds: () => never[];
|
|
34
|
-
}>>> & {
|
|
6
|
+
}, string, import("vue").PublicProps, Readonly<MultipleSelectorProps> & Readonly<{
|
|
35
7
|
"onUpdate:selectedUsers"?: ((...args: any[]) => any) | undefined;
|
|
36
8
|
"onAdd-user"?: ((...args: any[]) => any) | undefined;
|
|
37
9
|
"onRemove-user"?: ((...args: any[]) => any) | undefined;
|
|
38
|
-
}
|
|
10
|
+
}>, {
|
|
39
11
|
tenantId: string;
|
|
12
|
+
apiBaseUrl: string;
|
|
13
|
+
exactSearchKey: string;
|
|
40
14
|
currentUserId: string;
|
|
41
15
|
tenants: Record<string, string>;
|
|
42
16
|
userGroup: {
|
|
@@ -53,26 +27,7 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
|
|
|
53
27
|
draggable: boolean;
|
|
54
28
|
modelValue: string[];
|
|
55
29
|
selectedUsers: FormattedUser[];
|
|
56
|
-
apiBaseUrl: string;
|
|
57
30
|
placeholder: string;
|
|
58
|
-
exactSearchKey: string;
|
|
59
31
|
excludeUserIds: string[];
|
|
60
|
-
}, {}>;
|
|
32
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
61
33
|
export default _default;
|
|
62
|
-
type __VLS_WithDefaults<P, D> = {
|
|
63
|
-
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
64
|
-
default: D[K];
|
|
65
|
-
}> : P[K];
|
|
66
|
-
};
|
|
67
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
68
|
-
type __VLS_TypePropsToOption<T> = {
|
|
69
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
70
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
71
|
-
} : {
|
|
72
|
-
type: import('vue').PropType<T[K]>;
|
|
73
|
-
required: true;
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
type __VLS_PrettifyLocal<T> = {
|
|
77
|
-
[K in keyof T]: T[K];
|
|
78
|
-
} & {};
|
|
@@ -3,7 +3,18 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { createVNode, VNode } from 'vue';
|
|
5
5
|
import { FormattedUser } from '../types';
|
|
6
|
-
declare
|
|
6
|
+
declare var __VLS_20: {};
|
|
7
|
+
declare var __VLS_inheritedAttrs: {};
|
|
8
|
+
declare const __VLS_refs: {};
|
|
9
|
+
declare const __VLS_templateResult: {
|
|
10
|
+
slots: {
|
|
11
|
+
default?(_: typeof __VLS_20): any;
|
|
12
|
+
};
|
|
13
|
+
refs: __VLS_PickRefsExpose<typeof __VLS_refs>;
|
|
14
|
+
attrs: Partial<typeof __VLS_inheritedAttrs>;
|
|
15
|
+
};
|
|
16
|
+
type __VLS_Slots = typeof __VLS_templateResult['slots'];
|
|
17
|
+
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
7
18
|
/**
|
|
8
19
|
* 是否显示下拉菜单
|
|
9
20
|
*/
|
|
@@ -91,7 +102,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
91
102
|
renderListItem: {
|
|
92
103
|
type: () => (h: typeof createVNode, item: FormattedUser) => VNode;
|
|
93
104
|
};
|
|
94
|
-
}
|
|
105
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
95
106
|
"select-user": (...args: any[]) => void;
|
|
96
107
|
"click-outside": (...args: any[]) => void;
|
|
97
108
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -182,10 +193,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
182
193
|
renderListItem: {
|
|
183
194
|
type: () => (h: typeof createVNode, item: FormattedUser) => VNode;
|
|
184
195
|
};
|
|
185
|
-
}>> & {
|
|
196
|
+
}>> & Readonly<{
|
|
186
197
|
"onSelect-user"?: ((...args: any[]) => any) | undefined;
|
|
187
198
|
"onClick-outside"?: ((...args: any[]) => any) | undefined;
|
|
188
|
-
}
|
|
199
|
+
}>, {
|
|
189
200
|
tenantId: string;
|
|
190
201
|
tenants: Record<string, string>;
|
|
191
202
|
isShow: boolean;
|
|
@@ -201,5 +212,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
201
212
|
}[];
|
|
202
213
|
userGroupName: string;
|
|
203
214
|
emptyText: string;
|
|
204
|
-
}, {}>;
|
|
215
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
216
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_Slots>;
|
|
205
217
|
export default _default;
|
|
218
|
+
type __VLS_PickRefsExpose<T> = T extends object ? {
|
|
219
|
+
[K in keyof T]: (T[K] extends any[] ? Parameters<T[K][0]['expose']>[0][] : T[K] extends {
|
|
220
|
+
expose?: (exposed: infer E) => void;
|
|
221
|
+
} ? E : T[K]) | null;
|
|
222
|
+
} : never;
|
|
223
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
224
|
+
new (): {
|
|
225
|
+
$slots: S;
|
|
226
|
+
};
|
|
227
|
+
};
|
|
@@ -1,34 +1,14 @@
|
|
|
1
1
|
import { SingleSelectorProps } from '../types';
|
|
2
|
-
declare const _default: import("vue").DefineComponent<
|
|
3
|
-
apiBaseUrl: string;
|
|
4
|
-
tenantId: string;
|
|
5
|
-
placeholder: string;
|
|
6
|
-
modelValue: string;
|
|
7
|
-
currentUserId: string;
|
|
8
|
-
exactSearchKey: string;
|
|
9
|
-
userGroup: () => never[];
|
|
10
|
-
userGroupName: string;
|
|
11
|
-
emptyText: string;
|
|
12
|
-
excludeUserIds: () => never[];
|
|
13
|
-
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
2
|
+
declare const _default: import("vue").DefineComponent<SingleSelectorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
14
3
|
change: (...args: any[]) => void;
|
|
15
4
|
"update:modelValue": (...args: any[]) => void;
|
|
16
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
17
|
-
apiBaseUrl: string;
|
|
18
|
-
tenantId: string;
|
|
19
|
-
placeholder: string;
|
|
20
|
-
modelValue: string;
|
|
21
|
-
currentUserId: string;
|
|
22
|
-
exactSearchKey: string;
|
|
23
|
-
userGroup: () => never[];
|
|
24
|
-
userGroupName: string;
|
|
25
|
-
emptyText: string;
|
|
26
|
-
excludeUserIds: () => never[];
|
|
27
|
-
}>>> & {
|
|
5
|
+
}, string, import("vue").PublicProps, Readonly<SingleSelectorProps> & Readonly<{
|
|
28
6
|
onChange?: ((...args: any[]) => any) | undefined;
|
|
29
7
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
30
|
-
}
|
|
8
|
+
}>, {
|
|
31
9
|
tenantId: string;
|
|
10
|
+
apiBaseUrl: string;
|
|
11
|
+
exactSearchKey: string;
|
|
32
12
|
currentUserId: string;
|
|
33
13
|
userGroup: {
|
|
34
14
|
id: string;
|
|
@@ -42,26 +22,7 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
|
|
|
42
22
|
userGroupName: string;
|
|
43
23
|
emptyText: string;
|
|
44
24
|
modelValue: string;
|
|
45
|
-
apiBaseUrl: string;
|
|
46
25
|
placeholder: string;
|
|
47
|
-
exactSearchKey: string;
|
|
48
26
|
excludeUserIds: string[];
|
|
49
|
-
}, {}>;
|
|
27
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
50
28
|
export default _default;
|
|
51
|
-
type __VLS_WithDefaults<P, D> = {
|
|
52
|
-
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
53
|
-
default: D[K];
|
|
54
|
-
}> : P[K];
|
|
55
|
-
};
|
|
56
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
57
|
-
type __VLS_TypePropsToOption<T> = {
|
|
58
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
59
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
60
|
-
} : {
|
|
61
|
-
type: import('vue').PropType<T[K]>;
|
|
62
|
-
required: true;
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
type __VLS_PrettifyLocal<T> = {
|
|
66
|
-
[K in keyof T]: T[K];
|
|
67
|
-
} & {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FormattedUser } from '../types';
|
|
2
|
-
declare const _default: import("vue").DefineComponent<{
|
|
2
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3
3
|
user: {
|
|
4
4
|
type: () => FormattedUser;
|
|
5
5
|
required: true;
|
|
@@ -16,7 +16,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
16
16
|
type: FunctionConstructor;
|
|
17
17
|
required: false;
|
|
18
18
|
};
|
|
19
|
-
}
|
|
19
|
+
}>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
20
20
|
user: {
|
|
21
21
|
type: () => FormattedUser;
|
|
22
22
|
required: true;
|
|
@@ -33,5 +33,5 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
33
33
|
type: FunctionConstructor;
|
|
34
34
|
required: false;
|
|
35
35
|
};
|
|
36
|
-
}
|
|
36
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
37
37
|
export default _default;
|
|
@@ -1,40 +1,15 @@
|
|
|
1
1
|
import { UserSelectorProps } from '../types';
|
|
2
|
-
declare const _default: import("vue").DefineComponent<
|
|
3
|
-
apiBaseUrl: string;
|
|
4
|
-
tenantId: string;
|
|
5
|
-
placeholder: string;
|
|
6
|
-
modelValue: string;
|
|
7
|
-
draggable: boolean;
|
|
8
|
-
multiple: boolean;
|
|
9
|
-
disabled: boolean;
|
|
10
|
-
currentUserId: string;
|
|
11
|
-
exactSearchKey: string;
|
|
12
|
-
userGroup: () => never[];
|
|
13
|
-
userGroupName: string;
|
|
14
|
-
emptyText: string;
|
|
15
|
-
excludeUserIds: () => never[];
|
|
16
|
-
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
2
|
+
declare const _default: import("vue").DefineComponent<UserSelectorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
17
3
|
change: (...args: any[]) => void;
|
|
18
4
|
"update:modelValue": (...args: any[]) => void;
|
|
19
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
20
|
-
apiBaseUrl: string;
|
|
21
|
-
tenantId: string;
|
|
22
|
-
placeholder: string;
|
|
23
|
-
modelValue: string;
|
|
24
|
-
draggable: boolean;
|
|
25
|
-
multiple: boolean;
|
|
26
|
-
disabled: boolean;
|
|
27
|
-
currentUserId: string;
|
|
28
|
-
exactSearchKey: string;
|
|
29
|
-
userGroup: () => never[];
|
|
30
|
-
userGroupName: string;
|
|
31
|
-
emptyText: string;
|
|
32
|
-
excludeUserIds: () => never[];
|
|
33
|
-
}>>> & {
|
|
5
|
+
}, string, import("vue").PublicProps, Readonly<UserSelectorProps> & Readonly<{
|
|
34
6
|
onChange?: ((...args: any[]) => any) | undefined;
|
|
35
7
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
36
|
-
}
|
|
8
|
+
}>, {
|
|
37
9
|
tenantId: string;
|
|
10
|
+
apiBaseUrl: string;
|
|
11
|
+
enableMultiTenantMode: boolean;
|
|
12
|
+
exactSearchKey: string;
|
|
38
13
|
currentUserId: string;
|
|
39
14
|
disabled: boolean;
|
|
40
15
|
userGroup: {
|
|
@@ -51,27 +26,8 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
|
|
|
51
26
|
emptyText: string;
|
|
52
27
|
draggable: boolean;
|
|
53
28
|
modelValue: string | string[];
|
|
54
|
-
apiBaseUrl: string;
|
|
55
29
|
placeholder: string;
|
|
56
|
-
exactSearchKey: string;
|
|
57
30
|
excludeUserIds: string[];
|
|
58
31
|
multiple: boolean;
|
|
59
|
-
}, {}>;
|
|
32
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
60
33
|
export default _default;
|
|
61
|
-
type __VLS_WithDefaults<P, D> = {
|
|
62
|
-
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
63
|
-
default: D[K];
|
|
64
|
-
}> : P[K];
|
|
65
|
-
};
|
|
66
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
67
|
-
type __VLS_TypePropsToOption<T> = {
|
|
68
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
69
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
70
|
-
} : {
|
|
71
|
-
type: import('vue').PropType<T[K]>;
|
|
72
|
-
required: true;
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
type __VLS_PrettifyLocal<T> = {
|
|
76
|
-
[K in keyof T]: T[K];
|
|
77
|
-
} & {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createVNode, VNode } from 'vue';
|
|
2
2
|
import { FormattedUser } from '../types';
|
|
3
|
-
declare const _default: import("vue").DefineComponent<
|
|
3
|
+
declare const _default: import("vue").DefineComponent<{
|
|
4
4
|
/**
|
|
5
5
|
* 用户信息
|
|
6
6
|
*/
|
|
@@ -29,10 +29,10 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<{
|
|
|
29
29
|
* 渲染标签
|
|
30
30
|
*/
|
|
31
31
|
renderTag?: (h: typeof createVNode, userInfo: FormattedUser) => VNode;
|
|
32
|
-
}
|
|
32
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
33
33
|
click: (...args: any[]) => void;
|
|
34
34
|
close: (...args: any[]) => void;
|
|
35
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
35
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
36
36
|
/**
|
|
37
37
|
* 用户信息
|
|
38
38
|
*/
|
|
@@ -61,17 +61,8 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<{
|
|
|
61
61
|
* 渲染标签
|
|
62
62
|
*/
|
|
63
63
|
renderTag?: (h: typeof createVNode, userInfo: FormattedUser) => VNode;
|
|
64
|
-
}
|
|
64
|
+
}> & Readonly<{
|
|
65
65
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
66
66
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
67
|
-
}, {}, {}>;
|
|
67
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
68
68
|
export default _default;
|
|
69
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
70
|
-
type __VLS_TypePropsToOption<T> = {
|
|
71
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
72
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
73
|
-
} : {
|
|
74
|
-
type: import('vue').PropType<T[K]>;
|
|
75
|
-
required: true;
|
|
76
|
-
};
|
|
77
|
-
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type MaybeRef, type ShallowRef } from 'vue';
|
|
2
|
+
export interface JSONPOptions {
|
|
3
|
+
/** 超时时间(毫秒),默认为 2 * 60 * 1000 */
|
|
4
|
+
timeout?: number;
|
|
5
|
+
/** 请求参数 */
|
|
6
|
+
params?: Record<string, string | undefined>;
|
|
7
|
+
/** 是否携带凭证(cookie),默认为 true */
|
|
8
|
+
withCredentials?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface JSONPResult<T> {
|
|
11
|
+
/** 响应数据 */
|
|
12
|
+
data: ShallowRef<T | null>;
|
|
13
|
+
/** 加载状态 */
|
|
14
|
+
loading: ShallowRef<boolean>;
|
|
15
|
+
/** 错误信息 */
|
|
16
|
+
error: ShallowRef<Error | null>;
|
|
17
|
+
/** 手动触发请求的函数 */
|
|
18
|
+
refetch: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* JSONP 请求函数
|
|
22
|
+
*/
|
|
23
|
+
export declare const jsonpRequest: <T>(requestUrl: MaybeRef<string>, options?: JSONPOptions) => Promise<T>;
|
|
24
|
+
/**
|
|
25
|
+
* useJSONP
|
|
26
|
+
* @param url 请求的 URL,可以是字符串或 ref
|
|
27
|
+
* @param options JSONP 选项配置
|
|
28
|
+
* @returns JSONPResult 包含数据、加载状态、错误信息和重新请求函数
|
|
29
|
+
*/
|
|
30
|
+
export declare const useJSONP: <T = unknown>(url: MaybeRef<string>, options?: JSONPOptions) => JSONPResult<T>;
|
|
31
|
+
export default useJSONP;
|
|
@@ -7,10 +7,11 @@ import { type Ref } from 'vue';
|
|
|
7
7
|
* 使用租户数据的Hook
|
|
8
8
|
* @param apiBaseUrl - API基础URL
|
|
9
9
|
* @param tenantId - 租户ID
|
|
10
|
+
* @param enableMultiTenantMode - 是否启用多租户模式
|
|
10
11
|
* @returns 租户数据和加载状态
|
|
11
12
|
*/
|
|
12
|
-
export declare const useTenantData: (apiBaseUrl: string, tenantId: string) => {
|
|
13
|
-
tenants: Ref<Record<string, string>>;
|
|
14
|
-
loading: Ref<boolean>;
|
|
13
|
+
export declare const useTenantData: (apiBaseUrl: string, tenantId: string, enableMultiTenantMode?: boolean) => {
|
|
14
|
+
tenants: Ref<Record<string, string>, Record<string, string>>;
|
|
15
|
+
loading: Ref<boolean, boolean>;
|
|
15
16
|
fetchTenants: () => Promise<void>;
|
|
16
17
|
};
|
|
@@ -10,10 +10,10 @@ import { type FormattedUser } from '../types';
|
|
|
10
10
|
* @param tenantId - 租户ID
|
|
11
11
|
* @returns 用户搜索相关状态和方法
|
|
12
12
|
*/
|
|
13
|
-
export declare const useUserSearch: (apiBaseUrl: string, tenantId: string) => {
|
|
14
|
-
searchResults: Ref<FormattedUser[]>;
|
|
15
|
-
loading: Ref<boolean>;
|
|
16
|
-
searchQuery: Ref<string>;
|
|
13
|
+
export declare const useUserSearch: (apiBaseUrl: string, tenantId: string, enableMultiTenantMode?: boolean) => {
|
|
14
|
+
searchResults: Ref<FormattedUser[], FormattedUser[]>;
|
|
15
|
+
loading: Ref<boolean, boolean>;
|
|
16
|
+
searchQuery: Ref<string, string>;
|
|
17
17
|
performSearch: (keyword: string) => Promise<void>;
|
|
18
18
|
handleSearchInput: (value: string) => void;
|
|
19
19
|
clearSearch: () => void;
|
package/typings/types/index.d.ts
CHANGED
|
@@ -28,6 +28,10 @@ export interface User {
|
|
|
28
28
|
* 登录名, 对应内网企微英文名
|
|
29
29
|
*/
|
|
30
30
|
login_name: string;
|
|
31
|
+
/**
|
|
32
|
+
* 用户名 旧版
|
|
33
|
+
*/
|
|
34
|
+
username: string;
|
|
31
35
|
}
|
|
32
36
|
/**
|
|
33
37
|
* 格式化后的用户信息
|
|
@@ -123,6 +127,10 @@ interface BaseSelectorProps {
|
|
|
123
127
|
* 排除的用户ID列表
|
|
124
128
|
*/
|
|
125
129
|
excludeUserIds?: string[];
|
|
130
|
+
/**
|
|
131
|
+
* 是否启用多租户模式
|
|
132
|
+
*/
|
|
133
|
+
enableMultiTenantMode?: boolean;
|
|
126
134
|
}
|
|
127
135
|
/**
|
|
128
136
|
* 用户选择器属性
|