cnhis-design-vue 3.3.1-beta.13 → 3.3.1-beta.15

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 (100) hide show
  1. package/README.md +87 -87
  2. package/es/components/ai-chat/index.d.ts +141 -11
  3. package/es/components/ai-chat/src/Index.vue.d.ts +141 -11
  4. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  5. package/es/components/ai-chat/src/api/index.d.ts +5 -0
  6. package/es/components/ai-chat/src/api/index.js +1 -0
  7. package/es/components/ai-chat/src/components/ChatAudio.vue.d.ts +43 -0
  8. package/es/components/ai-chat/src/components/ChatAudio.vue.js +1 -0
  9. package/es/components/ai-chat/src/components/ChatAudio.vue2.js +1 -0
  10. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +46 -1
  11. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  12. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  13. package/es/components/ai-chat/src/components/ChatMainDefault.d.ts +2 -0
  14. package/es/components/ai-chat/src/components/ChatMainDefault.js +1 -0
  15. package/es/components/ai-chat/src/components/ChatRight.vue.d.ts +53 -0
  16. package/es/components/ai-chat/src/components/ChatRight.vue.js +1 -0
  17. package/es/components/ai-chat/src/components/ChatRight.vue2.js +1 -0
  18. package/es/components/ai-chat/src/components/card/JsonCard.d.ts +25 -0
  19. package/es/components/ai-chat/src/components/card/JsonCard.js +1 -0
  20. package/es/components/ai-chat/src/components/card/SelectIcon.d.ts +14 -0
  21. package/es/components/ai-chat/src/components/card/SelectIcon.js +1 -0
  22. package/es/components/ai-chat/src/hooks/useWebsocket.d.ts +2 -0
  23. package/es/components/ai-chat/src/hooks/useWebsocket.js +1 -0
  24. package/es/components/ai-chat/src/utils/index.d.ts +1 -0
  25. package/es/components/ai-chat/src/utils/index.js +1 -1
  26. package/es/components/ai-chat/style/index.css +1 -1
  27. package/es/components/audio-sdk/src/audioSDK.d.ts +2 -1
  28. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  29. package/es/components/card-render/src/components/index.d.ts +23 -23
  30. package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
  31. package/es/components/editor/src/Editor.js +1 -1
  32. package/es/components/editor/style/index.css +1 -0
  33. package/es/components/iho-chat/index.d.ts +46 -0
  34. package/es/components/iho-chat/src/Index.vue.d.ts +46 -0
  35. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +6 -0
  36. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  37. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +6 -0
  38. package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
  39. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +5 -0
  40. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +22 -0
  41. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +5 -0
  42. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +4 -0
  43. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
  44. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  45. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +8 -0
  46. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  47. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +5 -0
  48. package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +3 -0
  49. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  50. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +3 -1
  51. package/es/components/iho-chat/src/components/SiderList.vue2.js +1 -1
  52. package/es/components/iho-chat/src/constants/index.d.ts +7 -0
  53. package/es/components/iho-chat/src/constants/index.js +1 -1
  54. package/es/components/iho-chat/src/utils/index.d.ts +2 -0
  55. package/es/components/iho-chat/src/utils/index.js +1 -1
  56. package/es/components/iho-chat/style/index.css +1 -1
  57. package/es/components/index.css +1 -1
  58. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  59. package/es/env.d.ts +25 -25
  60. package/es/shared/assets/img/ai__avatar.png.js +1 -1
  61. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  62. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  63. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  64. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
  65. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
  66. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
  67. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
  68. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  69. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  70. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  71. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  72. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  73. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  74. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  75. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  76. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  77. package/es/shared/assets/img/failure.png.js +1 -1
  78. package/es/shared/assets/img/file-emr.png.js +1 -0
  79. package/es/shared/assets/img/file.png.js +1 -0
  80. package/es/shared/assets/img/logo.png.js +1 -1
  81. package/es/shared/assets/img/no-permission.png.js +1 -1
  82. package/es/shared/assets/img/nodata.png.js +1 -1
  83. package/es/shared/assets/img/notfound.png.js +1 -1
  84. package/es/shared/assets/img/qr.png.js +1 -1
  85. package/es/shared/assets/img/success.png.js +1 -1
  86. package/es/shared/assets/img/table_style_2.png.js +1 -1
  87. package/es/shared/assets/img/use.png.js +1 -0
  88. package/es/shared/assets/img/video.png.js +1 -1
  89. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  90. package/es/shared/assets/img/xb_big.png.js +1 -1
  91. package/es/shared/assets/img/xb_small.png.js +1 -1
  92. package/es/shared/package.json.js +1 -1
  93. package/package.json +2 -2
  94. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  95. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
  96. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
  97. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
  98. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
  99. package/es/shared/utils/fabricjs/index.d.ts +0 -6823
  100. package/es/shared/utils/tapable/index.d.ts +0 -139
@@ -491,18 +491,21 @@ declare const _default: import("vue").DefineComponent<{}, {
491
491
  name: any;
492
492
  avatar: any;
493
493
  chatType: any;
494
+ roleInfo: any;
494
495
  }[]>;
495
496
  friends: import("vue").ComputedRef<{
496
497
  id: any;
497
498
  name: any;
498
499
  avatar: any;
499
500
  chatType: any;
501
+ roleInfo: any;
500
502
  }[]>;
501
503
  groups: import("vue").ComputedRef<{
502
504
  id: any;
503
505
  name: any;
504
506
  avatar: any;
505
507
  chatType: any;
508
+ roleInfo: any;
506
509
  }[]>;
507
510
  checkedIds: import("vue").ComputedRef<any[]>;
508
511
  btnDisabled: import("vue").ComputedRef<boolean>;
@@ -540,6 +543,8 @@ declare const _default: import("vue").DefineComponent<{}, {
540
543
  ChevronBackOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
541
544
  ChevronForwardOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
542
545
  last: <T_1>(array: import("lodash").List<T_1> | null | undefined) => T_1 | undefined;
546
+ isDoctorRole: typeof import("../utils").isDoctorRole;
547
+ getRoleName: typeof import("../utils").getRoleName;
543
548
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "comfirm"[], "comfirm", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
544
549
  title: {
545
550
  type: StringConstructor;
@@ -45,6 +45,7 @@ declare const _default: import("vue").DefineComponent<{
45
45
  };
46
46
  isForward: boolean;
47
47
  };
48
+ cssVars: import("vue").ComputedRef<AnyObject>;
48
49
  recordRef: import("vue").Ref<any>;
49
50
  recordList: import("vue").Ref<AnyObject[]>;
50
51
  keyword: import("vue").Ref<any>;
@@ -57,6 +58,9 @@ declare const _default: import("vue").DefineComponent<{
57
58
  hasMore: boolean;
58
59
  lastSendTime: string;
59
60
  };
61
+ getFileDetails: (msg: string, type: string) => any;
62
+ getDetail: (item: AnyObject) => string;
63
+ getFileType: (msg: string) => string;
60
64
  handleSearch: () => Promise<void>;
61
65
  resetAndSearch: () => void;
62
66
  startDateDisabled: (ts: number) => boolean;
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as a,ref as l,watch as t,openBlock as r,createBlock as o,unref as n,withCtx as s,createVNode as i,toDisplayString as u,resolveDynamicComponent as d,createElementBlock as c,Fragment as v,renderList as m,withDirectives as p,createTextVNode as f,vShow as g}from"vue";import{NModal as h,NAvatar as y,NInputGroup as w,NInput as b,NSelect as _,NPopover as k,NTag as T,NIcon as j}from"naive-ui";import{SearchOutline as M}from"@vicons/ionicons5";import{useData as x}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as C}from"../constants/index.js";import{searchChatRecordApi as L}from"../api/index.js";import{transformMessage as I,formatTime as A}from"../utils/index.js";import{last as S}from"lodash-es";import"trtc-sdk-v5";import H from"../../../date-picker/index.js";import{useDebounceFn as B}from"@vueuse/core";import{format as D}from"date-fns";import"../../../../shared/utils/index.js";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{useScrollLoading as E}from"../../../../shared/hooks/useScrollLoading.js";import{emojis as U}from"../utils/emoji.js";var z,G;const R={class:"iho-chat-dialog__header"},N=e("span",{class:"left"},(null==(z=window.getLanguageByCode)?void 0:z.call(window,"10010.1.65"))||"聊天记录",-1),O={class:"center"},W={class:"iho-chat-dialog__content iho-chat-record-wrapper"},J={class:"chat-record-box"},P={class:"msg-box"},$={class:"name-and-time"},q={class:"content"},F=["src"],K=["src"],Q=["innerHTML"],V={key:1,class:"no-data"},X={class:"chat-record-box__filter"},Y=e("span",{class:"filter-title"},(null==(G=window.getLanguageByCode)?void 0:G.call(window,"10010.1.72"))||"添加筛选条件",-1),Z={class:"filter-item"},ee=e("span",{class:"label"},"成员:",-1),ae={class:"filter-item"},le=e("span",{class:"label"},"日期:",-1),te={class:"time-target"},re={class:"time-target__item"},oe=e("span",null,"开始:",-1),ne={class:"tip"},se={class:"time-target__item"},ie=e("span",null,"结束:",-1),ue={class:"tip"};var de=a({__name:"ChatRecord",props:{visible:{type:Boolean}},setup(a){const z=a,G={color:"#fff",textColor:"#666"},{state:de}=x(),ce=l(),ve=l([]),me=l(),pe=l([]),fe=l(),ge=l(),he=B(be,500),ye={page:0,hasMore:!0,lastSendTime:D(new Date,"yyyy-MM-dd HH:mm:ss")};async function we(){var e;try{if(!ye.hasMore)return;ye.page++;const a=await L({orgId:de.orgId,keyword:me.value,endTime:Te(),startTime:fe.value?fe.value+" 00:00:00":"",lastSendTime:ye.lastSendTime,memberIdSet:pe.value,page:ye.page,recordType:"ALL",receiver:de.currentSessionItem.receiver,userId:de.userInfo.id});Array.isArray(a)&&0!==a.length&&Array.isArray(a[0].recordList)||(ye.hasMore=!1);let l=a||[];Array.isArray(a)&&a.length>0&&(l=a[0].recordList.filter((e=>"WITHDRAWN"!==e.status))),ye.lastSendTime=null==(e=S(l))?void 0:e.sendTime,l.forEach((e=>{var a,l,t;let r="";if(e.content.chatMessageType===C.TEMPLATE)r=null==(t=null==(l=null==(a=e.content)?void 0:a.messageTemplate)?void 0:l.setting)?void 0:t.title;else r=I(e.content);e.__content=r})),ve.value=ye.page>1?ve.value.concat(l):l}catch(e){}}function be(){Object.assign(ye,{page:0,hasMore:!0,lastSendTime:Te()||D(new Date,"yyyy-MM-dd HH:mm:ss")}),we()}function _e(e){return!!ge.value&&e>Date.parse(`${ge.value} 23:59:59`)}function ke(e){return!!fe.value&&e<Date.parse(fe.value)}function Te(){return ge.value?ge.value+" 23:59:59":""}function je(e){switch(e){case"member":pe.value=[];break;case"start":fe.value=null;break;case"end":ge.value=null}}function Me(e){return i(v,null,[i("div",{style:"display: flex;align-items: center"},[i(y,{src:e.avatar,round:!0,size:"small"},null),i("span",{style:"margin-left: 10px"},[e.name])])])}return E(ce,(()=>{we()})),t([()=>pe.value,()=>fe.value,()=>ge.value],(()=>{z.visible&&be()}),{deep:!0}),t((()=>z.visible),(e=>{e?be():(me.value="",ge.value=null,fe.value=null,pe.value=[],ve.value=[])})),(a,l)=>(r(),o(n(h),{preset:"dialog",title:"","show-icon":!1,"auto-focus":!1,class:"iho-chat-dialog"},{header:s((()=>[e("div",R,[N,e("div",O,[i(n(y),{round:"",size:30,src:n(de).currentSessionItem.avatar},null,8,["src"]),e("span",null,u(n(de).currentSessionItem.name),1)])])])),default:s((()=>[e("div",W,[i(n(w),null,{default:s((()=>{var e;return[(r(),o(d((()=>[i(j,{component:M,size:18,color:"#6666"},null),pe.value.length>0?i(T,{closable:!0,bordered:!1,color:G,onClose:()=>je("member")},{default:()=>{var e,a;return[f("成员:")," ",pe.value.length>1?pe.value.length+((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.40"))||"人"):null==(a=de.currentGroupUser.find((e=>e.id===pe.value[0])))?void 0:a.name]}}):null,fe.value?i(T,{closable:!0,bordered:!1,color:G,onClose:()=>je("start")},{default:()=>[f("起始时间: "),fe.value]}):null,ge.value?i(T,{closable:!0,bordered:!1,color:G,onClose:()=>je("end")},{default:()=>[f("结束时间: "),ge.value]}):null])))),i(n(b),{placeholder:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.36"))||"搜索",value:me.value,"onUpdate:value":l[0]||(l[0]=e=>me.value=e),valueModifiers:{trim:!0},onInput:n(he)},null,8,["value","onInput"])]})),_:1}),e("div",J,[e("div",{class:"chat-record-box__content",ref_key:"recordRef",ref:ce},[ve.value.length>0?(r(!0),c(v,{key:0},m(ve.value,(a=>(r(),c("div",{class:"content-item",key:a.id},[i(n(y),{round:"",size:38,src:a.senderAvatar},null,8,["src"]),e("div",P,[e("div",$,[e("span",null,u(a.senderName),1),e("span",null,u(n(A)(a.sendTime).recordTime),1)]),e("div",q,[a.content.chatMessageType===n(C).IMAGE?(r(),c("img",{key:0,src:a.__content},null,8,F)):a.content.chatMessageType===n(C).EMOJI?(r(),c("img",{key:1,class:"emoji",src:n(U).findEmoji(a.__content)},null,8,K)):(r(),c("p",{key:2,innerHTML:a.__content},null,8,Q))])])])))),128)):(r(),c("div",V,"没有找到相关记录"))],512),e("div",X,[Y,e("div",Z,[ee,i(n(_),{value:pe.value,"onUpdate:value":l[1]||(l[1]=e=>pe.value=e),multiple:"","max-tag-count":1,"render-label":Me,options:n(de).currentGroupUser,"value-field":"id"},null,8,["value","options"])]),e("div",ae,[le,e("div",te,[i(n(k),{trigger:"click","show-arrow":!1},{trigger:s((()=>{var a;return[e("div",re,[oe,p(i(n(T),{bordered:!1,color:G,closable:"",onClose:l[2]||(l[2]=()=>je("start"))},{default:s((()=>[f(u(fe.value),1)])),_:1},512),[[g,fe.value]]),p(e("span",ne,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[g,!fe.value]])])]})),default:s((()=>[i(n(H),{"formatted-value":fe.value,"onUpdate:formatted-value":l[3]||(l[3]=e=>fe.value=e),type:"date",panel:"",clearable:"","is-date-disabled":_e},null,8,["formatted-value"])])),_:1}),i(n(k),{trigger:"click","show-arrow":!1},{trigger:s((()=>{var a;return[e("div",se,[ie,p(i(n(T),{bordered:!1,color:G,closable:"",onClose:l[4]||(l[4]=()=>je("end"))},{default:s((()=>[f(u(ge.value),1)])),_:1},512),[[g,ge.value]]),p(e("span",ue,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[g,!ge.value]])])]})),default:s((()=>[i(n(H),{"formatted-value":ge.value,"onUpdate:formatted-value":l[5]||(l[5]=e=>ge.value=e),type:"date",panel:"",clearable:"","is-date-disabled":ke},null,8,["formatted-value"])])),_:1})])])])])])])),_:1}))}});export{de as default};
1
+ import{createElementVNode as e,defineComponent as a,ref as l,watch as t,openBlock as n,createBlock as r,unref as s,withCtx as o,createVNode as i,toDisplayString as u,normalizeStyle as d,resolveDynamicComponent as c,createElementBlock as v,Fragment as m,renderList as p,withDirectives as f,createTextVNode as g,vShow as y}from"vue";import{NModal as h,NAvatar as w,NInputGroup as _,NInput as b,NSelect as T,NPopover as k,NTag as M,NIcon as j}from"naive-ui";import{SearchOutline as x}from"@vicons/ionicons5";import{useData as I}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as C}from"../constants/index.js";import{searchChatRecordApi as L}from"../api/index.js";import{transformMessage as A,formatTime as S}from"../utils/index.js";import{last as H}from"lodash-es";import"trtc-sdk-v5";import U from"../../../date-picker/index.js";import{useDebounceFn as B}from"@vueuse/core";import{format as D}from"date-fns";import"../../../../shared/utils/index.js";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{useScrollLoading as E}from"../../../../shared/hooks/useScrollLoading.js";import{emojis as z}from"../utils/emoji.js";var N,O;const G={class:"iho-chat-dialog__header"},R=e("span",{class:"left"},(null==(N=window.getLanguageByCode)?void 0:N.call(window,"10010.1.65"))||"聊天记录",-1),$={class:"center"},J={class:"chat-record-box"},W={class:"msg-box"},F={class:"name-and-time"},P={class:"content"},V=["src"],q={class:"file-type"},K={class:"text"},Q={class:"name"},X={class:"detail"},Y=["src"],Z=["innerHTML"],ee={key:1,class:"no-data"},ae={class:"chat-record-box__filter"},le=e("span",{class:"filter-title"},(null==(O=window.getLanguageByCode)?void 0:O.call(window,"10010.1.72"))||"添加筛选条件",-1),te={class:"filter-item"},ne=e("span",{class:"label"},"成员:",-1),re={class:"filter-item"},se=e("span",{class:"label"},"日期:",-1),oe={class:"time-target"},ie={class:"time-target__item"},ue=e("span",null,"开始:",-1),de={class:"tip"},ce={class:"time-target__item"},ve=e("span",null,"结束:",-1),me={class:"tip"};var pe=a({__name:"ChatRecord",props:{visible:{type:Boolean}},setup(a){const N=a,O={color:"#fff",textColor:"#666"},{state:pe,cssVars:fe}=I(),ge=l(),ye=l([]),he=l(),we=l([]),_e=l(),be=l(),Te=B(Ce,500),ke={page:0,hasMore:!0,lastSendTime:D(new Date,"yyyy-MM-dd HH:mm:ss")};function Me(e,a){try{const l=JSON.parse(e);return l?l[a]:""}catch(a){return e||""}}function je(e){const{size:a,sendTime:l,senderName:t}=e;return`${D(new Date(l),"yyyy/MM/dd HH:mm")} ${t}`}function xe(e){const a=e.lastIndexOf(".");if(console.log("dotIndex",a),-1!==a){return e.charAt(a+1).toUpperCase()}return"?"}async function Ie(){var e;try{if(!ke.hasMore)return;ke.page++;const a=await L({orgId:pe.orgId,keyword:he.value,endTime:Se(),startTime:_e.value?_e.value+" 00:00:00":"",lastSendTime:ke.lastSendTime,memberIdSet:we.value,page:ke.page,recordType:"ALL",receiver:pe.currentSessionItem.receiver,userId:pe.userInfo.id});Array.isArray(a)&&0!==a.length&&Array.isArray(a[0].recordList)||(ke.hasMore=!1);let l=a||[];Array.isArray(a)&&a.length>0&&(l=a[0].recordList.filter((e=>"WITHDRAWN"!==e.status))),ke.lastSendTime=null==(e=H(l))?void 0:e.sendTime,l.forEach((e=>{var a,l,t;let n="";if(e.content.chatMessageType===C.TEMPLATE)n=null==(t=null==(l=null==(a=e.content)?void 0:a.messageTemplate)?void 0:l.setting)?void 0:t.title;else n=A(e.content);e.__content=n})),ye.value=ke.page>1?ye.value.concat(l):l}catch(e){}}function Ce(){Object.assign(ke,{page:0,hasMore:!0,lastSendTime:Se()||D(new Date,"yyyy-MM-dd HH:mm:ss")}),Ie()}function Le(e){return!!be.value&&e>Date.parse(`${be.value} 23:59:59`)}function Ae(e){return!!_e.value&&e<Date.parse(_e.value)}function Se(){return be.value?be.value+" 23:59:59":""}function He(e){switch(e){case"member":we.value=[];break;case"start":_e.value=null;break;case"end":be.value=null}}function Ue(e){return i(m,null,[i("div",{style:"display: flex;align-items: center"},[i(w,{src:e.avatar,round:!0,size:"small"},null),i("span",{style:"margin-left: 10px"},[e.name])])])}return E(ge,(()=>{Ie()})),t([()=>we.value,()=>_e.value,()=>be.value],(()=>{N.visible&&Ce()}),{deep:!0}),t((()=>N.visible),(e=>{e?Ce():(he.value="",be.value=null,_e.value=null,we.value=[],ye.value=[])})),(a,l)=>(n(),r(s(h),{preset:"dialog",title:"","show-icon":!1,"auto-focus":!1,class:"iho-chat-dialog"},{header:o((()=>[e("div",G,[R,e("div",$,[i(s(w),{round:"",size:30,src:s(pe).currentSessionItem.avatar},null,8,["src"]),e("span",null,u(s(pe).currentSessionItem.name),1)])])])),default:o((()=>[e("div",{class:"iho-chat-dialog__content iho-chat-record-wrapper",style:d(s(fe))},[i(s(_),null,{default:o((()=>{var e;return[(n(),r(c((()=>[i(j,{component:x,size:18,color:"#6666"},null),we.value.length>0?i(M,{closable:!0,bordered:!1,color:O,onClose:()=>He("member")},{default:()=>{var e,a;return[g("成员:")," ",we.value.length>1?we.value.length+((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.40"))||"人"):null==(a=pe.currentGroupUser.find((e=>e.id===we.value[0])))?void 0:a.name]}}):null,_e.value?i(M,{closable:!0,bordered:!1,color:O,onClose:()=>He("start")},{default:()=>[g("起始时间: "),_e.value]}):null,be.value?i(M,{closable:!0,bordered:!1,color:O,onClose:()=>He("end")},{default:()=>[g("结束时间: "),be.value]}):null])))),i(s(b),{placeholder:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.36"))||"搜索",value:he.value,"onUpdate:value":l[0]||(l[0]=e=>he.value=e),valueModifiers:{trim:!0},onInput:s(Te)},null,8,["value","onInput"])]})),_:1}),e("div",J,[e("div",{class:"chat-record-box__content",ref_key:"recordRef",ref:ge},[ye.value.length>0?(n(!0),v(m,{key:0},p(ye.value,(a=>(n(),v("div",{class:"content-item",key:a.id},[i(s(w),{round:"",size:38,src:a.senderAvatar},null,8,["src"]),e("div",W,[e("div",F,[e("span",null,u(a.senderName),1),e("span",null,u(s(S)(a.sendTime).recordTime),1)]),e("div",P,[a.content.chatMessageType===s(C).IMAGE?(n(),v("img",{key:0,src:Me(a.__content,"fileUrl")},null,8,V)):a.content.chatMessageType===s(C).FILE?(n(),v(m,{key:1},[e("span",q,u(xe(a.__content)),1),e("div",K,[e("span",Q,u(Me(a.__content,"fileName")),1),e("span",X,u(je(a)),1)])],64)):a.content.chatMessageType===s(C).EMOJI?(n(),v("img",{key:2,class:"emoji",src:s(z).findEmoji(a.__content)},null,8,Y)):(n(),v("p",{key:3,innerHTML:a.__content},null,8,Z))])])])))),128)):(n(),v("div",ee,"没有找到相关记录"))],512),e("div",ae,[le,e("div",te,[ne,i(s(T),{value:we.value,"onUpdate:value":l[1]||(l[1]=e=>we.value=e),multiple:"","max-tag-count":1,"render-label":Ue,options:s(pe).currentGroupUser,"value-field":"id"},null,8,["value","options"])]),e("div",re,[se,e("div",oe,[i(s(k),{trigger:"click","show-arrow":!1},{trigger:o((()=>{var a;return[e("div",ie,[ue,f(i(s(M),{bordered:!1,color:O,closable:"",onClose:l[2]||(l[2]=()=>He("start"))},{default:o((()=>[g(u(_e.value),1)])),_:1},512),[[y,_e.value]]),f(e("span",de,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[y,!_e.value]])])]})),default:o((()=>[i(s(U),{"formatted-value":_e.value,"onUpdate:formatted-value":l[3]||(l[3]=e=>_e.value=e),type:"date",panel:"",clearable:"","is-date-disabled":Le},null,8,["formatted-value"])])),_:1}),i(s(k),{trigger:"click","show-arrow":!1},{trigger:o((()=>{var a;return[e("div",ce,[ve,f(i(s(M),{bordered:!1,color:O,closable:"",onClose:l[4]||(l[4]=()=>He("end"))},{default:o((()=>[g(u(be.value),1)])),_:1},512),[[y,be.value]]),f(e("span",me,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[y,!be.value]])])]})),default:o((()=>[i(s(U),{"formatted-value":be.value,"onUpdate:formatted-value":l[5]||(l[5]=e=>be.value=e),type:"date",panel:"",clearable:"","is-date-disabled":Ae},null,8,["formatted-value"])])),_:1})])])])])],4)])),_:1}))}});export{pe as default};
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as l,ref as o,computed as n,watch as t,nextTick as a,openBlock as u,createBlock as s,unref as i,normalizeStyle as r,withCtx as v,createVNode as c,createTextVNode as d,withModifiers as p,createElementBlock as f,Fragment as g,renderList as w,normalizeClass as m,createCommentVNode as y,withDirectives as h,vShow as k}from"vue";import{NPopover as C,NButton as L,NIcon as _,NInput as B,NTabs as j,NTabPane as M,NDivider as x}from"naive-ui";import{SearchOutline as I}from"@vicons/ionicons5";import{useData as U}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{openSessionApi as D}from"../api/index.js";import{isGroup as b}from"../utils/index.js";import{trim as R}from"lodash-es";import"trtc-sdk-v5";import{useSearchUserList as A}from"../hooks/useSearchUserList.js";import S from"../../../default-page/index.js";import z from"./userItemRender.js";var E,K;const G=e("div",{class:"title"},(null==(E=window.getLanguageByCode)?void 0:E.call(window,"10010.1.510"))||"联系人",-1),N=e("div",{class:"title"},(null==(K=window.getLanguageByCode)?void 0:K.call(window,"10010.1.575"))||"我的群组",-1),T={class:"user-list-wrapper"};var V=l({__name:"ChatSearch",setup(l){const E=o(),K=o(),V=o(!1),$=o(""),{cssVars:q,state:F,openSession:H}=U(),{userList:J,handleInput:O}=A({wrapperRef:E,keywordRef:$}),P=o("all"),Q=o(0),W=n((()=>($.value||"").replace(/^\s+|\s+$/g,"")?F.sessionList.filter((e=>b(e)&&(null==e?void 0:e.name.includes($.value)))):[])),X=n((()=>!J.value.length&&!!R($.value||""))),Y=n((()=>!J.value.length&&!W.value.length&&!!R($.value||""))),Z=n((()=>!W.value.length&&!!R($.value||""))),ee=n((()=>J.value.length>3?4:J.value.length)),le=n((()=>{switch(P.value){case"user":return J.value;case"group":return W.value;default:{const e=[],l=J.value.length,o=W.value.length;return l>0&&(l>3?e.push(...J.value.slice(0,3),{id:"user"}):e.push(...J.value)),o>0&&(o>3?e.push(...W.value.slice(0,3),{id:"group"}):e.push(...W.value)),e}}}));function oe(e){if(["ArrowUp","ArrowDown"].includes(e.key)){e.preventDefault();const l=i(Q);if("ArrowUp"===e.key){const e=l>0?l-1:le.value.length-1;Q.value=e}else if("ArrowDown"===e.key){const e=l<le.value.length-1?l+1:0;Q.value=e}}else if(["Enter"].includes(e.key)){e.preventDefault();const l=le.value.find(((e,l)=>Q.value===l)).id;["user","group"].includes(l)?P.value=l:async function(e){V.value=!1;const l=F.sessionList.find((l=>e&&[l.receiver,l.id].includes(e)));let o=l;if(!l){o=await D({chatType:"SINGLE",receiver:e,sender:F.userInfo.id})}H(o)}(l)}}function ne(){K.value.focus(),Q.value=0}function te(){V.value=!1}return t((()=>V.value),(async e=>{var l;e&&(await a(),null==(l=K.value)||l.focus())})),(l,o)=>(u(),s(i(C),{raw:"","content-class":"search-content",class:"search-wrapper",style:r(i(q)),show:V.value,"onUpdate:show":o[6]||(o[6]=e=>V.value=e),placement:"top",trigger:"click","display-directive":"show","show-arrow":!1,delay:0,overlap:""},{trigger:v((()=>[c(i(L),{color:"#ffffff4D",class:"search-trigger-btn"},{icon:v((()=>[c(i(_),{component:i(I),color:"#ffffff80"},null,8,["component"])])),default:v((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.80"))||"搜索联系人")]})),_:1})])),default:v((()=>[c(i(B),{ref_key:"inputRef",ref:K,size:"small",clearable:"",autofocus:"",value:$.value,"onUpdate:value":[o[0]||(o[0]=e=>$.value=e),i(O)],onKeydown:p(oe,["stop"])},{prefix:v((()=>[c(i(_),{color:"#ffffff80",component:i(I)},null,8,["component"])])),_:1},8,["value","onUpdate:value","onKeydown"]),c(i(j),{type:"line",animated:"",value:P.value,"onUpdate:value":[o[5]||(o[5]=e=>P.value=e),ne]},{default:v((()=>{var l,n,t;return[c(i(M),{name:"all",tab:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.571"))||"综合","display-directive":"show",style:{padding:"0 10px 10px"}},{default:v((()=>{var e;return[i(J).length>0?(u(),f(g,{key:0},[G,(u(!0),f(g,null,w(i(J),((e,l)=>(u(),f(g,{key:e.id},[l<3?(u(),s(i(z),{key:0,item:e,class:m({last:i(J).length<4?l===i(J).length-1:2===l,selected:Q.value===l}),onItemClick:te,onMouseover:p((()=>Q.value=l),["stop"])},null,8,["item","class","onMouseover"])):y("v-if",!0)],64)))),128)),i(J).length>3?(u(),f("div",{key:0,onClick:o[1]||(o[1]=()=>P.value="user"),class:m(["user-item",3===Q.value?"selected":""]),onMouseover:o[2]||(o[2]=p((()=>Q.value=3),["stop"]))},[c(i(L),{text:"",type:"primary"},{icon:v((()=>[c(i(_),{component:i(I),size:"16"},null,8,["component"])])),default:v((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.573"))||"查看更多联系人")]})),_:1})],34)):y("v-if",!0)],64)):y("v-if",!0),i(J).length&&i(W).length?(u(),s(i(x),{key:1})):y("v-if",!0),i(W).length>0?(u(),f(g,{key:2},[N,(u(!0),f(g,null,w(i(W),((e,l)=>(u(),f(g,{key:e.id},[l<3?(u(),s(i(z),{key:0,item:e,class:m({last:i(W).length<4?l===i(W).length-1:2===l,selected:Q.value===i(ee)+l}),onItemClick:te,onMouseover:p((()=>Q.value=i(ee)+l),["stop"])},null,8,["item","class","onMouseover"])):y("v-if",!0)],64)))),128)),i(W).length>3?(u(),f("div",{key:0,onClick:o[3]||(o[3]=()=>P.value="group"),class:m(["user-item",Q.value===i(ee)+3?"selected":""]),onMouseover:o[4]||(o[4]=p((()=>Q.value=i(ee)+3),["stop"]))},[c(i(L),{text:"",type:"primary"},{icon:v((()=>[c(i(_),{component:i(I),size:"16"},null,8,["component"])])),default:v((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.574"))||"查看更多群组")]})),_:1})],34)):y("v-if",!0)],64)):y("v-if",!0),h(c(i(S),{config:{title:" ",content:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[k,i(Y)]])]})),_:1}),c(i(M),{name:"user",tab:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.510"))||"联系人","display-directive":"show"},{default:v((()=>{var l;return[e("div",{class:"user-list-wrapper",ref_key:"listRef",ref:E},[(u(!0),f(g,null,w(i(J),((e,l)=>(u(),s(i(z),{key:e.id,item:e,onItemClick:te,class:m({selected:Q.value===l}),onMouseover:p((()=>Q.value=l),["stop"])},null,8,["item","class","onMouseover"])))),128)),h(c(i(S),{config:{title:" ",content:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[k,i(X)]])],512)]})),_:1}),c(i(M),{name:"group",tab:(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.572"))||"群组","display-directive":"show"},{default:v((()=>{var l;return[e("div",T,[(u(!0),f(g,null,w(i(W),((e,l)=>(u(),s(i(z),{key:e.id,item:e,onItemClick:te,class:m({selected:Q.value===l}),onMouseover:p((()=>Q.value=l),["stop"])},null,8,["item","class","onMouseover"])))),128)),h(c(i(S),{config:{title:" ",content:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[k,i(Z)]])])]})),_:1})]})),_:1},8,["value"])])),_:1},8,["style","show"]))}});export{V as default};
1
+ import{createElementVNode as e,defineComponent as l,ref as o,computed as t,watch as n,nextTick as a,openBlock as s,createBlock as u,unref as i,normalizeStyle as r,withCtx as v,createVNode as c,createTextVNode as d,withModifiers as p,createElementBlock as f,Fragment as g,renderList as m,normalizeClass as w,createCommentVNode as y,withDirectives as h,vShow as k}from"vue";import{NPopover as C,NButton as L,NIcon as _,NInput as j,NTabs as M,NTabPane as x,NDivider as B}from"naive-ui";import{SearchOutline as I}from"@vicons/ionicons5";import{useData as U}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{openSessionApi as D}from"../api/index.js";import{isGroup as b}from"../utils/index.js";import{trim as R}from"lodash-es";import"trtc-sdk-v5";import{useSearchUserList as A}from"../hooks/useSearchUserList.js";import S from"../../../default-page/index.js";import z from"./userItemRender.js";var E;const K=e("div",{class:"title"},"联系人(医护)",-1),G=e("div",{class:"title"},(null==(E=window.getLanguageByCode)?void 0:E.call(window,"10010.1.575"))||"我的群组",-1),N={class:"user-list-wrapper"};var T=l({__name:"ChatSearch",setup(l){const E=o(),T=o(),V=o(!1),$=o(""),{cssVars:q,state:F,openSession:H}=U(),{userList:J,handleInput:O}=A({wrapperRef:E,keywordRef:$}),P=o("all"),Q=o(0),W=t((()=>($.value||"").replace(/^\s+|\s+$/g,"")?F.sessionList.filter((e=>b(e)&&(null==e?void 0:e.name.includes($.value)))):[])),X=t((()=>!J.value.length&&!!R($.value||""))),Y=t((()=>!J.value.length&&!W.value.length&&!!R($.value||""))),Z=t((()=>!W.value.length&&!!R($.value||""))),ee=t((()=>J.value.length>3?4:J.value.length)),le=t((()=>{switch(P.value){case"user":return J.value;case"group":return W.value;default:{const e=[],l=J.value.length,o=W.value.length;return l>0&&(l>3?e.push(...J.value.slice(0,3),{id:"user"}):e.push(...J.value)),o>0&&(o>3?e.push(...W.value.slice(0,3),{id:"group"}):e.push(...W.value)),e}}}));function oe(e){if(["ArrowUp","ArrowDown"].includes(e.key)){e.preventDefault();const l=i(Q);if("ArrowUp"===e.key){const e=l>0?l-1:le.value.length-1;Q.value=e}else if("ArrowDown"===e.key){const e=l<le.value.length-1?l+1:0;Q.value=e}}else if(["Enter"].includes(e.key)){e.preventDefault();const l=le.value.find(((e,l)=>Q.value===l)).id;["user","group"].includes(l)?P.value=l:async function(e){V.value=!1;const l=F.sessionList.find((l=>e&&[l.receiver,l.id].includes(e)));let o=l;if(!l){o=await D({chatType:"SINGLE",receiver:e,sender:F.userInfo.id})}H(o)}(l)}}function te(){T.value.focus(),Q.value=0}function ne(){V.value=!1}return n((()=>V.value),(async e=>{var l;e&&(await a(),null==(l=T.value)||l.focus())})),(l,o)=>(s(),u(i(C),{raw:"","content-class":"search-content",class:"search-wrapper",style:r(i(q)),show:V.value,"onUpdate:show":o[6]||(o[6]=e=>V.value=e),placement:"top",trigger:"click","display-directive":"show","show-arrow":!1,delay:0,overlap:""},{trigger:v((()=>[c(i(L),{color:"#ffffff4D",class:"search-trigger-btn"},{icon:v((()=>[c(i(_),{component:i(I),color:"#ffffff80"},null,8,["component"])])),default:v((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.80"))||"搜索联系人")]})),_:1})])),default:v((()=>[c(i(j),{ref_key:"inputRef",ref:T,size:"small",clearable:"",autofocus:"",value:$.value,"onUpdate:value":[o[0]||(o[0]=e=>$.value=e),i(O)],onKeydown:p(oe,["stop"])},{prefix:v((()=>[c(i(_),{color:"#ffffff80",component:i(I)},null,8,["component"])])),_:1},8,["value","onUpdate:value","onKeydown"]),c(i(M),{type:"line",animated:"",value:P.value,"onUpdate:value":[o[5]||(o[5]=e=>P.value=e),te]},{default:v((()=>{var l,t;return[c(i(x),{name:"all",tab:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.571"))||"综合","display-directive":"show",style:{padding:"0 10px 10px"}},{default:v((()=>{var e;return[i(J).length>0?(s(),f(g,{key:0},[K,(s(!0),f(g,null,m(i(J),((e,l)=>(s(),f(g,{key:e.id},[l<3?(s(),u(i(z),{key:0,item:e,class:w({last:i(J).length<4?l===i(J).length-1:2===l,selected:Q.value===l}),onItemClick:ne,onMouseover:p((()=>Q.value=l),["stop"])},null,8,["item","class","onMouseover"])):y("v-if",!0)],64)))),128)),i(J).length>3?(s(),f("div",{key:0,onClick:o[1]||(o[1]=()=>P.value="user"),class:w(["user-item",3===Q.value?"selected":""]),onMouseover:o[2]||(o[2]=p((()=>Q.value=3),["stop"]))},[c(i(L),{text:"",type:"primary"},{icon:v((()=>[c(i(_),{component:i(I),size:"16"},null,8,["component"])])),default:v((()=>[d(" 查看更多联系人(医护) ")])),_:1})],34)):y("v-if",!0)],64)):y("v-if",!0),i(J).length&&i(W).length?(s(),u(i(B),{key:1})):y("v-if",!0),i(W).length>0?(s(),f(g,{key:2},[G,(s(!0),f(g,null,m(i(W),((e,l)=>(s(),f(g,{key:e.id},[l<3?(s(),u(i(z),{key:0,item:e,class:w({last:i(W).length<4?l===i(W).length-1:2===l,selected:Q.value===i(ee)+l}),onItemClick:ne,onMouseover:p((()=>Q.value=i(ee)+l),["stop"])},null,8,["item","class","onMouseover"])):y("v-if",!0)],64)))),128)),i(W).length>3?(s(),f("div",{key:0,onClick:o[3]||(o[3]=()=>P.value="group"),class:w(["user-item",Q.value===i(ee)+3?"selected":""]),onMouseover:o[4]||(o[4]=p((()=>Q.value=i(ee)+3),["stop"]))},[c(i(L),{text:"",type:"primary"},{icon:v((()=>[c(i(_),{component:i(I),size:"16"},null,8,["component"])])),default:v((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.574"))||"查看更多群组")]})),_:1})],34)):y("v-if",!0)],64)):y("v-if",!0),h(c(i(S),{config:{title:" ",content:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[k,i(Y)]])]})),_:1}),c(i(x),{name:"user",tab:"联系人(医护)","display-directive":"show"},{default:v((()=>{var l;return[e("div",{class:"user-list-wrapper",ref_key:"listRef",ref:E},[(s(!0),f(g,null,m(i(J),((e,l)=>(s(),u(i(z),{key:e.id,item:e,onItemClick:ne,class:w({selected:Q.value===l}),onMouseover:p((()=>Q.value=l),["stop"])},null,8,["item","class","onMouseover"])))),128)),h(c(i(S),{config:{title:" ",content:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[k,i(X)]])],512)]})),_:1}),c(i(x),{name:"group",tab:(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.572"))||"群组","display-directive":"show"},{default:v((()=>{var l;return[e("div",N,[(s(!0),f(g,null,m(i(W),((e,l)=>(s(),u(i(z),{key:e.id,item:e,onItemClick:ne,class:w({selected:Q.value===l}),onMouseover:p((()=>Q.value=l),["stop"])},null,8,["item","class","onMouseover"])))),128)),h(c(i(S),{config:{title:" ",content:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[k,i(Z)]])])]})),_:1})]})),_:1},8,["value"])])),_:1},8,["style","show"]))}});export{T as default};
@@ -1,4 +1,5 @@
1
1
  import { AnyObject } from '../../../../shared/types';
2
+ import { isDoctorRole, getRoleName } from '../utils';
2
3
  import { FileOptions } from '../types';
3
4
  declare const _default: import("vue").DefineComponent<{}, {
4
5
  attrs: {
@@ -171,18 +172,21 @@ declare const _default: import("vue").DefineComponent<{}, {
171
172
  name: any;
172
173
  avatar: any;
173
174
  chatType: any;
175
+ roleInfo: any;
174
176
  }[]>;
175
177
  friends: import("vue").ComputedRef<{
176
178
  id: any;
177
179
  name: any;
178
180
  avatar: any;
179
181
  chatType: any;
182
+ roleInfo: any;
180
183
  }[]>;
181
184
  groups: import("vue").ComputedRef<{
182
185
  id: any;
183
186
  name: any;
184
187
  avatar: any;
185
188
  chatType: any;
189
+ roleInfo: any;
186
190
  }[]>;
187
191
  checkedIds: import("vue").ComputedRef<any[]>;
188
192
  btnDisabled: import("vue").ComputedRef<boolean>;
@@ -220,6 +224,8 @@ declare const _default: import("vue").DefineComponent<{}, {
220
224
  ChevronBackOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
221
225
  ChevronForwardOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
222
226
  last: <T>(array: import("lodash").List<T> | null | undefined) => T | undefined;
227
+ isDoctorRole: typeof isDoctorRole;
228
+ getRoleName: typeof getRoleName;
223
229
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "comfirm"[], "comfirm", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
224
230
  title: {
225
231
  type: StringConstructor;
@@ -253,5 +259,7 @@ declare const _default: import("vue").DefineComponent<{}, {
253
259
  mode: string;
254
260
  disabledIds: string[];
255
261
  }>;
262
+ isDoctorRole: typeof isDoctorRole;
263
+ getRoleName: typeof getRoleName;
256
264
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
257
265
  export default _default;
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as n,useAttrs as o,ref as a,computed as t,watch as i,openBlock as l,createBlock as s,unref as r,withCtx as c,createVNode as u,createTextVNode as d,createElementBlock as m,Fragment as p,renderList as v,toDisplayString as w,createCommentVNode as g,withKeys as f,nextTick as y}from"vue";import{NDrawer as _,NDrawerContent as k,NButton as C,NIcon as h,NAvatar as I,NUpload as L,NUploadTrigger as b,NInput as B,NSpace as x,NSwitch as S,NPopconfirm as U}from"naive-ui";import{ChevronBackOutline as z,ChevronForwardOutline as j,AddOutline as G,RemoveOutline as D,Pencil as A}from"@vicons/ionicons5";import{useData as R}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{toppingSessionApi as F,groupLeaveApi as P,groupUpdateApi as K}from"../api/index.js";import"../utils/index.js";import{trim as N,isFunction as O}from"lodash-es";import"trtc-sdk-v5";import q from"./ChatAdd.vue.js";var E,H,J,M,Q,T,V,W,X,Y;const Z={key:0,class:"chat-set-wrapper"},$=["onClick"],ee={class:"name"},ne={key:0,class:"item__right",style:{color:"var(--c-primary-color)"}},oe={class:"name"},ae={class:"item item-column"},te=e("span",{class:"label"},(null==(E=window.getLanguageByCode)?void 0:E.call(window,"10010.1.85"))||"群成员",-1),ie={class:"group-box"},le=["onClick"],se={class:"name"},re={class:"group-box__item"},ce=e("span",{class:"name"},(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.86"))||"添加",-1),ue={class:"group-box__item"},de=e("span",{class:"name"},(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.88"))||"移除",-1),me=["onClick"],pe=e("span",{class:"label"},(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.90"))||"群头像",-1),ve={class:"item"},we=e("span",{class:"label"},(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.91"))||"群名称",-1),ge={class:"item__right"},fe={class:"txt"},ye={class:"item"},_e=e("span",{class:"label"},(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.92"))||"置顶聊天",-1),ke={class:"item item--red"},Ce=e("span",{class:"label"},(null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.93"))||"退出群聊",-1),he=e("p",{style:{width:"230px"}},(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.94"))||"是否确认退出群聊?",-1),Ie={class:"item item--red"},Le=e("span",{class:"label"},(null==(X=window.getLanguageByCode)?void 0:X.call(window,"10010.1.95"))||"解散该群",-1),be=e("p",{style:{width:"230px"}},(null==(Y=window.getLanguageByCode)?void 0:Y.call(window,"10010.1.96"))||"是否确认解散群聊?",-1);var Be=n({__name:"ChatSet",setup(n){const E=o(),{state:H,setCurrentSessionItem:J,setUserDetail:M,isGroupChat:Q,isGroupLeader:T}=R(),V=a(),W=a(!1),X=a(""),Y=a(!1),Be=t((()=>H.currentGroupUser.map((e=>e.id)))),xe=t((()=>H.currentGroupUser?T.value?H.currentGroupUser.slice(0,6):H.currentGroupUser.slice(0,7):[]));async function Se(e){try{await F({id:H.currentSessionItem.id,topping:e}),J({topping:e})}catch(e){}}async function Ue(e){await P({dissolution:!!e,groupId:H.currentSessionItem.receiver,operator:H.userInfo.id,memberIdSet:e?Be.value:[H.userInfo.id]})}async function ze(){var e;X.value=H.currentSessionItem.name,W.value=!0,await y(),null==(e=V.value)||e.select()}async function je(e){const n=new FormData,o=Object.assign({id:H.currentSessionItem.receiver},e);for(const e in o)n.append(e,o[e]);await K(n)}async function Ge(){W.value=!1;const e=N(X.value);e&&e!==H.currentSessionItem.name&&(await je({name:e}),J({name:e,defaultName:e}))}async function De(e){const{file:n}=e.file,o=new FileReader;o.onload=function(e){var n;(null==(n=e.target)?void 0:n.result)&&J({avatar:e.target.result})},o.readAsDataURL(e.file.file),await je({file:n})}return i((()=>H.id),(e=>{O(E["onUpdate:show"])&&E["onUpdate:show"](!1)})),(n,o)=>(l(),s(r(_),{width:320,"trap-focus":!1,"block-scroll":!1,to:".iho-chat",onAfterLeave:o[8]||(o[8]=e=>Y.value=!1)},{default:c((()=>[u(r(k),null,{header:c((()=>{var e,n;return[r(Q)&&Y.value?(l(),s(r(C),{key:0,text:"",color:"#666",onClick:o[0]||(o[0]=e=>Y.value=!1),style:{"font-size":"var(--n-title-font-size)"}},{icon:c((()=>[u(r(h),{size:20,component:r(z)},null,8,["component"])])),default:c((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.82"))||"返回")]})),_:1})):r(Q)?(l(),m(p,{key:1},[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.83"))||"群设置")],64)):(l(),m(p,{key:2},[d((null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.66"))||"聊天设置")],64))]})),default:c((()=>{var n;return[r(H).id?(l(),m("div",Z,[r(Q)&&Y.value?(l(!0),m(p,{key:0},v(r(H).currentGroupUser,((n,o)=>{var a;return l(),m("div",{key:n.id,class:"item",onClick:e=>r(M)(e,{show:!0,userId:n.id})},[u(r(I),{round:"",size:40,src:n.avatar},null,8,["src"]),e("span",ee,w(n.name),1),0===o?(l(),m("span",ne,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.84"))||"群主")):g("v-if",!0)],8,$)})),128)):(l(),m(p,{key:1},[e("div",{class:"item user-info",onClick:o[1]||(o[1]=e=>!r(Q)&&r(M)(e,{show:!0,userId:r(H).currentSessionItem.receiver}))},[u(r(I),{round:"",size:40,src:r(H).currentSessionItem.avatar},null,8,["src"]),e("span",oe,w(r(H).currentSessionItem.name),1),r(Q)?g("v-if",!0):(l(),s(r(h),{key:0,size:24,component:r(j),class:"item__right"},null,8,["component"]))]),r(Q)?(l(),m(p,{key:0},[e("div",ae,[te,e("div",ie,[(l(!0),m(p,null,v(r(xe),(n=>(l(),m("div",{key:n.id,class:"group-box__item",onClick:e=>r(M)(e,{show:!0,userId:n.id})},[u(r(I),{round:"",size:40,src:n.avatar},null,8,["src"]),e("span",se,w(n.name),1)],8,le)))),128)),u(q,{mode:"join",disabledIds:r(Be)},{trigger:c((()=>[e("div",re,[u(r(C),{strong:"",secondary:"",circle:""},{icon:c((()=>[u(r(h),{component:r(G)},null,8,["component"])])),_:1}),ce])])),_:1},8,["disabledIds"]),r(T)?(l(),s(q,{key:0,title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.87"))||"移除成员",mode:"remove",options:r(H).currentGroupUser},{trigger:c((()=>[e("div",ue,[u(r(C),{strong:"",secondary:"",circle:""},{icon:c((()=>[u(r(h),{component:r(D)},null,8,["component"])])),_:1}),de])])),_:1},8,["options"])):g("v-if",!0)]),u(r(C),{text:"","icon-placement":"right",color:"#999",onClick:o[2]||(o[2]=e=>Y.value=!0)},{icon:c((()=>[u(r(h),{component:r(j)},null,8,["component"])])),default:c((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.89"))||"查看全部群成员")]})),_:1})]),u(r(L),{abstract:"",multiple:"",accept:"image/*",onChange:De},{default:c((()=>[u(r(b),{abstract:""},{default:c((({handleClick:n})=>[e("div",{class:"item",onClick:n},[pe,u(r(h),{size:20,component:r(j),class:"item__right"},null,8,["component"])],8,me)])),_:1})])),_:1}),e("div",ve,[we,e("div",ge,[W.value?(l(),s(r(B),{key:0,ref_key:"inputRef",ref:V,value:X.value,"onUpdate:value":o[3]||(o[3]=e=>X.value=e),onBlur:Ge,onKeydown:o[4]||(o[4]=f((e=>e.target.blur()),["enter"]))},null,8,["value"])):(l(),s(r(x),{key:1,"wrap-item":!1,onClick:ze,align:"center"},{default:c((()=>[e("span",fe,w(r(H).currentSessionItem.name),1),u(r(C),{text:"",style:{"font-size":"14px","--n-text-color":"#999"}},{default:c((()=>[u(r(h),{component:r(A)},null,8,["component"])])),_:1})])),_:1}))])])],64)):g("v-if",!0),e("div",ye,[_e,u(r(S),{value:r(H).currentSessionItem.topping,"onUpdate:value":[o[5]||(o[5]=e=>r(H).currentSessionItem.topping=e),Se],class:"item__right"},null,8,["value"])]),r(Q)?(l(),m(p,{key:1},[u(r(U),{onPositiveClick:o[6]||(o[6]=()=>Ue(!1))},{trigger:c((()=>[e("div",ke,[Ce,u(r(h),{size:20,component:r(j),class:"item__right"},null,8,["component"])])])),default:c((()=>[he])),_:1}),r(T)?(l(),s(r(U),{key:0,onPositiveClick:o[7]||(o[7]=()=>Ue(!0))},{trigger:c((()=>[e("div",Ie,[Le,u(r(h),{size:20,component:r(j),class:"item__right"},null,8,["component"])])])),default:c((()=>[be])),_:1})):g("v-if",!0)],64)):g("v-if",!0)],64))])):g("v-if",!0)]})),_:1})])),_:1}))}});export{Be as default};
1
+ import{createElementVNode as e,defineComponent as n,useAttrs as o,ref as t,computed as a,watch as i,openBlock as l,createBlock as s,unref as r,withCtx as c,createVNode as u,createTextVNode as d,createElementBlock as m,Fragment as p,renderList as v,toDisplayString as w,createCommentVNode as g,withDirectives as f,normalizeClass as y,vShow as _,withKeys as k,nextTick as C}from"vue";import{NDrawer as h,NDrawerContent as I,NButton as b,NIcon as L,NAvatar as B,NUpload as S,NUploadTrigger as x,NInput as U,NSpace as z,NSwitch as j,NPopconfirm as G}from"naive-ui";import{ChevronBackOutline as D,ChevronForwardOutline as R,AddOutline as A,RemoveOutline as F,Pencil as P}from"@vicons/ionicons5";import{useData as K}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{toppingSessionApi as N,groupLeaveApi as O,groupUpdateApi as q}from"../api/index.js";import{isDoctorRole as E,getRoleName as H}from"../utils/index.js";import{trim as J,isFunction as M}from"lodash-es";import"trtc-sdk-v5";import Q from"./ChatAdd.vue.js";var T,V,W,X,Y,Z,$,ee,ne,oe;const te={key:0,class:"chat-set-wrapper"},ae=["onClick"],ie={class:"name"},le={key:0,class:"item__right",style:{color:"var(--c-primary-color)"}},se={class:"name"},re={class:"item item-column"},ce=e("span",{class:"label"},(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.85"))||"群成员",-1),ue={class:"group-box"},de=["onClick"],me={class:"name"},pe={class:"group-box__item"},ve=e("span",{class:"name"},(null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.86"))||"添加",-1),we={class:"group-box__item"},ge=e("span",{class:"name"},(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.88"))||"移除",-1),fe=["onClick"],ye=e("span",{class:"label"},(null==(X=window.getLanguageByCode)?void 0:X.call(window,"10010.1.90"))||"群头像",-1),_e={class:"item"},ke=e("span",{class:"label"},(null==(Y=window.getLanguageByCode)?void 0:Y.call(window,"10010.1.91"))||"群名称",-1),Ce={class:"item__right"},he={class:"txt"},Ie={class:"item"},be=e("span",{class:"label"},(null==(Z=window.getLanguageByCode)?void 0:Z.call(window,"10010.1.92"))||"置顶聊天",-1),Le={class:"item item--red"},Be=e("span",{class:"label"},(null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.93"))||"退出群聊",-1),Se=e("p",{style:{width:"230px"}},(null==(ee=window.getLanguageByCode)?void 0:ee.call(window,"10010.1.94"))||"是否确认退出群聊?",-1),xe={class:"item item--red"},Ue=e("span",{class:"label"},(null==(ne=window.getLanguageByCode)?void 0:ne.call(window,"10010.1.95"))||"解散该群",-1),ze=e("p",{style:{width:"230px"}},(null==(oe=window.getLanguageByCode)?void 0:oe.call(window,"10010.1.96"))||"是否确认解散群聊?",-1);var je=n({__name:"ChatSet",setup(n){const T=o(),{state:V,setCurrentSessionItem:W,setUserDetail:X,isGroupChat:Y,isGroupLeader:Z}=K(),$=t(),ee=t(!1),ne=t(""),oe=t(!1),je=a((()=>V.currentGroupUser.map((e=>e.id)))),Ge=a((()=>V.currentGroupUser?Z.value?V.currentGroupUser.slice(0,6):V.currentGroupUser.slice(0,7):[]));async function De(e){try{await N({id:V.currentSessionItem.id,topping:e}),W({topping:e})}catch(e){}}async function Re(e){await O({dissolution:!!e,groupId:V.currentSessionItem.receiver,operator:V.userInfo.id,memberIdSet:e?je.value:[V.userInfo.id]})}async function Ae(){var e;ne.value=V.currentSessionItem.name,ee.value=!0,await C(),null==(e=$.value)||e.select()}async function Fe(e){const n=new FormData,o=Object.assign({id:V.currentSessionItem.receiver},e);for(const e in o)n.append(e,o[e]);await q(n)}async function Pe(){ee.value=!1;const e=J(ne.value);e&&e!==V.currentSessionItem.name&&(await Fe({name:e}),W({name:e,defaultName:e}))}async function Ke(e){const{file:n}=e.file,o=new FileReader;o.onload=function(e){var n;(null==(n=e.target)?void 0:n.result)&&W({avatar:e.target.result})},o.readAsDataURL(e.file.file),await Fe({file:n})}return i((()=>V.id),(e=>{M(T["onUpdate:show"])&&T["onUpdate:show"](!1)})),(n,o)=>(l(),s(r(h),{width:320,"trap-focus":!1,"block-scroll":!1,to:".iho-chat",onAfterLeave:o[8]||(o[8]=e=>oe.value=!1)},{default:c((()=>[u(r(I),null,{header:c((()=>{var e,n;return[r(Y)&&oe.value?(l(),s(r(b),{key:0,text:"",color:"#666",onClick:o[0]||(o[0]=e=>oe.value=!1),style:{"font-size":"var(--n-title-font-size)"}},{icon:c((()=>[u(r(L),{size:20,component:r(D)},null,8,["component"])])),default:c((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.82"))||"返回")]})),_:1})):r(Y)?(l(),m(p,{key:1},[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.83"))||"群设置")],64)):(l(),m(p,{key:2},[d((null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.66"))||"聊天设置")],64))]})),default:c((()=>{var n;return[r(V).id?(l(),m("div",te,[r(Y)&&oe.value?(l(!0),m(p,{key:0},v(r(V).currentGroupUser,((n,o)=>{var t;return l(),m("div",{key:n.id,class:"item",onClick:e=>r(X)(e,{show:!0,userId:n.id})},[u(r(B),{round:"",size:40,src:n.avatar},null,8,["src"]),e("span",ie,w(n.name),1),0===o?(l(),m("span",le,(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.84"))||"群主")):g("v-if",!0)],8,ae)})),128)):(l(),m(p,{key:1},[e("div",{class:"item user-info",onClick:o[1]||(o[1]=e=>!r(Y)&&r(X)(e,{show:!0,userId:r(V).currentSessionItem.receiver}))},[u(r(B),{round:"",size:40,src:r(V).currentSessionItem.avatar},null,8,["src"]),e("span",se,w(r(V).currentSessionItem.name),1),f(e("label",{class:y(["iho-chatRole",r(E)(r(V).currentSessionItem.roleInfo)?"isDoctor":""])},w(r(H)(r(V).currentSessionItem.roleInfo)),3),[[_,r(H)(r(V).currentSessionItem.roleInfo)]]),r(Y)?g("v-if",!0):(l(),s(r(L),{key:0,size:24,component:r(R),class:"item__right"},null,8,["component"]))]),r(Y)?(l(),m(p,{key:0},[e("div",re,[ce,e("div",ue,[(l(!0),m(p,null,v(r(Ge),(n=>(l(),m("div",{key:n.id,class:"group-box__item",onClick:e=>r(X)(e,{show:!0,userId:n.id})},[u(r(B),{round:"",size:40,src:n.avatar},null,8,["src"]),e("span",me,w(n.name),1)],8,de)))),128)),u(Q,{mode:"join",disabledIds:r(je)},{trigger:c((()=>[e("div",pe,[u(r(b),{strong:"",secondary:"",circle:""},{icon:c((()=>[u(r(L),{component:r(A)},null,8,["component"])])),_:1}),ve])])),_:1},8,["disabledIds"]),r(Z)?(l(),s(Q,{key:0,title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.87"))||"移除成员",mode:"remove",options:r(V).currentGroupUser},{trigger:c((()=>[e("div",we,[u(r(b),{strong:"",secondary:"",circle:""},{icon:c((()=>[u(r(L),{component:r(F)},null,8,["component"])])),_:1}),ge])])),_:1},8,["options"])):g("v-if",!0)]),u(r(b),{text:"","icon-placement":"right",color:"#999",onClick:o[2]||(o[2]=e=>oe.value=!0)},{icon:c((()=>[u(r(L),{component:r(R)},null,8,["component"])])),default:c((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.89"))||"查看全部群成员")]})),_:1})]),u(r(S),{abstract:"",multiple:"",accept:"image/*",onChange:Ke},{default:c((()=>[u(r(x),{abstract:""},{default:c((({handleClick:n})=>[e("div",{class:"item",onClick:n},[ye,u(r(L),{size:20,component:r(R),class:"item__right"},null,8,["component"])],8,fe)])),_:1})])),_:1}),e("div",_e,[ke,e("div",Ce,[ee.value?(l(),s(r(U),{key:0,ref_key:"inputRef",ref:$,value:ne.value,"onUpdate:value":o[3]||(o[3]=e=>ne.value=e),onBlur:Pe,onKeydown:o[4]||(o[4]=k((e=>e.target.blur()),["enter"]))},null,8,["value"])):(l(),s(r(z),{key:1,"wrap-item":!1,onClick:Ae,align:"center"},{default:c((()=>[e("span",he,w(r(V).currentSessionItem.name),1),u(r(b),{text:"",style:{"font-size":"14px","--n-text-color":"#999"}},{default:c((()=>[u(r(L),{component:r(P)},null,8,["component"])])),_:1})])),_:1}))])])],64)):g("v-if",!0),e("div",Ie,[be,u(r(j),{value:r(V).currentSessionItem.topping,"onUpdate:value":[o[5]||(o[5]=e=>r(V).currentSessionItem.topping=e),De],class:"item__right"},null,8,["value"])]),r(Y)?(l(),m(p,{key:1},[u(r(G),{onPositiveClick:o[6]||(o[6]=()=>Re(!1))},{trigger:c((()=>[e("div",Le,[Be,u(r(L),{size:20,component:r(R),class:"item__right"},null,8,["component"])])])),default:c((()=>[Se])),_:1}),r(Z)?(l(),s(r(G),{key:0,onPositiveClick:o[7]||(o[7]=()=>Re(!0))},{trigger:c((()=>[e("div",xe,[Ue,u(r(L),{size:20,component:r(R),class:"item__right"},null,8,["component"])])])),default:c((()=>[ze])),_:1})):g("v-if",!0)],64)):g("v-if",!0)],64))])):g("v-if",!0)]})),_:1})])),_:1}))}});export{je as default};
@@ -189,18 +189,21 @@ declare const _default: import("vue").DefineComponent<{}, {
189
189
  name: any;
190
190
  avatar: any;
191
191
  chatType: any;
192
+ roleInfo: any;
192
193
  }[]>;
193
194
  friends: import("vue").ComputedRef<{
194
195
  id: any;
195
196
  name: any;
196
197
  avatar: any;
197
198
  chatType: any;
199
+ roleInfo: any;
198
200
  }[]>;
199
201
  groups: import("vue").ComputedRef<{
200
202
  id: any;
201
203
  name: any;
202
204
  avatar: any;
203
205
  chatType: any;
206
+ roleInfo: any;
204
207
  }[]>;
205
208
  checkedIds: import("vue").ComputedRef<any[]>;
206
209
  btnDisabled: import("vue").ComputedRef<boolean>;
@@ -238,6 +241,8 @@ declare const _default: import("vue").DefineComponent<{}, {
238
241
  ChevronBackOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
239
242
  ChevronForwardOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
240
243
  last: <T>(array: import("lodash").List<T> | null | undefined) => T | undefined;
244
+ isDoctorRole: typeof import("../utils").isDoctorRole;
245
+ getRoleName: typeof import("../utils").getRoleName;
241
246
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "comfirm"[], "comfirm", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
242
247
  title: {
243
248
  type: StringConstructor;
@@ -1,5 +1,6 @@
1
1
  import { UploadFileInfo } from 'naive-ui';
2
2
  import { AnyObject } from '../../../../shared/types';
3
+ import { isDoctorRole, getRoleName } from '../utils';
3
4
  declare const _default: import("vue").DefineComponent<{}, {
4
5
  state: {
5
6
  orgId: string | number;
@@ -58,5 +59,7 @@ declare const _default: import("vue").DefineComponent<{}, {
58
59
  Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
59
60
  EyeOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
60
61
  EyeOffOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
62
+ isDoctorRole: typeof isDoctorRole;
63
+ getRoleName: typeof getRoleName;
61
64
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
62
65
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as t,ref as e,reactive as l,computed as o,watch as n,openBlock as a,createBlock as i,unref as s,withCtx as r,createElementBlock as u,Fragment as d,withDirectives as c,createElementVNode as p,createVNode as v,createCommentVNode as w,toDisplayString as g,createTextVNode as m,renderList as f,vShow as y}from"vue";import{NPopover as h,NAvatar as k,NButton as b,NIcon as C}from"naive-ui";import{ChatbubbleEllipses as D,EyeOffOutline as j,EyeOutline as x,Close as L}from"@vicons/ionicons5";import{useData as _}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as B}from"../constants/index.js";import{openSessionApi as I,getUserDetailApi as z}from"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const N={class:"person-profile-main"},E={class:"left"},P={class:"profile"},S={class:"profile__text"},$={class:"right"},G={class:"right__content"},O={class:"label"},T={class:"content"};var q=t({__name:"PersonProfile",setup(t){var q,A,F,H,J,K,M,Q;const{state:R,openSession:U}=_(),V=e(!1),W=e(!1),X=l({}),Y=[{label:(null==(q=window.getLanguageByCode)?void 0:q.call(window,"10010.1.115"))||"机构",value:"",key:"orgName"},{label:(null==(A=window.getLanguageByCode)?void 0:A.call(window,"10010.1.116"))||"姓名",value:"",key:"name"},{label:(null==(F=window.getLanguageByCode)?void 0:F.call(window,"10010.1.117"))||"归属科室",value:"",key:"deptName"},{label:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.118"))||"业务科室",value:"",key:"businessDeptNames"},{label:(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.119"))||"手机号",value:"",key:"phone"},{label:(null==(K=window.getLanguageByCode)?void 0:K.call(window,"10010.1.120"))||"岗位",value:"",key:"post"},{label:(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.121"))||"工号",value:"",key:"jobId"},{label:(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.122"))||"性别",value:"",key:"orgName"}],Z=o((()=>(X.id&&Y.forEach((t=>{const{key:e}=t;t.value=X[e]})),Y)));async function tt(){var t;R.userDetail.show=!1;const e=R.userDetail.userId||(null==(t=R.userDetail.info)?void 0:t.id);let l=R.sessionList.find((t=>t.receiver===e));if(!l)try{l=await I({chatType:B.SINGLE,receiver:e,sender:R.userInfo.id})}catch(t){console.log("error :>> ",t)}l&&U(l)}function et(t){const{key:e,value:l}=t;return"phone"!==e||W.value?l:(l||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}return n((()=>R.userDetail.show),(t=>{if(!t)return R.userDetail.userId="",void(R.userDetail.info=null);!async function(){const{userId:t,info:e}=R.userDetail;if(!t&&!e)return;let l={};t?l=await z({userId:t}):e&&(l=e),(null==l?void 0:l.id)?Object.assign(X,l):X.id=""}()})),(t,e)=>(a(),i(s(h),{raw:"",class:"person-profile-wrapper",show:s(R).userDetail.show,x:s(R).userDetail.position.x,y:s(R).userDetail.position.y,trigger:"manual","show-arrow":!1,"display-directive":"show",to:"body",shift:"",onClickoutside:e[3]||(e[3]=()=>s(R).userDetail.show=!1)},{default:r((()=>[X.id?(a(),u(d,{key:0},[c(p("div",N,[p("div",E,[p("div",P,[v(s(k),{src:X.avatar,bordered:"",round:"",size:100,onClickCapture:e[0]||(e[0]=t=>V.value=!0)},null,8,["src"]),w(' <n-upload abstract accept="image/*" @change="onChange">\n\t\t\t\t\t\t\t<n-upload-trigger #="{ handleClick }" abstract>\n\t\t\t\t\t\t\t\t<n-button\n\t\t\t\t\t\t\t\t\tcircle\n\t\t\t\t\t\t\t\t\tsecondary\n\t\t\t\t\t\t\t\t\tclass="edit-avatar"\n\t\t\t\t\t\t\t\t\tv-show="userDetail.id === state.userInfo.id"\n\t\t\t\t\t\t\t\t\t@click="handleClick"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t<n-icon size="16" color="#666666" :component="Camera" />\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t\t</n-upload-trigger>\n\t\t\t\t\t\t</n-upload> '),p("div",S,[p("h4",null,g(X.name),1),p("p",null,g(X.orgName),1)]),v(s(b),{strong:"",secondary:"",onClick:tt},{default:r((()=>[v(s(C),{size:"13",color:"#666666",component:s(D),style:{"margin-right":"6px"}},null,8,["component"]),m(" 发消息 ")])),_:1})])]),p("div",$,[p("div",G,[(a(!0),u(d,null,f(s(Z),((t,l)=>(a(),u("div",{class:"info-item",key:l},[p("span",O,g(t.label),1),p("div",T,[p("span",null,g(et(t)),1),"phone"===t.key&&et(t)?(a(),i(s(C),{key:0,size:"16",color:"#666666",component:W.value?s(j):s(x),style:{"margin-left":"10px"},onClick:e[1]||(e[1]=t=>W.value=!W.value)},null,8,["component"])):w("v-if",!0)])])))),128))])])],512),[[y,!V.value]]),c(p("div",{class:"large-avatar",onClick:e[2]||(e[2]=t=>V.value=!1)},[v(s(b),{circle:"",size:"small",secondary:""},{icon:r((()=>[v(s(C),{size:24,component:s(L),color:"#fff"},null,8,["component"])])),_:1}),v(s(k),{size:310,round:"",src:X.avatar},null,8,["src"])],512),[[y,V.value]])],64)):w("v-if",!0)])),_:1},8,["show","x","y"]))}});export{q as default};
1
+ import{defineComponent as t,ref as e,reactive as o,computed as l,watch as n,openBlock as a,createBlock as i,unref as s,withCtx as r,createElementBlock as c,Fragment as u,withDirectives as d,createElementVNode as p,createVNode as v,createCommentVNode as m,toDisplayString as w,normalizeClass as g,vShow as f,createTextVNode as y,renderList as h}from"vue";import{NPopover as k,NAvatar as b,NButton as C,NIcon as D}from"naive-ui";import{ChatbubbleEllipses as I,EyeOffOutline as _,EyeOutline as j,Close as x}from"@vicons/ionicons5";import{useData as L}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as B}from"../constants/index.js";import{openSessionApi as z,getUserDetailApi as N}from"../api/index.js";import{isDoctorRole as E,getRoleName as P}from"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const S={class:"person-profile-main"},$={class:"left"},G={class:"profile"},O={class:"profile__text"},R={class:"user__name"},T={class:"right"},q={class:"right__content"},A={class:"label"},F={class:"content"};var H=t({__name:"PersonProfile",setup(t){var H,J,K,M,Q,U,V,W;const{state:X,openSession:Y}=L(),Z=e(!1),tt=e(!1),et=o({}),ot=[{label:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.115"))||"机构",value:"",key:"orgName"},{label:(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.116"))||"姓名",value:"",key:"name"},{label:(null==(K=window.getLanguageByCode)?void 0:K.call(window,"10010.1.117"))||"归属科室",value:"",key:"deptName"},{label:(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.118"))||"业务科室",value:"",key:"businessDeptNames"},{label:(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.119"))||"手机号",value:"",key:"phone"},{label:(null==(U=window.getLanguageByCode)?void 0:U.call(window,"10010.1.120"))||"岗位",value:"",key:"post"},{label:(null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.121"))||"工号",value:"",key:"jobId"},{label:(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.122"))||"性别",value:"",key:"orgName"}],lt=l((()=>(et.id&&ot.forEach((t=>{const{key:e}=t;t.value=et[e]})),ot)));async function nt(){var t;X.userDetail.show=!1;const e=X.userDetail.userId||(null==(t=X.userDetail.info)?void 0:t.id);let o=X.sessionList.find((t=>t.receiver===e));if(!o)try{o=await z({chatType:B.SINGLE,receiver:e,sender:X.userInfo.id})}catch(t){console.log("error :>> ",t)}o&&Y(o)}function at(t){const{key:e,value:o}=t;return"phone"!==e||tt.value?o:(o||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}return n((()=>X.userDetail.show),(t=>{if(!t)return X.userDetail.userId="",void(X.userDetail.info=null);!async function(){const{userId:t,info:e}=X.userDetail;if(!t&&!e)return;let o={};t?o=await N({userId:t}):e&&(o=e),(null==o?void 0:o.id)?Object.assign(et,o):et.id=""}()})),(t,e)=>(a(),i(s(k),{raw:"",class:"person-profile-wrapper",show:s(X).userDetail.show,x:s(X).userDetail.position.x,y:s(X).userDetail.position.y,trigger:"manual","show-arrow":!1,"display-directive":"show",to:"body",shift:"",onClickoutside:e[3]||(e[3]=()=>s(X).userDetail.show=!1)},{default:r((()=>[et.id?(a(),c(u,{key:0},[d(p("div",S,[p("div",$,[p("div",G,[v(s(b),{src:et.avatar,bordered:"",round:"",size:100,onClickCapture:e[0]||(e[0]=t=>Z.value=!0)},null,8,["src"]),m(' <n-upload abstract accept="image/*" @change="onChange">\r\n\t\t\t\t\t\t\t<n-upload-trigger #="{ handleClick }" abstract>\r\n\t\t\t\t\t\t\t\t<n-button\r\n\t\t\t\t\t\t\t\t\tcircle\r\n\t\t\t\t\t\t\t\t\tsecondary\r\n\t\t\t\t\t\t\t\t\tclass="edit-avatar"\r\n\t\t\t\t\t\t\t\t\tv-show="userDetail.id === state.userInfo.id"\r\n\t\t\t\t\t\t\t\t\t@click="handleClick"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t\t\t<n-icon size="16" color="#666666" :component="Camera" />\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</n-button>\r\n\t\t\t\t\t\t\t</n-upload-trigger>\r\n\t\t\t\t\t\t</n-upload> '),p("div",O,[p("h4",null,[p("label",R,w(et.name),1),d(p("label",{class:g(["iho-chatRole",s(E)(et.roleInfo)?"isDoctor":""])},w(s(P)(et.roleInfo)),3),[[f,s(P)(et.roleInfo)]])]),p("p",null,w(et.orgName),1)]),v(s(C),{strong:"",secondary:"",onClick:nt},{default:r((()=>[v(s(D),{size:"13",color:"#666666",component:s(I),style:{"margin-right":"6px"}},null,8,["component"]),y(" 发消息 ")])),_:1})])]),p("div",T,[p("div",q,[(a(!0),c(u,null,h(s(lt),((t,o)=>(a(),c("div",{class:"info-item",key:o},[p("span",A,w(t.label),1),p("div",F,[p("span",null,w(at(t)),1),"phone"===t.key&&at(t)?(a(),i(s(D),{key:0,size:"16",color:"#666666",component:tt.value?s(_):s(j),style:{"margin-left":"10px"},onClick:e[1]||(e[1]=t=>tt.value=!tt.value)},null,8,["component"])):m("v-if",!0)])])))),128))])])],512),[[f,!Z.value]]),d(p("div",{class:"large-avatar",onClick:e[2]||(e[2]=t=>Z.value=!1)},[v(s(C),{circle:"",size:"small",secondary:""},{icon:r((()=>[v(s(D),{size:24,component:s(x),color:"#fff"},null,8,["component"])])),_:1}),v(s(b),{size:310,round:"",src:et.avatar},null,8,["src"])],512),[[f,Z.value]])],64)):m("v-if",!0)])),_:1},8,["show","x","y"]))}});export{H as default};
@@ -1,6 +1,6 @@
1
1
  import { CSSProperties } from 'vue';
2
2
  import { AnyObject } from '../../../../shared/types';
3
- import { formatTime } from '../utils';
3
+ import { formatTime, isDoctorRole, getRoleName } from '../utils';
4
4
  import { STATUS } from '../constants';
5
5
  declare const _default: import("vue").DefineComponent<{}, {
6
6
  filterKey: {
@@ -121,6 +121,8 @@ declare const _default: import("vue").DefineComponent<{}, {
121
121
  beforeUnmount(el: any): void;
122
122
  };
123
123
  formatTime: typeof formatTime;
124
+ isDoctorRole: typeof isDoctorRole;
125
+ getRoleName: typeof getRoleName;
124
126
  STATUS: typeof STATUS;
125
127
  CDatePicker: import("../../../../shared/types").SFCWithInstall<import("vue").DefineComponent<{
126
128
  updateUnchangedValue: {
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as l,withDirectives as n,openBlock as i,createElementBlock as a,normalizeStyle as o,unref as s,createVNode as u,withCtx as r,createElementVNode as d,Fragment as v,renderList as c,createBlock as p,vShow as m,createCommentVNode as f,createTextVNode as g,toDisplayString as w,withModifiers as y,normalizeClass as k,nextTick as h}from"vue";import{NPopover as _,NInput as x,NIcon as C,NTag as M,NAvatar as R,NBadge as b}from"naive-ui";import j from"./ContextMenu.js";import{useData as D}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{STATUS as E}from"../constants/index.js";import{toppingSessionApi as L,updateStatusApi as B}from"../api/index.js";import{listSort as I,formatTime as T}from"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";import{vFlexibleResize as N}from"../../../../shared/directive/flexibleResize.js";import S from"../../../date-picker/index.js";import{SearchOutline as V}from"@vicons/ionicons5";import $ from"./userItemRender.js";import O from"../../../default-page/index.js";import{useDebounceFn as U}from"@vueuse/core";import{isBefore as H,isAfter as z}from"date-fns";const K={key:0,class:"sider-list__filter"},P={class:"user-list-wrapper"},W={class:"sider-list__tags box-shadow"},A=["onClick","onContextmenu"],X={class:"avatar-right"},Y={class:"name"},q={class:"msg-tip"},F={class:"msg-tip__content"},G={key:0},J=["innerHTML"];var Q=e({__name:"SiderList",setup(e){var Q,Z,ee;const te="all",le="unread",ne="ended";let ie=[];const ae=t(300),oe=t(),se=t([{label:(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.123"))||"全部",key:te},{label:(null==(Z=window.getLanguageByCode)?void 0:Z.call(window,"10010.1.124"))||"未读",key:le},{label:(null==(ee=window.getLanguageByCode)?void 0:ee.call(window,"10010.1.77"))||"结束",key:ne}]),ue=t(),re=t(!1),de=t({left:0,top:0}),ve=t(),ce=t("all"),pe=t(),me=t(),fe=t(),ge=t(""),we=t(!1),ye=t([]),ke=U(Ne,500),{state:he,unreadTotal:_e,filterable:xe,openSession:Ce,setUpdateSessionItem:Me,setCurrentSessionItem:Re}=D(),be=l((()=>Math.min(Math.max(ae.value,240),360))),je=l((()=>I(he.sessionList)));function De({distance:e}){ae.value=ae.value+e}function Ee(e,t=s(ce)){var l;return t===te||(t===le?ie.includes(e.sessionKey)||(null!=(l=e.unreadNum)?l:0)>0:t===ne?e.status===E.ENDED:void 0)}async function Le(e,t){try{if("topping"===e)return await L({id:t.id,topping:!(null==t?void 0:t.topping)}),void(he.id===t.id?Re({topping:!(null==t?void 0:t.topping)}):Me({...t,topping:!(null==t?void 0:t.topping)}));"remove"===e&&(await B({id:t.id,status:E.REMOVED}),he.id===t.id?Re({status:E.REMOVED}):Me({...t,status:E.REMOVED}))}catch(e){}}function Be(e){we.value=e,e||(ge.value="",fe.value=null,ye.value=[])}function Ie(e){var t,l,n,i,a;const o=null==(n=null==(l=null==(t=pe.value)?void 0:t.$datePicker)?void 0:l.panelInstRef)?void 0:n.$el;Be(!(!e.target||!(o&&o.contains(e.target)||(null==(i=me.value)?void 0:i.$el)&&(null==(a=me.value)?void 0:a.$el.contains(e.target)))))}function Te(e){fe.value=e,Ne()}function Ne(){ge.value||fe.value?ye.value=je.value.filter((e=>{const t=e.name.includes(ge.value);if(!fe.value)return t;const[l,n]=fe.value,i=new Date(e.createdTime);return t&&H(i,new Date(n+" 23:59:59"))&&z(i,new Date(l+" 00:00:00"))})):ye.value=[]}return(e,t)=>n((i(),a("section",{class:"sider-list",style:o({width:s(be)+"px"})},[s(xe)?(i(),a("div",K,[u(s(_),{raw:"","content-class":"search-content__sider",class:"search-wrapper",show:we.value,placement:"bottom-start","display-directive":"show","show-arrow":!1,onClickoutside:Ie},{trigger:r((()=>[u(s(x),{ref_key:"inputRef",ref:me,placeholder:"请输入名称模糊搜索",value:ge.value,"onUpdate:value":t[0]||(t[0]=e=>ge.value=e),onInput:s(ke),onClick:t[1]||(t[1]=()=>Be(!0))},{prefix:r((()=>[u(s(C),{component:s(V)},null,8,["component"])])),_:1},8,["value","onInput"])])),default:r((()=>{var e;return[u(s(S),{ref_key:"datePickerRef",ref:pe,"formatted-value":fe.value,type:"daterange",clearable:"","onUpdate:formattedValue":Te},null,8,["formatted-value"]),d("div",P,[(i(!0),a(v,null,c(ye.value,(e=>(i(),p(s($),{key:e.id,item:e,onItemClick:t[2]||(t[2]=()=>Be(!1))},null,8,["item"])))),128)),n(u(s(O),{config:{title:" ",content:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[m,ye.value.length<1]])])]})),_:1},8,["show"])])):f("v-if",!0),d("div",W,[(i(!0),a(v,null,c(se.value,(e=>(i(),p(s(M),{type:ce.value===e.key?"primary":"default",round:"",bordered:!1,key:e.key,onClick:()=>{return t=e.key,ce.value=t,void(t===le&&(ie=(je.value.filter((e=>{var t;return(null!=(t=e.unreadNum)?t:0)>0}))||[]).map((e=>e.sessionKey))));var t}},{default:r((()=>{return[g(w(e.label)+"("+w((t=e,t.key===ne?je.value.filter((e=>e.status===E.ENDED)).length:_e.value))+") ",1)];var t})),_:2},1032,["type","onClick"])))),128))]),d("div",{class:"sider-list__box",ref_key:"listBoxRef",ref:oe},[(i(!0),a(v,null,c(s(je),(e=>{var t;return i(),a(v,{key:e.id},[e.status!==s(E).REMOVED?n((i(),a("div",{key:0,onClick:()=>s(Ce)(e),onContextmenu:y((t=>async function(e,t){var l,n,i,a,o;ve.value=t,re.value=!0,await h();const{clientX:s,clientY:u}=e,{width:r=0,height:d=0,left:v=0,top:c=0}=(null==(l=oe.value)?void 0:l.getBoundingClientRect())||{},{width:p=100,height:m=80}=(null==(i=null==(n=ue.value)?void 0:n.$el)?void 0:i.getBoundingClientRect())||{},f=null!=(o=null==(a=oe.value)?void 0:a.scrollTop)?o:0,g={};s<v+r-(p+2)-5?g.left=s-v+5+"px":g.right=v+r-s+5+"px",c+d-u<=m+5?g.bottom=5-f+"px":g.top=u-c+f+5+"px",de.value=g}(t,e.id)),["prevent"]),class:k(["sider-list__box__item",{active:e.id===s(he).id},e.topping?"sider-list__box__item--top":""])},[u(s(R),{round:"",size:"large",src:e.avatar},null,8,["src"]),d("div",X,[d("div",Y,[d("h4",null,w(e.name),1),d("span",null,w(e.lastMessage?s(T)(e.lastMessageSendTime).siderMsgTime:""),1)]),d("div",q,[d("div",F,["WITHDRAWN"===e.lastMessageStatus?(i(),a("div",G,(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.68"))||"撤回了一条消息")):(i(),a("div",{key:1,innerHTML:e.lastMessageContent},null,8,J))]),u(s(b),{value:e.unreadNum>99?"99+":e.unreadNum},null,8,["value"])])])],42,A)),[[m,Ee(e)]]):f("v-if",!0)],64)})),128)),u(s(j),{ref_key:"contextmenuRef",ref:ue,show:re.value,"onUpdate:show":t[3]||(t[3]=e=>re.value=e),type:"session",position:de.value,id:ve.value,onSelect:Le},null,8,["show","position","id"])],512)],4)),[[s(N),{mode:"VR",onMove:De}]])}});export{Q as default};
1
+ import{defineComponent as e,ref as t,computed as l,withDirectives as n,openBlock as i,createElementBlock as a,normalizeStyle as o,unref as s,createVNode as u,withCtx as r,createElementVNode as d,Fragment as v,renderList as c,createBlock as p,vShow as m,createCommentVNode as f,createTextVNode as g,toDisplayString as w,withModifiers as y,normalizeClass as h,nextTick as k}from"vue";import{NPopover as _,NInput as x,NIcon as C,NTag as b,NAvatar as R,NBadge as M}from"naive-ui";import D from"./ContextMenu.js";import{useData as j}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{STATUS as E}from"../constants/index.js";import{toppingSessionApi as I,updateStatusApi as L}from"../api/index.js";import{listSort as B,isDoctorRole as T,getRoleName as N,formatTime as S}from"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";import{vFlexibleResize as V}from"../../../../shared/directive/flexibleResize.js";import $ from"../../../date-picker/index.js";import{SearchOutline as O}from"@vicons/ionicons5";import U from"./userItemRender.js";import H from"../../../default-page/index.js";import{useDebounceFn as z}from"@vueuse/core";import{isBefore as K,isAfter as P}from"date-fns";const W={key:0,class:"sider-list__filter"},A={class:"user-list-wrapper"},X={class:"sider-list__tags box-shadow"},Y=["onClick","onContextmenu"],q={class:"avatar-right"},F={class:"name"},G={class:"chat-name"},J={class:"msg-tip"},Q={class:"msg-tip__content"},Z={key:0},ee=["innerHTML"];var te=e({__name:"SiderList",setup(e){var te,le,ne;const ie="all",ae="unread",oe="ended";let se=[];const ue=t(300),re=t(),de=t([{label:(null==(te=window.getLanguageByCode)?void 0:te.call(window,"10010.1.123"))||"全部",key:ie},{label:(null==(le=window.getLanguageByCode)?void 0:le.call(window,"10010.1.124"))||"未读",key:ae},{label:(null==(ne=window.getLanguageByCode)?void 0:ne.call(window,"10010.1.77"))||"结束",key:oe}]),ve=t(),ce=t(!1),pe=t({left:0,top:0}),me=t(),fe=t("all"),ge=t(),we=t(),ye=t(),he=t(""),ke=t(!1),_e=t([]),xe=z($e,500),{state:Ce,unreadTotal:be,filterable:Re,openSession:Me,setUpdateSessionItem:De,setCurrentSessionItem:je}=j(),Ee=l((()=>Math.min(Math.max(ue.value,240),360))),Ie=l((()=>B(Ce.sessionList)));function Le({distance:e}){ue.value=ue.value+e}function Be(e,t=s(fe)){var l;return t===ie||(t===ae?se.includes(e.sessionKey)||(null!=(l=e.unreadNum)?l:0)>0:t===oe?e.status===E.ENDED:void 0)}async function Te(e,t){try{if("topping"===e)return await I({id:t.id,topping:!(null==t?void 0:t.topping)}),void(Ce.id===t.id?je({topping:!(null==t?void 0:t.topping)}):De({...t,topping:!(null==t?void 0:t.topping)}));"remove"===e&&(await L({id:t.id,status:E.REMOVED}),Ce.id===t.id?je({status:E.REMOVED}):De({...t,status:E.REMOVED}))}catch(e){}}function Ne(e){ke.value=e,e||(he.value="",ye.value=null,_e.value=[])}function Se(e){var t,l,n,i,a;const o=null==(n=null==(l=null==(t=ge.value)?void 0:t.$datePicker)?void 0:l.panelInstRef)?void 0:n.$el;Ne(!(!e.target||!(o&&o.contains(e.target)||(null==(i=we.value)?void 0:i.$el)&&(null==(a=we.value)?void 0:a.$el.contains(e.target)))))}function Ve(e){ye.value=e,$e()}function $e(){he.value||ye.value?_e.value=Ie.value.filter((e=>{const t=e.name.includes(he.value);if(!ye.value)return t;const[l,n]=ye.value,i=new Date(e.createdTime);return t&&K(i,new Date(n+" 23:59:59"))&&P(i,new Date(l+" 00:00:00"))})):_e.value=[]}return(e,t)=>n((i(),a("section",{class:"sider-list",style:o({width:s(Ee)+"px"})},[s(Re)?(i(),a("div",W,[u(s(_),{raw:"","content-class":"search-content__sider",class:"search-wrapper",show:ke.value,placement:"bottom-start","display-directive":"show","show-arrow":!1,onClickoutside:Se},{trigger:r((()=>[u(s(x),{ref_key:"inputRef",ref:we,placeholder:"请输入名称模糊搜索",value:he.value,"onUpdate:value":t[0]||(t[0]=e=>he.value=e),onInput:s(xe),onClick:t[1]||(t[1]=()=>Ne(!0))},{prefix:r((()=>[u(s(C),{component:s(O)},null,8,["component"])])),_:1},8,["value","onInput"])])),default:r((()=>{var e;return[u(s($),{ref_key:"datePickerRef",ref:ge,"formatted-value":ye.value,type:"daterange",clearable:"","onUpdate:formattedValue":Ve},null,8,["formatted-value"]),d("div",A,[(i(!0),a(v,null,c(_e.value,(e=>(i(),p(s(U),{key:e.id,item:e,onItemClick:t[2]||(t[2]=()=>Ne(!1))},null,8,["item"])))),128)),n(u(s(H),{config:{title:" ",content:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[m,_e.value.length<1]])])]})),_:1},8,["show"])])):f("v-if",!0),d("div",X,[(i(!0),a(v,null,c(de.value,(e=>(i(),p(s(b),{type:fe.value===e.key?"primary":"default",round:"",bordered:!1,key:e.key,onClick:()=>{return t=e.key,fe.value=t,void(t===ae&&(se=(Ie.value.filter((e=>{var t;return(null!=(t=e.unreadNum)?t:0)>0}))||[]).map((e=>e.sessionKey))));var t}},{default:r((()=>{return[g(w(e.label)+"("+w((t=e,t.key===oe?Ie.value.filter((e=>e.status===E.ENDED)).length:be.value))+") ",1)];var t})),_:2},1032,["type","onClick"])))),128))]),d("div",{class:"sider-list__box",ref_key:"listBoxRef",ref:re},[(i(!0),a(v,null,c(s(Ie),(e=>{var t;return i(),a(v,{key:e.id},[e.status!==s(E).REMOVED?n((i(),a("div",{key:0,onClick:()=>s(Me)(e),onContextmenu:y((t=>async function(e,t){var l,n,i,a,o;me.value=t,ce.value=!0,await k();const{clientX:s,clientY:u}=e,{width:r=0,height:d=0,left:v=0,top:c=0}=(null==(l=re.value)?void 0:l.getBoundingClientRect())||{},{width:p=100,height:m=80}=(null==(i=null==(n=ve.value)?void 0:n.$el)?void 0:i.getBoundingClientRect())||{},f=null!=(o=null==(a=re.value)?void 0:a.scrollTop)?o:0,g={};s<v+r-(p+2)-5?g.left=s-v+5+"px":g.right=v+r-s+5+"px",c+d-u<=m+5?g.bottom=5-f+"px":g.top=u-c+f+5+"px",pe.value=g}(t,e.id)),["prevent"]),class:h(["sider-list__box__item",{active:e.id===s(Ce).id},e.topping?"sider-list__box__item--top":""])},[u(s(R),{round:"",size:"large",src:e.avatar},null,8,["src"]),d("div",q,[d("div",F,[d("h4",null,[d("label",G,w(e.name),1),n(d("label",{class:h(["iho-chatRole",s(T)(e.roleInfo)?"isDoctor":""])},w(s(N)(e.roleInfo)),3),[[m,s(N)(e.roleInfo)]])]),d("span",null,w(e.lastMessage?s(S)(e.lastMessageSendTime).siderMsgTime:""),1)]),d("div",J,[d("div",Q,["WITHDRAWN"===e.lastMessageStatus?(i(),a("div",Z,(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.68"))||"撤回了一条消息")):(i(),a("div",{key:1,innerHTML:e.lastMessageContent},null,8,ee))]),u(s(M),{value:e.unreadNum>99?"99+":e.unreadNum},null,8,["value"])])])],42,Y)),[[m,Be(e)]]):f("v-if",!0)],64)})),128)),u(s(D),{ref_key:"contextmenuRef",ref:ve,show:ce.value,"onUpdate:show":t[3]||(t[3]=e=>ce.value=e),type:"session",position:pe.value,id:me.value,onSelect:Te},null,8,["show","position","id"])],512)],4)),[[s(V),{mode:"VR",onMove:Le}]])}});export{te as default};
@@ -52,3 +52,10 @@ export declare enum STATUS {
52
52
  ENABLED = "ENABLED",
53
53
  ENDED = "ENDED"
54
54
  }
55
+ /**
56
+ * 角色枚举
57
+ */
58
+ export declare enum ROLE_TYPE {
59
+ DOCTOR = "DOCTOR",
60
+ PATIENT = "PATIENT"
61
+ }
@@ -1 +1 @@
1
- var E=(E=>(E.SINGLE="SINGLE",E.GROUP="GROUP",E))(E||{}),S=(E=>(E.TEXT="TEXT",E.FILE="FILE",E.EMOJI="EMOJI",E.IMAGE="IMAGE",E.TEMPLATE="TEMPLATE",E.BLEND="BLEND",E.FORWARD="FORWARD",E.QUICK_REPLY="QUICK_REPLY",E.AUDIO="AUDIO",E.VIDEO="VIDEO",E.EVENT="EVENT",E))(S||{}),A=(E=>(E.JOIN_GROUP="JOIN_GROUP",E.LEAVE_GROUP="LEAVE_GROUP",E.NEW_SESSION="NEW_SESSION",E.MESSAGE="MESSAGE",E.AV_STATUS="AV_STATUS",E.RECALL_MESSAGE="RECALL_MESSAGE",E.DISABLE_SESSION="DISABLE_SESSION",E))(A||{}),L=(E=>(E.IN_CALL="IN_CALL",E.CALL_BUSY="CALL_BUSY",E.NO_RESPONSE="NO_RESPONSE",E.FINISHED="FINISHED",E.REJECTED="REJECTED",E.CANCELED="CANCELED",E))(L||{}),I=(E=>(E.REMOVED="REMOVED",E.ENABLED="ENABLED",E.ENDED="ENDED",E))(I||{});export{L as AV_STATUS,E as CHAT_TYPE,S as MESSAGE_TYPE,I as STATUS,A as SUBSCRIBE_MESSAGE_TYPE};
1
+ var E=(E=>(E.SINGLE="SINGLE",E.GROUP="GROUP",E))(E||{}),S=(E=>(E.TEXT="TEXT",E.FILE="FILE",E.EMOJI="EMOJI",E.IMAGE="IMAGE",E.TEMPLATE="TEMPLATE",E.BLEND="BLEND",E.FORWARD="FORWARD",E.QUICK_REPLY="QUICK_REPLY",E.AUDIO="AUDIO",E.VIDEO="VIDEO",E.EVENT="EVENT",E))(S||{}),A=(E=>(E.JOIN_GROUP="JOIN_GROUP",E.LEAVE_GROUP="LEAVE_GROUP",E.NEW_SESSION="NEW_SESSION",E.MESSAGE="MESSAGE",E.AV_STATUS="AV_STATUS",E.RECALL_MESSAGE="RECALL_MESSAGE",E.DISABLE_SESSION="DISABLE_SESSION",E))(A||{}),I=(E=>(E.IN_CALL="IN_CALL",E.CALL_BUSY="CALL_BUSY",E.NO_RESPONSE="NO_RESPONSE",E.FINISHED="FINISHED",E.REJECTED="REJECTED",E.CANCELED="CANCELED",E))(I||{}),L=(E=>(E.REMOVED="REMOVED",E.ENABLED="ENABLED",E.ENDED="ENDED",E))(L||{}),N=(E=>(E.DOCTOR="DOCTOR",E.PATIENT="PATIENT",E))(N||{});export{I as AV_STATUS,E as CHAT_TYPE,S as MESSAGE_TYPE,N as ROLE_TYPE,L as STATUS,A as SUBSCRIBE_MESSAGE_TYPE};
@@ -16,3 +16,5 @@ export declare function isAudioOrVideoMessage(message: AnyObject): boolean;
16
16
  export declare function formatSeconds(seconds: number): string;
17
17
  export declare function isGroup(session: AnyObject): boolean;
18
18
  export declare function getForwardTitle(content: AnyObject): string | undefined;
19
+ export declare function isDoctorRole(type: string): boolean;
20
+ export declare function getRoleName(type: string): string;
@@ -1 +1 @@
1
- import{isToday as e,format as t,isYesterday as n,startOfDay as r}from"date-fns";import{cloneDeep as o,isNumber as a,isNaN as i,isArray as s,uniqBy as l}from"lodash-es";import{MESSAGE_TYPE as c,CHAT_TYPE as u}from"../constants/index.js";import{emojis as d}from"./emoji.js";import{uuidGenerator as g}from"../../../../shared/utils/index.js";import{createDiscreteApi as m}from"naive-ui";const{message:p}=m(["message"]);function w(r){var o;const a=new Date(r);let i,s;if(e(a))i=s=t(a,"HH:mm");else{i=n(a)?(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.132"))||"昨天":t(a,"MM-dd");const e=a.getFullYear(),r=(new Date).getFullYear();s=t(a,e<r?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}return{siderMsgTime:i,msgTime:s,recordTime:function(r){var o,a,i,s;const l=new Date(r),c=Date.now()-l.getTime();if(c<6e4)return(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.133"))||"刚刚";if(c<36e5)return Math.ceil(c/1e3/60)+((null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.136"))||"分钟前");if(e(l))return((null==(i=window.getLanguageByCode)?void 0:i.call(window,"10010.1.134"))||"今天")+t(l,"HH:mm");if(n(l))return((null==(s=window.getLanguageByCode)?void 0:s.call(window,"10010.1.132"))||"昨天")+t(l,"HH:mm");{const e=l.getFullYear(),n=(new Date).getFullYear();return t(l,e<n?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}}(r)}}function f(e){return o(e||[]).sort(((e,t)=>e.topping&&!t.topping?-1:!e.topping&&t.topping?1:new Date(t.sortTime).getTime()-new Date(e.sortTime).getTime()))}function y(e){if(!(null==e?void 0:e.msg))return"";const{chatMessageType:t="",msg:n=""}=e;let r=n.toString();if(t===c.BLEND){const e=r.match(/\[([^\]]+)\]/g);return null==e||e.forEach((e=>{const n=e.match(/\[([^\]]+)\]/);if(n&&n.length>1){const o=d.findEmoji(n[1]);o&&(r=r.replace(e,`<img data-msg=${n[1]} data-type=${t} class="emoji--min" src=${o} />`))}})),r}if(t===c.TEXT){const e=e=>new RegExp("\\n*\\["+(e||"")+"(code|pre|div|span|p|table|thead|th|tbody|tr|td|ul|li|ol|li|dl|dt|dd|h2|h3|h4|h5)([\\s\\S]*?)]\\n*","g");return r=r.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;").replace(/@(\S+)(\s+?|$)/g,'@<a href="javascript:;">$1</a>$2').replace(e(),"<$1 $2>").replace(e("/"),"</$1>").replace(/\n/g,"<br>"),r}return n}function h(e){var t,n;if(e&&a(+e)&&!i(+e)){const n=L(+e),r=n.split(":");let o=n;return 3===r.length&&"00"===r[0]&&(o=`${r[1]}:${r[2]}`),((null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.137"))||"通话时长")+o}return(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.138"))||"已取消"}function v(e){var t;if(!e)return"";const{chatMessageType:n,msg:r,messageTemplate:o}=e,a=E(e)?h(r):"";switch(n){case c.TEXT:return y(e);case c.IMAGE:return"[图片]";case c.FILE:return"[文件]";case c.EMOJI:return`<img class="emoji--min" alt=${r} src=${d.findEmoji(r)}>`;case c.TEMPLATE:return null==(t=null==o?void 0:o.setting)?void 0:t.title;case c.VIDEO:return`[视频通话]${a}`;case c.AUDIO:return`[语音通话]${a}`;default:return"[消息]"}}function T(e,t){const n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="blob",n.onload=function(e){if(200===n.status){const e=window.URL.createObjectURL(n.response),r=document.createElement("a");r.href=e,r.download=t,r.dispatchEvent(new MouseEvent("click")),window.URL.revokeObjectURL(e)}},n.send()}function H(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("HEAD",e,!0),r.onreadystatechange=()=>{var e;if(4===r.readyState&&200===r.status){let n=null!=(e=r.getResponseHeader("Content-Length"))?e:0;const o=+n;o>1048576?n=(o/1048576).toFixed(2)+"M":o>1024?n=(o/1024).toFixed(2)+"K":n+="B",t(n)}},r.send()}))}async function M(e){try{const t=await fetch(e),n=await t.blob();return new File([n],`${g()}.${n.type.split("/")[1]}`,{type:n.type})}catch(e){return}}function E(e){return e&&[c.AUDIO,c.VIDEO].includes(e.chatMessageType)}function L(e){const n=r(new Date);return n.setSeconds(e),t(n,"HH:mm:ss")}function $(e){return e.chatType===u.GROUP}function D(e){if(!s(null==e?void 0:e.forwardMessageList))return;const t=l(e.forwardMessageList,"sender").map((e=>e.senderName)),n="的聊天记录";return t.length>2?"群聊的聊天记录":1===t.length?t[0]+n:t[0]+"和"+t[1]+n}export{p as $message,M as base64ToFile,T as downloadFile,L as formatSeconds,w as formatTime,h as getAVTime,H as getFileSize,D as getForwardTitle,E as isAudioOrVideoMessage,$ as isGroup,f as listSort,v as simplifyMessage,y as transformMessage};
1
+ import{isToday as e,format as t,isYesterday as n,startOfDay as r}from"date-fns";import{cloneDeep as o,isNumber as a,isNaN as i,isArray as s,uniqBy as l}from"lodash-es";import{MESSAGE_TYPE as c,CHAT_TYPE as u,ROLE_TYPE as d}from"../constants/index.js";import{emojis as g}from"./emoji.js";import{uuidGenerator as m}from"../../../../shared/utils/index.js";import{createDiscreteApi as w}from"naive-ui";const{message:p}=w(["message"]);function f(r){var o;const a=new Date(r);let i,s;if(e(a))i=s=t(a,"HH:mm");else{i=n(a)?(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.132"))||"昨天":t(a,"MM-dd");const e=a.getFullYear(),r=(new Date).getFullYear();s=t(a,e<r?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}return{siderMsgTime:i,msgTime:s,recordTime:function(r){var o,a,i,s;const l=new Date(r),c=Date.now()-l.getTime();if(c<6e4)return(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.133"))||"刚刚";if(c<36e5)return Math.ceil(c/1e3/60)+((null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.136"))||"分钟前");if(e(l))return((null==(i=window.getLanguageByCode)?void 0:i.call(window,"10010.1.134"))||"今天")+t(l,"HH:mm");if(n(l))return((null==(s=window.getLanguageByCode)?void 0:s.call(window,"10010.1.132"))||"昨天")+t(l,"HH:mm");{const e=l.getFullYear(),n=(new Date).getFullYear();return t(l,e<n?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}}(r)}}function y(e){return o(e||[]).sort(((e,t)=>e.topping&&!t.topping?-1:!e.topping&&t.topping?1:new Date(t.sortTime).getTime()-new Date(e.sortTime).getTime()))}function h(e){if(!(null==e?void 0:e.msg))return"";const{chatMessageType:t="",msg:n=""}=e;let r=n.toString();if(t===c.BLEND){const e=r.match(/\[([^\]]+)\]/g);return null==e||e.forEach((e=>{const n=e.match(/\[([^\]]+)\]/);if(n&&n.length>1){const o=g.findEmoji(n[1]);o&&(r=r.replace(e,`<img data-msg=${n[1]} data-type=${t} class="emoji--min" src=${o} />`))}})),r}if(t===c.TEXT){const e=e=>new RegExp("\\n*\\["+(e||"")+"(code|pre|div|span|p|table|thead|th|tbody|tr|td|ul|li|ol|li|dl|dt|dd|h2|h3|h4|h5)([\\s\\S]*?)]\\n*","g");return r=r.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;").replace(/@(\S+)(\s+?|$)/g,'@<a href="javascript:;">$1</a>$2').replace(e(),"<$1 $2>").replace(e("/"),"</$1>").replace(/\n/g,"<br>"),r}return n}function T(e){var t,n;if(e&&a(+e)&&!i(+e)){const n=$(+e),r=n.split(":");let o=n;return 3===r.length&&"00"===r[0]&&(o=`${r[1]}:${r[2]}`),((null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.137"))||"通话时长")+o}return(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.138"))||"已取消"}function v(e){var t;if(!e)return"";const{chatMessageType:n,msg:r,messageTemplate:o}=e,a=M(e)?T(r):"";switch(n){case c.TEXT:return h(e);case c.IMAGE:return"[图片]";case c.FILE:return"[文件]";case c.EMOJI:return`<img class="emoji--min" alt=${r} src=${g.findEmoji(r)}>`;case c.TEMPLATE:return null==(t=null==o?void 0:o.setting)?void 0:t.title;case c.VIDEO:return`[视频通话]${a}`;case c.AUDIO:return`[语音通话]${a}`;default:return"[消息]"}}function E(e,t){const n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="blob",n.onload=function(e){if(200===n.status){const e=window.URL.createObjectURL(n.response),r=document.createElement("a");r.href=e,r.download=t,r.dispatchEvent(new MouseEvent("click")),window.URL.revokeObjectURL(e)}},n.send()}function H(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("HEAD",e,!0),r.onreadystatechange=()=>{var e;if(4===r.readyState&&200===r.status){let n=null!=(e=r.getResponseHeader("Content-Length"))?e:0;const o=+n;o>1048576?n=(o/1048576).toFixed(2)+"M":o>1024?n=(o/1024).toFixed(2)+"K":n+="B",t(n)}},r.send()}))}async function L(e){try{const t=await fetch(e),n=await t.blob();return new File([n],`${m()}.${n.type.split("/")[1]}`,{type:n.type})}catch(e){return}}function M(e){return e&&[c.AUDIO,c.VIDEO].includes(e.chatMessageType)}function $(e){const n=r(new Date);return n.setSeconds(e),t(n,"HH:mm:ss")}function D(e){return e.chatType===u.GROUP}function O(e){if(!s(null==e?void 0:e.forwardMessageList))return;const t=l(e.forwardMessageList,"sender").map((e=>e.senderName)),n="的聊天记录";return t.length>2?"群聊的聊天记录":1===t.length?t[0]+n:t[0]+"和"+t[1]+n}function j(e){return e===d.DOCTOR}function C(e){var t;let n="";switch(e){case d.DOCTOR:n="医护";break;case d.PATIENT:n=(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.200"))||"患者"}return n}export{p as $message,L as base64ToFile,E as downloadFile,$ as formatSeconds,f as formatTime,T as getAVTime,H as getFileSize,O as getForwardTitle,C as getRoleName,M as isAudioOrVideoMessage,j as isDoctorRole,D as isGroup,y as listSort,v as simplifyMessage,h as transformMessage};