@oinone/kunlun-vue-admin-layout 7.2.3 → 7.2.5

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.
@@ -1,4 +1,3 @@
1
- import { MenuItem as AMenuItem } from 'ant-design-vue';
2
1
  import { type PropType } from 'vue';
3
2
  import type { PartnerItem } from './typing';
4
3
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -12,9 +11,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
12
11
  type: PropType<(item: PartnerItem) => void>;
13
12
  };
14
13
  }>, {
15
- onSelect: (e: {
16
- key: string;
17
- }) => void;
14
+ onSelect: (item: PartnerItem) => void;
18
15
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
16
  currentPartner: {
20
17
  type: PropType<PartnerItem>;
@@ -26,402 +23,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
26
23
  type: PropType<(item: PartnerItem) => void>;
27
24
  };
28
25
  }>> & Readonly<{}>, {}, {}, {
29
- AMenu: {
30
- new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
31
- id: StringConstructor;
32
- prefixCls: StringConstructor;
33
- items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
34
- disabled: BooleanConstructor;
35
- inlineCollapsed: BooleanConstructor;
36
- disabledOverflow: BooleanConstructor;
37
- forceSubMenuRender: BooleanConstructor;
38
- openKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
39
- selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
40
- activeKey: StringConstructor;
41
- selectable: {
42
- type: BooleanConstructor;
43
- default: boolean;
44
- };
45
- multiple: {
46
- type: BooleanConstructor;
47
- default: boolean;
48
- };
49
- tabindex: {
50
- type: (StringConstructor | NumberConstructor)[];
51
- };
52
- motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
53
- role: StringConstructor;
54
- theme: {
55
- type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
56
- default: string;
57
- };
58
- mode: {
59
- type: import("vue").PropType<import("ant-design-vue").MenuMode>;
60
- default: string;
61
- };
62
- inlineIndent: {
63
- type: NumberConstructor;
64
- default: number;
65
- };
66
- subMenuOpenDelay: {
67
- type: NumberConstructor;
68
- default: number;
69
- };
70
- subMenuCloseDelay: {
71
- type: NumberConstructor;
72
- default: number;
73
- };
74
- builtinPlacements: {
75
- type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
76
- };
77
- triggerSubMenuAction: {
78
- type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
79
- default: string;
80
- };
81
- getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
82
- expandIcon: import("vue").PropType<(p?: {
83
- [key: string]: any;
84
- isOpen: boolean;
85
- }) => any>;
86
- onOpenChange: import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
87
- onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
88
- onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
89
- onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
90
- onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
91
- onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
92
- onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
93
- "onUpdate:openKeys": import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
94
- "onUpdate:selectedKeys": import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
95
- "onUpdate:activeKey": import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
96
- }>> & Readonly<{}>, () => import("ant-design-vue/es/_util/type").VueNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
97
- mode: import("ant-design-vue").MenuMode;
98
- multiple: boolean;
99
- disabled: boolean;
100
- theme: import("ant-design-vue").MenuTheme;
101
- inlineIndent: number;
102
- inlineCollapsed: boolean;
103
- subMenuOpenDelay: number;
104
- subMenuCloseDelay: number;
105
- triggerSubMenuAction: import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction;
106
- forceSubMenuRender: boolean;
107
- disabledOverflow: boolean;
108
- selectable: boolean;
109
- }, true, {}, import("ant-design-vue/es/_util/type").CustomSlotsType<{
110
- expandIcon?: {
111
- [key: string]: any;
112
- isOpen: boolean;
113
- };
114
- overflowedIndicator?: any;
115
- default: any;
116
- }>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
117
- P: {};
118
- B: {};
119
- D: {};
120
- C: {};
121
- M: {};
122
- Defaults: {};
123
- }, Readonly<import("vue").ExtractPropTypes<{
124
- id: StringConstructor;
125
- prefixCls: StringConstructor;
126
- items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
127
- disabled: BooleanConstructor;
128
- inlineCollapsed: BooleanConstructor;
129
- disabledOverflow: BooleanConstructor;
130
- forceSubMenuRender: BooleanConstructor;
131
- openKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
132
- selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
133
- activeKey: StringConstructor;
134
- selectable: {
135
- type: BooleanConstructor;
136
- default: boolean;
137
- };
138
- multiple: {
139
- type: BooleanConstructor;
140
- default: boolean;
141
- };
142
- tabindex: {
143
- type: (StringConstructor | NumberConstructor)[];
144
- };
145
- motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
146
- role: StringConstructor;
147
- theme: {
148
- type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
149
- default: string;
150
- };
151
- mode: {
152
- type: import("vue").PropType<import("ant-design-vue").MenuMode>;
153
- default: string;
154
- };
155
- inlineIndent: {
156
- type: NumberConstructor;
157
- default: number;
158
- };
159
- subMenuOpenDelay: {
160
- type: NumberConstructor;
161
- default: number;
162
- };
163
- subMenuCloseDelay: {
164
- type: NumberConstructor;
165
- default: number;
166
- };
167
- builtinPlacements: {
168
- type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
169
- };
170
- triggerSubMenuAction: {
171
- type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
172
- default: string;
173
- };
174
- getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
175
- expandIcon: import("vue").PropType<(p?: {
176
- [key: string]: any;
177
- isOpen: boolean;
178
- }) => any>;
179
- onOpenChange: import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
180
- onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
181
- onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
182
- onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
183
- onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
184
- onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
185
- onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
186
- "onUpdate:openKeys": import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
187
- "onUpdate:selectedKeys": import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
188
- "onUpdate:activeKey": import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
189
- }>> & Readonly<{}>, () => import("ant-design-vue/es/_util/type").VueNode, {}, {}, {}, {
190
- mode: import("ant-design-vue").MenuMode;
191
- multiple: boolean;
192
- disabled: boolean;
193
- theme: import("ant-design-vue").MenuTheme;
194
- inlineIndent: number;
195
- inlineCollapsed: boolean;
196
- subMenuOpenDelay: number;
197
- subMenuCloseDelay: number;
198
- triggerSubMenuAction: import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction;
199
- forceSubMenuRender: boolean;
200
- disabledOverflow: boolean;
201
- selectable: boolean;
202
- }>;
203
- __isFragment?: never;
204
- __isTeleport?: never;
205
- __isSuspense?: never;
206
- } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
207
- id: StringConstructor;
208
- prefixCls: StringConstructor;
209
- items: import("vue").PropType<import("ant-design-vue").ItemType[]>;
210
- disabled: BooleanConstructor;
211
- inlineCollapsed: BooleanConstructor;
212
- disabledOverflow: BooleanConstructor;
213
- forceSubMenuRender: BooleanConstructor;
214
- openKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
215
- selectedKeys: import("vue").PropType<import("ant-design-vue/es/_util/type").Key[]>;
216
- activeKey: StringConstructor;
217
- selectable: {
218
- type: BooleanConstructor;
219
- default: boolean;
220
- };
221
- multiple: {
222
- type: BooleanConstructor;
223
- default: boolean;
224
- };
225
- tabindex: {
226
- type: (StringConstructor | NumberConstructor)[];
227
- };
228
- motion: import("vue").PropType<import("ant-design-vue/es/_util/transition").CSSMotionProps>;
229
- role: StringConstructor;
230
- theme: {
231
- type: import("vue").PropType<import("ant-design-vue").MenuTheme>;
232
- default: string;
233
- };
234
- mode: {
235
- type: import("vue").PropType<import("ant-design-vue").MenuMode>;
236
- default: string;
237
- };
238
- inlineIndent: {
239
- type: NumberConstructor;
240
- default: number;
241
- };
242
- subMenuOpenDelay: {
243
- type: NumberConstructor;
244
- default: number;
245
- };
246
- subMenuCloseDelay: {
247
- type: NumberConstructor;
248
- default: number;
249
- };
250
- builtinPlacements: {
251
- type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").BuiltinPlacements>;
252
- };
253
- triggerSubMenuAction: {
254
- type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction>;
255
- default: string;
256
- };
257
- getPopupContainer: import("vue").PropType<(node: HTMLElement) => HTMLElement>;
258
- expandIcon: import("vue").PropType<(p?: {
259
- [key: string]: any;
260
- isOpen: boolean;
261
- }) => any>;
262
- onOpenChange: import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
263
- onSelect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
264
- onDeselect: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").SelectEventHandler>;
265
- onClick: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").MenuClickEventHandler>;
266
- onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
267
- onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
268
- onMousedown: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
269
- 'onUpdate:openKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
270
- 'onUpdate:selectedKeys': import("vue").PropType<(keys: import("ant-design-vue/es/_util/type").Key[]) => void>;
271
- 'onUpdate:activeKey': import("vue").PropType<(key: import("ant-design-vue/es/_util/type").Key) => void>;
272
- }>> & Readonly<{}>, () => import("ant-design-vue/es/_util/type").VueNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
273
- mode: import("ant-design-vue").MenuMode;
274
- multiple: boolean;
275
- disabled: boolean;
276
- theme: import("ant-design-vue").MenuTheme;
277
- inlineIndent: number;
278
- inlineCollapsed: boolean;
279
- subMenuOpenDelay: number;
280
- subMenuCloseDelay: number;
281
- triggerSubMenuAction: import("ant-design-vue/es/menu/src/interface").TriggerSubMenuAction;
282
- forceSubMenuRender: boolean;
283
- disabledOverflow: boolean;
284
- selectable: boolean;
285
- }, {}, string, import("ant-design-vue/es/_util/type").CustomSlotsType<{
286
- expandIcon?: {
287
- [key: string]: any;
288
- isOpen: boolean;
289
- };
290
- overflowedIndicator?: any;
291
- default: any;
292
- }>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & (import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (import("vue").Plugin<any[]> & {
293
- readonly Item: typeof AMenuItem;
294
- readonly SubMenu: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
295
- icon: import("vue-types").VueTypeValidableDef<any>;
296
- title: import("vue-types").VueTypeValidableDef<any>;
297
- disabled: BooleanConstructor;
298
- level: NumberConstructor;
299
- popupClassName: StringConstructor;
300
- popupOffset: PropType<[number, number]>;
301
- internalPopupClose: BooleanConstructor;
302
- eventKey: StringConstructor;
303
- expandIcon: PropType<(p?: {
304
- [key: string]: any;
305
- isOpen: boolean;
306
- }) => any>;
307
- theme: PropType<import("ant-design-vue").MenuTheme>;
308
- onMouseenter: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
309
- onMouseleave: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
310
- onTitleClick: PropType<(e: MouseEvent, key: import("ant-design-vue/es/_util/type").Key) => void>;
311
- originItemValue: {
312
- type: PropType<import("ant-design-vue/es/menu/src/interface").ItemType>;
313
- default: import("ant-design-vue/es/menu/src/interface").ItemType;
314
- };
315
- }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
316
- icon: import("vue-types").VueTypeValidableDef<any>;
317
- title: import("vue-types").VueTypeValidableDef<any>;
318
- disabled: BooleanConstructor;
319
- level: NumberConstructor;
320
- popupClassName: StringConstructor;
321
- popupOffset: PropType<[number, number]>;
322
- internalPopupClose: BooleanConstructor;
323
- eventKey: StringConstructor;
324
- expandIcon: PropType<(p?: {
325
- [key: string]: any;
326
- isOpen: boolean;
327
- }) => any>;
328
- theme: PropType<import("ant-design-vue").MenuTheme>;
329
- onMouseenter: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
330
- onMouseleave: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
331
- onTitleClick: PropType<(e: MouseEvent, key: import("ant-design-vue/es/_util/type").Key) => void>;
332
- originItemValue: {
333
- type: PropType<import("ant-design-vue/es/menu/src/interface").ItemType>;
334
- default: import("ant-design-vue/es/menu/src/interface").ItemType;
335
- };
336
- }>> & Readonly<{}>, {
337
- disabled: boolean;
338
- originItemValue: import("ant-design-vue/es/menu/src/interface").ItemType;
339
- internalPopupClose: boolean;
340
- }, import("ant-design-vue/es/_util/type").CustomSlotsType<{
341
- icon?: any;
342
- title?: any;
343
- expandIcon?: {
344
- [key: string]: any;
345
- isOpen: boolean;
346
- };
347
- default?: any;
348
- }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
349
- readonly Divider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
350
- prefixCls: StringConstructor;
351
- dashed: BooleanConstructor;
352
- }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
353
- prefixCls: StringConstructor;
354
- dashed: BooleanConstructor;
355
- }>> & Readonly<{}>, {
356
- dashed: boolean;
357
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
358
- readonly ItemGroup: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
359
- title: import("vue-types").VueTypeValidableDef<any>;
360
- originItemValue: {
361
- type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").ItemType>;
362
- default: import("ant-design-vue/es/menu/src/interface").ItemType;
363
- };
364
- }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
365
- title: import("vue-types").VueTypeValidableDef<any>;
366
- originItemValue: {
367
- type: import("vue").PropType<import("ant-design-vue/es/menu/src/interface").ItemType>;
368
- default: import("ant-design-vue/es/menu/src/interface").ItemType;
369
- };
370
- }>> & Readonly<{}>, {
371
- originItemValue: import("ant-design-vue/es/menu/src/interface").ItemType;
372
- }, import("ant-design-vue/es/_util/type").CustomSlotsType<{
373
- title?: any;
374
- default?: any;
375
- }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
376
- }));
377
- AMenuItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
378
- id: StringConstructor;
379
- role: StringConstructor;
380
- disabled: BooleanConstructor;
381
- danger: BooleanConstructor;
382
- title: {
383
- type: (BooleanConstructor | StringConstructor)[];
384
- default: any;
385
- };
386
- icon: import("vue-types").VueTypeValidableDef<any>;
387
- onMouseenter: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
388
- onMouseleave: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
389
- onClick: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
390
- onKeydown: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
391
- onFocus: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
392
- originItemValue: {
393
- type: PropType<import("ant-design-vue/es/menu/src/interface").ItemType>;
394
- default: import("ant-design-vue/es/menu/src/interface").ItemType;
395
- };
396
- }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
397
- id: StringConstructor;
398
- role: StringConstructor;
399
- disabled: BooleanConstructor;
400
- danger: BooleanConstructor;
401
- title: {
402
- type: (BooleanConstructor | StringConstructor)[];
403
- default: any;
404
- };
405
- icon: import("vue-types").VueTypeValidableDef<any>;
406
- onMouseenter: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
407
- onMouseleave: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
408
- onClick: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
409
- onKeydown: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
410
- onFocus: PropType<import("ant-design-vue/es/_util/EventInterface").MouseEventHandler>;
411
- originItemValue: {
412
- type: PropType<import("ant-design-vue/es/menu/src/interface").ItemType>;
413
- default: import("ant-design-vue/es/menu/src/interface").ItemType;
414
- };
415
- }>> & Readonly<{}>, {
416
- title: string | boolean;
417
- disabled: boolean;
418
- danger: boolean;
419
- originItemValue: import("ant-design-vue/es/menu/src/interface").ItemType;
420
- }, import("ant-design-vue/es/_util/type").CustomSlotsType<{
421
- icon?: any;
422
- title?: any;
423
- default?: any;
424
- }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
425
26
  CaretDownOutlined: import("@ant-design/icons-vue/lib/icons/CaretDownOutlined").CaretDownOutlinedIconType;
426
27
  OioDropdown: any;
427
28
  }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1,17 +1,25 @@
1
+ import { type PartnerInfoSession, type PartnerSessionStore } from '../../session';
1
2
  import type { PartnerInfo, PartnerItem } from '../../typing';
2
3
  import { type PartnerSwitcherService } from '../PartnerSwitcherService';
3
- export type QueryShowPartnersResult = {
4
- partner: {
4
+ export type QueryBusinessSubjectSwitcherResult = {
5
+ current: {
6
+ partnerId: string;
5
7
  code: string;
6
8
  name: string;
7
9
  };
8
- partnerList: {
10
+ switchList: {
11
+ partnerId: string;
9
12
  code: string;
10
13
  name: string;
11
14
  }[];
12
15
  };
13
16
  export declare class PartnerSwitcherServiceImpl implements PartnerSwitcherService {
17
+ protected partnerInfoSession: PartnerInfoSession<PartnerSessionStore>;
14
18
  queryPartnerInfo(): Promise<PartnerInfo | undefined>;
19
+ protected getCachedPartner(): {
20
+ id?: string;
21
+ code?: string;
22
+ } | undefined;
15
23
  changePartner(target: PartnerItem): Promise<PartnerInfo | undefined>;
16
- protected convert(data: QueryShowPartnersResult): PartnerInfo | undefined;
24
+ protected convert(data: QueryBusinessSubjectSwitcherResult): PartnerInfo | undefined;
17
25
  }
@@ -3,9 +3,12 @@ import { type PartnerInfoSession } from '../PartnerInfoSession';
3
3
  export interface PartnerSessionStore {
4
4
  sid: string | null | undefined;
5
5
  lid: string | null | undefined;
6
+ scode: string | null | undefined;
7
+ lcode: string | null | undefined;
6
8
  }
7
9
  export declare class DefaultPartnerInfoSession implements PartnerInfoSession<PartnerSessionStore> {
8
10
  private static readonly CACHE_KEY;
11
+ private static readonly CACHE_CODE_KEY;
9
12
  private partnerInfo;
10
13
  getCurrentPartner(): PartnerItem | undefined;
11
14
  getPartnerInfo(): PartnerInfo | undefined;
@@ -4,6 +4,7 @@
4
4
  export interface PartnerItem {
5
5
  id: string;
6
6
  name: string;
7
+ code?: string;
7
8
  }
8
9
  /**
9
10
  * 合作伙伴信息
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oinone/kunlun-vue-admin-layout",
3
- "version": "7.2.3",
3
+ "version": "7.2.5",
4
4
  "type": "module",
5
5
  "main": "dist/oinone-kunlun-vue-admin-layout.esm.js",
6
6
  "scripts": {
@@ -17,14 +17,16 @@
17
17
  "doc": "typedoc --out docs src/index.ts"
18
18
  },
19
19
  "dependencies": {
20
- "@oinone/kunlun-vue-router": "7.2.3",
21
- "@oinone/kunlun-vue-ui": "7.2.3",
22
- "@oinone/kunlun-vue-ui-antd": "7.2.3",
23
- "@oinone/kunlun-vue-ui-common": "7.2.3",
24
- "@oinone/kunlun-vue-widget": "7.2.3",
25
- "vue-json-pretty": "^2.4.0"
20
+ "@oinone/kunlun-vue-router": "7.2.5",
21
+ "@oinone/kunlun-vue-ui": "7.2.5",
22
+ "@oinone/kunlun-vue-ui-antd": "7.2.5",
23
+ "@oinone/kunlun-vue-ui-common": "7.2.5",
24
+ "@oinone/kunlun-vue-widget": "7.2.5",
25
+ "vue-json-pretty": "^2.4.0",
26
+ "vue-types": "^3.0.0"
26
27
  },
27
28
  "devDependencies": {
29
+ "@ant-design/icons-vue": "7.0.1",
28
30
  "@oinone/kunlun-dsl": "~7.2.0",
29
31
  "@oinone/kunlun-engine": "~7.2.0",
30
32
  "@oinone/kunlun-environment": "~7.2.0",
@@ -37,15 +39,14 @@
37
39
  "@oinone/kunlun-shared": "~7.2.0",
38
40
  "@oinone/kunlun-spi": "~7.2.0",
39
41
  "@oinone/kunlun-state": "~7.2.0",
40
- "@types/lodash": "4.17.21",
41
42
  "@types/lodash-es": "4.17.6",
42
- "lodash": "4.17.21",
43
+ "ant-design-vue": "4.2.6",
44
+ "graphql": "15.8.0",
45
+ "graphql-tag": "2.12.6",
43
46
  "lodash-es": "4.17.21",
44
47
  "sass": "1.97.0",
45
- "sass-loader": "16.0.6"
46
- },
47
- "peerDependencies": {
48
- "vue": ">=3.5.26"
48
+ "sass-loader": "16.0.6",
49
+ "vue": "3.5.26"
49
50
  },
50
51
  "gitHead": "2b4c0c7911626c105ca71c2d41e54af470e2e079",
51
52
  "module": "dist/oinone-kunlun-vue-admin-layout.esm.js",
@@ -1,28 +1,34 @@
1
1
  <template>
2
2
  <oio-dropdown v-if="currentPartner" :trigger="['click']" placement="bottomCenter">
3
3
  <div class="k-layout-partner-switcher">
4
- <span>{{ currentPartner.name }}</span>
4
+ <span :title="currentPartner.name">{{ currentPartner.name }}</span>
5
5
  <caret-down-outlined :style="{ fontSize: '12px', color: '#c3c4c6' }" />
6
6
  </div>
7
7
  <template #overlay>
8
- <a-menu class="k-layout-partner-switcher-overlay" @click="onSelect">
9
- <a-menu-item v-for="item in partnerList" :key="item.id" :title="item.name">{{ item.name }}</a-menu-item>
10
- </a-menu>
8
+ <div class="k-layout-partner-switcher-overlay">
9
+ <div
10
+ v-for="item in partnerList"
11
+ :key="item.id"
12
+ class="k-layout-partner-switcher-item"
13
+ :class="{ 'is-selected': item.id === currentPartner?.id }"
14
+ :title="item.name"
15
+ @click="onSelect(item)"
16
+ >
17
+ {{ item.name }}
18
+ </div>
19
+ </div>
11
20
  </template>
12
21
  </oio-dropdown>
13
22
  </template>
14
23
  <script lang="ts">
15
24
  import { CaretDownOutlined } from '@ant-design/icons-vue';
16
25
  import { OioDropdown } from '@oinone/kunlun-vue-ui-antd';
17
- import { Menu as AMenu, MenuItem as AMenuItem } from 'ant-design-vue';
18
26
  import { defineComponent, type PropType } from 'vue';
19
27
  import type { PartnerItem } from './typing';
20
28
 
21
29
  export default defineComponent({
22
30
  name: 'PartnerSwitcher',
23
31
  components: {
24
- AMenu,
25
- AMenuItem,
26
32
  CaretDownOutlined,
27
33
  OioDropdown
28
34
  },
@@ -39,12 +45,11 @@ export default defineComponent({
39
45
  }
40
46
  },
41
47
  setup(props) {
42
- const onSelect = (e: { key: string }) => {
43
- const { key } = e;
44
- const target = props.partnerList?.find((v) => v.id === key);
45
- if (target) {
46
- props.onChangePartner?.(target);
48
+ const onSelect = (item: PartnerItem) => {
49
+ if (item.id === props.currentPartner?.id) {
50
+ return;
47
51
  }
52
+ props.onChangePartner?.(item);
48
53
  };
49
54
 
50
55
  return {
@@ -62,6 +67,10 @@ export default defineComponent({
62
67
 
63
68
  span {
64
69
  margin-left: 10px;
70
+ max-width: 180px;
71
+ overflow: hidden;
72
+ text-overflow: ellipsis;
73
+ white-space: nowrap;
65
74
  }
66
75
 
67
76
  &:hover {
@@ -69,7 +78,37 @@ export default defineComponent({
69
78
  }
70
79
  }
71
80
 
81
+ /* 自定义下拉列表,避免 ant-menu 选中左侧蓝条 */
72
82
  .k-layout-partner-switcher-overlay {
73
- max-height: 500px !important;
83
+ min-width: 140px;
84
+ max-width: 280px;
85
+ max-height: 500px;
86
+ overflow-y: auto;
87
+ padding: 4px 0;
88
+ background: var(--oio-dropdown-background-color, #fff);
89
+ border-radius: var(--oio-border-radius, 4px);
90
+ box-shadow: var(--oio-dropdown-box-shadow, 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08));
91
+ }
92
+
93
+ .k-layout-partner-switcher-item {
94
+ padding: 5px 12px;
95
+ line-height: 22px;
96
+ font-size: 14px;
97
+ color: var(--oio-select-dropdown-color, rgba(0, 0, 0, 0.85));
98
+ cursor: pointer;
99
+ overflow: hidden;
100
+ text-overflow: ellipsis;
101
+ white-space: nowrap;
102
+
103
+ &:hover {
104
+ color: var(--oio-select-dropdown-hover-color, rgba(0, 0, 0, 0.85));
105
+ background-color: var(--oio-select-dropdown-hover-background, #f5f5f5);
106
+ }
107
+
108
+ &.is-selected {
109
+ color: var(--oio-select-dropdown-selected-color, #606cee);
110
+ background-color: var(--oio-select-dropdown-selected, rgba(96, 108, 238, 0.1));
111
+ font-weight: 500;
112
+ }
74
113
  }
75
114
  </style>
@@ -32,8 +32,15 @@ export class PartnerSwitcherWidget extends MaskWidget {
32
32
 
33
33
  @Widget.Method()
34
34
  public async onChangePartner(item: PartnerItem) {
35
+ if (item.id && item.id === this.currentPartner?.id) {
36
+ return;
37
+ }
35
38
  const partnerInfo = await this.partnerSwitcherService?.changePartner(item);
36
39
  this.reloadPartnerInfo(partnerInfo);
40
+ // 组织上下文变更后刷新页面,确保业务数据按新主体重新加载
41
+ if (partnerInfo?.currentPartner?.id) {
42
+ window.location.reload();
43
+ }
37
44
  }
38
45
 
39
46
  protected reloadPartnerInfo(target: PartnerInfo | undefined, predict?: (target: PartnerInfo) => boolean) {