cnhis-design-vue 3.3.1-beta.14 → 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 (151) hide show
  1. package/es/components/ai-chat/index.d.ts +12 -17
  2. package/es/components/ai-chat/src/Index.vue.d.ts +12 -17
  3. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  4. package/es/components/ai-chat/src/api/index.d.ts +1 -2
  5. package/es/components/ai-chat/src/api/index.js +1 -1
  6. package/es/components/ai-chat/src/components/ChatAudio.vue.d.ts +0 -1
  7. package/es/components/ai-chat/src/components/ChatAudio.vue2.js +1 -1
  8. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  9. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +3 -11
  10. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  11. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  12. package/es/components/ai-chat/src/components/ChatMainDefault.js +1 -0
  13. package/es/components/ai-chat/src/components/ChatRight.vue.d.ts +0 -2
  14. package/es/components/ai-chat/src/components/ChatRight.vue2.js +1 -1
  15. package/es/components/ai-chat/src/components/card/JsonCard.js +1 -1
  16. package/es/components/ai-chat/src/hooks/useWebsocket.js +1 -1
  17. package/es/components/ai-chat/style/index.css +1 -1
  18. package/es/components/audio-sdk/index.d.ts +304 -2
  19. package/es/components/audio-sdk/index.js +1 -1
  20. package/es/components/audio-sdk/src/Index.vue.d.ts +304 -0
  21. package/es/components/audio-sdk/src/Index.vue.js +1 -0
  22. package/es/components/audio-sdk/src/Index.vue2.js +1 -0
  23. package/es/components/audio-sdk/src/audioSDK.d.ts +5 -7
  24. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  25. package/es/components/audio-sdk/src/components/form.vue.d.ts +51 -0
  26. package/es/components/audio-sdk/src/components/form.vue.js +1 -0
  27. package/es/components/audio-sdk/src/components/form.vue2.js +1 -0
  28. package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +91 -0
  29. package/es/components/audio-sdk/src/components/recording-modal.vue.js +1 -0
  30. package/es/components/audio-sdk/src/components/recording-modal.vue2.js +1 -0
  31. package/es/components/audio-sdk/src/components/recording.vue.d.ts +43 -4
  32. package/es/components/audio-sdk/src/components/recording.vue2.js +1 -1
  33. package/es/components/audio-sdk/src/utils/index.d.ts +4 -0
  34. package/es/components/audio-sdk/src/utils/index.js +1 -0
  35. package/es/components/audio-sdk/src/utils/recordingModal.d.ts +7 -4
  36. package/es/components/audio-sdk/src/utils/recordingModal.js +1 -1
  37. package/es/components/audio-sdk/style/index.css +1 -1
  38. package/es/components/callback/src/components/render/popupMaps.d.ts +7 -1
  39. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  40. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  41. package/es/components/field-editor/index.d.ts +7 -1
  42. package/es/components/field-editor/src/FieldEditor.vue.d.ts +7 -1
  43. package/es/components/form-config/index.d.ts +38 -3
  44. package/es/components/form-config/src/FormConfig.vue.d.ts +38 -3
  45. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +7 -1
  46. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +17 -1
  47. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +8 -1
  48. package/es/components/form-render/index.d.ts +7 -1
  49. package/es/components/form-render/index.js +1 -1
  50. package/es/components/form-render/src/FormRender.vue.d.ts +7 -1
  51. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  52. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +7 -1
  53. package/es/components/form-render/src/components/renderer/date.d.ts +2 -0
  54. package/es/components/form-render/src/components/renderer/date.js +1 -1
  55. package/es/components/form-render/src/components/renderer/formItem.d.ts +2 -0
  56. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  57. package/es/components/form-render/src/components/renderer/input.d.ts +5 -0
  58. package/es/components/form-render/src/components/renderer/input.js +1 -1
  59. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +14 -1
  60. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +14 -1
  61. package/es/components/form-render/src/components/renderer/select.d.ts +5 -0
  62. package/es/components/form-render/src/components/renderer/select.js +1 -1
  63. package/es/components/form-render/src/components/tooltipMessage.vue.d.ts +12 -1
  64. package/es/components/form-render/src/components/tooltipMessage.vue2.js +1 -1
  65. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  66. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +4 -0
  67. package/es/components/form-render/src/types/fieldItem.d.ts +1 -0
  68. package/es/components/form-render/src/types/index.d.ts +2 -0
  69. package/es/components/form-render/src/utils/index.d.ts +1 -0
  70. package/es/components/form-render/src/utils/index.js +1 -1
  71. package/es/components/form-render/style/index.css +1 -1
  72. package/es/components/iho-chat/index.d.ts +47 -0
  73. package/es/components/iho-chat/src/Index.vue.d.ts +47 -0
  74. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +6 -0
  75. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  76. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +6 -0
  77. package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
  78. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +5 -0
  79. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  80. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +22 -0
  81. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +6 -0
  82. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  83. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +4 -0
  84. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
  85. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  86. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +8 -0
  87. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  88. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +5 -0
  89. package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +3 -0
  90. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  91. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +3 -1
  92. package/es/components/iho-chat/src/components/SiderList.vue2.js +1 -1
  93. package/es/components/iho-chat/src/constants/index.d.ts +7 -0
  94. package/es/components/iho-chat/src/constants/index.js +1 -1
  95. package/es/components/iho-chat/src/utils/index.d.ts +2 -0
  96. package/es/components/iho-chat/src/utils/index.js +1 -1
  97. package/es/components/iho-chat/style/index.css +1 -1
  98. package/es/components/iho-table/index.d.ts +26 -23
  99. package/es/components/iho-table/index.js +1 -1
  100. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  101. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +1 -1
  102. package/es/components/iho-table/src/hooks/tapHooks/index.js +1 -1
  103. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.d.ts +3 -3
  104. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.js +1 -1
  105. package/es/components/iho-table/src/hooks/useTablePlugin.js +1 -1
  106. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  107. package/es/components/iho-table/src/plugins/headerPlugin/index.d.ts +1 -1
  108. package/es/components/iho-table/src/plugins/headerPlugin/index.js +1 -1
  109. package/es/components/iho-table/src/plugins/highLightSetPlugin.js +1 -1
  110. package/es/components/iho-table/src/plugins/index.d.ts +78 -0
  111. package/es/components/iho-table/src/plugins/index.js +1 -1
  112. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.d.ts +7 -0
  113. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/hooks/useSelectOption.js +1 -1
  114. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  115. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.d.ts +1 -2
  116. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +1 -1
  117. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
  118. package/es/components/iho-table/src/plugins/stickyFixedPlugin.js +1 -1
  119. package/es/components/iho-table/src/plugins/varialbleHeightPlugin.js +1 -1
  120. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.js +1 -1
  121. package/es/components/iho-table/src/types/index.d.ts +1 -0
  122. package/es/components/iho-table/src/types/pluginType.d.ts +2 -2
  123. package/es/components/index.css +1 -1
  124. package/es/components/index.d.ts +2 -1
  125. package/es/components/index.js +1 -1
  126. package/es/components/info-header/index.d.ts +24 -2
  127. package/es/components/info-header/src/InfoHeader.vue.d.ts +24 -2
  128. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +2 -0
  129. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +2 -0
  130. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +9 -1
  131. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +7 -1
  132. package/es/components/scale-view/index.d.ts +3 -2
  133. package/es/components/scale-view/src/ScaleView.vue.d.ts +3 -2
  134. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  135. package/es/components/scale-view/src/hooks/scaleview-init.d.ts +3 -1
  136. package/es/components/scale-view/src/hooks/scaleview-init.js +1 -1
  137. package/es/components/scale-view/src/hooks/use-component.d.ts +1 -2189
  138. package/es/components/shortcut-setter/index.d.ts +8 -1
  139. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +8 -1
  140. package/es/shared/components/ArrowIcon/ArrowIcon.vue.js +1 -0
  141. package/es/shared/components/ArrowIcon/index.d.ts +2 -0
  142. package/es/shared/components/ArrowIcon/index.js +1 -0
  143. package/es/shared/components/DateIcon/DateIcon.vue.js +1 -0
  144. package/es/shared/components/DateIcon/index.d.ts +2 -0
  145. package/es/shared/components/DateIcon/index.js +1 -0
  146. package/es/shared/package.json.js +1 -1
  147. package/package.json +2 -2
  148. package/es/components/ai-chat/src/components/ChatMainInner.js +0 -1
  149. package/es/components/ai-chat/src/hooks/useProgram.d.ts +0 -6
  150. package/es/components/ai-chat/src/hooks/useProgram.js +0 -1
  151. /package/es/components/ai-chat/src/components/{ChatMainInner.d.ts → ChatMainDefault.d.ts} +0 -0
@@ -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">\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",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};