cnhis-design-vue 3.2.13-release.0 → 3.2.14-beta.6

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 (59) hide show
  1. package/es/components/ai-chat/index.d.ts +3 -4
  2. package/es/components/ai-chat/src/Index.vue.d.ts +3 -4
  3. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  4. package/es/components/ai-chat/src/components/ChatBI.vue.d.ts +101 -0
  5. package/es/components/ai-chat/src/components/ChatBI.vue.js +1 -0
  6. package/es/components/ai-chat/src/components/ChatBI.vue2.js +1 -0
  7. package/es/components/ai-chat/src/components/ChatCard.d.ts +13 -0
  8. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  9. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +2 -3
  10. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  11. package/es/components/ai-chat/src/components/ChatMain.d.ts +1 -1
  12. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  13. package/es/components/ai-chat/src/components/ChatPatient.vue2.js +1 -1
  14. package/es/components/ai-chat/src/utils/index.d.ts +1 -0
  15. package/es/components/ai-chat/src/utils/index.js +1 -0
  16. package/es/components/ai-chat/style/index.css +1 -1
  17. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  18. package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
  19. package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
  20. package/es/components/fabric-chart/src/hooks/useCumputedPoint.js +1 -1
  21. package/es/components/fabric-chart/src/utils/index.d.ts +1 -0
  22. package/es/components/fabric-chart/src/utils/index.js +1 -1
  23. package/es/components/form-config/index.d.ts +9 -110
  24. package/es/components/form-config/index.js +1 -1
  25. package/es/components/form-config/src/FormConfig.vue.d.ts +9 -110
  26. package/es/components/form-config/src/FormConfig.vue2.js +1 -1
  27. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +2 -0
  28. package/es/components/form-config/src/components/FormConfigCreator.vue2.js +1 -1
  29. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +4 -2
  30. package/es/components/form-config/src/components/FormConfigEdit.vue2.js +1 -1
  31. package/es/components/form-config/src/components/renderer/ComplexNode.vue.d.ts +2 -1
  32. package/es/components/form-config/src/components/renderer/ComplexNode.vue2.js +1 -1
  33. package/es/components/form-config/src/components/renderer/DefaultNode.vue2.js +1 -1
  34. package/es/components/form-config/src/constants/index.d.ts +2 -11
  35. package/es/components/form-config/src/constants/index.js +1 -1
  36. package/es/components/form-config/src/hooks/useConfigurationField.js +1 -1
  37. package/es/components/form-config/src/hooks/useLocale.d.ts +52 -0
  38. package/es/components/form-config/src/hooks/useLocale.js +1 -0
  39. package/es/components/form-config/src/types/index.d.ts +1 -0
  40. package/es/components/form-config/src/utils/index.d.ts +1 -0
  41. package/es/components/form-config/src/utils/index.js +1 -1
  42. package/es/components/form-render/src/utils/index.js +1 -1
  43. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  44. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  45. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.d.ts +20 -0
  46. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +1 -1
  47. package/es/components/iho-table/src/types/index.d.ts +4 -0
  48. package/es/components/iho-table/style/index.css +1 -1
  49. package/es/components/index.css +1 -1
  50. package/es/components/index.js +1 -1
  51. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  52. package/es/env.d.ts +25 -25
  53. package/es/shared/package.json.js +1 -1
  54. package/es/shared/types/index.d.ts +3 -0
  55. package/es/shared/utils/index.d.ts +1 -0
  56. package/es/shared/utils/index.js +1 -1
  57. package/package.json +2 -2
  58. package/es/components/form-config/src/components/FormConfigEventSetting.vue.js +0 -1
  59. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +0 -1
@@ -104,7 +104,7 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
104
104
  NMessageProvider: any;
105
105
  ChatMain: import("vue").DefineComponent<Readonly<import("vue").ComponentPropsOptions<{
106
106
  [x: string]: unknown;
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<{
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<{
108
108
  [x: string]: unknown;
109
109
  }>>>> & {}, {
110
110
  readonly [x: number]: string;
@@ -112,7 +112,6 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
112
112
  ChatFooter: import("vue").DefineComponent<{}, {
113
113
  cssVars: import("vue").ComputedRef<import("../../shared/types").AnyObject>;
114
114
  audioSdk: import("..").CAudioSDK;
115
- message: import("naive-ui").MessageApi;
116
115
  emit: (event: string, ...args: any[]) => void;
117
116
  shortcutList: any;
118
117
  state: any;
@@ -138,11 +137,10 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
138
137
  showPrompt: import("vue").Ref<boolean>;
139
138
  currentShortcutId: import("vue").Ref<string>;
140
139
  showPatient: import("vue").Ref<boolean>;
141
- btnDisabled: import("vue").ComputedRef<boolean>;
140
+ btnDisabled: import("vue").ComputedRef<any>;
142
141
  showMagicWand: import("vue").ComputedRef<boolean>;
143
142
  patient: import("vue").ComputedRef<string>;
144
143
  recorderStart: () => Promise<void>;
145
- isValidJSON: (str: string) => boolean;
146
144
  getShortcutName: (item: string | import("../../shared/types").AnyObject) => any;
147
145
  handleShortcut: (item: string | import("../../shared/types").AnyObject) => void;
148
146
  resetCurrentCommand: () => void;
@@ -152,6 +150,7 @@ declare const AiChat: SFCWithInstall<import("vue").DefineComponent<{
152
150
  handleSend: () => void;
153
151
  clickMenu: (menu: import("./src/types").CommandItem) => void;
154
152
  handleBack: () => void;
153
+ updateShow: (value: boolean) => void;
155
154
  NButton: any;
156
155
  NInput: any;
157
156
  NIcon: any;
@@ -106,7 +106,7 @@ declare const _default: import("vue").DefineComponent<{
106
106
  NMessageProvider: any;
107
107
  ChatMain: import("vue").DefineComponent<Readonly<import("vue").ComponentPropsOptions<{
108
108
  [x: string]: unknown;
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<{
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<{
110
110
  [x: string]: unknown;
111
111
  }>>>> & {}, {
112
112
  readonly [x: number]: string;
@@ -114,7 +114,6 @@ declare const _default: import("vue").DefineComponent<{
114
114
  ChatFooter: import("vue").DefineComponent<{}, {
115
115
  cssVars: import("vue").ComputedRef<AnyObject>;
116
116
  audioSdk: import("../..").CAudioSDK;
117
- message: import("naive-ui").MessageApi;
118
117
  emit: (event: string, ...args: any[]) => void;
119
118
  shortcutList: any;
120
119
  state: any;
@@ -140,11 +139,10 @@ declare const _default: import("vue").DefineComponent<{
140
139
  showPrompt: import("vue").Ref<boolean>;
141
140
  currentShortcutId: import("vue").Ref<string>;
142
141
  showPatient: import("vue").Ref<boolean>;
143
- btnDisabled: import("vue").ComputedRef<boolean>;
142
+ btnDisabled: import("vue").ComputedRef<any>;
144
143
  showMagicWand: import("vue").ComputedRef<boolean>;
145
144
  patient: import("vue").ComputedRef<string>;
146
145
  recorderStart: () => Promise<void>;
147
- isValidJSON: (str: string) => boolean;
148
146
  getShortcutName: (item: string | AnyObject) => any;
149
147
  handleShortcut: (item: string | AnyObject) => void;
150
148
  resetCurrentCommand: () => void;
@@ -154,6 +152,7 @@ declare const _default: import("vue").DefineComponent<{
154
152
  handleSend: () => void;
155
153
  clickMenu: (menu: CommandItem) => void;
156
154
  handleBack: () => void;
155
+ updateShow: (value: boolean) => void;
157
156
  NButton: any;
158
157
  NInput: any;
159
158
  NIcon: any;
@@ -1 +1 @@
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};
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 l,createVNode as d,withCtx as p,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 P=["id"];var g=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:g,emit:I}){const b=e,A=v(),C=k.create({headers:{Authorization:"bearer "+b.token}});C.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,selectedPatientLabel:"",selectedPatientForm:null,showPatient:!1});return o(x,{...r(b),state:F,isSmall:s((()=>"small"===b.uiStyle)),axiosInstance:C}),o(j,I),g({pushMessage:e=>{F.externalData=e},updatePatientInfo:e=>{F.selectedPatient=e}}),(t,o)=>(a(),i("div",{id:F.id,class:n(["ai-chat","small"===e.uiStyle?"ai-chat--small":""]),style:u(l(A))},[d(l(h),null,{default:p((()=>[d(l(y)),e.hideInput?c("v-if",!0):(a(),m(f,{key:0}))])),_:1})],14,P))}});export{g as default};
@@ -0,0 +1,101 @@
1
+ import { PropType } from 'vue';
2
+ import { AnyObject } from '../../../../shared/types';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ show: {
5
+ type: BooleanConstructor;
6
+ };
7
+ data: {
8
+ type: PropType<AnyObject>;
9
+ };
10
+ }, {
11
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
12
+ show: {
13
+ type: BooleanConstructor;
14
+ };
15
+ data: {
16
+ type: PropType<AnyObject>;
17
+ };
18
+ }>> & {
19
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
20
+ }>>;
21
+ emit: (event: string, ...args: any[]) => void;
22
+ _emit: (event: "update:show", ...args: any[]) => void;
23
+ state: any;
24
+ templateProps: import("vue").ComputedRef<{
25
+ config: any;
26
+ data: any;
27
+ }>;
28
+ handleModuleClick: (param: AnyObject) => void;
29
+ NDrawer: any;
30
+ NDrawerContent: any;
31
+ CTemplateRender: import("../../../../shared/types").SFCWithInstall<import("vue").DefineComponent<{
32
+ config: {
33
+ type: PropType<{
34
+ templateStyle?: import("vue").CSSProperties | undefined;
35
+ templates: AnyObject[];
36
+ }>;
37
+ };
38
+ data: {
39
+ default: () => {};
40
+ type: PropType<AnyObject>;
41
+ };
42
+ renders: {
43
+ type: PropType<Record<string, () => import("vue").VNodeChild>>;
44
+ };
45
+ }, {
46
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
47
+ config: {
48
+ type: PropType<{
49
+ templateStyle?: import("vue").CSSProperties | undefined;
50
+ templates: AnyObject[];
51
+ }>;
52
+ };
53
+ data: {
54
+ default: () => {};
55
+ type: PropType<AnyObject>;
56
+ };
57
+ renders: {
58
+ type: PropType<Record<string, () => import("vue").VNodeChild>>;
59
+ };
60
+ }>> & {
61
+ "onButton-click"?: ((...args: any[]) => any) | undefined;
62
+ "onModule-click"?: ((...args: any[]) => any) | undefined;
63
+ }>>;
64
+ cssVars: import("vue").ComputedRef<AnyObject>;
65
+ emit: (event: "button-click" | "module-click", ...args: any[]) => void;
66
+ style: import("vue").ComputedRef<any>;
67
+ componentsFieldList: import("vue").ComputedRef<AnyObject[]>;
68
+ getComponent: typeof import("../../../template-render/src/components").getComponent;
69
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("button-click" | "module-click")[], "button-click" | "module-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
70
+ config: {
71
+ type: PropType<{
72
+ templateStyle?: import("vue").CSSProperties | undefined;
73
+ templates: AnyObject[];
74
+ }>;
75
+ };
76
+ data: {
77
+ default: () => {};
78
+ type: PropType<AnyObject>;
79
+ };
80
+ renders: {
81
+ type: PropType<Record<string, () => import("vue").VNodeChild>>;
82
+ };
83
+ }>> & {
84
+ "onButton-click"?: ((...args: any[]) => any) | undefined;
85
+ "onModule-click"?: ((...args: any[]) => any) | undefined;
86
+ }, {
87
+ data: AnyObject;
88
+ }>>;
89
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:show"[], "update:show", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
90
+ show: {
91
+ type: BooleanConstructor;
92
+ };
93
+ data: {
94
+ type: PropType<AnyObject>;
95
+ };
96
+ }>> & {
97
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
98
+ }, {
99
+ show: boolean;
100
+ }>;
101
+ export default _default;
@@ -0,0 +1 @@
1
+ import e from"./ChatBI.vue2.js";import r from"../../../../_virtual/_plugin-vue_export-helper.js";var t=r(e,[["__file","ChatBI.vue"]]);export{t as default};
@@ -0,0 +1 @@
1
+ import{defineComponent as t,inject as e,computed as o,openBlock as n,createBlock as a,unref as s,withCtx as i,createVNode as d,mergeProps as l,createCommentVNode as r}from"vue";import{NDrawer as u,NDrawerContent as m}from"naive-ui";import{InjectionAIChatEmits as p,InjectionAIChat as c}from"../types/index.js";import"../../../index.js";import{isValidJSON as f}from"../utils/index.js";import h from"../../../template-render/index.js";var v=t({__name:"ChatBI",props:{show:{type:Boolean},data:{type:Object}},emits:["update:show"],setup(t,{emit:v}){const g=t,w=e(p),{state:j}=e(c),k=o((()=>{var t,e,o;const{content:n={}}=(null==(t=g.data)?void 0:t.msgItem)||{};return{config:f(null==(e=n.settings)?void 0:e.setting)?JSON.parse(null==(o=n.settings)?void 0:o.setting):null,data:n.data}}));function x(t){const{eventName:e,data:o}=t;v("update:show",!1),e&&w("button-click",{buttonInfo:o,isBI:!0,...g.data})}return(e,o)=>(n(),a(s(u),{placement:"bottom",height:"80%","trap-focus":!1,to:"#"+s(j).id,show:t.show,onMaskClick:o[0]||(o[0]=()=>v("update:show",!1))},{default:i((()=>[d(s(m),null,{default:i((()=>[t.data?(n(),a(s(h),l({key:0},s(k),{onModuleClick:x}),null,16)):r("v-if",!0)])),_:1})])),_:1},8,["to","show"]))}});export{v as default};
@@ -1,5 +1,6 @@
1
1
  import { PropType } from 'vue';
2
2
  import { MessageItem } from '../types';
3
+ import { AnyObject } from '../../../../shared/types';
3
4
  declare const _default: import("vue").DefineComponent<{
4
5
  msgItem: {
5
6
  type: PropType<MessageItem>;
@@ -11,6 +12,12 @@ declare const _default: import("vue").DefineComponent<{
11
12
  instructionId: string;
12
13
  }>;
13
14
  };
15
+ configs: {
16
+ type: PropType<AnyObject>;
17
+ };
18
+ msgId: {
19
+ type: StringConstructor;
20
+ };
14
21
  }, () => 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<{
15
22
  msgItem: {
16
23
  type: PropType<MessageItem>;
@@ -22,6 +29,12 @@ declare const _default: import("vue").DefineComponent<{
22
29
  instructionId: string;
23
30
  }>;
24
31
  };
32
+ configs: {
33
+ type: PropType<AnyObject>;
34
+ };
35
+ msgId: {
36
+ type: StringConstructor;
37
+ };
25
38
  }>> & {
26
39
  "onButton-click"?: ((...args: any[]) => any) | undefined;
27
40
  }, {
@@ -1 +1 @@
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};
1
+ import{defineComponent as e,inject as t,ref as a,reactive as l,computed as n,watch as o,createVNode as i}from"vue";import{NForm as s,NFormItem as r,NInput as u,NIcon as d,NButton as c}from"naive-ui";import{InjectionAIChat as v}from"../types/index.js";import"../../../index.js";import{cloneDeep as m,isArray as p}from"lodash-es";import{isValidJSON as f}from"../utils/index.js";import{ChevronDown as g,ChevronForward as b}from"@vicons/ionicons5";import{useTheme as h}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 y from"../../../form-render/index.js";import E from"../../../template-render/index.js";var I=e({name:"ChatCard",inheritAttrs:!1,props:{msgItem:{type:Object,default:()=>({})},selectParams:{type:Object},configs:{type:Object},msgId:{type:String}},emits:["button-click"],setup(e,{attrs:I,slots:k,emit:x}){const T={TEXT:"INPUT",NUMBER:"INPUT_NUMBER",DATETIME:"DATETIME-INPUT",MULTI_SELECT:"REMOTE_SEARCH",SELECT:"REMOTE_SEARCH"},_=h(),{patientInfo:P,state:C,axiosInstance:O,isSmall:S}=t(v),j=a([]),R=a(),M=a(),N=l({vaa05:""}),w=a(),L=n((()=>{var t,a;return!!(null==(a=null==(t=e.msgItem)?void 0:t.content)?void 0:a.body)})),q=e.msgItem.content,A={},U=l(m(q.data||{})),F={beforeRequest(e,t,a){(null==t?void 0:t.params)&&(t.params.vaa05=M.value.selectedPatient.vaa01),t&&Reflect.has(t,"configs")&&(t.configs=M.value.selectedPatient)}};function K(e){const{eventName:t,data:a}=e;t&&x("button-click",{buttonInfo:a,isBI:!0})}function H(e){q.data[e.button.id+"Disabled"]="1",x("button-click",{buttonInfo:e.button})}function B(){if(!M.value)return null;function t(){e.msgItem.disabled||(C.showPatient=!0)}return i(s,{class:"form-render",ref:w,"require-mark-placement":"left",disabled:e.msgItem.disabled,model:N,rules:{vaa05:{required:M.value.required,message:M.value.name+"为必填",trigger:["input"]}}},{default:()=>[i(r,{label:M.value.name,path:"vaa05",class:"form-render__formItem",style:"--n-feedback-height: 16px; --n-feedback-padding: 0px; --n-feedback-font-size: 12px"},{default:()=>[i(u,{style:"--n-text-color-disabled: #000; --n-placeholder-color-disabled: #000;--n-padding-left: 8px; --n-padding-right: 8px",readonly:!0,value:N.vaa05,placeholder:"请选择",onClick:t},{suffix:()=>i(d,{color:"#c2c2c2",component:g},null)})]})]})}async function J(t,a){var l;try{const n=a||R.value.getFormValues();await(null==(l=R.value)?void 0:l.validate()),q.body.items.forEach((e=>{var t;"vaa05"===e.code?(e._value=C.selectedPatientLabel,e.value=M.value.selectedPatient.vaa01||e.value):n[e.code]&&(e.value=n[e.code]),(null==(t=A[e.code])?void 0:t[0])&&(e.options=A[e.code])})),C.loading=!0,x("button-click",{values:n,buttonInfo:t,patient:M.value.selectedPatient||e.configs,isForm:!0})}catch(e){C.loading=!1}}function z(e){const{fieldInstance:t,context:a,value:l,fieldKey:n}=e;"REMOTE_SEARCH"===t.componentType&&(null==l?void 0:l.length)&&(A[n]=[null==a?void 0:a.currentOption])}function D(){x("button-click",{showMore:!0})}function V(){var e;if("1834043761964638208"!==(null==(e=q.settings)?void 0:e.id)||!q.data)return null;const t=JSON.parse(q.settings.setting),a=e=>{var t;let l="";for(let n=0;n<e.length;n++){const o=e[n];if(o.setting.scopeKey){l=o.setting.scopeKey;break}if((null==(t=o.childrens)?void 0:t.length)&&(l=a(o.childrens),l))break}return l},l=a(t.templates);return!l||!f(q.data[l])||JSON.parse(q.data[l]).length<=5?null:(f(U[l])&&(U[l]=JSON.parse(U[l]).slice(0,5)),i(c,{block:!0,text:!0,"icon-placement":"right",color:_.value["--c-primary-color"],style:"margin-top: 10px",onClick:D},{icon:()=>i(d,{component:b},null),default:()=>"查看更多"}))}return L.value&&(j.value=(q.body.items||[]).map((t=>{var a,l,n;if("vaa05"===t.code&&!S.value)return M.value={...t},t._value?N.vaa05=t._value:(null==(a=t.options)?void 0:a.length)&&t.value&&(N.vaa05=null==(l=t.options.find((e=>e.value===t.value)))?void 0:l.label,M.value.selectedPatient=e.configs),null;const o={html_type:T[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",componentProps:{},multi_select:"MULTI_SELECT"===t.type?"0":"1"};if("REMOTE_SEARCH"===o.html_type){if(o.componentProps={fallbackOption:!1},o.option=t.options||[],o.default_val=null,t.value&&p(t.options)&&t.options.length>0){t.options.find((e=>(null==e?void 0:e.value)===t.value))&&(o.default_val=t.value)}if(Object.assign(o.urlConfig,{url:"/flow/api/instruction/parameter/getOptionsValues",method:"post",params:{...e.selectParams,code:t.code,source:S.value?"inner":"global",configs:P.value.info||C.selectedPatient},dependKey:[]}),t.dependencies){const e=t.dependencies.split(",");o.urlConfig.dependKey=e,e.includes("vaa05")&&(o.urlConfig.params.params={vaa05:""})}}return o})).filter((e=>!!e))),o((()=>C.showPatient),(t=>{!e.msgItem.disabled&&L.value&&!t&&C.selectedPatientLabel&&M.value&&(N.vaa05=C.selectedPatientLabel,M.value.selectedPatient={...C.selectedPatientForm})})),()=>{var t;return i("div",{class:"card"},[L.value?[i("p",null,[q.title||q.header.title]),i("div",{class:"form-box"},[[B(),i(y,{"request-instance":{get:O.get,post:O.post},"life-cycle":F,column:12,ref:R,"field-list":j.value,onFormChange:z},null)]]),q.footer.buttons.map((t=>function(t){const a={width:"100%","--n-height":"36px",fontSize:"15px",marginTop:"10px"},l=L.value?{...a,marginTop:"0"}:a;return i(c,{id:e.msgId,style:l,secondary:!0,class:"gradient",disabled:e.msgItem.disabled,onClick:async function(){var e;if(L.value){if(!R.value)return;try{M.value?null==(e=w.value)||e.validate((async e=>{var a,l;if(!e){const e=null==(l=(a=R.value).getFormValues)?void 0:l.call(a);Object.assign(e,{vaa05:M.value.selectedPatient.vaa01}),await J(t,e)}})):await J(t)}catch(e){}}else x("button-click")}},{default:()=>[L.value?null==t?void 0:t.text:q.buttonName]})}(t)))]:[i(E,{config:f(null==(t=q.settings)?void 0:t.setting)?JSON.parse(q.settings.setting):null,data:U,"onModule-click":K,"onButton-click":H},null),V()]])}}});export{I as default};
@@ -4,7 +4,6 @@ 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;
8
7
  emit: (event: string, ...args: any[]) => void;
9
8
  shortcutList: any;
10
9
  state: any;
@@ -30,11 +29,10 @@ declare const _default: import("vue").DefineComponent<{}, {
30
29
  showPrompt: import("vue").Ref<boolean>;
31
30
  currentShortcutId: import("vue").Ref<string>;
32
31
  showPatient: import("vue").Ref<boolean>;
33
- btnDisabled: import("vue").ComputedRef<boolean>;
32
+ btnDisabled: import("vue").ComputedRef<any>;
34
33
  showMagicWand: import("vue").ComputedRef<boolean>;
35
34
  patient: import("vue").ComputedRef<string>;
36
35
  recorderStart: () => Promise<void>;
37
- isValidJSON: (str: string) => boolean;
38
36
  getShortcutName: (item: string | AnyObject) => any;
39
37
  handleShortcut: (item: string | AnyObject) => void;
40
38
  resetCurrentCommand: () => void;
@@ -44,6 +42,7 @@ declare const _default: import("vue").DefineComponent<{}, {
44
42
  handleSend: () => void;
45
43
  clickMenu: (menu: CommandItem) => void;
46
44
  handleBack: () => void;
45
+ updateShow: (value: boolean) => void;
47
46
  NButton: any;
48
47
  NInput: any;
49
48
  NIcon: any;
@@ -1 +1 @@
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
+ import{defineComponent as e,inject as t,ref as o,computed as n,onBeforeUnmount as l,watch as s,openBlock as a,createElementBlock as i,normalizeClass as r,unref as u,createElementVNode as d,createBlock as c,withCtx as v,createVNode as m,createTextVNode as h,toDisplayString as p,createCommentVNode as f,Fragment as k,renderList as C,withModifiers as y,getCurrentInstance as w}from"vue";import{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 P,SparklesSharp as T,PaperPlane as D,ChevronBack as K,ChevronForward as M}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 W}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";import F from"./ChatPatient.vue.js";const N={class:"menu-box fillet-8"},q={class:"input-wrapper fillet-10"},H=d("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[d("path",{fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 448h128"}),d("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"}),d("path",{fill:"none",stroke:"black","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 368v80"}),d("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),V={class:"btn-box"},G=["disabled"],J={class:"command-box"},O={class:"command-box__header"},Q={key:0,class:"title"},X={class:"command-box__menu"},Y=["onMouseover","onClick"],Z={class:"label"},$={class:"remark"};var ee=e({__name:"ChatFooter",setup(e){const ee=W(),te=R.create(),oe=t(S),{shortcutList:ne,state:le,isSmall:se,audioTimed:ae,commandList:ie}=t(U),re=o(),ue=o(!1),de=o([]),ce=o(A(ie.value||[])),ve=o(!1),me=o(""),he=o(!1),pe=n((()=>le.loading||!le.sendContent.replace(/(&nbsp;|\s|<br>)+/g,""))),fe=n((()=>{var e;return!le.sendContent&&!(null==(e=re.value)?void 0:e.activated.value)})),ke=n((()=>{if(!le.selectedPatient)return"选择患者";const{bcq04b:e,vaa05:t}=le.selectedPatient;let o="";e&&(o+=e+"床");return t&&(o+=(!o||o.endsWith("/")?"":"/")+t),o}));async function Ce(){try{const e=await te.start(w(),{allowPunctuationMark:!1,timed:ae.value||10,realTimeRecognition:!0});if("success"!==(null==e?void 0:e.result))return;const{text:t}=e.data;le.sendContent=t}catch(e){console.log(e)}}function ye(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 we(){var e;ue.value=!1,ce.value=A(ie.value||[]),de.value=[],(null==(e=ie.value)?void 0:e.length)&&(ue.value=!0,me.value=ce.value[0].shortcutId)}function ge(e){if(!["Slash","NumpadDivide"].includes(e.code)||le.selectedCommand||le.sendContent)if("Backspace"===e.key)ue.value=!1,!le.sendContent.startsWith("/")&&!le.sendContent.startsWith("、")||2!==le.sendContent.length||le.selectedCommand?!le.sendContent&&le.selectedCommand&&(e.preventDefault(),le.selectedCommand=null,le.sendContent="/",we()):we();else if(ue.value&&["ArrowUp","ArrowDown"].includes(e.key)){const t=ce.value.findIndex((e=>e.shortcutId===me.value));if("ArrowUp"===e.key){const e=t>0?t-1:ce.value.length-1;me.value=ce.value[e].shortcutId}else if("ArrowDown"===e.key){const e=t<ce.value.length-1?t+1:0;me.value=ce.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(),ue.value){_e(ce.value.find((e=>e.shortcutId===me.value)))}else xe()}else ue.value=!1;else we()}function be(e){!e&&le.selectedPrompt&&(le.selectedPrompt=null)}function xe(){pe.value||(le.sending=!0,le.loading=!0)}function _e(e){var t;me.value=e.shortcutId,re.value.focus(),(null==(t=e.children)?void 0:t.length)?(ce.value=e.children,me.value=ce.value[0].shortcutId,de.value.push(e)):(le.selectedCommand=e||{},ue.value=!1,le.sendContent="")}function Ie(){var e;de.value.pop(),ce.value=L(de.value)?null==(e=L(de.value))?void 0:e.children:A(ie.value||[]),me.value=ce.value[0].shortcutId,re.value.focus()}function je(e){e||(le.showPatient=!1)}return l((()=>{te.destroy()})),s((()=>le.showPatient),(e=>{e&&(he.value=e)})),(e,t)=>(a(),i("section",{class:r(["chat-footer",u(le).loading?"disabled":""])},[d("div",N,[u(se)?f("v-if",!0):(a(),c(u(g),{key:0,secondary:"",size:"small",onClick:t[0]||(t[0]=()=>he.value=!0)},{icon:v((()=>[m(u(b),{color:u(ee)["--c-primary-color"],size:"20",component:u(P)},null,8,["color","component"])])),default:v((()=>[h(" "+p(u(ke)),1)])),_:1})),u(ne)&&u(ne).length>0?(a(!0),i(k,{key:1},C(u(ne),(e=>(a(),c(u(g),{secondary:"",size:"small",round:u(se),key:ye(e),onClick:()=>function(e){var t;if(E(e))le.sendContent=e;else{const o=null==(t=null==e?void 0:e.contents)?void 0:t[0];oe("button-click",{msgItem:o,item:e})}}(e)},{default:v((()=>[h(p(ye(e)),1)])),_:2},1032,["round","onClick"])))),128)):f("v-if",!0)]),m(u(x),{"content-style":"height: 400px",placement:"top-start",trigger:"manual",width:"trigger","show-arrow":!1,to:!1,show:ue.value,onClickoutside:t[5]||(t[5]=e=>ue.value=!1)},{trigger:v((()=>[d("div",q,[u(se)?(a(),c(u(_),{key:0,ref_key:"inputRef",ref:re,style:{"--n-height":"48px"},round:"",placeholder:"",disabled:u(le).loading,value:u(le).sendContent,"onUpdate:value":t[2]||(t[2]=e=>u(le).sendContent=e),onKeydownCapture:ge,onInput:be},{prefix:v((()=>[u(le).selectedCommand&&u(le).selectedCommand.shortcutTitle?(a(),c(u(I),{key:0,bordered:!1,color:{textColor:u(ee)["--c-primary-color"]},style:{"--n-border-radius":"5px"}},{default:v((()=>[h(" /"+p(u(le).selectedCommand.shortcutTitle),1)])),_:1},8,["color"])):u(fe)?(a(),c(u(g),{key:1,text:"",onClick:t[1]||(t[1]=()=>ve.value=!0)},{default:v((()=>[m(u(b),{color:"#8f66f7",size:"18",component:u(T)},null,8,["component"])])),_:1})):f("v-if",!0)])),suffix:v((()=>[m(u(g),{text:"",disabled:u(le).loading,onClick:Ce},{icon:v((()=>[m(u(b),{size:"30"},{default:v((()=>[H])),_:1})])),_:1},8,["disabled"]),m(u(g),{circle:"",class:"gradient",style:{"margin-left":"10px"},disabled:u(pe),onClick:xe},{icon:v((()=>[m(u(b),{color:"#fff",size:"20",component:u(D)},null,8,["component"])])),_:1},8,["disabled"])])),_:1},8,["disabled","value"])):(a(),i(k,{key:1},[m(u(_),{ref_key:"inputRef",ref:re,type:"textarea",placeholder:'请向我提问或输入"/"查看指令,Shift+Enter换行',disabled:u(le).loading,autosize:{minRows:2,maxRows:7},value:u(le).sendContent,"onUpdate:value":t[4]||(t[4]=e=>u(le).sendContent=e),onKeydownCapture:ge,onInput:be},{prefix:v((()=>[u(le).selectedCommand&&u(le).selectedCommand.shortcutTitle?(a(),c(u(I),{key:0,bordered:!1,color:{textColor:u(ee)["--c-primary-color"]},style:{"--n-border-radius":"5px"}},{default:v((()=>{var e;return[h(" /"+p(null==(e=u(le).selectedCommand)?void 0:e.shortcutTitle),1)]})),_:1},8,["color"])):u(fe)?(a(),c(u(g),{key:1,text:"",onClick:t[3]||(t[3]=()=>ve.value=!0)},{default:v((()=>[m(u(b),{color:"#8f66f7",size:"18",component:u(T)},null,8,["component"])])),_:1})):f("v-if",!0)])),_:1},8,["disabled","value"]),d("div",V,[d("span",{class:r(["btn-send","gradient","fillet-8",u(pe)?"disabled":""]),disabled:u(pe),onClick:xe},[m(u(b),{color:"#fff",size:"22",component:u(D)},null,8,["component"])],10,G)])],64))])])),default:v((()=>[d("div",J,[d("div",O,[0===de.value.length?(a(),i("span",Q,"推荐指令")):(a(),i(k,{key:1},[m(u(g),{text:"",onClick:Ie},{default:v((()=>[m(u(b),{color:"#999",size:"20",component:u(K)},null,8,["component"])])),_:1}),m(u(j),null,{default:v((()=>[(a(!0),i(k,null,C(de.value,(e=>(a(),c(u(z),{key:e.shortcutId},{default:v((()=>[h(p(e.shortcutTitle),1)])),_:2},1024)))),128))])),_:1})],64))]),d("div",X,[(a(!0),i(k,null,C(ce.value,(e=>(a(),i("div",{class:r(["menu-item",e.children&&e.children.length?"":"selectable",me.value===e.shortcutId?"selected":""]),key:e.shortcutId,onMouseover:y((()=>me.value=e.shortcutId),["stop"]),onClick:()=>_e(e)},[d("span",Z,p(e.shortcutTitle),1),d("span",$,p(e.shortcutDescription),1),e.children&&e.children.length?(a(),c(u(b),{key:0,color:"#999",size:"20",component:u(M)},null,8,["component"])):f("v-if",!0)],42,Y)))),128))])])])),_:1},8,["show"]),m(B,{show:ve.value,"onUpdate:show":t[6]||(t[6]=e=>ve.value=e)},null,8,["show"]),m(F,{show:he.value,"onUpdate:show":[t[7]||(t[7]=e=>he.value=e),je]},null,8,["show"])],2))}});export{ee as default};
@@ -1,6 +1,6 @@
1
1
  declare const _default: import("vue").DefineComponent<Readonly<import("vue").ComponentPropsOptions<{
2
2
  [x: string]: unknown;
3
- }>>, () => 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<{
3
+ }>>, () => 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<{
4
4
  [x: string]: unknown;
5
5
  }>>>> & {}, {
6
6
  readonly [x: number]: string;
@@ -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 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};
1
+ import{defineComponent as e,inject as t,ref as n,computed as l,watch as o,createVNode as s,createTextVNode as a,nextTick as i,isVNode as u}from"vue";import{NAvatar as r,NSpin as c,NSpace as d,NButton as v}from"naive-ui";import{InjectionAIChatEmits as m,InjectionAIChat as p}from"../types/index.js";import g from"../../../../shared/assets/img/ai__avatar.png.js";import f 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 C}from"../../../../shared/hooks/useScrollLoading.js";import y from"./ChatCard.js";import{isValidJSON as I}from"../utils/index.js";import j from"./ChatBI.vue.js";function x(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!u(e)}var k=e({name:"ChatMain",inheritAttrs:!1,props:{},emits:[],setup(e,{attrs:u,slots:k,emit:T}){const w=t(m),{userAvatar:E,queryData:P,state:S,queryRecord:z,defaultShortcutList:L,hideInput:M=!1,isSmall:B}=t(p),D=n(null),O=n([]),A=n(!1),q=n(!1),H=n(),N=l((()=>B.value?f:g)),R={page:0,hasMore:!0};async function U(e=!1){if(!R.hasMore)return;R.page++,1==R.page&&(O.value=[]);const{records:t,rows:n}=await z.value({page:R.page});h(n)&&O.value.length<=+t&&(O.value=R.page>1?[...O.value,...n]:n,J(),O.value.length>=+t&&(e&&(A.value=!0),R.hasMore=!1,console.log("没有更多消息了")))}async function _(){var e,t;O.value.unshift({contents:[{role:"user",content:S.sendContent}]}),null==(e=D.value)||e.scrollTo({top:0,behavior:"auto"}),J();const n=S.selectedCommand,l=S.selectedPrompt;S.selectedCommand=null,S.selectedPrompt=null;const o=await P.value({content:S.sendContent,contentType:"text",command:n,prompt:l,patient:S.selectedPatient});h(null==o?void 0:o.contents)&&(O.value.unshift(o),await i(),null==(t=D.value)||t.scrollTo({top:0,behavior:"auto"})),S.selectedPatientLabel="",S.selectedPatientForm=null,S.sending=!1,S.loading=!1,S.sendContent=""}function F(e,t,n){if(e.type!==t){if(e.childrens&&e.childrens.length)for(let l=0;l<e.childrens.length;l++)F(e.childrens[l],t,n)}else n.push(e)}function J(){O.value.forEach((e=>{e.contents.forEach((e=>{var t;if(Reflect.has(e,"disabled")||(e.disabled=!0),"json"===e.contentType&&"string"!=typeof e.content){const{settings:n,data:l,needConfirms:o}=e.content;if(o||!(null==n?void 0:n.setting)||!I(null==n?void 0:n.setting)||!(null==(t=null==l?void 0:l.buttonList)?void 0:t.length))return;const{templates:s=[]}=JSON.parse(n.setting),a=[];s.forEach((e=>{F(e,"BUTTON",a)})),a.forEach((e=>{const{buttonList:t}=e.setting;t.forEach((e=>{var t;const{conditions:n=[]}=(null==(t=null==e?void 0:e.advancedConfig)?void 0:t.disabled)||{};n.length&&(l[e.id+"Disabled"]="1")}))}))}}))}))}function G(e,t,n,l){const{contentType:o,content:a}=t;return"json"===o&&a?s(y,{selectParams:{taskId:e.taskId,instructionId:e.instructionId},msgItem:t,configs:n,msgId:l,"onButton-click":(n={})=>function(e){const{item:t,msgItem:n,showMore:l}=e;return l?(H.value={item:t,msgItem:n},void(q.value=!0)):n?(w("button-click",e),void(n.disabled=!0)):void(t.link||(S.sendContent="确定",S.sending=!0,S.loading=!0))}({item:e,msgItem:t,...n})},null):null}function K(e,t){const{contents:n=[],buttonType:l="",configs:o={},msgId:a=""}=e,i=G(e,n[t],o,a);if(i)return i;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 Q({role:e=""}){return"user"===e}function V(){let e;return s("div",{class:"message-item"},[s(r,{round:!0,size:B.value?64:40,src:N.value},null),s("div",{class:"content-box"},[s("div",{class:"content fillet-10 default"},[s("h2",null,[a("Hi,我是你的AI助理")]),s("p",null,[a("我汇集了医生站/护士站各项智能服务,可以向我进行提问哦 ~ "),s("br",null,null),a("你的反馈助我成长,期待我们一起探索未来!下次可以在首页和应用页找到我~")]),h(L.value)&&L.value.length>0?[s("p",{style:"margin: 5px 0 5px"},[a("你可以试着问我:")]),s(d,{"wrap-item":!1},x(e=L.value.map((e=>s(v,{size:"large",secondary:!0,onClick:()=>S.sendContent=e,disabled:S.loading},x(e)?e:{default:()=>[e]}))))?e:{default:()=>[e]})]:null])])])}return C(D,(()=>{U()}),M.value?"bottom":"top"),U(!0),o((()=>S.externalData),(e=>{var t,n;e&&(t=e,O.value.unshift(t),null==(n=D.value)||n.scrollTo({top:0,behavior:"auto"}),S.loading=!1,S.externalData=null)})),o((()=>S.sending),(e=>{var t,n,l,o,s;if(e){if(O.value.length>0&&["确认","确定"].includes(S.sendContent)){const e=null==(l=null==(t=O.value[0])?void 0:t.contents)?void 0:l[(null==(n=O.value[0].contents)?void 0:n.length)-1];return(null==(o=e.content)?void 0:o.body)&&!e.disabled?(null==(s=document.getElementById(O.value[0].msgId))||s.click(),void setTimeout((()=>{O.value.unshift({contents:[{role:"user",content:S.sendContent}]}),S.selectedCommand=null,S.selectedPrompt=null,S.sending=!1,S.sendContent=""}))):void _()}_()}})),()=>[s("section",{class:"chat-main",ref:D,style:{"flex-direction":M.value?"column":"column-reverse"}},[[S.loading?s("div",{class:"message-item"},[[B.value?null:s(r,{round:!0,size:40,src:N.value},null),s("div",{class:"content-box"},[s("div",{class:"content loading"},[s(c,{size:22,stroke:"#4170EE"},null),s("span",null,[a("正在加载中,请稍等...")])])])]]):null,O.value.map((e=>e.contents.map(((t,n)=>s("div",{class:"message-item"},[[B.value?null:s(r,{round:!0,size:40,src:Q(t)?E.value:N.value},null),s("div",{class:["content-box",Q(t)?"mine":""]},[s("div",{class:"content"},[b(t.render)?t.render():K(e,n)])])]]))))),A.value?V():null]]),s(j,{show:q.value,"onUpdate:show":e=>q.value=e,data:H.value},null)]}});export{k as default};
@@ -1 +1 @@
1
- import{defineComponent as e,inject as a,reactive as t,ref as l,openBlock as u,createBlock as n,unref as s,withCtx as i,createVNode as o,createTextVNode as r,toDisplayString as v}from"vue";import{NDrawer as d,NDrawerContent as p,NForm as f,NFormItem as c,NRadioGroup as b,NRadio as m,NSelect as h,NButton as y}from"naive-ui";import{isFunction as _,isArray as g}from"lodash-es";import{InjectionAIChat as k}from"../types/index.js";var w=e({__name:"ChatPatient",props:{show:{type:Boolean}},emits:["update:show"],setup(e,{emit:w}){const{patientInfo:I,state:T}=a(k),C=t({businessType:"CLINICIAN",vaa01:null,bck03a:""}),q={businessType:{required:!0,trigger:"change",message:"请选择类型"},vaa01:{required:!0,trigger:["blur","change"],message:"请选择患者"}},P=l([]),N=l();function A(e){const{bcq04b:a,vae96:t}=e,l="1"==t?"男":"2"==t?"女":"未知";let u="";a&&(u+=a+"床");const n=a=>{e[a]&&(u+=(!u||u.endsWith("/")?"":"/")+e[a])};return n("vaa05"),u+="/"+l,n("vae87"),n("bck02a"),u.startsWith("/")&&(u=u.slice(1)),u}function L(e,a){C.bck03a=a.bck03a}async function x(e){var a;if(_(null==(a=I.value)?void 0:a.queryPatient))try{const a=await I.value.queryPatient({keyword:e,businessType:C.businessType});if(g(a))return void(P.value=a);P.value=[]}catch(e){P.value=[]}}function S(){C.vaa01=null,C.bck03a="",x("")}function U(e){var a;e.preventDefault(),null==(a=N.value)||a.validate((e=>{e||(T.selectedPatient={...C,...P.value.find((e=>e.vaa01===C.vaa01))},w("update:show",!1))}))}return x(""),(a,t)=>(u(),n(s(d),{placement:"bottom",height:"300","trap-focus":!1,to:"#"+s(T).id,show:e.show,onMaskClick:t[2]||(t[2]=()=>w("update:show",!1))},{default:i((()=>[o(s(p),null,{default:i((()=>[o(s(f),{ref_key:"formRef",ref:N,"label-placement":"left","label-width":"auto",size:"large",model:C,"require-mark-placement":"right-hanging",rules:q},{default:i((()=>[o(s(c),{label:"业务",path:"businessType"},{default:i((()=>[o(s(b),{value:C.businessType,"onUpdate:value":[t[0]||(t[0]=e=>C.businessType=e),S],name:"业务"},{default:i((()=>[o(s(m),{value:"CLINICIAN"},{default:i((()=>[r("门诊")])),_:1}),o(s(m),{value:"HOSPITAL"},{default:i((()=>[r("住院")])),_:1})])),_:1},8,["value"])])),_:1}),o(s(c),{label:"患者",path:"vaa01"},{default:i((()=>[o(s(h),{remote:"",value:C.vaa01,"onUpdate:value":[t[1]||(t[1]=e=>C.vaa01=e),L],placeholder:"请选择患者",filterable:"",options:P.value,"render-label":A,"value-field":"vaa01",onSearch:x},null,8,["value","options"])])),_:1}),o(s(c),{label:"科室"},{default:i((()=>[r(v(C.bck03a),1)])),_:1}),o(s(c),null,{default:i((()=>[o(s(y),{block:"",type:"primary",onClick:U},{default:i((()=>[r("确定")])),_:1})])),_:1})])),_:1},8,["model"])])),_:1})])),_:1},8,["to","show"]))}});export{w as default};
1
+ import{defineComponent as e,inject as a,reactive as t,ref as l,openBlock as u,createBlock as n,unref as s,withCtx as o,createVNode as i,createTextVNode as r,toDisplayString as d}from"vue";import{NDrawer as v,NDrawerContent as c,NForm as f,NFormItem as p,NRadioGroup as b,NRadio as m,NSelect as h,NButton as y}from"naive-ui";import{isFunction as _,isArray as g}from"lodash-es";import{InjectionAIChat as k}from"../types/index.js";var w=e({__name:"ChatPatient",props:{show:{type:Boolean}},emits:["update:show"],setup(e,{emit:w}){const{patientInfo:I,state:P}=a(k),T=t({businessType:"CLINICIAN",vaa01:null,bck03a:""}),C={businessType:{required:!0,trigger:"change",message:"请选择类型"},vaa01:{required:!0,trigger:["blur","change"],message:"请选择患者"}},q=l([]),L=l();function N(e){const{bcq04b:a,vae96:t}=e,l="1"==t?"男":"2"==t?"女":"未知";let u="";a&&(u+=a+"床");const n=a=>{e[a]&&(u+=(!u||u.endsWith("/")?"":"/")+e[a])};return n("vaa05"),u+="/"+l,n("vae87"),n("bck02a"),u.startsWith("/")&&(u=u.slice(1)),u}function A(e,a){T.bck03a=a.bck03a}async function x(e){var a;if(_(null==(a=I.value)?void 0:a.queryPatient))try{const a=await I.value.queryPatient({keyword:e,businessType:T.businessType});if(g(a))return void(q.value=a);q.value=[]}catch(e){q.value=[]}}function S(){T.vaa01=null,T.bck03a="",x("")}function U(e){var a;e.preventDefault(),null==(a=L.value)||a.validate((e=>{if(!e){const e={...T,...q.value.find((e=>e.vaa01===T.vaa01))};P.showPatient?(P.selectedPatientLabel=N(e),P.selectedPatientForm=e):P.selectedPatient=e,w("update:show",!1)}}))}return x(""),(a,t)=>(u(),n(s(v),{placement:"bottom",height:"300","trap-focus":!1,to:"#"+s(P).id,show:e.show,onMaskClick:t[2]||(t[2]=()=>w("update:show",!1))},{default:o((()=>[i(s(c),null,{default:o((()=>[i(s(f),{ref_key:"formRef",ref:L,"label-placement":"left","label-width":"auto",size:"large",model:T,"require-mark-placement":"right-hanging",rules:C},{default:o((()=>[i(s(p),{label:"业务",path:"businessType"},{default:o((()=>[i(s(b),{value:T.businessType,"onUpdate:value":[t[0]||(t[0]=e=>T.businessType=e),S],name:"业务"},{default:o((()=>[i(s(m),{value:"CLINICIAN"},{default:o((()=>[r("门诊")])),_:1}),i(s(m),{value:"HOSPITAL"},{default:o((()=>[r("住院")])),_:1})])),_:1},8,["value"])])),_:1}),i(s(p),{label:"患者",path:"vaa01"},{default:o((()=>[i(s(h),{to:"body",remote:"",value:T.vaa01,"onUpdate:value":[t[1]||(t[1]=e=>T.vaa01=e),A],placeholder:"请选择患者",filterable:"",options:q.value,"render-label":N,"value-field":"vaa01",onSearch:x},null,8,["value","options"])])),_:1}),i(s(p),{label:"科室"},{default:o((()=>[r(d(T.bck03a),1)])),_:1}),i(s(p),null,{default:o((()=>[i(s(y),{block:"",type:"primary",onClick:U},{default:o((()=>[r("确定")])),_:1})])),_:1})])),_:1},8,["model"])])),_:1})])),_:1},8,["to","show"]))}});export{w as default};
@@ -0,0 +1 @@
1
+ export declare function isValidJSON(str: string): boolean;
@@ -0,0 +1 @@
1
+ function r(r){try{return JSON.parse(r),!0}catch(r){return!1}}export{r as isValidJSON};
@@ -1 +1 @@
1
- .c-recording-wrapper{align-items:center;background-color:#fff;border-radius:10px;bottom:100px;display:flex;height:350px;justify-content:center;left:calc(50% - 250px);position:fixed;width:500px}@keyframes toScale{0%{transform:translateX(-50%) translateY(-50%) scale(1)}to{transform:translateX(-50%) translateY(-50%) scale(1.5)}}.c-recording-wrapper .content{font-size:18px;position:absolute;text-align:center;top:20px}.c-recording-wrapper .animation{animation:toScale 1s infinite;background-color:#5585f54d;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(1);z-index:-1}.c-recording-wrapper .animation,.c-recording-wrapper .icon-box{align-items:center;border-radius:50%;display:flex;height:90px;justify-content:center;width:90px}.c-recording-wrapper .icon-box{background-color:#5585f5;cursor:pointer}.c-recording-wrapper .tip{bottom:20px;position:absolute}.c-template-render{box-sizing:border-box;color:#000;font-size:0;line-height:1.6}.c-template-render__flex{display:flex}.c-template-render__flexAlignCenter{align-items:center}.c-template-render__flex-wrap{flex-wrap:wrap}.c-template-render__flex1{flex:1}.c-template-render__width100{width:100%}.c-template-render__color60{color:rgba(0,0,0,.6)}.c-template-render__color100{color:#000}.c-template-render__text-ellipsis{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box!important;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis;word-break:break-all}.c-template-render__nowrap{white-space:nowrap}.c-template-render__mgr8{margin-right:8px!important}.c-template-render__mgb8{margin-bottom:8px!important}.c-template-render__mgt4{margin-top:4px!important}.c-template-render__mgb4{margin-bottom:4px!important}.c-template-render__un-mgr8{margin-right:-8px!important}.c-template-render__bar{padding-left:8px;position:relative}.c-template-render__bar:before{background:var(--c-primary-color);border-radius:4px;content:"";height:12px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.c-template-render__inline{display:inline}.annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;min-width:100%;padding:0 8px 0 16px;width:fit-content}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{white-space:nowrap}.search-cascader__optionText--active{color:var(--c-primary-color)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column));position:relative}.form-render__formItemMask{margin-bottom:8px;padding:8px}.form-render__formItemMask:after{border:1px solid #c2c2c2;border-radius:8px;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.form-render__formItemMask--selected:after{border-color:var(--c-primary-color)}.form-render__formItemMask--selected:before{border-bottom:12px solid var(--c-primary-color);border-bottom-right-radius:8px;border-left:12px solid transparent;border-right:12px solid var(--c-primary-color);border-top:12px solid transparent;bottom:0;color:#fff;content:"✓";font-size:10px;height:0;line-height:.9;position:absolute;right:0;width:0}.form-render__formItem.n-form-item--left-labelled .form-render__formItemLabel--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:var(--c-primary-color-opacity2);border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;flex:1;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebar--horizontal{align-items:stretch;display:flex;position:relative}.form-render__linebar--horizontal .form-render__linebarHeader{align-items:center;background:transparent;border-radius:0;box-sizing:border-box;display:flex;height:unset;justify-content:center;margin-bottom:0;margin-left:-8px;max-width:var(--form-render-linebar-width);padding:8px;text-align:center;width:var(--form-render-linebar-width);word-break:break-all}.form-render__linebar--horizontal .form-render__linebarItem{padding:8px 0 8px 8px}.form-render__linebar--horizontalBorder:after{border-bottom:1px solid #000;bottom:0;content:"";height:1px;left:0;margin-left:-8px;position:absolute;width:calc(100% + 16px)}.form-render__linebar:last-of-type .form-render__linebar--horizontalBorder:after{display:none}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:start;display:grid!important;gap:0 16px;gap:0;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column));grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__inputGroup>div{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex;flex:1;flex-wrap:wrap}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot{border-radius:0!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked{background:var(--c-primary-color)!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked:before{color:#fff;content:"✓";font-size:13px;font-weight:700;line-height:.8;transform:translateX(-1.5px)}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}.form-render--underline .n-input{border-radius:0}.form-render--underline .n-input__border,.form-render--underline .n-input__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important}.form-render--underline .n-input--focus{border-radius:0}.form-render--underline .n-input--focus .n-input__state-border{box-shadow:none!important}.form-render--underline .n-base-selection--active .n-base-selection__state-border,.form-render--underline .n-base-selection--focus .n-base-selection__state-border,.form-render--underline .n-base-selection:hover .n-base-selection__state-border,.form-render--underline .n-base-selection__border,.form-render--underline .n-base-selection__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important;box-shadow:none!important}.form-render--underline .n-input--textarea{background-image:linear-gradient(transparent,transparent 95%,#d5d5d5 0,#d5d5d5);background-origin:content-box;background-position:top;background-repeat:repeat-y;background-size:100% 22px;margin-top:4px;padding:0}.form-render--underline .n-input--textarea .n-input__textarea-el{padding:0}.form-render--underline .n-input--textarea .n-input__placeholder{padding-top:0}.form-render--underline .n-input--textarea .n-input__border,.form-render--underline .n-input--textarea .n-input__state-border{border:0!important}.form-render__selectChildField{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));width:100%}.form-render__selectChildFieldItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render--out-border .form-render__wrapper{border:1px solid #1f2225;padding:0 8px}.form-render__selectOption.n-base-select-option--disabled .n-base-select-option__content{color:rgba(0,0,0,.4)}.ai-chat{background:linear-gradient(135deg,#c9dbfb,#c9dbfb 20%,rgba(237,237,253,.5) 70%,rgba(151,97,251,.2));color:#000;display:flex;flex-flow:column nowrap;font-size:14px;height:100%;padding:45px 0 60px;position:relative;width:100%}.ai-chat,.ai-chat *{box-sizing:border-box}.ai-chat .fillet-10{border-radius:10px}.ai-chat .fillet-8{border-radius:8px}.ai-chat .n-avatar{background-color:var(--c-primary-color)}.ai-chat .gradient{background:linear-gradient(178deg,#8f66f7,#4170ee);color:#fff}.ai-chat .gradient:active,.ai-chat .gradient:focus,.ai-chat .gradient:hover{color:#fff}.ai-chat .chat-main{display:flex;flex:1;flex-flow:column-reverse nowrap;overflow-y:auto;padding:0 130px 0 82px;row-gap:16px}.ai-chat .chat-main::-webkit-scrollbar{width:5px}.ai-chat .chat-main::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-main::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .chat-main .message-item{column-gap:8px;display:flex;flex-flow:row nowrap}.ai-chat .chat-main .message-item:first-child{margin-bottom:auto}.ai-chat .chat-main .message-item .n-avatar{flex-shrink:0}.ai-chat .chat-main .message-item .content-box .content{background:#fff;border-radius:10px;flex:unset;padding:10px 12px}.ai-chat .chat-main .message-item .content-box .content .card{width:236px}.ai-chat .chat-main .message-item .content-box .content .card>p{font-size:14px;line-height:19px}.ai-chat .chat-main .message-item .content-box .content .card .link-btn{display:flex;flex-flow:row wrap;font-size:14px;justify-content:space-between;margin-top:10px;width:100%}.ai-chat .chat-main .message-item .content-box .content .card .link-btn .n-button__content{display:unset;flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ai-chat .chat-main .message-item .content-box .content .card .card-body{border:1px solid #d5d5d5;border-radius:8px;margin-top:5px;overflow:hidden}.ai-chat .chat-main .message-item .content-box .content .card .card-body__head{background:rgba(65,112,238,.14);line-height:36px;padding:0 15px}.ai-chat .chat-main .message-item .content-box .content .card .card-body__content{padding:10px 6px}.ai-chat .chat-main .message-item .content-box .content .card .card-body__content>div{display:flex;font-size:12px}.ai-chat .chat-main .message-item .content-box .content .card .card-body__content>div .label{flex:0 0 60px;text-align:right}.ai-chat .chat-main .message-item .content-box .content .card .patient-info{border-top:1px solid #e5e5e5;margin-top:5px}.ai-chat .chat-main .message-item .content-box .content .card .patient-info .patient-item{margin:5px 0 0 5px}.ai-chat .chat-main .message-item .content-box .content .card .patient-info .patient-item:last-child{margin-bottom:0}.ai-chat .chat-main .message-item .content-box .content .card .patient-info .patient-item p:first-child{font-weight:700}.ai-chat .chat-main .message-item .content-box .content .card .patient-info .patient-item p:last-child{color:#888}.ai-chat .chat-main .message-item .content-box .content .card .n-form{margin-top:10px}.ai-chat .chat-main .message-item .content-box .content .card .n-form .form-render__formItemLabel{color:#888}.ai-chat .chat-main .message-item .content-box .content.default h2{font-size:22px;font-weight:500;margin:10px 0}.ai-chat .chat-main .message-item .content-box .content.loading{align-items:center;color:#999;column-gap:10px;display:flex}.ai-chat .chat-main .message-item .content-box.mine .content{background:hsla(0,0%,100%,.48);border-radius:8px}.ai-chat .chat-footer{padding:30px 130px 0}.ai-chat .chat-footer.disabled{cursor:not-allowed}.ai-chat .chat-footer .menu-box{background:#fff;column-gap:8px;display:flex;margin-bottom:8px;overflow-x:auto;padding:10px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar{width:5px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .chat-footer .menu-box::-webkit-scrollbar{height:5px}.ai-chat .chat-footer .input-wrapper{background:#fff;box-shadow:0 3px 4px 0 rgba(0,0,0,.1);padding:15px 20px}.ai-chat .chat-footer .input-wrapper .n-input__border,.ai-chat .chat-footer .input-wrapper .n-input__state-border{border:none}.ai-chat .chat-footer .input-wrapper .n-input:not(.n-input--disabled).n-input--focus .n-input__state-border{box-shadow:unset}.ai-chat .chat-footer .input-wrapper .btn-box{display:flex;justify-content:flex-end}.ai-chat .chat-footer .input-wrapper .btn-box .btn-send{align-items:center;cursor:pointer;display:flex;height:46px;justify-content:center;width:58px}.ai-chat .chat-footer .input-wrapper .btn-box .btn-send.disabled{cursor:not-allowed;opacity:.5}.ai-chat .chat-footer .command-box{display:flex;flex-flow:column nowrap;height:100%}.ai-chat .chat-footer .command-box__header{display:flex}.ai-chat .chat-footer .command-box__header .title{color:#999}.ai-chat .chat-footer .command-box__menu{flex:1;overflow-y:auto}.ai-chat .chat-footer .command-box__menu .menu-item{align-items:center;display:flex;padding:8px 0 8px 5px}.ai-chat .chat-footer .command-box__menu .menu-item .remark{color:#999;flex:1;font-size:12px;margin-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat .chat-footer .command-box__menu .menu-item .n-icon{margin-left:auto}.ai-chat .chat-footer .command-box__menu .menu-item:hover{cursor:default}.ai-chat .chat-footer .command-box__menu .menu-item.selected{background:#f2f2f2;border-radius:5px}.ai-chat .chat-footer .command-box__menu .menu-item.selectable{position:relative}.ai-chat .chat-footer .command-box__menu .menu-item.selectable .label{color:var(--c-primary-color);margin-left:30px}.ai-chat .chat-footer .command-box__menu .menu-item.selectable:before{background:#e5e5e5;border-radius:5px;content:"/";height:20px;left:5px;line-height:20px;position:absolute;text-align:center;top:10px;width:20px}.ai-chat--small{padding:20px 0 44px}.ai-chat--small .chat-main{padding:0 20px 10px}.ai-chat--small .chat-main .message-item{display:unset}.ai-chat--small .chat-main .message-item .n-avatar{background:transparent}.ai-chat--small .chat-main .message-item .content-box{display:flex;flex-flow:row nowrap}.ai-chat--small .chat-main .message-item .content-box .content{border-radius:3px 14px 14px;max-width:calc(100% - 55px)}.ai-chat--small .chat-main .message-item .content-box .content.default{border-radius:4px 16px 16px}.ai-chat--small .chat-main .message-item .content-box.mine{flex-flow:row-reverse nowrap}.ai-chat--small .chat-main .message-item .content-box.mine .content{background:#5874dc;border-radius:14px 0 14px 14px;color:#fff}.ai-chat--small .chat-footer{padding:10px 20px 0}.ai-chat--small .chat-footer .menu-box{background:none;padding:0}.ai-chat--small .chat-footer .menu-box .n-button{background:#fff}.ai-chat--small .chat-footer .input-wrapper{border-radius:24px;box-shadow:0 0 6px 0 hsla(240,9%,85%,.74);padding:0}.ai-chat .prompt-wrapper{background:linear-gradient(135deg,#ecf3ff,#ecf3ff 20%,rgba(237,237,253,.5) 70%,rgba(203,175,255,.3))}.ai-chat .prompt-wrapper .n-drawer-header{padding:15px}.ai-chat .prompt-wrapper .n-drawer-header__main{width:100%}.ai-chat .prompt-wrapper .n-drawer-header__main .title{display:flex;font-size:14px}.ai-chat .prompt-wrapper .n-drawer-header__main .title .n-button{margin-left:auto}.ai-chat .prompt-wrapper .n-drawer-header__main .n-input{margin-top:10px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper{padding:0 10px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper{align-content:flex-start;display:flex;flex-wrap:wrap;height:100%;overflow-y:auto}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar{width:5px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item{background:#fff;border-radius:10px;box-sizing:border-box;break-inside:avoid;cursor:pointer;margin:5px;padding:10px;width:calc(50% - 10px)}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item:hover{background-image:linear-gradient(#ecf3ff,#fff 40%,#fff)}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item p:last-child{color:#999;font-size:12px}
1
+ .c-recording-wrapper{align-items:center;background-color:#fff;border-radius:10px;bottom:100px;display:flex;height:350px;justify-content:center;left:calc(50% - 250px);position:fixed;width:500px}@keyframes toScale{0%{transform:translateX(-50%) translateY(-50%) scale(1)}to{transform:translateX(-50%) translateY(-50%) scale(1.5)}}.c-recording-wrapper .content{font-size:18px;position:absolute;text-align:center;top:20px}.c-recording-wrapper .animation{animation:toScale 1s infinite;background-color:#5585f54d;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(1);z-index:-1}.c-recording-wrapper .animation,.c-recording-wrapper .icon-box{align-items:center;border-radius:50%;display:flex;height:90px;justify-content:center;width:90px}.c-recording-wrapper .icon-box{background-color:#5585f5;cursor:pointer}.c-recording-wrapper .tip{bottom:20px;position:absolute}.c-template-render{box-sizing:border-box;color:#000;font-size:0;line-height:1.6}.c-template-render__flex{display:flex}.c-template-render__flexAlignCenter{align-items:center}.c-template-render__flex-wrap{flex-wrap:wrap}.c-template-render__flex1{flex:1}.c-template-render__width100{width:100%}.c-template-render__color60{color:rgba(0,0,0,.6)}.c-template-render__color100{color:#000}.c-template-render__text-ellipsis{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box!important;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis;word-break:break-all}.c-template-render__nowrap{white-space:nowrap}.c-template-render__mgr8{margin-right:8px!important}.c-template-render__mgb8{margin-bottom:8px!important}.c-template-render__mgt4{margin-top:4px!important}.c-template-render__mgb4{margin-bottom:4px!important}.c-template-render__un-mgr8{margin-right:-8px!important}.c-template-render__bar{padding-left:8px;position:relative}.c-template-render__bar:before{background:var(--c-primary-color);border-radius:4px;content:"";height:12px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.c-template-render__inline{display:inline}.annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;min-width:100%;padding:0 8px 0 16px;width:fit-content}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{white-space:nowrap}.search-cascader__optionText--active{color:var(--c-primary-color)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column));position:relative}.form-render__formItemMask{margin-bottom:8px;padding:8px}.form-render__formItemMask:after{border:1px solid #c2c2c2;border-radius:8px;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.form-render__formItemMask--selected:after{border-color:var(--c-primary-color)}.form-render__formItemMask--selected:before{border-bottom:12px solid var(--c-primary-color);border-bottom-right-radius:8px;border-left:12px solid transparent;border-right:12px solid var(--c-primary-color);border-top:12px solid transparent;bottom:0;color:#fff;content:"✓";font-size:10px;height:0;line-height:.9;position:absolute;right:0;width:0}.form-render__formItem.n-form-item--left-labelled .form-render__formItemLabel--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:var(--c-primary-color-opacity2);border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;flex:1;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebar--horizontal{align-items:stretch;display:flex;position:relative}.form-render__linebar--horizontal .form-render__linebarHeader{align-items:center;background:transparent;border-radius:0;box-sizing:border-box;display:flex;height:unset;justify-content:center;margin-bottom:0;margin-left:-8px;max-width:var(--form-render-linebar-width);padding:8px;text-align:center;width:var(--form-render-linebar-width);word-break:break-all}.form-render__linebar--horizontal .form-render__linebarItem{padding:8px 0 8px 8px}.form-render__linebar--horizontalBorder:after{border-bottom:1px solid #000;bottom:0;content:"";height:1px;left:0;margin-left:-8px;position:absolute;width:calc(100% + 16px)}.form-render__linebar:last-of-type .form-render__linebar--horizontalBorder:after{display:none}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:start;display:grid!important;gap:0 16px;gap:0;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column));grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__inputGroup>div{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex;flex:1;flex-wrap:wrap}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot{border-radius:0!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked{background:var(--c-primary-color)!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked:before{color:#fff;content:"✓";font-size:13px;font-weight:700;line-height:.8;transform:translateX(-1.5px)}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}.form-render--underline .n-input{border-radius:0}.form-render--underline .n-input__border,.form-render--underline .n-input__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important}.form-render--underline .n-input--focus{border-radius:0}.form-render--underline .n-input--focus .n-input__state-border{box-shadow:none!important}.form-render--underline .n-base-selection--active .n-base-selection__state-border,.form-render--underline .n-base-selection--focus .n-base-selection__state-border,.form-render--underline .n-base-selection:hover .n-base-selection__state-border,.form-render--underline .n-base-selection__border,.form-render--underline .n-base-selection__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important;box-shadow:none!important}.form-render--underline .n-input--textarea{background-image:linear-gradient(transparent,transparent 95%,#d5d5d5 0,#d5d5d5);background-origin:content-box;background-position:top;background-repeat:repeat-y;background-size:100% 22px;margin-top:4px;padding:0}.form-render--underline .n-input--textarea .n-input__textarea-el{padding:0}.form-render--underline .n-input--textarea .n-input__placeholder{padding-top:0}.form-render--underline .n-input--textarea .n-input__border,.form-render--underline .n-input--textarea .n-input__state-border{border:0!important}.form-render__selectChildField{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));width:100%}.form-render__selectChildFieldItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render--out-border .form-render__wrapper{border:1px solid #1f2225;padding:0 8px}.form-render__selectOption.n-base-select-option--disabled .n-base-select-option__content{color:rgba(0,0,0,.4)}.ai-chat{background:linear-gradient(135deg,#c9dbfb,#c9dbfb 20%,rgba(237,237,253,.5) 70%,rgba(151,97,251,.2));color:#000;display:flex;flex-flow:column nowrap;font-size:14px;height:100%;padding:45px 0 60px;position:relative;width:100%}.ai-chat,.ai-chat *{box-sizing:border-box}.ai-chat .fillet-10{border-radius:10px}.ai-chat .fillet-8{border-radius:8px}.ai-chat .n-avatar{background-color:var(--c-primary-color)}.ai-chat .gradient{background:linear-gradient(178deg,#8f66f7,#4170ee);color:#fff}.ai-chat .gradient:active,.ai-chat .gradient:focus,.ai-chat .gradient:hover{color:#fff}.ai-chat .chat-main{display:flex;flex:1;flex-flow:column-reverse nowrap;overflow-y:auto;padding:0 130px 0 82px;row-gap:16px}.ai-chat .chat-main::-webkit-scrollbar{width:5px}.ai-chat .chat-main::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-main::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .chat-main .message-item{column-gap:8px;display:flex;flex-flow:row nowrap}.ai-chat .chat-main .message-item:first-child{margin-bottom:auto}.ai-chat .chat-main .message-item .n-avatar{flex-shrink:0}.ai-chat .chat-main .message-item .content-box .content{background:#fff;border-radius:10px;flex:unset;padding:10px 12px}.ai-chat .chat-main .message-item .content-box .content .card{width:236px}.ai-chat .chat-main .message-item .content-box .content .card>p{font-size:14px;line-height:19px}.ai-chat .chat-main .message-item .content-box .content .card .c-template-render .biClass{border-radius:5px;cursor:pointer}.ai-chat .chat-main .message-item .content-box .content .card .form-box .n-form:first-child{margin-top:10px}.ai-chat .chat-main .message-item .content-box .content .card .form-box .n-form-item-label__text{color:#888}.ai-chat .chat-main .message-item .content-box .content.default h2{font-size:22px;font-weight:500;margin:10px 0}.ai-chat .chat-main .message-item .content-box .content.loading{align-items:center;color:#999;column-gap:10px;display:flex}.ai-chat .chat-main .message-item .content-box.mine .content{background:hsla(0,0%,100%,.48);border-radius:8px}.ai-chat .chat-footer{padding:30px 130px 0}.ai-chat .chat-footer.disabled{cursor:not-allowed}.ai-chat .chat-footer .menu-box{background:#fff;column-gap:8px;display:flex;margin-bottom:8px;overflow-x:auto;padding:10px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar{width:5px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .chat-footer .menu-box::-webkit-scrollbar{height:5px}.ai-chat .chat-footer .input-wrapper{background:#fff;box-shadow:0 3px 4px 0 rgba(0,0,0,.1);padding:15px 20px}.ai-chat .chat-footer .input-wrapper .n-input__border,.ai-chat .chat-footer .input-wrapper .n-input__state-border{border:none}.ai-chat .chat-footer .input-wrapper .n-input:not(.n-input--disabled).n-input--focus .n-input__state-border{box-shadow:unset}.ai-chat .chat-footer .input-wrapper .btn-box{display:flex;justify-content:flex-end}.ai-chat .chat-footer .input-wrapper .btn-box .btn-send{align-items:center;cursor:pointer;display:flex;height:46px;justify-content:center;width:58px}.ai-chat .chat-footer .input-wrapper .btn-box .btn-send.disabled{cursor:not-allowed;opacity:.5}.ai-chat .chat-footer .command-box{display:flex;flex-flow:column nowrap;height:100%}.ai-chat .chat-footer .command-box__header{display:flex}.ai-chat .chat-footer .command-box__header .title{color:#999}.ai-chat .chat-footer .command-box__menu{flex:1;overflow-y:auto}.ai-chat .chat-footer .command-box__menu .menu-item{align-items:center;display:flex;padding:8px 0 8px 5px}.ai-chat .chat-footer .command-box__menu .menu-item .remark{color:#999;flex:1;font-size:12px;margin-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat .chat-footer .command-box__menu .menu-item .n-icon{margin-left:auto}.ai-chat .chat-footer .command-box__menu .menu-item:hover{cursor:default}.ai-chat .chat-footer .command-box__menu .menu-item.selected{background:#f2f2f2;border-radius:5px}.ai-chat .chat-footer .command-box__menu .menu-item.selectable{position:relative}.ai-chat .chat-footer .command-box__menu .menu-item.selectable .label{color:var(--c-primary-color);margin-left:30px}.ai-chat .chat-footer .command-box__menu .menu-item.selectable:before{background:#e5e5e5;border-radius:5px;content:"/";height:20px;left:5px;line-height:20px;position:absolute;text-align:center;top:10px;width:20px}.ai-chat--small{padding:20px 0 44px}.ai-chat--small .chat-main{padding:0 20px 10px}.ai-chat--small .chat-main .message-item{display:unset}.ai-chat--small .chat-main .message-item .n-avatar{background:transparent}.ai-chat--small .chat-main .message-item .content-box{display:flex;flex-flow:row nowrap}.ai-chat--small .chat-main .message-item .content-box .content{border-radius:3px 14px 14px;max-width:calc(100% - 55px)}.ai-chat--small .chat-main .message-item .content-box .content.default{border-radius:4px 16px 16px}.ai-chat--small .chat-main .message-item .content-box.mine{flex-flow:row-reverse nowrap}.ai-chat--small .chat-main .message-item .content-box.mine .content{background:#5874dc;border-radius:14px 0 14px 14px;color:#fff}.ai-chat--small .chat-footer{padding:10px 20px 0}.ai-chat--small .chat-footer .menu-box{background:none;padding:0}.ai-chat--small .chat-footer .menu-box .n-button{background:#fff}.ai-chat--small .chat-footer .input-wrapper{border-radius:24px;box-shadow:0 0 6px 0 hsla(240,9%,85%,.74);padding:0}.ai-chat .prompt-wrapper{background:linear-gradient(135deg,#ecf3ff,#ecf3ff 20%,rgba(237,237,253,.5) 70%,rgba(203,175,255,.3))}.ai-chat .prompt-wrapper .n-drawer-header{padding:15px}.ai-chat .prompt-wrapper .n-drawer-header__main{width:100%}.ai-chat .prompt-wrapper .n-drawer-header__main .title{display:flex;font-size:14px}.ai-chat .prompt-wrapper .n-drawer-header__main .title .n-button{margin-left:auto}.ai-chat .prompt-wrapper .n-drawer-header__main .n-input{margin-top:10px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper{padding:0 10px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper{align-content:flex-start;display:flex;flex-wrap:wrap;height:100%;overflow-y:auto}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar{width:5px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item{background:#fff;border-radius:10px;box-sizing:border-box;break-inside:avoid;cursor:pointer;margin:5px;padding:10px;width:calc(50% - 10px)}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item:hover{background-image:linear-gradient(#ecf3ff,#fff 40%,#fff)}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item p:last-child{color:#999;font-size:12px}