cnhis-design-vue 3.2.13-beta.4 → 3.2.13-release.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/es/components/ai-chat/index.d.ts +95 -4
  2. package/es/components/ai-chat/src/Index.vue.d.ts +96 -5
  3. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  4. package/es/components/ai-chat/src/components/ChatCard.d.ts +10 -4
  5. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  6. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +60 -1
  7. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  8. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  9. package/es/components/ai-chat/src/components/ChatPatient.vue.d.ts +59 -0
  10. package/es/components/ai-chat/src/components/ChatPatient.vue.js +1 -0
  11. package/es/components/ai-chat/src/components/ChatPatient.vue2.js +1 -0
  12. package/es/components/ai-chat/src/types/index.d.ts +4 -3
  13. package/es/components/ai-chat/style/index.css +1 -1
  14. package/es/components/button-print/index.d.ts +4 -4
  15. package/es/components/button-print/src/ButtonPrint.vue.d.ts +4 -4
  16. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  17. package/es/components/button-print/src/components/OldPrintComponent.vue.d.ts +4 -4
  18. package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
  19. package/es/components/button-print/src/utils/print.js +1 -1
  20. package/es/components/callback/src/components/render/popupMaps.d.ts +8 -6
  21. package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
  22. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  23. package/es/components/fabric-chart/src/hooks/useCommon.js +1 -1
  24. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  25. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  26. package/es/components/iho-table/index.d.ts +8 -6
  27. package/es/components/iho-table/src/IhoTable.vue.d.ts +8 -6
  28. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  29. package/es/components/iho-table/src/plugins/crossHeaderPlugin.js +1 -1
  30. package/es/components/iho-table/src/plugins/headerPlugin/index.js +1 -1
  31. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.vue2.js +1 -1
  32. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/defaultRendererPlugin.js +1 -1
  33. package/es/components/iho-table/src/types/index.d.ts +3 -2
  34. package/es/components/iho-table/style/index.css +1 -1
  35. package/es/components/index.css +1 -1
  36. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  37. package/es/env.d.ts +25 -25
  38. package/es/shared/package.json.js +1 -1
  39. package/package.json +2 -2
@@ -1,5 +1,9 @@
1
1
  import { SFCWithInstall } from '../../shared/types';
2
2
  declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
3
+ token: {
4
+ type: StringConstructor;
5
+ required: true;
6
+ };
3
7
  userAvatar: {
4
8
  type: StringConstructor;
5
9
  };
@@ -34,11 +38,21 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
34
38
  type: import("vue").PropType<import("./src/types").QueryPrompt>;
35
39
  };
36
40
  patientInfo: {
37
- type: import("vue").PropType<import("../../shared/types").AnyObject>;
41
+ type: import("vue").PropType<Partial<{
42
+ info: import("../../shared/types").AnyObject;
43
+ queryPatient: (props: {
44
+ keyword: string;
45
+ businessType: string;
46
+ }) => Promise<import("../../shared/types").AnyObject[]>;
47
+ }>>;
38
48
  };
39
49
  }, {
40
50
  cssVars: import("vue").ComputedRef<import("../../shared/types").AnyObject>;
41
51
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
52
+ token: {
53
+ type: StringConstructor;
54
+ required: true;
55
+ };
42
56
  userAvatar: {
43
57
  type: StringConstructor;
44
58
  };
@@ -73,13 +87,21 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
73
87
  type: import("vue").PropType<import("./src/types").QueryPrompt>;
74
88
  };
75
89
  patientInfo: {
76
- type: import("vue").PropType<import("../../shared/types").AnyObject>;
90
+ type: import("vue").PropType<Partial<{
91
+ info: import("../../shared/types").AnyObject;
92
+ queryPatient: (props: {
93
+ keyword: string;
94
+ businessType: string;
95
+ }) => Promise<import("../../shared/types").AnyObject[]>;
96
+ }>>;
77
97
  };
78
98
  }>> & {
79
99
  "onButton-click"?: ((...args: any[]) => any) | undefined;
80
100
  }>>;
101
+ axiosInstance: import("axios").AxiosInstance;
81
102
  emit: (event: "button-click", ...args: any[]) => void;
82
103
  state: import("../../shared/types").AnyObject;
104
+ NMessageProvider: any;
83
105
  ChatMain: import("vue").DefineComponent<Readonly<import("vue").ComponentPropsOptions<{
84
106
  [x: string]: unknown;
85
107
  }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, never[], never, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<readonly string[] | import("vue").ExtractPropTypes<Readonly<import("vue").ComponentObjectPropsOptions<{
@@ -90,6 +112,7 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
90
112
  ChatFooter: import("vue").DefineComponent<{}, {
91
113
  cssVars: import("vue").ComputedRef<import("../../shared/types").AnyObject>;
92
114
  audioSdk: import("..").CAudioSDK;
115
+ message: import("naive-ui").MessageApi;
93
116
  emit: (event: string, ...args: any[]) => void;
94
117
  shortcutList: any;
95
118
  state: any;
@@ -97,7 +120,6 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
97
120
  audioTimed: any;
98
121
  commandList: any;
99
122
  inputRef: import("vue").Ref<any>;
100
- content: import("vue").Ref<string>;
101
123
  showPopover: import("vue").Ref<boolean>;
102
124
  breadcrumb: import("vue").Ref<{
103
125
  [x: string]: any;
@@ -115,8 +137,10 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
115
137
  }[]>;
116
138
  showPrompt: import("vue").Ref<boolean>;
117
139
  currentShortcutId: import("vue").Ref<string>;
140
+ showPatient: import("vue").Ref<boolean>;
118
141
  btnDisabled: import("vue").ComputedRef<boolean>;
119
142
  showMagicWand: import("vue").ComputedRef<boolean>;
143
+ patient: import("vue").ComputedRef<string>;
120
144
  recorderStart: () => Promise<void>;
121
145
  isValidJSON: (str: string) => boolean;
122
146
  getShortcutName: (item: string | import("../../shared/types").AnyObject) => any;
@@ -139,6 +163,7 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
139
163
  ChevronBack: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
140
164
  ChevronForward: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
141
165
  SparklesSharp: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
166
+ PeopleOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
142
167
  ChatPrompt: import("vue").DefineComponent<{
143
168
  show: {
144
169
  type: BooleanConstructor;
@@ -182,8 +207,68 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
182
207
  }, {
183
208
  show: boolean;
184
209
  }>;
210
+ ChatPatient: import("vue").DefineComponent<{
211
+ show: {
212
+ type: BooleanConstructor;
213
+ };
214
+ }, {
215
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
216
+ show: {
217
+ type: BooleanConstructor;
218
+ };
219
+ }>> & {
220
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
221
+ }>>;
222
+ emit: (event: "update:show", ...args: any[]) => void;
223
+ patientInfo: any;
224
+ state: any;
225
+ formValue: {
226
+ businessType: string;
227
+ vaa01: null;
228
+ bck03a: string;
229
+ };
230
+ rules: {
231
+ businessType: {
232
+ required: boolean;
233
+ trigger: string;
234
+ message: string;
235
+ };
236
+ vaa01: {
237
+ required: boolean;
238
+ trigger: string[];
239
+ message: string;
240
+ };
241
+ };
242
+ options: import("vue").Ref<import("../../shared/types").AnyObject[]>;
243
+ formRef: import("vue").Ref<any>;
244
+ renderLabel: (option: import("../../shared/types").AnyObject) => string;
245
+ handleUpdateValue: (value: string, option: import("naive-ui").SelectOption) => void;
246
+ handleSearch: (keyword: string) => Promise<void>;
247
+ handleBusinessTypeUpdate: () => void;
248
+ handleValidateClick: (e: MouseEvent) => void;
249
+ NDrawer: any;
250
+ NDrawerContent: any;
251
+ NForm: any;
252
+ NFormItem: any;
253
+ NButton: any;
254
+ NRadioGroup: any;
255
+ NRadio: any;
256
+ NSelect: any;
257
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:show"[], "update:show", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
258
+ show: {
259
+ type: BooleanConstructor;
260
+ };
261
+ }>> & {
262
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
263
+ }, {
264
+ show: boolean;
265
+ }>;
185
266
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
186
267
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "button-click"[], "button-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
268
+ token: {
269
+ type: StringConstructor;
270
+ required: true;
271
+ };
187
272
  userAvatar: {
188
273
  type: StringConstructor;
189
274
  };
@@ -218,7 +303,13 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
218
303
  type: import("vue").PropType<import("./src/types").QueryPrompt>;
219
304
  };
220
305
  patientInfo: {
221
- type: import("vue").PropType<import("../../shared/types").AnyObject>;
306
+ type: import("vue").PropType<Partial<{
307
+ info: import("../../shared/types").AnyObject;
308
+ queryPatient: (props: {
309
+ keyword: string;
310
+ businessType: string;
311
+ }) => Promise<import("../../shared/types").AnyObject[]>;
312
+ }>>;
222
313
  };
223
314
  }>> & {
224
315
  "onButton-click"?: ((...args: any[]) => any) | undefined;
@@ -2,6 +2,10 @@ import { type PropType } from 'vue';
2
2
  import { QueryData, QueryRecord, CommandItem, QueryPrompt } from './types';
3
3
  import { AnyObject } from '../../../shared/types';
4
4
  declare const _default: import("vue").DefineComponent<{
5
+ token: {
6
+ type: StringConstructor;
7
+ required: true;
8
+ };
5
9
  userAvatar: {
6
10
  type: StringConstructor;
7
11
  };
@@ -36,11 +40,21 @@ declare const _default: import("vue").DefineComponent<{
36
40
  type: PropType<QueryPrompt>;
37
41
  };
38
42
  patientInfo: {
39
- type: PropType<AnyObject>;
43
+ type: PropType<Partial<{
44
+ info: AnyObject;
45
+ queryPatient: (props: {
46
+ keyword: string;
47
+ businessType: string;
48
+ }) => Promise<AnyObject[]>;
49
+ }>>;
40
50
  };
41
51
  }, {
42
52
  cssVars: import("vue").ComputedRef<AnyObject>;
43
53
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
54
+ token: {
55
+ type: StringConstructor;
56
+ required: true;
57
+ };
44
58
  userAvatar: {
45
59
  type: StringConstructor;
46
60
  };
@@ -75,13 +89,21 @@ declare const _default: import("vue").DefineComponent<{
75
89
  type: PropType<QueryPrompt>;
76
90
  };
77
91
  patientInfo: {
78
- type: PropType<AnyObject>;
92
+ type: PropType<Partial<{
93
+ info: AnyObject;
94
+ queryPatient: (props: {
95
+ keyword: string;
96
+ businessType: string;
97
+ }) => Promise<AnyObject[]>;
98
+ }>>;
79
99
  };
80
100
  }>> & {
81
101
  "onButton-click"?: ((...args: any[]) => any) | undefined;
82
102
  }>>;
103
+ axiosInstance: import("axios").AxiosInstance;
83
104
  emit: (event: "button-click", ...args: any[]) => void;
84
105
  state: AnyObject;
106
+ NMessageProvider: any;
85
107
  ChatMain: import("vue").DefineComponent<Readonly<import("vue").ComponentPropsOptions<{
86
108
  [x: string]: unknown;
87
109
  }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, never[], never, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<readonly string[] | import("vue").ExtractPropTypes<Readonly<import("vue").ComponentObjectPropsOptions<{
@@ -91,7 +113,8 @@ declare const _default: import("vue").DefineComponent<{
91
113
  } | {}>;
92
114
  ChatFooter: import("vue").DefineComponent<{}, {
93
115
  cssVars: import("vue").ComputedRef<AnyObject>;
94
- audioSdk: import("../../../components/index").CAudioSDK;
116
+ audioSdk: import("../..").CAudioSDK;
117
+ message: import("naive-ui").MessageApi;
95
118
  emit: (event: string, ...args: any[]) => void;
96
119
  shortcutList: any;
97
120
  state: any;
@@ -99,7 +122,6 @@ declare const _default: import("vue").DefineComponent<{
99
122
  audioTimed: any;
100
123
  commandList: any;
101
124
  inputRef: import("vue").Ref<any>;
102
- content: import("vue").Ref<string>;
103
125
  showPopover: import("vue").Ref<boolean>;
104
126
  breadcrumb: import("vue").Ref<{
105
127
  [x: string]: any;
@@ -117,8 +139,10 @@ declare const _default: import("vue").DefineComponent<{
117
139
  }[]>;
118
140
  showPrompt: import("vue").Ref<boolean>;
119
141
  currentShortcutId: import("vue").Ref<string>;
142
+ showPatient: import("vue").Ref<boolean>;
120
143
  btnDisabled: import("vue").ComputedRef<boolean>;
121
144
  showMagicWand: import("vue").ComputedRef<boolean>;
145
+ patient: import("vue").ComputedRef<string>;
122
146
  recorderStart: () => Promise<void>;
123
147
  isValidJSON: (str: string) => boolean;
124
148
  getShortcutName: (item: string | AnyObject) => any;
@@ -141,6 +165,7 @@ declare const _default: import("vue").DefineComponent<{
141
165
  ChevronBack: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
142
166
  ChevronForward: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
143
167
  SparklesSharp: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
168
+ PeopleOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
144
169
  ChatPrompt: import("vue").DefineComponent<{
145
170
  show: {
146
171
  type: BooleanConstructor;
@@ -184,8 +209,68 @@ declare const _default: import("vue").DefineComponent<{
184
209
  }, {
185
210
  show: boolean;
186
211
  }>;
212
+ ChatPatient: import("vue").DefineComponent<{
213
+ show: {
214
+ type: BooleanConstructor;
215
+ };
216
+ }, {
217
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
218
+ show: {
219
+ type: BooleanConstructor;
220
+ };
221
+ }>> & {
222
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
223
+ }>>;
224
+ emit: (event: "update:show", ...args: any[]) => void;
225
+ patientInfo: any;
226
+ state: any;
227
+ formValue: {
228
+ businessType: string;
229
+ vaa01: null;
230
+ bck03a: string;
231
+ };
232
+ rules: {
233
+ businessType: {
234
+ required: boolean;
235
+ trigger: string;
236
+ message: string;
237
+ };
238
+ vaa01: {
239
+ required: boolean;
240
+ trigger: string[];
241
+ message: string;
242
+ };
243
+ };
244
+ options: import("vue").Ref<AnyObject[]>;
245
+ formRef: import("vue").Ref<any>;
246
+ renderLabel: (option: AnyObject) => string;
247
+ handleUpdateValue: (value: string, option: import("naive-ui").SelectOption) => void;
248
+ handleSearch: (keyword: string) => Promise<void>;
249
+ handleBusinessTypeUpdate: () => void;
250
+ handleValidateClick: (e: MouseEvent) => void;
251
+ NDrawer: any;
252
+ NDrawerContent: any;
253
+ NForm: any;
254
+ NFormItem: any;
255
+ NButton: any;
256
+ NRadioGroup: any;
257
+ NRadio: any;
258
+ NSelect: any;
259
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:show"[], "update:show", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
260
+ show: {
261
+ type: BooleanConstructor;
262
+ };
263
+ }>> & {
264
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
265
+ }, {
266
+ show: boolean;
267
+ }>;
187
268
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
188
269
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "button-click"[], "button-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
270
+ token: {
271
+ type: StringConstructor;
272
+ required: true;
273
+ };
189
274
  userAvatar: {
190
275
  type: StringConstructor;
191
276
  };
@@ -220,7 +305,13 @@ declare const _default: import("vue").DefineComponent<{
220
305
  type: PropType<QueryPrompt>;
221
306
  };
222
307
  patientInfo: {
223
- type: PropType<AnyObject>;
308
+ type: PropType<Partial<{
309
+ info: AnyObject;
310
+ queryPatient: (props: {
311
+ keyword: string;
312
+ businessType: string;
313
+ }) => Promise<AnyObject[]>;
314
+ }>>;
224
315
  };
225
316
  }>> & {
226
317
  "onButton-click"?: ((...args: any[]) => any) | undefined;
@@ -1 +1 @@
1
- import{defineComponent as e,reactive as t,provide as o,toRefs as r,computed as s,openBlock as i,createElementBlock as a,normalizeClass as n,normalizeStyle as m,unref as p,createVNode as u,createBlock as d,createCommentVNode as l}from"vue";import c from"./components/ChatMain.js";import h from"./components/ChatFooter.vue.js";import{useTheme as y}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import{useFormRequest as f}from"../../../shared/hooks/useFormRequest/index.js";import{uuidGenerator as j}from"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import"naive-ui";import"../../../shared/hooks/useScrollLoading.js";import{InjectionAIChat as v,InjectionAIChatEmits as x}from"./types/index.js";import S from"axios";import"../../index.js";const g=["id"];var k=e({__name:"Index",props:{userAvatar:{type:String},defaultShortcutList:{type:Array},shortcutList:{type:Array},queryData:{type:Function,reuired:!0},queryRecord:{type:Function,reuired:!0},hideInput:{type:Boolean},uiStyle:{type:String},audioTimed:{type:Number,default:10},commandList:{type:Array},queryPrompt:{type:Function},patientInfo:{type:Object}},emits:["button-click"],setup(e,{expose:k,emit:C}){const F=e;f().registGlobHttpInstance(S.create());const I=y(),b=t({id:"ai-chat-"+j(),loading:!1,sending:!1,sendContent:"",selectedCommand:null,selectedPrompt:null,externalData:null});return o(v,{...r(F),state:b,isSmall:s((()=>"small"===F.uiStyle))}),o(x,C),k({pushMessage:e=>{b.externalData=e}}),(t,o)=>(i(),a("div",{id:b.id,class:n(["ai-chat","small"===e.uiStyle?"ai-chat--small":""]),style:m(p(I))},[u(p(c)),e.hideInput?l("v-if",!0):(i(),d(h,{key:0}))],14,g))}});export{k as default};
1
+ import{defineComponent as e,reactive as t,provide as o,toRefs as r,computed as s,openBlock as a,createElementBlock as i,normalizeClass as n,normalizeStyle as u,unref as p,createVNode as d,withCtx as l,createBlock as m,createCommentVNode as c}from"vue";import{NMessageProvider as h}from"naive-ui";import y from"./components/ChatMain.js";import f from"./components/ChatFooter.vue.js";import{useTheme as v}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import{uuidGenerator as S}from"../../../shared/utils/index.js";import"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import"../../../shared/hooks/useScrollLoading.js";import{InjectionAIChat as x,InjectionAIChatEmits as j}from"./types/index.js";import k from"axios";const g=["id"];var A=e({__name:"Index",props:{token:{type:String,required:!0},userAvatar:{type:String},defaultShortcutList:{type:Array},shortcutList:{type:Array},queryData:{type:Function,reuired:!0},queryRecord:{type:Function,reuired:!0},hideInput:{type:Boolean},uiStyle:{type:String},audioTimed:{type:Number,default:10},commandList:{type:Array},queryPrompt:{type:Function},patientInfo:{type:Object}},emits:["button-click"],setup(e,{expose:A,emit:C}){const I=e,b=v(),q=k.create({headers:{Authorization:"bearer "+I.token}});q.interceptors.response.use((e=>{var t;return(null==(t=e.data)?void 0:t.success)?e.data:{success:!1,data:[]}}));const F=t({id:"ai-chat-"+S(),loading:!1,sending:!1,sendContent:"",selectedCommand:null,selectedPrompt:null,externalData:null,selectedPatient:null});return o(x,{...r(I),state:F,isSmall:s((()=>"small"===I.uiStyle)),axiosInstance:q}),o(j,C),A({pushMessage:e=>{F.externalData=e}}),(t,o)=>(a(),i("div",{id:F.id,class:n(["ai-chat","small"===e.uiStyle?"ai-chat--small":""]),style:u(p(b))},[d(p(h),null,{default:l((()=>[d(p(y)),e.hideInput?c("v-if",!0):(a(),m(f,{key:0}))])),_:1})],14,g))}});export{A as default};
@@ -5,16 +5,22 @@ declare const _default: import("vue").DefineComponent<{
5
5
  type: PropType<MessageItem>;
6
6
  default: () => {};
7
7
  };
8
- instructionId: {
9
- type: StringConstructor;
8
+ selectParams: {
9
+ type: PropType<{
10
+ taskId: string;
11
+ instructionId: string;
12
+ }>;
10
13
  };
11
14
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "button-click"[], "button-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
12
15
  msgItem: {
13
16
  type: PropType<MessageItem>;
14
17
  default: () => {};
15
18
  };
16
- instructionId: {
17
- type: StringConstructor;
19
+ selectParams: {
20
+ type: PropType<{
21
+ taskId: string;
22
+ instructionId: string;
23
+ }>;
18
24
  };
19
25
  }>> & {
20
26
  "onButton-click"?: ((...args: any[]) => any) | undefined;
@@ -1 +1 @@
1
- import{defineComponent as t,inject as e,ref as n,computed as i,createVNode as o}from"vue";import{NButton as l}from"naive-ui";import{InjectionAIChat as a}from"../types/index.js";import"../../../index.js";import{isArray as r}from"lodash-es";import s from"../../../form-render/index.js";import u from"../../../template-render/index.js";var d=t({name:"ChatCard",inheritAttrs:!1,props:{msgItem:{type:Object,default:()=>({})},instructionId:{type:String}},emits:["button-click"],setup(t,{attrs:d,slots:c,emit:m}){const{patientInfo:p,state:f}=e(a),v=n([]),g=n(),b=i((()=>{var e,n;return!!(null==(n=null==(e=t.msgItem)?void 0:e.content)?void 0:n.body)}));function y(t){try{return JSON.parse(t),!0}catch(t){return!1}}const h=t.msgItem.content;function I(t){const{eventName:e,data:n}=t;e&&m("button-click",{fieldItem:n,isBI:!0})}function x(t){h.data[t.button.id+"Disabled"]=!0,m("button-click",{button:t.button})}return b.value&&(v.value=(h.body.items||[]).map((e=>{var n,i;const o={html_type:e.type,val_key:e.code,name:e.name,elem_width:12,default_val:e.value,lazyRequest:!0,requestCache:!0,urlConfig:{nameKey:null!=(n=e.labelField)?n:"label"},option:[],is_null:e.required?"0":"1"};return"SELECT"===o.html_type&&(o.option=e.options,"fixed"===e.dataSourceType&&(null==(i=e.options)?void 0:i.length)||(o.html_type="REMOTE_SEARCH",Object.assign(o.urlConfig,{url:"/flow/api/instruction/parameter/getOptionsValues",method:"post",params:{instructionId:t.instructionId,code:e.code,configs:p},dependKey:[]}),r(e.dependencies)&&e.dependencies.length&&(o.urlConfig.dependKey=e.dependencies))),o}))),()=>{var e;return o("div",{class:"card"},[b.value?[o("p",null,[h.title||h.header.title]),o(s,{disabled:t.msgItem.disabled,column:12,ref:g,"field-list":v.value},null),h.footer.buttons.map((e=>function(e){const n={width:"100%","--n-height":"36px",fontSize:"15px",marginTop:"10px"},i=b.value?{...n,marginTop:"0"}:n;return o(l,{style:i,secondary:!0,class:"gradient",disabled:t.msgItem.disabled,onClick:async function(){if(b.value){if(!g.value)return;const t=g.value.getFormValues();try{await g.value.validate(),h.body.items.forEach((e=>{t[e.code]&&(e.value=t[e.code])})),f.loading=!0,m("button-click",{values:t,buttonInfo:e,isForm:!0})}catch(t){}}else m("button-click")}},{default:()=>[b.value?null==e?void 0:e.text:h.buttonName]})}(e)))]:o(u,{config:y(null==(e=h.settings)?void 0:e.setting)?JSON.parse(h.settings.setting):null,data:h.data,"onModule-click":I,"onButton-click":x},null)])}}});export{d as default};
1
+ import{defineComponent as e,inject as t,ref as n,computed as o,createVNode as l}from"vue";import{NButton as a}from"naive-ui";import{InjectionAIChat as i}from"../types/index.js";import"../../../index.js";import{isArray as s}from"lodash-es";import r from"../../../form-render/index.js";import u from"../../../template-render/index.js";var d=e({name:"ChatCard",inheritAttrs:!1,props:{msgItem:{type:Object,default:()=>({})},selectParams:{type:Object}},emits:["button-click"],setup(e,{attrs:d,slots:c,emit:m}){const p={TEXT:"INPUT",NUMBER:"INPUT_NUMBER",DATETIME:"DATETIME-INPUT"},{patientInfo:f,state:v,axiosInstance:g,isSmall:b}=t(i),y=n([]),h=n(),I=o((()=>{var t,n;return!!(null==(n=null==(t=e.msgItem)?void 0:t.content)?void 0:n.body)}));function E(e){try{return JSON.parse(e),!0}catch(e){return!1}}const T=e.msgItem.content;function x(e){const{eventName:t,data:n}=e;t&&m("button-click",{buttonInfo:n,isBI:!0})}function _(e){T.data[e.button.id+"Disabled"]=!0,m("button-click",{buttonInfo:e.button})}return I.value&&(y.value=(T.body.items||[]).map((t=>{var n,o;const l={html_type:p[t.type]||t.type,val_key:t.code,name:t.name,elem_width:12,default_val:t.value,lazyRequest:!0,requestCache:!0,urlConfig:{nameKey:null!=(n=t.labelField)?n:"label"},option:[],is_null:t.required?"0":"1",is_edit:e.msgItem.disabled?"0":"1"};return"SELECT"===l.html_type&&(l.option=t.options,(null==(o=t.options)?void 0:o.length)||(l.html_type="REMOTE_SEARCH",Object.assign(l.urlConfig,{url:"/flow/api/instruction/parameter/getOptionsValues",method:"post",params:{...e.selectParams,code:t.code,source:b.value?"inner":"global",configs:f.value.info||v.selectedPatient},dependKey:[]}),s(t.dependencies)&&t.dependencies.length&&(l.urlConfig.dependKey=t.dependencies))),l}))),()=>{var t;return l("div",{class:"card"},[I.value?[l("p",null,[T.title||T.header.title]),l(r,{"request-instance":{get:g.get,post:g.post},column:12,ref:h,"field-list":y.value},null),T.footer.buttons.map((t=>function(t){const n={width:"100%","--n-height":"36px",fontSize:"15px",marginTop:"10px"},o=I.value?{...n,marginTop:"0"}:n;return l(a,{style:o,secondary:!0,class:"gradient",disabled:e.msgItem.disabled,onClick:async function(){if(I.value){if(!h.value)return;const e=h.value.getFormValues();try{await h.value.validate(),T.body.items.forEach((t=>{e[t.code]&&(t.value=e[t.code])})),v.loading=!0,m("button-click",{values:e,buttonInfo:t,isForm:!0})}catch(e){}}else m("button-click")}},{default:()=>[I.value?null==t?void 0:t.text:T.buttonName]})}(t)))]:l(u,{config:E(null==(t=T.settings)?void 0:t.setting)?JSON.parse(T.settings.setting):null,data:T.data,"onModule-click":x,"onButton-click":_},null)])}}});export{d as default};
@@ -4,6 +4,7 @@ import { AnyObject } from '../../../../shared/types';
4
4
  declare const _default: import("vue").DefineComponent<{}, {
5
5
  cssVars: import("vue").ComputedRef<AnyObject>;
6
6
  audioSdk: CAudioSDK;
7
+ message: import("naive-ui").MessageApi;
7
8
  emit: (event: string, ...args: any[]) => void;
8
9
  shortcutList: any;
9
10
  state: any;
@@ -11,7 +12,6 @@ declare const _default: import("vue").DefineComponent<{}, {
11
12
  audioTimed: any;
12
13
  commandList: any;
13
14
  inputRef: import("vue").Ref<any>;
14
- content: import("vue").Ref<string>;
15
15
  showPopover: import("vue").Ref<boolean>;
16
16
  breadcrumb: import("vue").Ref<{
17
17
  [x: string]: any;
@@ -29,8 +29,10 @@ declare const _default: import("vue").DefineComponent<{}, {
29
29
  }[]>;
30
30
  showPrompt: import("vue").Ref<boolean>;
31
31
  currentShortcutId: import("vue").Ref<string>;
32
+ showPatient: import("vue").Ref<boolean>;
32
33
  btnDisabled: import("vue").ComputedRef<boolean>;
33
34
  showMagicWand: import("vue").ComputedRef<boolean>;
35
+ patient: import("vue").ComputedRef<string>;
34
36
  recorderStart: () => Promise<void>;
35
37
  isValidJSON: (str: string) => boolean;
36
38
  getShortcutName: (item: string | AnyObject) => any;
@@ -53,6 +55,7 @@ declare const _default: import("vue").DefineComponent<{}, {
53
55
  ChevronBack: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
54
56
  ChevronForward: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
55
57
  SparklesSharp: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
58
+ PeopleOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
56
59
  ChatPrompt: import("vue").DefineComponent<{
57
60
  show: {
58
61
  type: BooleanConstructor;
@@ -96,5 +99,61 @@ declare const _default: import("vue").DefineComponent<{}, {
96
99
  }, {
97
100
  show: boolean;
98
101
  }>;
102
+ ChatPatient: import("vue").DefineComponent<{
103
+ show: {
104
+ type: BooleanConstructor;
105
+ };
106
+ }, {
107
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
108
+ show: {
109
+ type: BooleanConstructor;
110
+ };
111
+ }>> & {
112
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
113
+ }>>;
114
+ emit: (event: "update:show", ...args: any[]) => void;
115
+ patientInfo: any;
116
+ state: any;
117
+ formValue: {
118
+ businessType: string;
119
+ vaa01: null;
120
+ bck03a: string;
121
+ };
122
+ rules: {
123
+ businessType: {
124
+ required: boolean;
125
+ trigger: string;
126
+ message: string;
127
+ };
128
+ vaa01: {
129
+ required: boolean;
130
+ trigger: string[];
131
+ message: string;
132
+ };
133
+ };
134
+ options: import("vue").Ref<AnyObject[]>;
135
+ formRef: import("vue").Ref<any>;
136
+ renderLabel: (option: AnyObject) => string;
137
+ handleUpdateValue: (value: string, option: import("naive-ui").SelectOption) => void;
138
+ handleSearch: (keyword: string) => Promise<void>;
139
+ handleBusinessTypeUpdate: () => void;
140
+ handleValidateClick: (e: MouseEvent) => void;
141
+ NDrawer: any;
142
+ NDrawerContent: any;
143
+ NForm: any;
144
+ NFormItem: any;
145
+ NButton: any;
146
+ NRadioGroup: any;
147
+ NRadio: any;
148
+ NSelect: any;
149
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:show"[], "update:show", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
150
+ show: {
151
+ type: BooleanConstructor;
152
+ };
153
+ }>> & {
154
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
155
+ }, {
156
+ show: boolean;
157
+ }>;
99
158
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
100
159
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,inject as l,ref as t,computed as o,watch as n,onBeforeUnmount as a,openBlock as s,createElementBlock as u,normalizeClass as r,unref as i,Fragment as d,renderList as c,createBlock as v,withCtx as m,createTextVNode as p,toDisplayString as h,createCommentVNode as f,createVNode as k,createElementVNode as y,withModifiers as g,getCurrentInstance as w}from"vue";import{NButton as b,NPopover as x,NInput as C,NTag as _,NIcon as I,NBreadcrumb as j,NBreadcrumbItem as z}from"naive-ui";import{SparklesSharp as T,PaperPlane as K,ChevronBack as M,ChevronForward as D}from"@vicons/ionicons5";import{InjectionAIChatEmits as S,InjectionAIChat as R}from"../types/index.js";import U from"../../../audio-sdk/src/audioSDK.js";import{cloneDeep as A,isString as P,last as E}from"lodash-es";import{useTheme as L}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";import B from"./ChatPrompt.vue.js";const F={key:0,class:"menu-box fillet-8"},W={class:"input-wrapper fillet-10"},H=y("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[y("path",{fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 448h128"}),y("path",{d:"M384 208v32c0 70.4-57.6 128-128 128h0c-70.4 0-128-57.6-128-128v-32",fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"}),y("path",{fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 368v80"}),y("path",{d:"M256 64a63.68 63.68 0 0 0-64 64v111c0 35.2 29 65 64 65s64-29 64-65V128c0-36-28-64-64-64z",fill:"none",stroke:"#4972EF","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"})],-1),N={class:"btn-box"},V=["disabled"],q={class:"command-box"},G={class:"command-box__header"},J={key:0,class:"title"},O={class:"command-box__menu"},Q=["onMouseover","onClick"],X={class:"label"},Y={class:"remark"};var Z=e({__name:"ChatFooter",setup(e){const Z=L(),$=U.create(),ee=l(S),{shortcutList:le,state:te,isSmall:oe,audioTimed:ne,commandList:ae}=l(R),se=t(),ue=t(""),re=t(!1),ie=t([]),de=t(A(ae.value||[])),ce=t(!1),ve=t(""),me=o((()=>!ue.value.replace(/(&nbsp;|\s|<br>)+/g,""))),pe=o((()=>{var e;return!ue.value&&!(null==(e=se.value)?void 0:e.activated.value)}));async function he(){try{const e=await $.start(w(),{allowPunctuationMark:!1,timed:ne.value||10,realTimeRecognition:!0});if("success"!==(null==e?void 0:e.result))return;const{text:l}=e.data;ue.value=l}catch(e){console.log(e)}}function fe(e){var l;if(P(e))return e;const{content:t}=(null==(l=null==e?void 0:e.contents)?void 0:l[0])||{};return t.instructionName}function ke(){re.value=!1,de.value=A(ae.value||[]),ie.value=[],ae.value.length&&(re.value=!0,ve.value=de.value[0].shortcutId)}function ye(e){if("Slash"!==e.code||te.selectedCommand||ue.value)if("Backspace"===e.key)re.value=!1,!ue.value.startsWith("/")&&!ue.value.startsWith("、")||2!==ue.value.length||te.selectedCommand?!ue.value&&te.selectedCommand&&(e.preventDefault(),te.selectedCommand=null,ue.value="/",ke()):ke();else if(re.value&&["ArrowUp","ArrowDown"].includes(e.key)){const l=de.value.findIndex((e=>e.shortcutId===ve.value));if("ArrowUp"===e.key){const e=l>0?l-1:de.value.length-1;ve.value=de.value[e].shortcutId}else if("ArrowDown"===e.key){const e=l<de.value.length-1?l+1:0;ve.value=de.value[e].shortcutId}}else if(["Enter"].includes(e.key)){if(!function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e))if(e.preventDefault(),re.value){be(de.value.find((e=>e.shortcutId===ve.value)))}else we()}else re.value=!1;else ke()}function ge(e){!e&&te.selectedPrompt&&(te.selectedPrompt=null)}function we(){me.value||(te.sending=!0,te.loading=!0,te.sendContent=ue.value,ue.value="")}function be(e){var l;ve.value=e.shortcutId,se.value.focus(),(null==(l=e.children)?void 0:l.length)?(de.value=e.children,ve.value=de.value[0].shortcutId,ie.value.push(e)):(te.selectedCommand=e||{},re.value=!1,ue.value="")}function xe(){var e;ie.value.pop(),de.value=E(ie.value)?null==(e=E(ie.value))?void 0:e.children:A(ae.value||[]),ve.value=de.value[0].shortcutId,se.value.focus()}return n((()=>te.sendContent),(e=>{e&&!te.sending&&(ue.value=e)})),a((()=>{$.destroy()})),(e,l)=>(s(),u("section",{class:r(["chat-footer",i(te).loading?"disabled":""])},[i(le)&&i(le).length>0?(s(),u("div",F,[(s(!0),u(d,null,c(i(le),(e=>(s(),v(i(b),{secondary:"",size:"small",round:i(oe),key:fe(e),onClick:()=>function(e){var l;if(P(e))ue.value=e;else{const t=null==(l=null==e?void 0:e.contents)?void 0:l[0];ee("button-click",{msgItem:t,item:e})}}(e)},{default:m((()=>[p(h(fe(e)),1)])),_:2},1032,["round","onClick"])))),128))])):f("v-if",!0),k(i(x),{"content-style":"height: 400px",placement:"top-start",trigger:"manual",width:"trigger","show-arrow":!1,to:!1,show:re.value,onClickoutside:l[4]||(l[4]=e=>re.value=!1)},{trigger:m((()=>[y("div",W,[i(oe)?(s(),v(i(C),{key:0,ref_key:"inputRef",ref:se,style:{"--n-height":"48px"},round:"",placeholder:"",disabled:i(te).loading,value:ue.value,"onUpdate:value":l[1]||(l[1]=e=>ue.value=e),onKeydownCapture:ye,onInput:ge},{prefix:m((()=>[i(te).selectedCommand&&i(te).selectedCommand.shortcutTitle?(s(),v(i(_),{key:0,bordered:!1,color:{textColor:i(Z)["--c-primary-color"]},style:{"--n-border-radius":"5px"}},{default:m((()=>[p(" /"+h(i(te).selectedCommand.shortcutTitle),1)])),_:1},8,["color"])):i(pe)?(s(),v(i(b),{key:1,text:"",onClick:l[0]||(l[0]=()=>ce.value=!0)},{default:m((()=>[k(i(I),{color:"#8f66f7",size:"18",component:i(T)},null,8,["component"])])),_:1})):f("v-if",!0)])),suffix:m((()=>[k(i(b),{text:"",disabled:i(te).loading,onClick:he},{icon:m((()=>[k(i(I),{size:"30"},{default:m((()=>[H])),_:1})])),_:1},8,["disabled"]),k(i(b),{circle:"",class:"gradient",style:{"margin-left":"10px"},disabled:i(me),onClick:we},{icon:m((()=>[k(i(I),{color:"#fff",size:"20",component:i(K)},null,8,["component"])])),_:1},8,["disabled"])])),_:1},8,["disabled","value"])):(s(),u(d,{key:1},[k(i(C),{ref_key:"inputRef",ref:se,type:"textarea",placeholder:"请向我提问,Shift+Enter换行",disabled:i(te).loading,autosize:{minRows:2,maxRows:7},value:ue.value,"onUpdate:value":l[3]||(l[3]=e=>ue.value=e),onKeydownCapture:ye,onInput:ge},{prefix:m((()=>[i(te).selectedCommand&&i(te).selectedCommand.shortcutTitle?(s(),v(i(_),{key:0,bordered:!1,color:{textColor:i(Z)["--c-primary-color"]},style:{"--n-border-radius":"5px"}},{default:m((()=>{var e;return[p(" /"+h(null==(e=i(te).selectedCommand)?void 0:e.shortcutTitle),1)]})),_:1},8,["color"])):i(pe)?(s(),v(i(b),{key:1,text:"",onClick:l[2]||(l[2]=()=>ce.value=!0)},{default:m((()=>[k(i(I),{color:"#8f66f7",size:"18",component:i(T)},null,8,["component"])])),_:1})):f("v-if",!0)])),_:1},8,["disabled","value"]),y("div",N,[y("span",{class:r(["btn-send","gradient","fillet-8",i(me)?"disabled":""]),disabled:i(me),onClick:we},[k(i(I),{color:"#fff",size:"22",component:i(K)},null,8,["component"])],10,V)])],64))])])),default:m((()=>[y("div",q,[y("div",G,[0===ie.value.length?(s(),u("span",J,"推荐指令")):(s(),u(d,{key:1},[k(i(b),{text:"",onClick:xe},{default:m((()=>[k(i(I),{color:"#999",size:"20",component:i(M)},null,8,["component"])])),_:1}),k(i(j),null,{default:m((()=>[(s(!0),u(d,null,c(ie.value,(e=>(s(),v(i(z),{key:e.shortcutId},{default:m((()=>[p(h(e.shortcutTitle),1)])),_:2},1024)))),128))])),_:1})],64))]),y("div",O,[(s(!0),u(d,null,c(de.value,(e=>(s(),u("div",{class:r(["menu-item",e.children&&e.children.length?"":"selectable",ve.value===e.shortcutId?"selected":""]),key:e.shortcutId,onMouseover:g((()=>ve.value=e.shortcutId),["stop"]),onClick:()=>be(e)},[y("span",X,h(e.shortcutTitle),1),y("span",Y,h(e.shortcutDescription),1),e.children&&e.children.length?(s(),v(i(I),{key:0,color:"#999",size:"20",component:i(D)},null,8,["component"])):f("v-if",!0)],42,Q)))),128))])])])),_:1},8,["show"]),k(B,{show:ce.value,"onUpdate:show":l[5]||(l[5]=e=>ce.value=e)},null,8,["show"])],2))}});export{Z as default};
1
+ import{defineComponent as e,inject as t,ref as o,computed as n,onBeforeUnmount as l,openBlock as s,createElementBlock as a,normalizeClass as r,unref as i,createElementVNode as u,createBlock as d,withCtx as c,createVNode as v,createTextVNode as m,toDisplayString as p,createCommentVNode as h,Fragment as f,renderList as k,withModifiers as C,getCurrentInstance as y}from"vue";import{useMessage as w,NButton as g,NIcon as b,NPopover as x,NInput as _,NTag as I,NBreadcrumb as j,NBreadcrumbItem as z}from"naive-ui";import{PeopleOutline as T,SparklesSharp as P,PaperPlane as K,ChevronBack as M,ChevronForward as D}from"@vicons/ionicons5";import{InjectionAIChatEmits as S,InjectionAIChat as U}from"../types/index.js";import R from"../../../audio-sdk/src/audioSDK.js";import{cloneDeep as A,isString as E,last as L}from"lodash-es";import{useTheme as B}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";import F from"./ChatPrompt.vue.js";import W from"./ChatPatient.vue.js";const $={class:"menu-box fillet-8"},q={class:"input-wrapper fillet-10"},H=u("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[u("path",{fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 448h128"}),u("path",{d:"M384 208v32c0 70.4-57.6 128-128 128h0c-70.4 0-128-57.6-128-128v-32",fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"}),u("path",{fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 368v80"}),u("path",{d:"M256 64a63.68 63.68 0 0 0-64 64v111c0 35.2 29 65 64 65s64-29 64-65V128c0-36-28-64-64-64z",fill:"none",stroke:"#4972EF","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"})],-1),N={class:"btn-box"},V=["disabled"],G={class:"command-box"},J={class:"command-box__header"},O={key:0,class:"title"},Q={class:"command-box__menu"},X=["onMouseover","onClick"],Y={class:"label"},Z={class:"remark"};var ee=e({__name:"ChatFooter",setup(e){const ee=B(),te=R.create(),oe=w(),ne=t(S),{shortcutList:le,state:se,isSmall:ae,audioTimed:re,commandList:ie}=t(U),ue=o(),de=o(!1),ce=o([]),ve=o(A(ie.value||[])),me=o(!1),pe=o(""),he=o(!1),fe=n((()=>!se.sendContent.replace(/(&nbsp;|\s|<br>)+/g,""))),ke=n((()=>{var e;return!se.sendContent&&!(null==(e=ue.value)?void 0:e.activated.value)})),Ce=n((()=>{if(!se.selectedPatient)return"选择患者";const{bcq04b:e,vaa05:t}=se.selectedPatient;return`${e}床/${t}`}));async function ye(){try{const e=await te.start(y(),{allowPunctuationMark:!1,timed:re.value||10,realTimeRecognition:!0});if("success"!==(null==e?void 0:e.result))return;const{text:t}=e.data;se.sendContent=t}catch(e){console.log(e)}}function we(e){var t;if(E(e))return e;const{content:o}=(null==(t=null==e?void 0:e.contents)?void 0:t[0])||{};return o.instructionName}function ge(){var e;de.value=!1,ve.value=A(ie.value||[]),ce.value=[],(null==(e=ie.value)?void 0:e.length)&&(de.value=!0,pe.value=ve.value[0].shortcutId)}function be(e){if("Slash"!==e.code||se.selectedCommand||se.sendContent)if("Backspace"===e.key)de.value=!1,!se.sendContent.startsWith("/")&&!se.sendContent.startsWith("、")||2!==se.sendContent.length||se.selectedCommand?!se.sendContent&&se.selectedCommand&&(e.preventDefault(),se.selectedCommand=null,se.sendContent="/",ge()):ge();else if(de.value&&["ArrowUp","ArrowDown"].includes(e.key)){const t=ve.value.findIndex((e=>e.shortcutId===pe.value));if("ArrowUp"===e.key){const e=t>0?t-1:ve.value.length-1;pe.value=ve.value[e].shortcutId}else if("ArrowDown"===e.key){const e=t<ve.value.length-1?t+1:0;pe.value=ve.value[e].shortcutId}}else if(["Enter"].includes(e.key)){if(!function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e))if(e.preventDefault(),de.value){Ie(ve.value.find((e=>e.shortcutId===pe.value)))}else _e()}else de.value=!1;else ge()}function xe(e){!e&&se.selectedPrompt&&(se.selectedPrompt=null)}function _e(){fe.value||(ae.value||se.selectedPatient?(se.sending=!0,se.loading=!0):oe.warning("请先选择患者!"))}function Ie(e){var t;pe.value=e.shortcutId,ue.value.focus(),(null==(t=e.children)?void 0:t.length)?(ve.value=e.children,pe.value=ve.value[0].shortcutId,ce.value.push(e)):(se.selectedCommand=e||{},de.value=!1,se.sendContent="")}function je(){var e;ce.value.pop(),ve.value=L(ce.value)?null==(e=L(ce.value))?void 0:e.children:A(ie.value||[]),pe.value=ve.value[0].shortcutId,ue.value.focus()}return l((()=>{te.destroy()})),(e,t)=>(s(),a("section",{class:r(["chat-footer",i(se).loading?"disabled":""])},[u("div",$,[i(ae)?h("v-if",!0):(s(),d(i(g),{key:0,secondary:"",size:"small",onClick:t[0]||(t[0]=()=>he.value=!0)},{icon:c((()=>[v(i(b),{color:i(ee)["--c-primary-color"],size:"20",component:i(T)},null,8,["color","component"])])),default:c((()=>[m(" "+p(i(Ce)),1)])),_:1})),i(le)&&i(le).length>0?(s(!0),a(f,{key:1},k(i(le),(e=>(s(),d(i(g),{secondary:"",size:"small",round:i(ae),key:we(e),onClick:()=>function(e){var t;if(E(e))se.sendContent=e;else{const o=null==(t=null==e?void 0:e.contents)?void 0:t[0];ne("button-click",{msgItem:o,item:e})}}(e)},{default:c((()=>[m(p(we(e)),1)])),_:2},1032,["round","onClick"])))),128)):h("v-if",!0)]),v(i(x),{"content-style":"height: 400px",placement:"top-start",trigger:"manual",width:"trigger","show-arrow":!1,to:!1,show:de.value,onClickoutside:t[5]||(t[5]=e=>de.value=!1)},{trigger:c((()=>[u("div",q,[i(ae)?(s(),d(i(_),{key:0,ref_key:"inputRef",ref:ue,style:{"--n-height":"48px"},round:"",placeholder:"",disabled:i(se).loading,value:i(se).sendContent,"onUpdate:value":t[2]||(t[2]=e=>i(se).sendContent=e),onKeydownCapture:be,onInput:xe},{prefix:c((()=>[i(se).selectedCommand&&i(se).selectedCommand.shortcutTitle?(s(),d(i(I),{key:0,bordered:!1,color:{textColor:i(ee)["--c-primary-color"]},style:{"--n-border-radius":"5px"}},{default:c((()=>[m(" /"+p(i(se).selectedCommand.shortcutTitle),1)])),_:1},8,["color"])):i(ke)?(s(),d(i(g),{key:1,text:"",onClick:t[1]||(t[1]=()=>me.value=!0)},{default:c((()=>[v(i(b),{color:"#8f66f7",size:"18",component:i(P)},null,8,["component"])])),_:1})):h("v-if",!0)])),suffix:c((()=>[v(i(g),{text:"",disabled:i(se).loading,onClick:ye},{icon:c((()=>[v(i(b),{size:"30"},{default:c((()=>[H])),_:1})])),_:1},8,["disabled"]),v(i(g),{circle:"",class:"gradient",style:{"margin-left":"10px"},disabled:i(fe),onClick:_e},{icon:c((()=>[v(i(b),{color:"#fff",size:"20",component:i(K)},null,8,["component"])])),_:1},8,["disabled"])])),_:1},8,["disabled","value"])):(s(),a(f,{key:1},[v(i(_),{ref_key:"inputRef",ref:ue,type:"textarea",placeholder:'请向我提问或输入"/"查看指令,Shift+Enter换行',disabled:i(se).loading,autosize:{minRows:2,maxRows:7},value:i(se).sendContent,"onUpdate:value":t[4]||(t[4]=e=>i(se).sendContent=e),onKeydownCapture:be,onInput:xe},{prefix:c((()=>[i(se).selectedCommand&&i(se).selectedCommand.shortcutTitle?(s(),d(i(I),{key:0,bordered:!1,color:{textColor:i(ee)["--c-primary-color"]},style:{"--n-border-radius":"5px"}},{default:c((()=>{var e;return[m(" /"+p(null==(e=i(se).selectedCommand)?void 0:e.shortcutTitle),1)]})),_:1},8,["color"])):i(ke)?(s(),d(i(g),{key:1,text:"",onClick:t[3]||(t[3]=()=>me.value=!0)},{default:c((()=>[v(i(b),{color:"#8f66f7",size:"18",component:i(P)},null,8,["component"])])),_:1})):h("v-if",!0)])),_:1},8,["disabled","value"]),u("div",N,[u("span",{class:r(["btn-send","gradient","fillet-8",i(fe)?"disabled":""]),disabled:i(fe),onClick:_e},[v(i(b),{color:"#fff",size:"22",component:i(K)},null,8,["component"])],10,V)])],64))])])),default:c((()=>[u("div",G,[u("div",J,[0===ce.value.length?(s(),a("span",O,"推荐指令")):(s(),a(f,{key:1},[v(i(g),{text:"",onClick:je},{default:c((()=>[v(i(b),{color:"#999",size:"20",component:i(M)},null,8,["component"])])),_:1}),v(i(j),null,{default:c((()=>[(s(!0),a(f,null,k(ce.value,(e=>(s(),d(i(z),{key:e.shortcutId},{default:c((()=>[m(p(e.shortcutTitle),1)])),_:2},1024)))),128))])),_:1})],64))]),u("div",Q,[(s(!0),a(f,null,k(ve.value,(e=>(s(),a("div",{class:r(["menu-item",e.children&&e.children.length?"":"selectable",pe.value===e.shortcutId?"selected":""]),key:e.shortcutId,onMouseover:C((()=>pe.value=e.shortcutId),["stop"]),onClick:()=>Ie(e)},[u("span",Y,p(e.shortcutTitle),1),u("span",Z,p(e.shortcutDescription),1),e.children&&e.children.length?(s(),d(i(b),{key:0,color:"#999",size:"20",component:i(D)},null,8,["component"])):h("v-if",!0)],42,X)))),128))])])])),_:1},8,["show"]),v(F,{show:me.value,"onUpdate:show":t[6]||(t[6]=e=>me.value=e)},null,8,["show"]),v(W,{show:he.value,"onUpdate:show":t[7]||(t[7]=e=>he.value=e)},null,8,["show"])],2))}});export{ee as default};
@@ -1 +1 @@
1
- import{defineComponent as e,inject as t,ref as n,computed as l,watch as o,nextTick as a,createVNode as s,createTextVNode as r,isVNode as u}from"vue";import{NAvatar as i,NSpin as c,NSpace as d,NButton as m}from"naive-ui";import{InjectionAIChatEmits as v,InjectionAIChat as p}from"../types/index.js";import f from"../../../../shared/assets/img/ai__avatar.png.js";import g from"../../../../shared/assets/img/logo.png.js";import{isArray as h,isFunction as b}from"lodash-es";import"../../../../shared/utils/index.js";import"@vueuse/core";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{useScrollLoading as y}from"../../../../shared/hooks/useScrollLoading.js";import x from"./ChatCard.js";function C(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!u(e)}var j=e({name:"ChatMain",inheritAttrs:!1,props:{},emits:[],setup(e,{attrs:u,slots:j,emit:k}){const T=t(v),{userAvatar:E,queryData:I,state:w,queryRecord:z,defaultShortcutList:S,hideInput:M=!1,isSmall:A}=t(p),D=n(null),q=n([]),H=n(!1),L=l((()=>A.value?g:f)),O={page:0,hasMore:!0};async function _(e=!1){if(!O.hasMore)return;O.page++,1==O.page&&(q.value=[]);const{records:t,rows:n}=await z.value({page:O.page});h(n)&&q.value.length<=+t&&(q.value=O.page>1?[...q.value,...n]:n,B(),q.value.length>=+t&&(e&&(H.value=!0),O.hasMore=!1,console.log("没有更多消息了")))}function B(){q.value.forEach((e=>{e.buttonType&&(e.disabled=!0),e.contents.forEach((e=>e.disabled=!0))}))}function P(e,t){const{contentType:n,content:l}=t;return"json"===n&&l?s(x,{instructionId:e.instructionId,msgItem:t,"onButton-click":(n={})=>function(e){const{item:t,msgItem:n}=e;if(n)return T("button-click",e),void q.value.forEach((e=>e.contents.forEach((e=>e.disabled=!0))));q.value.forEach((e=>e.buttonType&&(e.disabled=!0))),t.link||(w.sendContent="确定",w.sending=!0,w.loading=!0)}({item:e,msgItem:t,...n})},null):null}function R(e,t){const{contents:n=[],buttonType:l=""}=e,o=P(e,n[t]);if(o)return o;return[n[t].content.replace(/\\n|\n|\r\n/g,"<br>").split("<br>").filter((e=>!!e)).map(((e,t,n)=>[e,t===n.length-1?null:s("br",null,null)]))]}function F({role:e=""}){return"user"===e}function G(){let e;return s("div",{class:"message-item"},[s(i,{round:!0,size:A.value?64:40,src:L.value},null),s("div",{class:"content-box"},[s("div",{class:"content fillet-10 default"},[s("h2",null,[r("Hi,我是你的AI助理")]),s("p",null,[r("我汇集了医生站/护士站各项智能服务,可以向我进行提问哦 ~ "),s("br",null,null),r("你的反馈助我成长,期待我们一起探索未来!下次可以在首页和应用页找到我~")]),h(S.value)&&S.value.length>0?[s("p",{style:"margin: 5px 0 5px"},[r("你可以试着问我:")]),s(d,{"wrap-item":!1},C(e=S.value.map((e=>s(m,{size:"large",secondary:!0,onClick:()=>w.sendContent=e,disabled:w.loading},C(e)?e:{default:()=>[e]}))))?e:{default:()=>[e]})]:null])])])}return y(D,(()=>{_()}),M.value?"bottom":"top"),_(!0),o((()=>w.externalData),(e=>{var t,n;e&&(t=e,q.value.unshift(t),null==(n=D.value)||n.scrollTo({top:0,behavior:"auto"}),B(),w.loading=!1,w.externalData=null)})),o((()=>w.sending),(async e=>{var t,n;if(e){q.value.unshift({contents:[{role:"user",content:w.sendContent}]}),null==(t=D.value)||t.scrollTo({top:0,behavior:"auto"}),B();const e=w.selectedCommand,l=w.selectedPrompt;w.selectedCommand=null;const o=await I.value({content:w.sendContent,contentType:"text",command:e,prompt:l});h(null==o?void 0:o.contents)&&(q.value.unshift(o),await a(),null==(n=D.value)||n.scrollTo({top:0,behavior:"auto"})),w.sending=!1,w.loading=!1,w.sendContent=""}})),()=>s("section",{class:"chat-main",ref:D,style:{"flex-direction":M.value?"column":"column-reverse"}},[[w.loading?s("div",{class:"message-item"},[[A.value?null:s(i,{round:!0,size:40,src:L.value},null),s("div",{class:"content-box"},[s("div",{class:"content loading"},[s(c,{size:22,stroke:"#4170EE"},null),s("span",null,[r("正在加载中,请稍等...")])])])]]):null,q.value.map((e=>e.contents.map(((t,n)=>s("div",{class:"message-item"},[[A.value?null:s(i,{round:!0,size:40,src:F(t)?E.value:L.value},null),s("div",{class:["content-box",F(t)?"mine":""]},[s("div",{class:"content"},[b(t.render)?t.render():R(e,n)])])]]))))),H.value?G():null]])}});export{j as default};
1
+ import{defineComponent as e,inject as t,ref as n,computed as l,watch as o,nextTick as a,createVNode as s,createTextVNode as r,isVNode as i}from"vue";import{NAvatar as u,NSpin as c,NSpace as d,NButton as m}from"naive-ui";import{InjectionAIChatEmits as v,InjectionAIChat as p}from"../types/index.js";import f from"../../../../shared/assets/img/ai__avatar.png.js";import g from"../../../../shared/assets/img/logo.png.js";import{isArray as h,isFunction as b}from"lodash-es";import"../../../../shared/utils/index.js";import"@vueuse/core";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{useScrollLoading as y}from"../../../../shared/hooks/useScrollLoading.js";import x from"./ChatCard.js";function C(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!i(e)}var j=e({name:"ChatMain",inheritAttrs:!1,props:{},emits:[],setup(e,{attrs:i,slots:j,emit:k}){const I=t(v),{userAvatar:T,queryData:w,state:z,queryRecord:S,defaultShortcutList:E,hideInput:M=!1,isSmall:A}=t(p),D=n(null),P=n([]),q=n(!1),H=l((()=>A.value?g:f)),L={page:0,hasMore:!0};async function O(e=!1){if(!L.hasMore)return;L.page++,1==L.page&&(P.value=[]);const{records:t,rows:n}=await S.value({page:L.page});h(n)&&P.value.length<=+t&&(P.value=L.page>1?[...P.value,...n]:n,R(),P.value.length>=+t&&(e&&(q.value=!0),L.hasMore=!1,console.log("没有更多消息了")))}function R(){P.value.forEach((e=>{e.contents.forEach((e=>{Reflect.has(e,"disabled")||(e.disabled=!0)}))}))}function _(e,t){const{contentType:n,content:l}=t;return"json"===n&&l?s(x,{selectParams:{taskId:e.taskId,instructionId:e.instructionId},msgItem:t,"onButton-click":(n={})=>function(e){const{item:t,msgItem:n}=e;if(n)return I("button-click",e),void(n.disabled=!0);t.link||(z.sendContent="确定",z.sending=!0,z.loading=!0)}({item:e,msgItem:t,...n})},null):null}function B(e,t){const{contents:n=[],buttonType:l=""}=e,o=_(e,n[t]);if(o)return o;return[n[t].content.replace(/\\n|\n|\r\n/g,"<br>").split("<br>").filter((e=>!!e)).map(((e,t,n)=>[e,t===n.length-1?null:s("br",null,null)]))]}function F({role:e=""}){return"user"===e}function G(){let e;return s("div",{class:"message-item"},[s(u,{round:!0,size:A.value?64:40,src:H.value},null),s("div",{class:"content-box"},[s("div",{class:"content fillet-10 default"},[s("h2",null,[r("Hi,我是你的AI助理")]),s("p",null,[r("我汇集了医生站/护士站各项智能服务,可以向我进行提问哦 ~ "),s("br",null,null),r("你的反馈助我成长,期待我们一起探索未来!下次可以在首页和应用页找到我~")]),h(E.value)&&E.value.length>0?[s("p",{style:"margin: 5px 0 5px"},[r("你可以试着问我:")]),s(d,{"wrap-item":!1},C(e=E.value.map((e=>s(m,{size:"large",secondary:!0,onClick:()=>z.sendContent=e,disabled:z.loading},C(e)?e:{default:()=>[e]}))))?e:{default:()=>[e]})]:null])])])}return y(D,(()=>{O()}),M.value?"bottom":"top"),O(!0),o((()=>z.externalData),(e=>{var t,n;e&&(t=e,P.value.unshift(t),null==(n=D.value)||n.scrollTo({top:0,behavior:"auto"}),z.loading=!1,z.externalData=null)})),o((()=>z.sending),(async e=>{var t,n;if(e){P.value.unshift({contents:[{role:"user",content:z.sendContent}]}),null==(t=D.value)||t.scrollTo({top:0,behavior:"auto"}),R();const e=z.selectedCommand,l=z.selectedPrompt;z.selectedCommand=null;const o=await w.value({content:z.sendContent,contentType:"text",command:e,prompt:l,patient:z.selectedPatient});h(null==o?void 0:o.contents)&&(P.value.unshift(o),await a(),null==(n=D.value)||n.scrollTo({top:0,behavior:"auto"})),z.sending=!1,z.loading=!1,z.sendContent=""}})),()=>s("section",{class:"chat-main",ref:D,style:{"flex-direction":M.value?"column":"column-reverse"}},[[z.loading?s("div",{class:"message-item"},[[A.value?null:s(u,{round:!0,size:40,src:H.value},null),s("div",{class:"content-box"},[s("div",{class:"content loading"},[s(c,{size:22,stroke:"#4170EE"},null),s("span",null,[r("正在加载中,请稍等...")])])])]]):null,P.value.map((e=>e.contents.map(((t,n)=>s("div",{class:"message-item"},[[A.value?null:s(u,{round:!0,size:40,src:F(t)?T.value:H.value},null),s("div",{class:["content-box",F(t)?"mine":""]},[s("div",{class:"content"},[b(t.render)?t.render():B(e,n)])])]]))))),q.value?G():null]])}});export{j as default};