cnhis-design-vue 3.3.1-beta.17 → 3.3.1-beta.19

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 (99) hide show
  1. package/README.md +87 -87
  2. package/es/components/ai-chat/index.d.ts +59 -20
  3. package/es/components/ai-chat/src/Index.vue.d.ts +59 -20
  4. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  5. package/es/components/ai-chat/src/api/index.d.ts +3 -0
  6. package/es/components/ai-chat/src/api/index.js +1 -1
  7. package/es/components/ai-chat/src/components/ChatAudio.vue.d.ts +5 -3
  8. package/es/components/ai-chat/src/components/ChatAudio.vue2.js +1 -1
  9. package/es/components/ai-chat/src/components/ChatBI.vue.d.ts +2 -2
  10. package/es/components/ai-chat/src/components/ChatBI.vue2.js +1 -1
  11. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  12. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +19 -17
  13. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  14. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  15. package/es/components/ai-chat/src/components/ChatMainDefault.js +1 -1
  16. package/es/components/ai-chat/src/components/ChatPatient.vue.d.ts +2 -2
  17. package/es/components/ai-chat/src/components/ChatPatient.vue2.js +1 -1
  18. package/es/components/ai-chat/src/components/ChatPrompt.vue.d.ts +2 -2
  19. package/es/components/ai-chat/src/components/ChatPrompt.vue2.js +1 -1
  20. package/es/components/ai-chat/src/components/ChatRight.vue.d.ts +4 -2
  21. package/es/components/ai-chat/src/components/ChatRight.vue2.js +1 -1
  22. package/es/components/ai-chat/src/components/card/JsonCard.js +1 -1
  23. package/es/components/ai-chat/src/hooks/index.d.ts +2 -0
  24. package/es/components/ai-chat/src/hooks/index.js +1 -0
  25. package/es/components/ai-chat/src/hooks/useData.d.ts +47 -0
  26. package/es/components/ai-chat/src/hooks/useData.js +1 -0
  27. package/es/components/ai-chat/src/hooks/useWebsocket.d.ts +2 -1
  28. package/es/components/ai-chat/src/hooks/useWebsocket.js +1 -1
  29. package/es/components/ai-chat/src/types/index.d.ts +1 -3
  30. package/es/components/ai-chat/src/types/index.js +1 -1
  31. package/es/components/ai-chat/style/index.css +1 -1
  32. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  33. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  34. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  35. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  36. package/es/components/card-render/src/components/index.d.ts +23 -23
  37. package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
  38. package/es/components/form-render/src/hooks/useBusinessBinding.js +1 -1
  39. package/es/components/iho-chat/index.d.ts +69 -2
  40. package/es/components/iho-chat/src/Index.vue.d.ts +69 -2
  41. package/es/components/iho-chat/src/api/index.d.ts +1 -0
  42. package/es/components/iho-chat/src/api/index.js +1 -1
  43. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +1 -0
  44. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  45. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +1 -0
  46. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +1 -0
  47. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +57 -0
  48. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +1 -0
  49. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +54 -0
  50. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
  51. package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +8 -2
  52. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  53. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +1 -0
  54. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +1 -0
  55. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  56. package/es/components/iho-chat/src/hooks/useSearchPatientList.d.ts +11 -0
  57. package/es/components/iho-chat/src/hooks/useSearchPatientList.js +1 -0
  58. package/es/components/iho-chat/style/index.css +1 -1
  59. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  60. package/es/components/index.css +1 -1
  61. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  62. package/es/env.d.ts +25 -25
  63. package/es/shared/assets/img/ai__avatar.png.js +1 -1
  64. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  65. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  66. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  67. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
  68. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
  69. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
  70. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
  71. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  72. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  73. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  74. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  75. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  76. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  77. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  78. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  79. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  80. package/es/shared/assets/img/failure.png.js +1 -1
  81. package/es/shared/assets/img/file-emr.png.js +1 -1
  82. package/es/shared/assets/img/file.png.js +1 -1
  83. package/es/shared/assets/img/logo.png.js +1 -1
  84. package/es/shared/assets/img/no-permission.png.js +1 -1
  85. package/es/shared/assets/img/nodata.png.js +1 -1
  86. package/es/shared/assets/img/notfound.png.js +1 -1
  87. package/es/shared/assets/img/qr.png.js +1 -1
  88. package/es/shared/assets/img/success.png.js +1 -1
  89. package/es/shared/assets/img/table_style_2.png.js +1 -1
  90. package/es/shared/assets/img/use.png.js +1 -1
  91. package/es/shared/assets/img/video.png.js +1 -1
  92. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  93. package/es/shared/assets/img/xb_big.png.js +1 -1
  94. package/es/shared/assets/img/xb_small.png.js +1 -1
  95. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  96. package/es/shared/package.json.js +1 -1
  97. package/es/shared/utils/fabricjs/index.d.ts +6823 -0
  98. package/es/shared/utils/tapable/index.d.ts +139 -0
  99. package/package.json +3 -2
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as l,ref as a,computed as n,watch as o,openBlock as t,createElementBlock as i,Fragment as r,createVNode as u,unref as s,withCtx as d,createCommentVNode as c,createBlock as v,renderList as p,toDisplayString as f,createTextVNode as g,withDirectives as m,isRef as h,vShow as y,normalizeClass as w,withModifiers as k,renderSlot as b,nextTick as I}from"vue";import{NModal as C,NInput as _,NIcon as x,NSpace as L,NButton as j,NBreadcrumb as S,NBreadcrumbItem as B,NCheckbox as U,NCheckboxGroup as R,NAvatar as E,NTag as N,NTooltip as T}from"naive-ui";import{SearchOutline as z,PersonOutline as A,PeopleOutline as D,ChevronBackOutline as G,ChevronForwardOutline as V,AddOutline as $}from"@vicons/ionicons5";import{useData as M}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as O}from"../constants/index.js";import{getOrgUserTreeApi as P,groupUserApi as q,groupLeaveApi as F,groupJoinApi as H,groupCreateApi as J}from"../api/index.js";import{listSort as K,isDoctorRole as Q,getRoleName as W}from"../utils/index.js";import{union as X,unionBy as Y,remove as Z,intersection as ee,last as le,isArray as ae,uniqBy as ne,cloneDeep as oe,trim as te}from"lodash-es";import"trtc-sdk-v5";import{useSearchUserList as ie}from"../hooks/useSearchUserList.js";var re,ue;const se={class:"iho-chat-dialog__content iho-chat-add-wrapper"},de={key:0,class:"input-box"},ce=e("span",null,(null==(re=window.getLanguageByCode)?void 0:re.call(window,"10010.1.34"))||"群名称:",-1),ve={class:"transfer-box"},pe={class:"transfer-box__left"},fe={key:0,class:"nav-wrapper"},ge={key:0,class:"chat--iconfont chat--icon-map-site"},me={style:{"font-size":"12px"}},he={key:1,class:"header"},ye={class:"user-list-box"},we={key:0,class:"org-list"},ke={class:"seach-box"},be={class:"ellipsis"},Ie={key:0,style:{"font-size":"12px",color:"#666","margin-right":"10px","white-space":"nowrap"}},Ce={key:1,class:"no-data"},_e={class:"transfer-box__right"},xe={class:"checked-tag-box"},Le={class:"seach-box"},je={class:"ellipsis"},Se={key:0,class:"input-wrapper"};var Be=l({__name:"ChatAdd",props:{title:{type:String,default:(null==(ue=window.getLanguageByCode)?void 0:ue.call(window,"10010.1.42"))||"添加新成员"},mode:{type:String,default:"select"},options:{type:Array},disabledIds:{type:Array,default:()=>[]},defaultValue:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["comfirm"],setup(l,{emit:re}){const ue=l;let Be=[];const Ue=[{key:"single",label:"按好友选"},{key:"group",label:"按群聊选"},{key:"org",label:"按架构选"}];let Re=[];const{state:Ee,setCurrentSessionItem:Ne}=M(),Te=a(),ze=a(""),Ae=a(!1),De=a([]),Ge=a(""),Ve=a(""),$e=a([]),Me=a([]),Oe=a(),{userList:Pe,handleInput:qe}=ie({wrapperRef:Te,keywordRef:ze,before:()=>{$e.value.length>0||(Pe.value=Be)}}),Fe=n((()=>"relay"===ue.mode?[]:X(ue.disabledIds,[Ee.userInfo.id]))),He=n((()=>{var e;return(null==(e=Ee.sessionList)?void 0:e.length)?K(Ee.sessionList).map((e=>({id:e.receiver,name:e.name,avatar:e.avatar,chatType:e.chatType,roleInfo:e.roleInfo||""}))):[]})),Je=n((()=>He.value.filter((e=>e.chatType===O.SINGLE)))),Ke=n((()=>He.value.filter((e=>e.chatType===O.GROUP)))),Qe=n((()=>De.value.length?De.value.map((e=>e.id)):[])),We=n((()=>"create"===ue.mode?Qe.value.length<3:Qe.value.length<1)),Xe=n({get:()=>Ye.value.filter((e=>!al(e))).length===Pe.value.filter((e=>!al(e.id))).length,set(e){const l=[];if(Pe.value.forEach((e=>{var a;if(1==e.type&&(null==(a=e.children)?void 0:a.length)){const a=il(e.children||[]).filter((e=>!al(e.id)));l.push(...a)}else al(e.id)||l.push(e)})),e)De.value=Y(De.value,l,"id");else{const e=l.map((e=>e.id));Z(De.value,(l=>e.includes(l.id)))}}}),Ye=n({get(){var e,l,a;return null!=(a=null==(l=null==(e=Pe.value)?void 0:e.filter((e=>{var l;if(1==e.type&&(null==(l=e.children)?void 0:l.length)){const l=il(e.children||[]).map((e=>e.id)).filter((e=>!al(e)));return ee(l,Qe.value).length===l.length}return Qe.value.includes(e.id)})))?void 0:l.map((e=>e.id)))?a:[]},set(e){Pe.value.forEach((l=>{var a;const n=[];1==l.type&&(null==(a=l.children)?void 0:a.length)?n.push(...il(l.children||[]).filter((e=>!al(e.id)))):n.push(l),e.includes(l.id)?De.value=Y(De.value,n,"id"):Z(De.value,(e=>n.some((l=>l.id===e.id))))}))}}),Ze=n((()=>{var e;return $e.value.length>0?null==(e=le($e.value))?void 0:e.key:""})),el=n((()=>!("relay"!==ue.mode&&["group","org"].includes(Ze.value)&&1===$e.value.length)));function ll(e){e.forEach((e=>{var l;1==e.type&&(null==(l=e.children)?void 0:l.length)?(e.total=il(e.children).length,ll(e.children)):2==e.type&&(e.total=0)}))}function al(e){var l,a;return"group"===Ze.value?"relay"!==ue.mode&&(1===$e.value.length||(null==(l=Fe.value)?void 0:l.includes(e))):null==(a=Fe.value)?void 0:a.includes(e)}function nl(){$e.value.length>1?"group"===Ze.value?Pe.value=Ke.value:"org"===Ze.value&&(Pe.value=Re.map((e=>({id:e.orgId,name:e.orgName}))),Me.value=[]):Pe.value=Be,$e.value.pop()}function ol(e,l){const{id:a,children:n=[],type:o}=e;if("breadcrumb"!==l||le(Me.value).id!==a)if(o){const l=Me.value.findIndex((e=>e.id===a));l>-1?Me.value=Me.value.slice(0,l+1):Me.value.push(e),Pe.value=n,I((()=>{const e=Oe.value.$el.getElementsByTagName("ul")[0];e&&e.scrollTo(1e7,0)}))}else{const n=Re.find((e=>e.orgId===a));Me.value=[e],Pe.value=n.userList||[],l||$e.value.push({key:Ze.value,label:n.orgName})}}function tl(e){const{children:l=[]}=e;if(!l.length)return!0;const a=il(l).map((e=>e.id)).filter((e=>!Fe.value.includes(e)));return ee(a,Qe.value).length===a.length}function il(e){const l=[];return e.forEach((e=>{var a;1==e.type&&(null==(a=e.children)?void 0:a.length)?l.push(...il(e.children)):2==e.type&&l.push(e)})),l}async function rl(){const e=s(Qe);switch(ue.mode){case"create":await J({creator:Ee.userInfo.id,memberIdSet:e,name:te(Ge.value),orgId:Ee.orgId});break;case"join":if(await H({groupId:Ee.currentSessionItem.receiver,operator:Ee.userInfo.id,memberIdSet:e}),!Ee.currentSessionItem.defaultName){const e=De.value.map((e=>e.name)).join(",");Ne({name:`${Ee.currentSessionItem.name},${e}`})}Ee.currentGroupUser.push(...Pe.value.filter((l=>e.includes(l.id))));break;case"remove":if(await F({dissolution:!1,groupId:Ee.currentSessionItem.receiver,operator:Ee.userInfo.id,memberIdSet:e}),!Ee.currentSessionItem.defaultName){const e=De.value.map((e=>e.name)).join(","),l=new RegExp(e,"g");Ne({name:Ee.currentSessionItem.name.replace(l,"")})}Z(Ee.currentGroupUser,(l=>e.includes(l.id)));break;default:re("comfirm",{checkedIds:e,checkedOptions:De.value,remark:Ve.value})}Ae.value=!1}return async function(){try{const e=await P();Re=ae(e)?e:[],Re.forEach((e=>ll(e.userList||[])))}catch(e){console.log("error ==>",e)}}(),o((()=>Ae.value),(e=>{if(!e)return;ze.value="",Ge.value="",$e.value=[],Me.value=[];const l="relay"===ue.mode?He.value:Je.value,a=ae(ue.options)&&ue.options.length?ue.options:l;Be=ne(a,"id"),Pe.value=Be,De.value=ae(ue.defaultValue)&&ue.defaultValue.length?oe(ue.defaultValue):[]})),(a,n)=>{var o,I;return t(),i(r,null,[u(s(C),{preset:"dialog",title:l.title,"show-icon":!1,"auto-focus":!1,"trap-focus":!1,class:"iho-chat-dialog",show:Ae.value,"onUpdate:show":n[5]||(n[5]=e=>Ae.value=e),"negative-text":(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.28"))||"取消","positive-text":(null==(I=window.getLanguageByCode)?void 0:I.call(window,"10010.1.27"))||"确定","display-directive":"show","positive-button-props":{disabled:s(We)},onPositiveClick:rl},{default:d((()=>{var a,o,b,I,C,T,$,M,O;return[e("div",se,["create"===l.mode?(t(),i("div",de,[ce,u(s(_),{clearable:"",placeholder:(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.35"))||"取个群名称方便后续搜索",value:Ge.value,"onUpdate:value":n[0]||(n[0]=e=>Ge.value=e),valueModifiers:{trim:!0}},null,8,["value"])])):c("v-if",!0),e("div",ve,[e("div",pe,[u(s(_),{placeholder:(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.36"))||"搜索",clearable:"",value:ze.value,"onUpdate:value":[n[1]||(n[1]=e=>ze.value=e),s(qe)],valueModifiers:{trim:!0}},{prefix:d((()=>[u(s(x),{component:s(z)},null,8,["component"])])),_:1},8,["value","onUpdate:value"]),ze.value||"remove"===l.mode?c("v-if",!0):(t(),i("div",fe,[0===$e.value.length?(t(),v(s(L),{key:0,justify:"space-around","wrap-item":!1},{default:d((()=>[(t(),i(r,null,p(Ue,(l=>u(s(L),{vertical:"",align:"center","wrap-item":!1,key:l.key,onClick:()=>function(e){switch(ze.value="",$e.value=[e],e.key){case"single":Pe.value=Je.value;break;case"group":Pe.value=Ke.value;break;case"org":Pe.value=Re.map((e=>({id:e.orgId,name:e.orgName})))}}(l)},{default:d((()=>[u(s(j),{tertiary:""},{icon:d((()=>["org"===l.key?(t(),i("i",ge)):(t(),v(s(x),{key:1,component:"single"===l.key?s(A):s(D)},null,8,["component"]))])),_:2},1024),e("span",me,f(l.label),1)])),_:2},1032,["onClick"]))),64))])),_:1})):c("v-if",!0),$e.value.length>0?(t(),i("div",he,[u(s(j),{text:"",onClick:nl},{icon:d((()=>[u(s(x),{component:s(G)},null,8,["component"])])),_:1}),e("h4",null,f(null==(b=s(le)($e.value))?void 0:b.label),1)])):c("v-if",!0),$e.value.length>0&&"org"===(null==(I=s(le)($e.value))?void 0:I.key)&&Me.value.length>0?(t(),v(s(S),{key:2,ref_key:"breadcrumbRef",ref:Oe,separator:">"},{default:d((()=>[(t(!0),i(r,null,p(Me.value,(e=>(t(),v(s(B),{key:e.id,onClick:l=>ol(e,"breadcrumb")},{default:d((()=>[g(f(e.name),1)])),_:2},1032,["onClick"])))),128))])),_:1},512)):c("v-if",!0)])),e("div",ye,[s(Pe).length>0?(t(),i(r,{key:0},[m(u(s(U),{label:(null==(C=window.getLanguageByCode)?void 0:C.call(window,"10010.1.37"))||"全选",checked:s(Xe),"onUpdate:checked":n[2]||(n[2]=e=>h(Xe)?Xe.value=e:null)},null,8,["checked"]),[[y,s(el)]]),"org"===s(Ze)&&1===$e.value.length?(t(),i("div",we,[(t(!0),i(r,null,p(s(Pe),(l=>(t(),v(s(L),{"wrap-item":!1,align:"center",justify:"space-between",key:l.Id,onClick:e=>ol(l)},{default:d((()=>[e("span",null,f(l.name),1),u(s(x),{size:"16",component:s(V)},null,8,["component"])])),_:2},1032,["onClick"])))),128))])):(t(),v(s(R),{key:1,ref_key:"listRef",ref:Te,value:s(Ye),"onUpdate:value":n[3]||(n[3]=e=>h(Ye)?Ye.value=e:null)},{default:d((()=>[(t(!0),i(r,null,p(s(Pe),(l=>(t(),v(s(U),{key:l.id,value:l.id,disabled:al(l.id),onClick:()=>async function(e){const l=s(Ze);if(l&&"relay"!==ue.mode&&"group"===l&&1===$e.value.length)try{$e.value.push({key:l,label:e.name});const a=await q({id:e.id});Pe.value=ae(a)?a:[]}catch(e){console.log("error ==>",e)}}(l)},{default:d((()=>[u(s(L),{align:"center","wrap-item":!1,wrap:!1},{default:d((()=>[u(s(E),{src:l.avatar,round:"",size:32},null,8,["src"]),e("div",ke,[e("span",be,f(l.name),1),m(e("label",{class:w(["iho-chatRole",s(Q)(l.roleInfo)?"isDoctor":""])},f(s(W)(l.roleInfo)),3),[[y,s(W)(l.roleInfo)]])]),l.total?(t(),i("span",Ie," ("+f(l.total)+"人) ",1)):c("v-if",!0),1==l.type&&l.children.length>0?(t(),v(s(j),{key:1,type:"primary",text:"",disabled:tl(l),style:{"margin-left":"auto"},onClick:k((e=>ol(l)),["stop"])},{default:d((()=>[g(" 下级 ")])),_:2},1032,["disabled","onClick"])):c("v-if",!0)])),_:2},1024)])),_:2},1032,["value","disabled","onClick"])))),128))])),_:1},8,["value"]))],64)):(t(),i("div",Ce,(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.38"))||"找不到相关结果"))])]),e("div",_e,[e("span",null,((null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.39"))||"已选择")+f(s(Qe).length)+((null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.40"))||"人"),1),e("div",xe,[(t(!0),i(r,null,p(De.value,(a=>(t(),v(s(N),{key:a.id,bordered:!1,closable:"relay"===l.mode||a.id!==s(Ee).userInfo.id,disabled:s(Fe).includes(a.id),onClose:()=>{return e=a.id,void Z(De.value,(l=>l.id===e));var e}},{avatar:d((()=>[u(s(E),{round:"",src:a.avatar},null,8,["src"])])),default:d((()=>[e("div",Le,[e("span",je,f(a.name),1),m(e("label",{class:w(["iho-chatRole",s(Q)(a.roleInfo)?"isDoctor":""])},f(s(W)(a.roleInfo)),3),[[y,s(W)(a.roleInfo)]])])])),_:2},1032,["closable","disabled","onClose"])))),128))]),"relay"===l.mode?(t(),i("div",Se,[u(s(_),{clearable:"",value:Ve.value,"onUpdate:value":n[4]||(n[4]=e=>Ve.value=e),type:"textarea",placeholder:(null==(O=window.getLanguageByCode)?void 0:O.call(window,"10010.1.41"))||"留言",autosize:{minRows:2,maxRows:2}},null,8,["value"])])):c("v-if",!0)])])])]})),_:1},8,["title","show","positive-button-props"]),e("span",{class:w(["btn-wrapper",{disabled:l.disabled}]),onClick:n[6]||(n[6]=e=>Ae.value=!0)},[b(a.$slots,"trigger",{},(()=>[u(s(T),{"show-arrow":!1,placement:"bottom"},{trigger:d((()=>[u(s(j),{color:"#ffffff4D",class:"add-btn"},{icon:d((()=>[u(s(x),{component:s($),color:"#fff"},null,8,["component"])])),_:1})])),default:d((()=>[g(" "+f(l.title),1)])),_:1})]))],2)],64)}}});export{Be as default};
1
+ import{createElementVNode as e,defineComponent as l,ref as a,computed as n,watch as o,openBlock as t,createElementBlock as i,Fragment as r,createVNode as u,unref as s,withCtx as d,createCommentVNode as c,createBlock as v,renderList as p,toDisplayString as f,createTextVNode as g,withDirectives as m,isRef as h,vShow as y,normalizeClass as w,withModifiers as k,renderSlot as b,nextTick as I}from"vue";import{NModal as C,NInput as _,NIcon as x,NSpace as L,NButton as j,NBreadcrumb as S,NBreadcrumbItem as B,NCheckbox as U,NCheckboxGroup as R,NAvatar as E,NTag as N,NTooltip as T}from"naive-ui";import{SearchOutline as z,PersonOutline as A,PeopleOutline as D,ChevronBackOutline as G,ChevronForwardOutline as O,AddOutline as V}from"@vicons/ionicons5";import{useData as $}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as M}from"../constants/index.js";import{getOrgUserTreeApi as P,groupUserApi as q,groupLeaveApi as F,groupJoinApi as H,groupCreateApi as J}from"../api/index.js";import{listSort as K,isDoctorRole as Q,getRoleName as W}from"../utils/index.js";import{union as X,unionBy as Y,remove as Z,intersection as ee,last as le,isArray as ae,uniqBy as ne,cloneDeep as oe,trim as te}from"lodash-es";import"trtc-sdk-v5";import{useSearchUserList as ie}from"../hooks/useSearchUserList.js";var re,ue;const se={class:"iho-chat-dialog__content iho-chat-add-wrapper"},de={key:0,class:"input-box"},ce=e("span",null,(null==(re=window.getLanguageByCode)?void 0:re.call(window,"10010.1.34"))||"群名称:",-1),ve={class:"transfer-box"},pe={class:"transfer-box__left"},fe={key:0,class:"nav-wrapper"},ge={key:0,class:"chat--iconfont chat--icon-map-site"},me={style:{"font-size":"12px"}},he={key:1,class:"header"},ye={class:"user-list-box"},we={key:0,class:"org-list"},ke={class:"seach-box"},be={class:"ellipsis"},Ie={key:0,style:{"font-size":"12px",color:"#666","margin-right":"10px","white-space":"nowrap"}},Ce={key:1,class:"no-data"},_e={class:"transfer-box__right"},xe={class:"checked-tag-box"},Le={class:"seach-box"},je={class:"ellipsis"},Se={key:0,class:"input-wrapper"};var Be=l({__name:"ChatAdd",props:{title:{type:String,default:(null==(ue=window.getLanguageByCode)?void 0:ue.call(window,"10010.1.42"))||"添加新成员"},mode:{type:String,default:"select"},options:{type:Array},disabledIds:{type:Array,default:()=>[]},defaultValue:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["comfirm"],setup(l,{emit:re}){const ue=l;let Be=[];const Ue=[{key:"single",label:"按好友选"},{key:"group",label:"按群聊选"},{key:"org",label:"按架构选"}];let Re=[];const{state:Ee,setCurrentSessionItem:Ne}=$(),Te=a(),ze=a(""),Ae=a(!1),De=a([]),Ge=a(""),Oe=a(""),Ve=a([]),$e=a([]),Me=a(),{userList:Pe,handleInput:qe}=ie({wrapperRef:Te,keywordRef:ze,before:()=>{Ve.value.length>0||(Pe.value=Be)}}),Fe=n((()=>"relay"===ue.mode?[]:X(ue.disabledIds,[Ee.userInfo.id]))),He=n((()=>{var e;return(null==(e=Ee.sessionList)?void 0:e.length)?K(Ee.sessionList).map((e=>({id:e.receiver,name:e.name,avatar:e.avatar,chatType:e.chatType,roleInfo:e.roleInfo||""}))):[]})),Je=n((()=>He.value.filter((e=>e.chatType===M.SINGLE)))),Ke=n((()=>He.value.filter((e=>e.chatType===M.GROUP)))),Qe=n((()=>De.value.length?De.value.map((e=>e.id)):[])),We=n((()=>"create"===ue.mode?Qe.value.length<3:Qe.value.length<1)),Xe=n({get:()=>Ye.value.filter((e=>!nl(e))).length===Pe.value.filter((e=>!nl(e.id))).length,set(e){const l=[];if(Pe.value.forEach((e=>{var a;if(1==e.type&&(null==(a=e.children)?void 0:a.length)){const a=rl(e.children||[]).filter((e=>!nl(e.id)));console.log("users",a.length),l.push(...a)}else nl(e.id)||l.push(e)})),e)De.value=Y(De.value,l,"id");else{const e=l.map((e=>e.id));Z(De.value,(l=>e.includes(l.id)))}}}),Ye=n({get(){var e,l,a;return null!=(a=null==(l=null==(e=Pe.value)?void 0:e.filter((e=>{var l;if(1==e.type&&(null==(l=e.children)?void 0:l.length)){const l=rl(e.children||[]).map((e=>e.id)).filter((e=>!nl(e)));return ee(l,Qe.value).length===l.length}return Qe.value.includes(e.id)})))?void 0:l.map((e=>e.id)))?a:[]},set(e){Pe.value.forEach((l=>{var a;const n=[];1==l.type&&(null==(a=l.children)?void 0:a.length)?n.push(...rl(l.children||[]).filter((e=>!nl(e.id)))):n.push(l),e.includes(l.id)?(console.log("currentUsers>>>>",De.value,n.length),De.value=Y(De.value,n,"id"),console.log("checkedOptions>>>>",De.value)):(console.log("checkedOptions2222>>>>",De.value.length,n.length),Z(De.value,(e=>n.some((l=>l.id===e.id)))))}))}}),Ze=n((()=>{var e;return Ve.value.length>0?null==(e=le(Ve.value))?void 0:e.key:""})),el=n((()=>!("relay"!==ue.mode&&["group","org"].includes(Ze.value)&&1===Ve.value.length)));function ll(){"remove"!=ue.mode?qe():Pe.value=Be.filter((e=>e.name.includes(ze.value.trim())))}function al(e){e.forEach((e=>{var l;1==e.type&&(null==(l=e.children)?void 0:l.length)?(e.total=rl(e.children).length,al(e.children)):2==e.type&&(e.total=0)}))}function nl(e){var l,a;return"group"===Ze.value?"relay"!==ue.mode&&(1===Ve.value.length||(null==(l=Fe.value)?void 0:l.includes(e))):null==(a=Fe.value)?void 0:a.includes(e)}function ol(){Ve.value.length>1?"group"===Ze.value?Pe.value=Ke.value:"org"===Ze.value&&(Pe.value=Re.map((e=>({id:e.orgId,name:e.orgName}))),$e.value=[]):Pe.value=Be,Ve.value.pop()}function tl(e,l){const{id:a,children:n=[],type:o}=e;if("breadcrumb"!==l||le($e.value).id!==a)if(o){const l=$e.value.findIndex((e=>e.id===a));l>-1?$e.value=$e.value.slice(0,l+1):$e.value.push(e),Pe.value=n,I((()=>{const e=Me.value.$el.getElementsByTagName("ul")[0];e&&e.scrollTo(1e7,0)}))}else{const n=Re.find((e=>e.orgId===a));$e.value=[e],Pe.value=n.userList||[],l||Ve.value.push({key:Ze.value,label:n.orgName})}}function il(e){const{children:l=[]}=e;if(!l.length)return!0;const a=rl(l).map((e=>e.id)).filter((e=>!Fe.value.includes(e)));return ee(a,Qe.value).length===a.length}function rl(e){const l=[];return e.forEach((e=>{var a;1==e.type&&(null==(a=e.children)?void 0:a.length)?l.push(...rl(e.children)):2==e.type&&l.push(e)})),l}async function ul(){const e=s(Qe);switch(ue.mode){case"create":await J({creator:Ee.userInfo.id,memberIdSet:e,name:te(Ge.value),orgId:Ee.orgId});break;case"join":if(await H({groupId:Ee.currentSessionItem.receiver,operator:Ee.userInfo.id,memberIdSet:e}),!Ee.currentSessionItem.defaultName){const e=De.value.map((e=>e.name)).join(",");Ne({name:`${Ee.currentSessionItem.name},${e}`})}Ee.currentGroupUser.push(...Pe.value.filter((l=>e.includes(l.id))));break;case"remove":if(await F({dissolution:!1,groupId:Ee.currentSessionItem.receiver,operator:Ee.userInfo.id,memberIdSet:e}),!Ee.currentSessionItem.defaultName){const e=De.value.map((e=>e.name)).join(","),l=new RegExp(e,"g");Ne({name:Ee.currentSessionItem.name.replace(l,"")})}Z(Ee.currentGroupUser,(l=>e.includes(l.id)));break;default:re("comfirm",{checkedIds:e,checkedOptions:De.value,remark:Oe.value})}Ae.value=!1}return async function(){try{const e=await P();Re=ae(e)?e:[],Re.forEach((e=>al(e.userList||[])))}catch(e){console.log("error ==>",e)}}(),o((()=>Ae.value),(e=>{if(!e)return;ze.value="",Ge.value="",Ve.value=[],$e.value=[];const l="relay"===ue.mode?He.value:Je.value,a=ae(ue.options)&&ue.options.length?ue.options:l;Be=ne(a,"id"),Pe.value=Be,De.value=ae(ue.defaultValue)&&ue.defaultValue.length?oe(ue.defaultValue):[]})),(a,n)=>{var o,I;return t(),i(r,null,[u(s(C),{preset:"dialog",title:l.title,"show-icon":!1,"auto-focus":!1,"trap-focus":!1,class:"iho-chat-dialog",show:Ae.value,"onUpdate:show":n[5]||(n[5]=e=>Ae.value=e),"negative-text":(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.28"))||"取消","positive-text":(null==(I=window.getLanguageByCode)?void 0:I.call(window,"10010.1.27"))||"确定","display-directive":"show","positive-button-props":{disabled:s(We)},onPositiveClick:ul},{default:d((()=>{var a,o,b,I,C,T,V,$,M;return[e("div",se,["create"===l.mode?(t(),i("div",de,[ce,u(s(_),{clearable:"",placeholder:(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.35"))||"取个群名称方便后续搜索",value:Ge.value,"onUpdate:value":n[0]||(n[0]=e=>Ge.value=e),valueModifiers:{trim:!0}},null,8,["value"])])):c("v-if",!0),e("div",ve,[e("div",pe,[u(s(_),{placeholder:(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.36"))||"搜索",clearable:"",value:ze.value,"onUpdate:value":[n[1]||(n[1]=e=>ze.value=e),ll],valueModifiers:{trim:!0}},{prefix:d((()=>[u(s(x),{component:s(z)},null,8,["component"])])),_:1},8,["value"]),ze.value||"remove"===l.mode?c("v-if",!0):(t(),i("div",fe,[0===Ve.value.length?(t(),v(s(L),{key:0,justify:"space-around","wrap-item":!1},{default:d((()=>[(t(),i(r,null,p(Ue,(l=>u(s(L),{vertical:"",align:"center","wrap-item":!1,key:l.key,onClick:()=>function(e){switch(ze.value="",Ve.value=[e],e.key){case"single":Pe.value=Je.value;break;case"group":Pe.value=Ke.value;break;case"org":Pe.value=Re.map((e=>({id:e.orgId,name:e.orgName})))}}(l)},{default:d((()=>[u(s(j),{tertiary:""},{icon:d((()=>["org"===l.key?(t(),i("i",ge)):(t(),v(s(x),{key:1,component:"single"===l.key?s(A):s(D)},null,8,["component"]))])),_:2},1024),e("span",me,f(l.label),1)])),_:2},1032,["onClick"]))),64))])),_:1})):c("v-if",!0),Ve.value.length>0?(t(),i("div",he,[u(s(j),{text:"",onClick:ol},{icon:d((()=>[u(s(x),{component:s(G)},null,8,["component"])])),_:1}),e("h4",null,f(null==(b=s(le)(Ve.value))?void 0:b.label),1)])):c("v-if",!0),Ve.value.length>0&&"org"===(null==(I=s(le)(Ve.value))?void 0:I.key)&&$e.value.length>0?(t(),v(s(S),{key:2,ref_key:"breadcrumbRef",ref:Me,separator:">"},{default:d((()=>[(t(!0),i(r,null,p($e.value,(e=>(t(),v(s(B),{key:e.id,onClick:l=>tl(e,"breadcrumb")},{default:d((()=>[g(f(e.name),1)])),_:2},1032,["onClick"])))),128))])),_:1},512)):c("v-if",!0)])),e("div",ye,[s(Pe).length>0?(t(),i(r,{key:0},[m(u(s(U),{label:(null==(C=window.getLanguageByCode)?void 0:C.call(window,"10010.1.37"))||"全选",checked:s(Xe),"onUpdate:checked":n[2]||(n[2]=e=>h(Xe)?Xe.value=e:null)},null,8,["checked"]),[[y,s(el)]]),"org"===s(Ze)&&1===Ve.value.length?(t(),i("div",we,[(t(!0),i(r,null,p(s(Pe),(l=>(t(),v(s(L),{"wrap-item":!1,align:"center",justify:"space-between",key:l.Id,onClick:e=>tl(l)},{default:d((()=>[e("span",null,f(l.name),1),u(s(x),{size:"16",component:s(O)},null,8,["component"])])),_:2},1032,["onClick"])))),128))])):(t(),v(s(R),{key:1,ref_key:"listRef",ref:Te,value:s(Ye),"onUpdate:value":n[3]||(n[3]=e=>h(Ye)?Ye.value=e:null)},{default:d((()=>[(t(!0),i(r,null,p(s(Pe),(l=>(t(),v(s(U),{key:l.id,value:l.id,disabled:nl(l.id),onClick:()=>async function(e){const l=s(Ze);if(l&&"relay"!==ue.mode&&"group"===l&&1===Ve.value.length)try{Ve.value.push({key:l,label:e.name});const a=await q({id:e.id});Pe.value=ae(a)?a:[]}catch(e){console.log("error ==>",e)}}(l)},{default:d((()=>[u(s(L),{align:"center","wrap-item":!1,wrap:!1},{default:d((()=>[u(s(E),{src:l.avatar,round:"",size:32},null,8,["src"]),e("div",ke,[e("span",be,f(l.name),1),m(e("label",{class:w(["iho-chatRole",s(Q)(l.roleInfo)?"isDoctor":""])},f(s(W)(l.roleInfo)),3),[[y,s(W)(l.roleInfo)]])]),l.total?(t(),i("span",Ie," ("+f(l.total)+"人) ",1)):c("v-if",!0),1==l.type&&l.children.length>0?(t(),v(s(j),{key:1,type:"primary",text:"",disabled:il(l),style:{"margin-left":"auto"},onClick:k((e=>tl(l)),["stop"])},{default:d((()=>[g(" 下级 ")])),_:2},1032,["disabled","onClick"])):c("v-if",!0)])),_:2},1024)])),_:2},1032,["value","disabled","onClick"])))),128))])),_:1},8,["value"]))],64)):(t(),i("div",Ce,(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.38"))||"找不到相关结果"))])]),e("div",_e,[e("span",null,((null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.39"))||"已选择")+f(s(Qe).length)+((null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.40"))||"人"),1),e("div",xe,[(t(!0),i(r,null,p(De.value,(a=>(t(),v(s(N),{key:a.id,bordered:!1,closable:"relay"===l.mode||a.id!==s(Ee).userInfo.id,disabled:s(Fe).includes(a.id),onClose:()=>{return e=a.id,void Z(De.value,(l=>l.id===e));var e}},{avatar:d((()=>[u(s(E),{round:"",src:a.avatar},null,8,["src"])])),default:d((()=>[e("div",Le,[e("span",je,f(a.name),1),m(e("label",{class:w(["iho-chatRole",s(Q)(a.roleInfo)?"isDoctor":""])},f(s(W)(a.roleInfo)),3),[[y,s(W)(a.roleInfo)]])])])),_:2},1032,["closable","disabled","onClose"])))),128))]),"relay"===l.mode?(t(),i("div",Se,[u(s(_),{clearable:"",value:Oe.value,"onUpdate:value":n[4]||(n[4]=e=>Oe.value=e),type:"textarea",placeholder:(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.41"))||"留言",autosize:{minRows:2,maxRows:2}},null,8,["value"])])):c("v-if",!0)])])])]})),_:1},8,["title","show","positive-button-props"]),e("span",{class:w(["btn-wrapper",{disabled:l.disabled}]),onClick:n[6]||(n[6]=e=>Ae.value=!0)},[b(a.$slots,"trigger",{},(()=>[u(s(T),{"show-arrow":!1,placement:"bottom"},{trigger:d((()=>[u(s(j),{color:"#ffffff4D",class:"add-btn"},{icon:d((()=>[u(s(x),{component:s(V),color:"#fff"},null,8,["component"])])),_:1})])),default:d((()=>[g(" "+f(l.title),1)])),_:1})]))],2)],64)}}});export{Be as default};
@@ -214,6 +214,7 @@ declare const _default: import("vue").DefineComponent<{
214
214
  currentTabKey: import("vue").ComputedRef<any>;
215
215
  showAllCheckbox: import("vue").ComputedRef<boolean>;
216
216
  getOrgList: () => Promise<void>;
217
+ handleSearchInput: () => void;
217
218
  setUserTotal: (tree: AnyObject[]) => void;
218
219
  getDisabled: (id: string | number) => boolean;
219
220
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -205,6 +205,7 @@ declare const _default: import("vue").DefineComponent<{}, {
205
205
  currentTabKey: import("vue").ComputedRef<any>;
206
206
  showAllCheckbox: import("vue").ComputedRef<boolean>;
207
207
  getOrgList: () => Promise<void>;
208
+ handleSearchInput: () => void;
208
209
  setUserTotal: (tree: AnyObject[]) => void;
209
210
  getDisabled: (id: string | number) => boolean;
210
211
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -252,6 +252,7 @@ declare const _default: import("vue").DefineComponent<{}, {
252
252
  currentTabKey: import("vue").ComputedRef<any>;
253
253
  showAllCheckbox: import("vue").ComputedRef<boolean>;
254
254
  getOrgList: () => Promise<void>;
255
+ handleSearchInput: () => void;
255
256
  setUserTotal: (tree: AnyObject[]) => void;
256
257
  getDisabled: (id: string | number) => boolean;
257
258
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -532,6 +533,7 @@ declare const _default: import("vue").DefineComponent<{}, {
532
533
  currentTabKey: import("vue").ComputedRef<any>;
533
534
  showAllCheckbox: import("vue").ComputedRef<boolean>;
534
535
  getOrgList: () => Promise<void>;
536
+ handleSearchInput: () => void;
535
537
  setUserTotal: (tree: AnyObject[]) => void;
536
538
  getDisabled: (id: string | number) => boolean;
537
539
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -820,6 +822,60 @@ declare const _default: import("vue").DefineComponent<{}, {
820
822
  default: string[][];
821
823
  findEmoji(name: string): any;
822
824
  };
825
+ MessageEvent: import("vue").DefineComponent<{
826
+ data: {
827
+ type: import("vue").PropType<AnyObject>;
828
+ required: true;
829
+ };
830
+ }, {
831
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
832
+ data: {
833
+ type: import("vue").PropType<AnyObject>;
834
+ required: true;
835
+ };
836
+ }>> & {}>>;
837
+ state: {
838
+ orgId: string | number;
839
+ currentSessionItem: AnyObject;
840
+ id: string;
841
+ userInfo: AnyObject;
842
+ msgList: AnyObject[];
843
+ currentMsg: AnyObject;
844
+ isAppendMsg: boolean;
845
+ sessionList: AnyObject[];
846
+ isChangeSession: boolean;
847
+ updateSessionItem: AnyObject;
848
+ isUpdateSession: boolean;
849
+ currentReferenceMsg: AnyObject | null;
850
+ currentReEditMsg: AnyObject | null;
851
+ showVideo: boolean;
852
+ currentAVMsg: AnyObject;
853
+ currentGroupUser: AnyObject[];
854
+ showMultipleVideo: boolean;
855
+ userDetail: {
856
+ show: boolean;
857
+ position: {
858
+ x: number;
859
+ y: number;
860
+ };
861
+ userId: string;
862
+ info: AnyObject | null;
863
+ };
864
+ isForward: boolean;
865
+ };
866
+ setUserDetail: (event: MouseEvent, userDetail: AnyObject) => void;
867
+ inviter: import("vue").Ref<any>;
868
+ invitee: import("vue").Ref<any[]>;
869
+ isValidJSON: (str: string) => boolean;
870
+ getTask: (_id: string | number, arrRes: AnyObject[]) => () => Promise<unknown>;
871
+ getEventContent: (data: AnyObject) => Promise<void>;
872
+ NButton: any;
873
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
874
+ data: {
875
+ type: import("vue").PropType<AnyObject>;
876
+ required: true;
877
+ };
878
+ }>>, {}>;
823
879
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
824
880
  visible: {
825
881
  type: BooleanConstructor;
@@ -956,6 +1012,7 @@ declare const _default: import("vue").DefineComponent<{}, {
956
1012
  currentTabKey: import("vue").ComputedRef<any>;
957
1013
  showAllCheckbox: import("vue").ComputedRef<boolean>;
958
1014
  getOrgList: () => Promise<void>;
1015
+ handleSearchInput: () => void;
959
1016
  setUserTotal: (tree: AnyObject[]) => void;
960
1017
  getDisabled: (id: string | number) => boolean;
961
1018
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -515,6 +515,7 @@ declare const _default: import("vue").DefineComponent<{}, {
515
515
  currentTabKey: import("vue").ComputedRef<any>;
516
516
  showAllCheckbox: import("vue").ComputedRef<boolean>;
517
517
  getOrgList: () => Promise<void>;
518
+ handleSearchInput: () => void;
518
519
  setUserTotal: (tree: AnyObject[]) => void;
519
520
  getDisabled: (id: string | number) => boolean;
520
521
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -214,6 +214,60 @@ declare const _default: import("vue").DefineComponent<{
214
214
  default: string[][];
215
215
  findEmoji(name: string): any;
216
216
  };
217
+ MessageEvent: import("vue").DefineComponent<{
218
+ data: {
219
+ type: PropType<AnyObject>;
220
+ required: true;
221
+ };
222
+ }, {
223
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
224
+ data: {
225
+ type: PropType<AnyObject>;
226
+ required: true;
227
+ };
228
+ }>> & {}>>;
229
+ state: {
230
+ orgId: string | number;
231
+ currentSessionItem: AnyObject;
232
+ id: string;
233
+ userInfo: AnyObject;
234
+ msgList: AnyObject[];
235
+ currentMsg: AnyObject;
236
+ isAppendMsg: boolean;
237
+ sessionList: AnyObject[];
238
+ isChangeSession: boolean;
239
+ updateSessionItem: AnyObject;
240
+ isUpdateSession: boolean;
241
+ currentReferenceMsg: AnyObject | null;
242
+ currentReEditMsg: AnyObject | null;
243
+ showVideo: boolean;
244
+ currentAVMsg: AnyObject;
245
+ currentGroupUser: AnyObject[];
246
+ showMultipleVideo: boolean;
247
+ userDetail: {
248
+ show: boolean;
249
+ position: {
250
+ x: number;
251
+ y: number;
252
+ };
253
+ userId: string;
254
+ info: AnyObject | null;
255
+ };
256
+ isForward: boolean;
257
+ };
258
+ setUserDetail: (event: MouseEvent, userDetail: AnyObject) => void;
259
+ inviter: import("vue").Ref<any>;
260
+ invitee: import("vue").Ref<any[]>;
261
+ isValidJSON: (str: string) => boolean;
262
+ getTask: (_id: string | number, arrRes: AnyObject[]) => () => Promise<unknown>;
263
+ getEventContent: (data: AnyObject) => Promise<void>;
264
+ NButton: any;
265
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
266
+ data: {
267
+ type: PropType<AnyObject>;
268
+ required: true;
269
+ };
270
+ }>>, {}>;
217
271
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
218
272
  visible: {
219
273
  type: BooleanConstructor;
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as a,ref as l,watch as t,openBlock as s,createBlock as n,unref as r,withCtx as o,createVNode as i,toDisplayString as u,normalizeStyle as d,resolveDynamicComponent as c,createElementBlock as v,Fragment as m,renderList as p,createCommentVNode as f,withDirectives as g,normalizeClass as h,vShow as y,createTextVNode as w}from"vue";import{NModal as _,NAvatar as b,NInputGroup as T,NInput as k,NSelect as M,NPopover as I,NTag as x,NIcon as j}from"naive-ui";import{SearchOutline as C}from"@vicons/ionicons5";import{useData as L}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{searchChatRecordApi as S}from"../api/index.js";import{transformMessage as H,isDoctorRole as D,getRoleName as U,formatTime as B}from"../utils/index.js";import{last as E}from"lodash-es";import"trtc-sdk-v5";import N from"../../../date-picker/index.js";import{useDebounceFn as z}from"@vueuse/core";import{format as O}from"date-fns";import"../../../../shared/utils/index.js";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{useScrollLoading as R}from"../../../../shared/hooks/useScrollLoading.js";import{emojis as G}from"../utils/emoji.js";var $,J;const W={class:"iho-chat-dialog__header"},F=e("span",{class:"left"},(null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.65"))||"聊天记录",-1),P={class:"center"},V={class:"chat-record-box"},q={class:"msg-box"},K={class:"name-and-time"},Q={class:"seach-box"},X={class:"ellipsis"},Y={style:{"white-space":"nowrap"}},Z={class:"content"},ee=["src"],ae={class:"file-type"},le={class:"text"},te={class:"name"},se={class:"detail"},ne=["src"],re=["innerHTML"],oe={key:1,class:"no-data"},ie={class:"chat-record-box__filter"},ue=e("span",{class:"filter-title"},(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.72"))||"添加筛选条件",-1),de={class:"filter-item"},ce=e("span",{class:"label"},"成员:",-1),ve={class:"filter-item"},me=e("span",{class:"label"},"日期:",-1),pe={class:"time-target"},fe={class:"time-target__item"},ge=e("span",null,"开始:",-1),he={class:"tip"},ye={class:"time-target__item"},we=e("span",null,"结束:",-1),_e={class:"tip"};var be=a({__name:"ChatRecord",props:{visible:{type:Boolean}},setup(a){const $=a,J={color:"#fff",textColor:"#666"},{state:be,cssVars:Te}=L(),ke=l(),Me=l([]),Ie=l(),xe=l([]),je=l(),Ce=l(),Le=z(Be,500),Ae={page:0,hasMore:!0,lastSendTime:O(new Date,"yyyy-MM-dd HH:mm:ss")};function Se(e,a){try{const l=JSON.parse(e);return l?l[a]:""}catch(a){return e||""}}function He(e){const{size:a,sendTime:l,senderName:t}=e;return`${O(new Date(l),"yyyy/MM/dd HH:mm")} ${t}`}function De(e){const a=e.lastIndexOf(".");if(console.log("dotIndex",a),-1!==a){return e.charAt(a+1).toUpperCase()}return"?"}async function Ue(){var e;try{if(!Ae.hasMore)return;Ae.page++;const a=await S({orgId:be.orgId,keyword:Ie.value,endTime:ze(),startTime:je.value?je.value+" 00:00:00":"",lastSendTime:Ae.lastSendTime,memberIdSet:xe.value,page:Ae.page,recordType:"ALL",receiver:be.currentSessionItem.receiver,userId:be.userInfo.id});Array.isArray(a)&&0!==a.length&&Array.isArray(a[0].recordList)||(Ae.hasMore=!1);let l=a||[];Array.isArray(a)&&a.length>0&&(l=a[0].recordList.filter((e=>"WITHDRAWN"!==e.status))),Ae.lastSendTime=null==(e=E(l))?void 0:e.sendTime,l.forEach((e=>{var a,l,t;let s="";if(e.content.chatMessageType===A.TEMPLATE)s=null==(t=null==(l=null==(a=e.content)?void 0:a.messageTemplate)?void 0:l.setting)?void 0:t.title;else s=H(e.content);e.__content=s})),Me.value=Ae.page>1?Me.value.concat(l):l}catch(e){}}function Be(){Object.assign(Ae,{page:0,hasMore:!0,lastSendTime:ze()||O(new Date,"yyyy-MM-dd HH:mm:ss")}),Ue()}function Ee(e){return!!Ce.value&&e>Date.parse(`${Ce.value} 23:59:59`)}function Ne(e){return!!je.value&&e<Date.parse(je.value)}function ze(){return Ce.value?Ce.value+" 23:59:59":""}function Oe(e){switch(e){case"member":xe.value=[];break;case"start":je.value=null;break;case"end":Ce.value=null}}function Re(e){return i(m,null,[i("div",{style:"display: flex;align-items: center"},[i(b,{src:e.avatar,round:!0,size:"small"},null),i("span",{style:"margin-left: 10px"},[e.name])])])}return R(ke,(()=>{Ue()})),t([()=>xe.value,()=>je.value,()=>Ce.value],(()=>{$.visible&&Be()}),{deep:!0}),t((()=>$.visible),(e=>{e?Be():(Ie.value="",Ce.value=null,je.value=null,xe.value=[],Me.value=[])})),(a,l)=>(s(),n(r(_),{preset:"dialog",title:"","show-icon":!1,"auto-focus":!1,class:"iho-chat-dialog"},{header:o((()=>[e("div",W,[F,e("div",P,[i(r(b),{round:"",size:30,src:r(be).currentSessionItem.avatar},null,8,["src"]),e("span",null,u(r(be).currentSessionItem.name),1)])])])),default:o((()=>[e("div",{class:"iho-chat-dialog__content iho-chat-record-wrapper",style:d(r(Te))},[i(r(T),null,{default:o((()=>{var e;return[(s(),n(c((()=>[i(j,{component:C,size:18,color:"#6666"},null),xe.value.length>0?i(x,{closable:!0,bordered:!1,color:J,onClose:()=>Oe("member")},{default:()=>{var e,a;return[w("成员:")," ",xe.value.length>1?xe.value.length+((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.40"))||"人"):null==(a=be.currentGroupUser.find((e=>e.id===xe.value[0])))?void 0:a.name]}}):null,je.value?i(x,{closable:!0,bordered:!1,color:J,onClose:()=>Oe("start")},{default:()=>[w("起始时间: "),je.value]}):null,Ce.value?i(x,{closable:!0,bordered:!1,color:J,onClose:()=>Oe("end")},{default:()=>[w("结束时间: "),Ce.value]}):null])))),i(r(k),{placeholder:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.36"))||"搜索",value:Ie.value,"onUpdate:value":l[0]||(l[0]=e=>Ie.value=e),valueModifiers:{trim:!0},onInput:r(Le)},null,8,["value","onInput"])]})),_:1}),e("div",V,[e("div",{class:"chat-record-box__content",ref_key:"recordRef",ref:ke},[Me.value.length>0?(s(!0),v(m,{key:0},p(Me.value,(a=>(s(),v("div",{class:"content-item",key:a.id},[i(r(b),{round:"",size:38,src:a.senderAvatar},null,8,["src"]),e("div",q,[e("div",K,[f(" <span>{{ item.senderName }}</span> "),e("div",Q,[e("span",X,u(a.senderName),1),g(e("label",{class:h(["iho-chatRole",r(D)(a.roleInfo)?"isDoctor":""])},u(r(U)(a.roleInfo)),3),[[y,r(U)(a.roleInfo)]])]),e("span",Y,u(r(B)(a.sendTime).recordTime),1)]),e("div",Z,[a.content.chatMessageType===r(A).IMAGE?(s(),v("img",{key:0,src:Se(a.__content,"fileUrl")},null,8,ee)):a.content.chatMessageType===r(A).FILE?(s(),v(m,{key:1},[e("span",ae,u(De(a.__content)),1),e("div",le,[e("span",te,u(Se(a.__content,"fileName")),1),e("span",se,u(He(a)),1)])],64)):a.content.chatMessageType===r(A).EMOJI?(s(),v("img",{key:2,class:"emoji",src:r(G).findEmoji(a.__content)},null,8,ne)):(s(),v("p",{key:3,innerHTML:a.__content},null,8,re))])])])))),128)):(s(),v("div",oe,"没有找到相关记录"))],512),e("div",ie,[ue,e("div",de,[ce,i(r(M),{value:xe.value,"onUpdate:value":l[1]||(l[1]=e=>xe.value=e),multiple:"","max-tag-count":1,"render-label":Re,options:r(be).currentGroupUser,"value-field":"id"},null,8,["value","options"])]),e("div",ve,[me,e("div",pe,[i(r(I),{trigger:"click","show-arrow":!1},{trigger:o((()=>{var a;return[e("div",fe,[ge,g(i(r(x),{bordered:!1,color:J,closable:"",onClose:l[2]||(l[2]=()=>Oe("start"))},{default:o((()=>[w(u(je.value),1)])),_:1},512),[[y,je.value]]),g(e("span",he,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[y,!je.value]])])]})),default:o((()=>[i(r(N),{"formatted-value":je.value,"onUpdate:formatted-value":l[3]||(l[3]=e=>je.value=e),type:"date",panel:"",clearable:"","is-date-disabled":Ee},null,8,["formatted-value"])])),_:1}),i(r(I),{trigger:"click","show-arrow":!1},{trigger:o((()=>{var a;return[e("div",ye,[we,g(i(r(x),{bordered:!1,color:J,closable:"",onClose:l[4]||(l[4]=()=>Oe("end"))},{default:o((()=>[w(u(Ce.value),1)])),_:1},512),[[y,Ce.value]]),g(e("span",_e,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[y,!Ce.value]])])]})),default:o((()=>[i(r(N),{"formatted-value":Ce.value,"onUpdate:formatted-value":l[5]||(l[5]=e=>Ce.value=e),type:"date",panel:"",clearable:"","is-date-disabled":Ne},null,8,["formatted-value"])])),_:1})])])])])],4)])),_:1}))}});export{be as default};
1
+ import{createElementVNode as e,defineComponent as a,ref as l,watch as t,openBlock as s,createBlock as n,unref as r,withCtx as o,createVNode as i,toDisplayString as u,normalizeStyle as d,resolveDynamicComponent as c,createElementBlock as v,Fragment as m,renderList as p,createCommentVNode as f,withDirectives as g,normalizeClass as h,vShow as y,createTextVNode as w}from"vue";import{NModal as _,NAvatar as b,NInputGroup as T,NInput as k,NSelect as M,NPopover as I,NTag as j,NIcon as x}from"naive-ui";import{SearchOutline as C}from"@vicons/ionicons5";import{useData as L}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{searchChatRecordApi as S}from"../api/index.js";import{transformMessage as E,isDoctorRole as H,getRoleName as D,formatTime as U}from"../utils/index.js";import{last as B}from"lodash-es";import"trtc-sdk-v5";import N from"../../../date-picker/index.js";import{useDebounceFn as z}from"@vueuse/core";import{format as O}from"date-fns";import"../../../../shared/utils/index.js";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{useScrollLoading as R}from"../../../../shared/hooks/useScrollLoading.js";import{emojis as G}from"../utils/emoji.js";import $ from"./MessageEvent.vue.js";var J,V;const W={class:"iho-chat-dialog__header"},F=e("span",{class:"left"},(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.65"))||"聊天记录",-1),P={class:"center"},q={class:"chat-record-box"},K={class:"msg-box"},Q={class:"name-and-time"},X={class:"seach-box"},Y={class:"ellipsis"},Z={style:{"white-space":"nowrap"}},ee={class:"content"},ae=["src"],le={class:"file-type"},te={class:"text"},se={class:"name"},ne={class:"detail"},re=["src"],oe=["innerHTML"],ie={key:1,class:"no-data"},ue={class:"chat-record-box__filter"},de=e("span",{class:"filter-title"},(null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.72"))||"添加筛选条件",-1),ce={class:"filter-item"},ve=e("span",{class:"label"},"成员:",-1),me={class:"filter-item"},pe=e("span",{class:"label"},"日期:",-1),fe={class:"time-target"},ge={class:"time-target__item"},he=e("span",null,"开始:",-1),ye={class:"tip"},we={class:"time-target__item"},_e=e("span",null,"结束:",-1),be={class:"tip"};var Te=a({__name:"ChatRecord",props:{visible:{type:Boolean}},setup(a){const J=a,V={color:"#fff",textColor:"#666"},{state:Te,cssVars:ke}=L(),Me=l(),Ie=l([]),je=l(),xe=l([]),Ce=l(),Le=l(),Ae=z(Be,500),Se={page:0,hasMore:!0,lastSendTime:O(new Date,"yyyy-MM-dd HH:mm:ss")};function Ee(e,a){try{const l=JSON.parse(e);return l?l[a]:""}catch(a){return e||""}}function He(e){const{size:a,sendTime:l,senderName:t}=e;return`${O(new Date(l),"yyyy/MM/dd HH:mm")} ${t}`}function De(e){const a=e.lastIndexOf(".");if(console.log("dotIndex",a),-1!==a){return e.charAt(a+1).toUpperCase()}return"?"}async function Ue(){var e;try{if(!Se.hasMore)return;Se.page++;const a=await S({orgId:Te.orgId,keyword:je.value,endTime:Oe(),startTime:Ce.value?Ce.value+" 00:00:00":"",lastSendTime:Se.lastSendTime,memberIdSet:xe.value,page:Se.page,recordType:"ALL",receiver:Te.currentSessionItem.receiver,userId:Te.userInfo.id});Array.isArray(a)&&0!==a.length&&Array.isArray(a[0].recordList)||(Se.hasMore=!1);let l=a||[];Array.isArray(a)&&a.length>0&&(l=a[0].recordList.filter((e=>"WITHDRAWN"!==e.status))),Se.lastSendTime=null==(e=B(l))?void 0:e.sendTime,l.forEach((e=>{var a,l,t;let s="";if(e.content.chatMessageType===A.TEMPLATE)s=null==(t=null==(l=null==(a=e.content)?void 0:a.messageTemplate)?void 0:l.setting)?void 0:t.title;else s=E(e.content);e.__content=s})),Ie.value=Se.page>1?Ie.value.concat(l):l}catch(e){}}function Be(){Object.assign(Se,{page:0,hasMore:!0,lastSendTime:Oe()||O(new Date,"yyyy-MM-dd HH:mm:ss")}),Ue()}function Ne(e){return!!Le.value&&e>Date.parse(`${Le.value} 23:59:59`)}function ze(e){return!!Ce.value&&e<Date.parse(Ce.value)}function Oe(){return Le.value?Le.value+" 23:59:59":""}function Re(e){switch(e){case"member":xe.value=[];break;case"start":Ce.value=null;break;case"end":Le.value=null}}function Ge(e){return i(m,null,[i("div",{style:"display: flex;align-items: center"},[i(b,{src:e.avatar,round:!0,size:"small"},null),i("span",{style:"margin-left: 10px"},[e.name])])])}return R(Me,(()=>{Ue()})),t([()=>xe.value,()=>Ce.value,()=>Le.value],(()=>{J.visible&&Be()}),{deep:!0}),t((()=>J.visible),(e=>{e?Be():(je.value="",Le.value=null,Ce.value=null,xe.value=[],Ie.value=[])})),(a,l)=>(s(),n(r(_),{preset:"dialog",title:"","show-icon":!1,"auto-focus":!1,class:"iho-chat-dialog"},{header:o((()=>[e("div",W,[F,e("div",P,[i(r(b),{round:"",size:30,src:r(Te).currentSessionItem.avatar},null,8,["src"]),e("span",null,u(r(Te).currentSessionItem.name),1)])])])),default:o((()=>[e("div",{class:"iho-chat-dialog__content iho-chat-record-wrapper",style:d(r(ke))},[i(r(T),null,{default:o((()=>{var e;return[(s(),n(c((()=>[i(x,{component:C,size:18,color:"#6666"},null),xe.value.length>0?i(j,{closable:!0,bordered:!1,color:V,onClose:()=>Re("member")},{default:()=>{var e,a;return[w("成员:")," ",xe.value.length>1?xe.value.length+((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.40"))||"人"):null==(a=Te.currentGroupUser.find((e=>e.id===xe.value[0])))?void 0:a.name]}}):null,Ce.value?i(j,{closable:!0,bordered:!1,color:V,onClose:()=>Re("start")},{default:()=>[w("起始时间: "),Ce.value]}):null,Le.value?i(j,{closable:!0,bordered:!1,color:V,onClose:()=>Re("end")},{default:()=>[w("结束时间: "),Le.value]}):null])))),i(r(k),{placeholder:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.36"))||"搜索",value:je.value,"onUpdate:value":l[0]||(l[0]=e=>je.value=e),valueModifiers:{trim:!0},onInput:r(Ae)},null,8,["value","onInput"])]})),_:1}),e("div",q,[e("div",{class:"chat-record-box__content",ref_key:"recordRef",ref:Me},[Ie.value.length>0?(s(!0),v(m,{key:0},p(Ie.value,(a=>(s(),v("div",{class:"content-item",key:a.id},[i(r(b),{round:"",size:38,src:a.senderAvatar},null,8,["src"]),e("div",K,[e("div",Q,[f(" <span>{{ item.senderName }}</span> "),e("div",X,[e("span",Y,u(a.senderName),1),g(e("label",{class:h(["iho-chatRole",r(H)(a.roleInfo)?"isDoctor":""])},u(r(D)(a.roleInfo)),3),[[y,r(D)(a.roleInfo)]])]),e("span",Z,u(r(U)(a.sendTime).recordTime),1)]),e("div",ee,[a.content.chatMessageType===r(A).IMAGE?(s(),v("img",{key:0,src:Ee(a.__content,"fileUrl")},null,8,ae)):a.content.chatMessageType===r(A).FILE?(s(),v(m,{key:1},[e("span",le,u(De(a.__content)),1),e("div",te,[e("span",se,u(Ee(a.__content,"fileName")),1),e("span",ne,u(He(a)),1)])],64)):a.content.chatMessageType===r(A).EMOJI?(s(),v("img",{key:2,class:"emoji",src:r(G).findEmoji(a.__content)},null,8,re)):a.content.chatMessageType===r(A).EVENT?(s(),n($,{key:3,data:a},null,8,["data"])):(s(),v("p",{key:4,innerHTML:a.__content},null,8,oe))])])])))),128)):(s(),v("div",ie,"没有找到相关记录"))],512),e("div",ue,[de,e("div",ce,[ve,i(r(M),{value:xe.value,"onUpdate:value":l[1]||(l[1]=e=>xe.value=e),multiple:"","max-tag-count":1,"render-label":Ge,options:r(Te).currentGroupUser,"value-field":"id"},null,8,["value","options"])]),e("div",me,[pe,e("div",fe,[i(r(I),{trigger:"click","show-arrow":!1},{trigger:o((()=>{var a;return[e("div",ge,[he,g(i(r(j),{bordered:!1,color:V,closable:"",onClose:l[2]||(l[2]=()=>Re("start"))},{default:o((()=>[w(u(Ce.value),1)])),_:1},512),[[y,Ce.value]]),g(e("span",ye,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[y,!Ce.value]])])]})),default:o((()=>[i(r(N),{"formatted-value":Ce.value,"onUpdate:formatted-value":l[3]||(l[3]=e=>Ce.value=e),type:"date",panel:"",clearable:"","is-date-disabled":Ne},null,8,["formatted-value"])])),_:1}),i(r(I),{trigger:"click","show-arrow":!1},{trigger:o((()=>{var a;return[e("div",we,[_e,g(i(r(j),{bordered:!1,color:V,closable:"",onClose:l[4]||(l[4]=()=>Re("end"))},{default:o((()=>[w(u(Le.value),1)])),_:1},512),[[y,Le.value]]),g(e("span",be,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.76"))||"点击选择",512),[[y,!Le.value]])])]})),default:o((()=>[i(r(N),{"formatted-value":Le.value,"onUpdate:formatted-value":l[5]||(l[5]=e=>Le.value=e),type:"date",panel:"",clearable:"","is-date-disabled":ze},null,8,["formatted-value"])])),_:1})])])])])],4)])),_:1}))}});export{Te as default};
@@ -1,6 +1,7 @@
1
1
  import { AnyObject } from '../../../../shared/types';
2
2
  declare const _default: import("vue").DefineComponent<{}, {
3
- listRef: import("vue").Ref<any>;
3
+ userListRef: import("vue").Ref<any>;
4
+ patientListRef: import("vue").Ref<any>;
4
5
  inputRef: import("vue").Ref<any>;
5
6
  showSearch: import("vue").Ref<boolean>;
6
7
  keyword: import("vue").Ref<string>;
@@ -37,14 +38,19 @@ declare const _default: import("vue").DefineComponent<{}, {
37
38
  openSession: (session: string | AnyObject) => Promise<void>;
38
39
  userList: import("vue").Ref<AnyObject[]>;
39
40
  handleInput: () => void;
41
+ patientList: import("vue").Ref<AnyObject[]>;
42
+ handlePatientInput: () => void;
40
43
  currentTabValue: import("vue").Ref<string>;
41
44
  currentIndex: import("vue").Ref<number>;
42
45
  groupList: import("vue").ComputedRef<AnyObject[]>;
43
- showNoData: import("vue").ComputedRef<boolean>;
46
+ showNoUserData: import("vue").ComputedRef<boolean>;
47
+ showNoPatientData: import("vue").ComputedRef<boolean>;
44
48
  showAllNoData: import("vue").ComputedRef<boolean>;
45
49
  showGroupNoData: import("vue").ComputedRef<boolean>;
50
+ userStartIndex: import("vue").ComputedRef<number>;
46
51
  groupStartIndex: import("vue").ComputedRef<number>;
47
52
  currentList: import("vue").ComputedRef<AnyObject[]>;
53
+ handleSearchInput: () => void;
48
54
  handleKeyDown: (event: KeyboardEvent) => void;
49
55
  addSession: (id: string) => Promise<void>;
50
56
  handleTabChange: () => void;
@@ -1 +1 @@
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
+ import{createElementVNode as e,defineComponent as l,ref as t,computed as n,watch as o,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,createCommentVNode as f,createElementBlock as g,Fragment as m,renderList as w,normalizeClass as y,withDirectives as h,vShow as k}from"vue";import{NPopover as C,NButton as L,NIcon as _,NInput as M,NTabs as j,NTabPane as I,NDivider as x}from"naive-ui";import{SearchOutline as B}from"@vicons/ionicons5";import{useData as R}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{openSessionApi as b}from"../api/index.js";import{isGroup as D}from"../utils/index.js";import{trim as U}from"lodash-es";import"trtc-sdk-v5";import{useSearchUserList as S}from"../hooks/useSearchUserList.js";import{useSearchPatientList as z}from"../hooks/useSearchPatientList.js";import A from"../../../default-page/index.js";import E from"./userItemRender.js";var K;const P=e("div",{class:"title"},"联系人(患者)",-1),G=e("div",{class:"title"},"联系人(医护)",-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 K=t(),V=t(),$=t(),q=t(!1),F=t(""),{cssVars:H,state:J,openSession:O}=R(),{userList:Q,handleInput:W}=S({wrapperRef:K,keywordRef:F}),{patientList:X,handlePatientInput:Y}=z({wrapperRef:V,keywordRef:F}),Z=t("all"),ee=t(0),le=n((()=>(F.value||"").replace(/^\s+|\s+$/g,"")?J.sessionList.filter((e=>D(e)&&(null==e?void 0:e.name.includes(F.value)))):[])),te=n((()=>!Q.value.length&&!!U(F.value||""))),ne=n((()=>!X.value.length&&!!U(F.value||""))),oe=n((()=>!(Q.value.length||X.value.length||le.value.length||!U(F.value||"")))),ae=n((()=>!le.value.length&&!!U(F.value||""))),se=n((()=>X.value.length>3?4:X.value.length)),ue=n((()=>(Q.value.length>3?4:Q.value.length)+se.value)),ie=n((()=>{switch(Z.value){case"patient":return X.value;case"user":return Q.value;case"group":return le.value;default:{const e=[],l=X.value.length,t=Q.value.length,n=le.value.length;return l>0&&(l>3?e.push(...X.value.slice(0,3),{id:"patient"}):e.push(...X.value)),t>0&&(t>3?e.push(...Q.value.slice(0,3),{id:"user"}):e.push(...Q.value)),n>0&&(n>3?e.push(...le.value.slice(0,3),{id:"group"}):e.push(...le.value)),e}}}));function re(){W(),Y()}function ve(e){if(["ArrowUp","ArrowDown"].includes(e.key)){e.preventDefault();const l=i(ee);if("ArrowUp"===e.key){const e=l>0?l-1:ie.value.length-1;ee.value=e}else if("ArrowDown"===e.key){const e=l<ie.value.length-1?l+1:0;ee.value=e}}else if(["Enter"].includes(e.key)){e.preventDefault();const l=ie.value.find(((e,l)=>ee.value===l)).id;["patient","user","group"].includes(l)?Z.value=l:async function(e){q.value=!1;const l=J.sessionList.find((l=>e&&[l.receiver,l.id].includes(e)));let t=l;if(!l){t=await b({chatType:"SINGLE",receiver:e,sender:J.userInfo.id})}O(t)}(l)}}function ce(){$.value.focus(),ee.value=0}function de(){q.value=!1}return o((()=>q.value),(async e=>{var l;e&&(await a(),null==(l=$.value)||l.focus())})),(l,t)=>(s(),u(i(C),{raw:"","content-class":"search-content",class:"search-wrapper",style:r(i(H)),show:q.value,"onUpdate:show":t[8]||(t[8]=e=>q.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(B),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(M),{ref_key:"inputRef",ref:$,size:"small",clearable:"",autofocus:"",value:F.value,"onUpdate:value":[t[0]||(t[0]=e=>F.value=e),re],onKeydown:p(ve,["stop"])},{prefix:v((()=>[c(i(_),{color:"#ffffff80",component:i(B)},null,8,["component"])])),_:1},8,["value","onKeydown"]),c(i(j),{type:"line",animated:"",value:Z.value,"onUpdate:value":[t[7]||(t[7]=e=>Z.value=e),ce]},{default:v((()=>{var l,n;return[c(i(I),{name:"all",tab:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.571"))||"综合","display-directive":"show",style:{padding:"0 10px 10px","overflow-y":"auto"}},{default:v((()=>{var e,l;return[f(" 联系人(患者) "),i(X).length>0?(s(),g(m,{key:0},[P,(s(!0),g(m,null,w(i(X),((e,l)=>(s(),g(m,{key:e.id},[l<3?(s(),u(i(E),{key:0,item:e,class:y({last:i(X).length<4?l===i(X).length-1:2===l,selected:ee.value===l}),onItemClick:de,onMouseover:p((()=>ee.value=l),["stop"])},null,8,["item","class","onMouseover"])):f("v-if",!0)],64)))),128)),i(X).length>3?(s(),g("div",{key:0,onClick:t[1]||(t[1]=()=>Z.value="user"),class:y(["user-item",3===ee.value?"selected":""]),onMouseover:t[2]||(t[2]=p((()=>ee.value=3),["stop"]))},[c(i(L),{text:"",type:"primary"},{icon:v((()=>[c(i(_),{component:i(B),size:"16"},null,8,["component"])])),default:v((()=>[d(" 查看更多联系人(患者) ")])),_:1})],34)):f("v-if",!0)],64)):f("v-if",!0),i(X).length&&i(Q).length?(s(),u(i(x),{key:1})):f("v-if",!0),f(" 联系人(医护) "),i(Q).length>0?(s(),g(m,{key:2},[G,(s(!0),g(m,null,w(i(Q),((e,l)=>(s(),g(m,{key:e.id},[l<3?(s(),u(i(E),{key:0,item:e,class:y({last:i(Q).length<4?l===i(Q).length-1:2===l,selected:ee.value===i(se)+l}),onItemClick:de,onMouseover:p((()=>ee.value=i(se)+l),["stop"])},null,8,["item","class","onMouseover"])):f("v-if",!0)],64)))),128)),i(Q).length>3?(s(),g("div",{key:0,onClick:t[3]||(t[3]=()=>Z.value="user"),class:y(["user-item",ee.value===i(se)+3?"selected":""]),onMouseover:t[4]||(t[4]=p((()=>ee.value=i(se)+3),["stop"]))},[c(i(L),{text:"",type:"primary"},{icon:v((()=>[c(i(_),{component:i(B),size:"16"},null,8,["component"])])),default:v((()=>[d(" 查看更多联系人(医护) ")])),_:1})],34)):f("v-if",!0)],64)):f("v-if",!0),i(Q).length&&i(le).length?(s(),u(i(x),{key:3})):f("v-if",!0),f((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.572"))||"群组"),i(le).length>0?(s(),g(m,{key:4},[N,(s(!0),g(m,null,w(i(le),((e,l)=>(s(),g(m,{key:e.id},[l<3?(s(),u(i(E),{key:0,item:e,class:y({last:i(le).length<4?l===i(le).length-1:2===l,selected:ee.value===i(ue)+l}),onItemClick:de,onMouseover:p((()=>ee.value=i(ue)+l),["stop"])},null,8,["item","class","onMouseover"])):f("v-if",!0)],64)))),128)),i(le).length>3?(s(),g("div",{key:0,onClick:t[5]||(t[5]=()=>Z.value="group"),class:y(["user-item",ee.value===i(ue)+3?"selected":""]),onMouseover:t[6]||(t[6]=p((()=>ee.value=i(ue)+3),["stop"]))},[c(i(L),{text:"",type:"primary"},{icon:v((()=>[c(i(_),{component:i(B),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)):f("v-if",!0)],64)):f("v-if",!0),h(c(i(A),{config:{title:" ",content:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[k,i(oe)]])]})),_:1}),c(i(I),{name:"patient",tab:"联系人(患者)","display-directive":"show"},{default:v((()=>{var l;return[e("div",{class:"user-list-wrapper",ref_key:"patientListRef",ref:V},[(s(!0),g(m,null,w(i(X),((e,l)=>(s(),u(i(E),{key:e.id,item:e,onItemClick:de,class:y({selected:ee.value===l}),onMouseover:p((()=>ee.value=l),["stop"])},null,8,["item","class","onMouseover"])))),128)),h(c(i(A),{config:{title:" ",content:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[k,i(ne)]])],512)]})),_:1}),c(i(I),{name:"user",tab:"联系人(医护)","display-directive":"show"},{default:v((()=>{var l;return[e("div",{class:"user-list-wrapper",ref_key:"userListRef",ref:K},[(s(!0),g(m,null,w(i(Q),((e,l)=>(s(),u(i(E),{key:e.id,item:e,onItemClick:de,class:y({selected:ee.value===l}),onMouseover:p((()=>ee.value=l),["stop"])},null,8,["item","class","onMouseover"])))),128)),h(c(i(A),{config:{title:" ",content:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[k,i(te)]])],512)]})),_:1}),c(i(I),{name:"group",tab:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.572"))||"群组","display-directive":"show"},{default:v((()=>{var l;return[e("div",T,[(s(!0),g(m,null,w(i(le),((e,l)=>(s(),u(i(E),{key:e.id,item:e,onItemClick:de,class:y({selected:ee.value===l}),onMouseover:p((()=>ee.value=l),["stop"])},null,8,["item","class","onMouseover"])))),128)),h(c(i(A),{config:{title:" ",content:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[k,i(ae)]])])]})),_:1})]})),_:1},8,["value"])])),_:1},8,["style","show"]))}});export{V as default};
@@ -196,6 +196,7 @@ declare const _default: import("vue").DefineComponent<{}, {
196
196
  currentTabKey: import("vue").ComputedRef<any>;
197
197
  showAllCheckbox: import("vue").ComputedRef<boolean>;
198
198
  getOrgList: () => Promise<void>;
199
+ handleSearchInput: () => void;
199
200
  setUserTotal: (tree: AnyObject[]) => void;
200
201
  getDisabled: (id: string | number) => boolean;
201
202
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -213,6 +213,7 @@ declare const _default: import("vue").DefineComponent<{}, {
213
213
  currentTabKey: import("vue").ComputedRef<any>;
214
214
  showAllCheckbox: import("vue").ComputedRef<boolean>;
215
215
  getOrgList: () => Promise<void>;
216
+ handleSearchInput: () => void;
216
217
  setUserTotal: (tree: AnyObject[]) => void;
217
218
  getDisabled: (id: string | number) => boolean;
218
219
  handleClickCheckbox: (option: AnyObject) => Promise<void>;
@@ -1 +1 @@
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
+ 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">\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",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};
@@ -0,0 +1,11 @@
1
+ import { Ref } from 'vue';
2
+ import { AnyFn, AnyObject } from '../../../../shared/types';
3
+ export declare function useSearchPatientList({ wrapperRef, keywordRef, before, after }: {
4
+ wrapperRef: Ref<HTMLElement>;
5
+ keywordRef: Ref<string>;
6
+ before?: AnyFn;
7
+ after?: AnyFn;
8
+ }): {
9
+ patientList: Ref<AnyObject[]>;
10
+ handlePatientInput: () => void;
11
+ };
@@ -0,0 +1 @@
1
+ import{ref as e}from"vue";import{isArray as o}from"lodash-es";import{listPatientApi as r}from"../api/index.js";import{useDebounceFn as t}from"@vueuse/core";import"../../../../shared/utils/index.js";import"naive-ui";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{useScrollLoading as s}from"../../../../shared/hooks/useScrollLoading.js";import{useData as a}from"./useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import"../utils/index.js";import"trtc-sdk-v5";function i({wrapperRef:i,keywordRef:n,before:p,after:u}){const m={page:0,hasMore:!0},{state:c}=a(),d=e([]),l=t((function(){Object.assign(m,{page:0,hasMore:!0}),f()}),300);async function f(){const e=(n.value||"").replace(/^\s+|\s+$/g,"");if(!e)return void(p?p():d.value=[]);if(!m.hasMore)return;m.page++,1==m.page&&(d.value=[]);const t=await r({orgId:c.orgId,keyword:e,page:m.page,pageSize:15});o(t.records)&&d.value.length<=+t.total&&(d.value=m.page>1?d.value.concat(t.records):t.records,null==u||u(),d.value.length>=+t.total&&(m.hasMore=!1))}return s(i,(()=>{f()})),{patientList:d,handlePatientInput:l}}export{i as useSearchPatientList};