cnhis-design-vue 3.2.14-beta.24 → 3.2.14-beta.26

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 (140) hide show
  1. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  2. package/es/components/ai-chat/src/components/ChatPatient.vue2.js +1 -1
  3. package/es/components/base-search/src/index.vue2.js +1 -1
  4. package/es/components/big-table/src/BigTable.vue2.js +1 -1
  5. package/es/components/big-table/src/components/NoData.vue2.js +1 -1
  6. package/es/components/big-table/src/components/edit-form/edit-input.js +1 -1
  7. package/es/components/big-table/src/hooks/useNestTable.js +1 -1
  8. package/es/components/body-select/src/index.vue2.js +1 -1
  9. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  10. package/es/components/button-print/src/components/EditFormat.vue2.js +1 -1
  11. package/es/components/button-print/src/components/IdentityVerification.vue2.js +1 -1
  12. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  13. package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
  14. package/es/components/button-print/src/components/Preview.vue2.js +1 -1
  15. package/es/components/button-print/src/utils/dialog.js +1 -1
  16. package/es/components/button-print/src/utils/print.js +1 -1
  17. package/es/components/card-reader-sdk/src/components/readCardDialog.vue2.js +1 -1
  18. package/es/components/card-reader-sdk/src/utils/readHealthCard.js +1 -1
  19. package/es/components/classification/src/components/search-filter/index.vue2.js +1 -1
  20. package/es/components/classification/src/components/set-classification/index.vue2.js +1 -1
  21. package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
  22. package/es/components/classification/src/components/table-modal/index.vue2.js +1 -1
  23. package/es/components/classification/src/index.vue2.js +1 -1
  24. package/es/components/default-page/src/constants/index.js +1 -1
  25. package/es/components/default-page/src/index.vue2.js +1 -1
  26. package/es/components/expand-field/src/components/FormBatchOptionsModal.vue2.js +1 -1
  27. package/es/components/expand-field/src/components/FormItemPerson.vue2.js +1 -1
  28. package/es/components/expand-field/src/components/PersonModal.vue2.js +1 -1
  29. package/es/components/expand-field/src/components/form.vue2.js +1 -1
  30. package/es/components/expand-field/src/index.vue2.js +1 -1
  31. package/es/components/expand-field/src/utils/constant.js +1 -1
  32. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +1 -1
  33. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcessChart.js +1 -1
  34. package/es/components/fabric-chart/src/hooks/electrocardiogram/hooks/useDetailEvent.js +1 -1
  35. package/es/components/fabric-chart/src/hooks/electrocardiogram/useElectrocardiogram.js +1 -1
  36. package/es/components/fabric-chart/src/hooks/electrocardiogram/useElectrocardiogramChart.js +1 -1
  37. package/es/components/fabric-chart/src/hooks/electrocardiogram/useMeasureInstrument.js +1 -1
  38. package/es/components/fabric-chart/src/hooks/newBirthProcess/useNewBirthProcess.js +1 -1
  39. package/es/components/fabric-chart/src/hooks/newBirthProcess/useNewBirthProcessChart.js +1 -1
  40. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
  41. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useLeft.js +1 -1
  42. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  43. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.js +1 -1
  44. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useTop.js +1 -1
  45. package/es/components/fabric-chart/src/hooks/temperature/useBottom.js +1 -1
  46. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  47. package/es/components/fabric-chart/src/hooks/temperature/useLeft.js +1 -1
  48. package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
  49. package/es/components/fabric-chart/src/hooks/temperature/useTemperatureChart.js +1 -1
  50. package/es/components/fabric-chart/src/hooks/temperature/useTop.js +1 -1
  51. package/es/components/field-set/src/FieldColor.vue2.js +1 -1
  52. package/es/components/field-set/src/FieldFilter.vue2.js +1 -1
  53. package/es/components/field-set/src/FieldSet.vue2.js +1 -1
  54. package/es/components/field-set/src/TableStyle.vue2.js +1 -1
  55. package/es/components/field-set/src/components/condition.vue2.js +1 -1
  56. package/es/components/field-set/src/components/edit-dialog.vue2.js +1 -1
  57. package/es/components/field-set/src/components/edit-filter.vue2.js +1 -1
  58. package/es/components/field-set/src/components/table-row.vue2.js +1 -1
  59. package/es/components/field-set/src/constants/filter.js +1 -1
  60. package/es/components/field-set/src/constants/index.js +1 -1
  61. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +1 -1
  62. package/es/components/form-config/src/hooks/useLocale.js +1 -1
  63. package/es/components/form-render/src/components/renderer/remoteSearch.js +1 -1
  64. package/es/components/form-render/src/components/renderer/switch.js +1 -1
  65. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  66. package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
  67. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  68. package/es/components/iho-chat/src/components/ChatHeader.vue2.js +1 -1
  69. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  70. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  71. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  72. package/es/components/iho-chat/src/components/ContextMenu.js +1 -1
  73. package/es/components/iho-chat/src/components/MessageTemplate.vue2.js +1 -1
  74. package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +1 -1
  75. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  76. package/es/components/iho-chat/src/components/Video.vue2.js +1 -1
  77. package/es/components/iho-chat/src/utils/chatSock.js +1 -1
  78. package/es/components/iho-chat/src/utils/index.js +1 -1
  79. package/es/components/iho-table/src/plugins/dynamicFilterRenderPlugin/dynamicFilter.vue2.js +1 -1
  80. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +1 -1
  81. package/es/components/iho-table/src/plugins/filterTextPlugin/filter.vue2.js +1 -1
  82. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/numberRendererPlugin.js +1 -1
  83. package/es/components/info-header/src/components/patientInfo/index.vue2.js +1 -1
  84. package/es/components/keyboard/src/components/NumberPanel.vue2.js +1 -1
  85. package/es/components/map/src/Map.vue2.js +1 -1
  86. package/es/components/picture-clipper/src/PictureClipper.vue2.js +1 -1
  87. package/es/components/quick-search/src/index.vue2.js +1 -1
  88. package/es/components/recommend-search/src/components/BaseSearch.js +1 -1
  89. package/es/components/recommend-search/src/components/RecommendInput.vue2.js +1 -1
  90. package/es/components/recommend-search/src/components/RecommendSelect.vue2.js +1 -1
  91. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  92. package/es/components/scale-view/src/components/NoData.vue2.js +1 -1
  93. package/es/components/scale-view/src/components/formitem/r-checkbox.js +1 -1
  94. package/es/components/scale-view/src/components/formitem/r-input.js +1 -1
  95. package/es/components/scale-view/src/components/formitem/r-radio.js +1 -1
  96. package/es/components/scale-view/src/components/formitem/r-sign.js +1 -1
  97. package/es/components/scale-view/src/components/formitem/standard-modal.js +1 -1
  98. package/es/components/scale-view/src/hooks/scaleview-methods.js +1 -1
  99. package/es/components/scale-view/src/hooks/scaleview-submit.js +1 -1
  100. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  101. package/es/components/select-label/src/SelectLabel.vue2.js +1 -1
  102. package/es/components/select-label/src/components/label-classify.vue2.js +1 -1
  103. package/es/components/select-label/src/ihoLabel/IhoLabelFormContent.vue2.js +1 -1
  104. package/es/components/select-label/src/ihoLabel/IhoSelectLabel.vue2.js +1 -1
  105. package/es/components/select-label/src/ihoLabel/iho-label-classify.vue2.js +1 -1
  106. package/es/components/select-person/src/SelectPerson.vue2.js +1 -1
  107. package/es/components/select-person/src/SelectPersonType.vue2.js +1 -1
  108. package/es/components/select-person/src/components/SearchOrgAndStaff.vue2.js +1 -1
  109. package/es/components/select-person/src/index.vue2.js +1 -1
  110. package/es/components/slider-tree/src/index.vue2.js +1 -1
  111. package/es/components/table-export-field/src/components/ExportModal.vue2.js +1 -1
  112. package/es/components/table-export-field/src/components/SaveProjectModal.vue2.js +1 -1
  113. package/es/components/table-export-field/src/index.vue2.js +1 -1
  114. package/es/components/table-filter/src/components/bi-filter/ValueCfg.vue2.js +1 -1
  115. package/es/components/table-filter/src/components/bi-filter/helpers/options.js +1 -1
  116. package/es/components/table-filter/src/components/bi-filter/index.vue2.js +1 -1
  117. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue2.js +1 -1
  118. package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue2.js +1 -1
  119. package/es/components/table-filter/src/components/classify-filter/components/InputFilter.vue2.js +1 -1
  120. package/es/components/table-filter/src/components/classify-filter/components/InputNumberGroup.vue2.js +1 -1
  121. package/es/components/table-filter/src/components/classify-filter/helpers/options.js +1 -1
  122. package/es/components/table-filter/src/components/classify-filter/hooks/useDisplayCategory.js +1 -1
  123. package/es/components/table-filter/src/components/classify-filter/index.vue2.js +1 -1
  124. package/es/components/table-filter/src/components/render-widget/components/DateInner.vue2.js +1 -1
  125. package/es/components/table-filter/src/components/render-widget/components/DateOut.vue2.js +1 -1
  126. package/es/components/table-filter/src/components/render-widget/components/DateRangeInner.vue2.js +1 -1
  127. package/es/components/table-filter/src/components/render-widget/components/DateRangeOut.vue2.js +1 -1
  128. package/es/components/table-filter/src/components/render-widget/components/InputCustom.vue2.js +1 -1
  129. package/es/components/table-filter/src/components/render-widget/components/InputNumberGroup.vue2.js +1 -1
  130. package/es/components/table-filter/src/components/render-widget/components/LabelInner.vue2.js +1 -1
  131. package/es/components/table-filter/src/components/render-widget/components/SelectDynamicOption/index.vue2.js +1 -1
  132. package/es/components/table-filter/src/components/render-widget/helpers/dateExtraMap.js +1 -1
  133. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.js +1 -1
  134. package/es/components/table-filter/src/tool/baseOptions.js +1 -1
  135. package/es/components/tooth-bitmap/src/ToothBitmap.vue2.js +1 -1
  136. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue2.js +1 -1
  137. package/es/components/vod-chunk-upload/src/vod-upload-modal.js +1 -1
  138. package/es/env.d.ts +25 -25
  139. package/es/shared/package.json.js +1 -1
  140. package/package.json +2 -2
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as o,openBlock as s,createElementBlock as i,Fragment as r,unref as a,createElementVNode as n,createVNode as l,withCtx as c,toDisplayString as u,renderSlot as m,createTextVNode as d,normalizeProps as h,guardReactiveProps as p,createBlock as v,createCommentVNode as f}from"vue";import{NAvatar as g,NTooltip as w,NButton as _,NIcon as y,NPopconfirm as b}from"naive-ui";import{useData as j}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{STATUS as C}from"../constants/index.js";import{updateStatusApi as k}from"../api/index.js";import{$message as z}from"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";import I from"./PersonProfile.vue.js";import S from"./ChatSet.vue.js";import q from"./ChatFile.vue.js";import x from"./ChatRecord.vue.js";import D from"./ChatAdd.vue.js";import{PersonAddOutline as E,CloseOutline as U}from"@vicons/ionicons5";const G={key:0,class:"chat-header box-shadow"},P={class:"chat-header__left"},N={class:"name"},A={class:"chat-header__right"},F=n("i",{class:"chat--iconfont chat--icon-image"},null,-1),H=n("i",{class:"chat--iconfont chat--icon-folder"},null,-1),L=n("i",{class:"chat--iconfont chat--icon-list-search"},null,-1),R=n("i",{class:"chat--iconfont chat--icon-set"},null,-1);var V=e({__name:"ChatHeader",setup(e){const{state:V,isGroupChat:$,isGroupLeader:B,isEnded:J,setCurrentSessionItem:K,emit:M}=j(),O=t(!1),Q=t(!1),T=t("image"),W=t(!1),X=o((()=>{const e=V.currentGroupUser.map((e=>e.id));return $.value?{mode:"join",disabledIds:e,disabled:J.value}:{mode:"create",defaultValue:V.currentGroupUser}}));function Y(e){T.value=e,Q.value=!0}async function Z(){try{await k({id:V.currentSessionItem.id,status:C.ENDED}),K({status:C.ENDED}),M("session-close",V.currentSessionItem),z.success("当前会话已结束")}catch(e){console.log(e)}}return(e,t)=>(s(),i(r,null,[a(V).id?(s(),i("section",G,[n("div",P,[l(I,{"user-id":a(V).currentSessionItem.receiver,disabled:a($),placement:"bottom"},{trigger:c((()=>[l(a(g),{round:"",size:30,src:a(V).currentSessionItem.avatar},null,8,["src"])])),_:1},8,["user-id","disabled"]),n("span",N,u(a(V).currentSessionItem.name),1)]),n("div",A,[m(e.$slots,"header"),l(a(w),{"show-arrow":!1,placement:"bottom"},{trigger:c((()=>[l(a(_),{quaternary:"",size:"tiny",onClick:t[0]||(t[0]=()=>Y("image"))},{icon:c((()=>[F])),_:1})])),default:c((()=>[d(" 图片 ")])),_:1}),l(a(w),{"show-arrow":!1,placement:"bottom"},{trigger:c((()=>[l(a(_),{quaternary:"",size:"tiny",onClick:t[1]||(t[1]=()=>Y("file"))},{icon:c((()=>[H])),_:1})])),default:c((()=>[d(" 文件 ")])),_:1}),l(D,h(p(a(X))),{trigger:c((()=>[l(a(w),{"show-arrow":!1,placement:"bottom"},{trigger:c((()=>[l(a(_),{quaternary:"",size:"tiny"},{icon:c((()=>[l(a(y),{size:"18",component:a(E)},null,8,["component"])])),_:1})])),default:c((()=>[d(" 添加成员 ")])),_:1})])),_:1},16),l(a(w),{"show-arrow":!1,placement:"bottom"},{trigger:c((()=>[l(a(_),{quaternary:"",size:"tiny",onClick:t[2]||(t[2]=()=>W.value=!0)},{icon:c((()=>[L])),_:1})])),default:c((()=>[d(" 聊天记录 ")])),_:1}),l(a(w),{"show-arrow":!1,placement:"bottom"},{trigger:c((()=>[l(a(_),{quaternary:"",size:"tiny",onClick:t[3]||(t[3]=()=>O.value=!0)},{icon:c((()=>[R])),_:1})])),default:c((()=>[d(" 聊天设置 ")])),_:1}),a($)&&a(B)?(s(),v(a(b),{key:0,onPositiveClick:Z},{trigger:c((()=>[l(a(w),{"show-arrow":!1,placement:"bottom"},{trigger:c((()=>[l(a(_),{quaternary:"",size:"tiny"},{icon:c((()=>[l(a(y),{size:"18",component:a(U)},null,8,["component"])])),_:1})])),default:c((()=>[d(" 结束聊天 ")])),_:1})])),default:c((()=>[d(" 是否确认结束群聊? ")])),_:1})):f("v-if",!0)])])):f("v-if",!0),l(S,{show:O.value,"onUpdate:show":t[4]||(t[4]=e=>O.value=e)},null,8,["show"]),l(q,{show:Q.value,"onUpdate:show":t[5]||(t[5]=e=>Q.value=e),type:T.value,visible:Q.value},null,8,["show","type","visible"]),l(x,{show:W.value,"onUpdate:show":t[6]||(t[6]=e=>W.value=e),visible:W.value},null,8,["show","visible"])],64))}});export{V as default};
1
+ import{defineComponent as e,ref as o,computed as t,openBlock as i,createElementBlock as a,Fragment as r,unref as n,createElementVNode as s,createVNode as l,withCtx as u,toDisplayString as c,renderSlot as d,createTextVNode as m,normalizeProps as v,guardReactiveProps as w,createBlock as h,createCommentVNode as p}from"vue";import{NAvatar as g,NTooltip as f,NButton as y,NIcon as _,NPopconfirm as C}from"naive-ui";import{useData as b}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{STATUS as j}from"../constants/index.js";import{updateStatusApi as k}from"../api/index.js";import{$message as z}from"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";import I from"./PersonProfile.vue.js";import S from"./ChatSet.vue.js";import q from"./ChatFile.vue.js";import L from"./ChatRecord.vue.js";import x from"./ChatAdd.vue.js";import{PersonAddOutline as B,CloseOutline as D}from"@vicons/ionicons5";const E={key:0,class:"chat-header box-shadow"},U={class:"chat-header__left"},G={class:"name"},P={class:"chat-header__right"},N=s("i",{class:"chat--iconfont chat--icon-image"},null,-1),A=s("i",{class:"chat--iconfont chat--icon-folder"},null,-1),F=s("i",{class:"chat--iconfont chat--icon-list-search"},null,-1),H=s("i",{class:"chat--iconfont chat--icon-set"},null,-1);var R=e({__name:"ChatHeader",setup(e){const{state:R,isGroupChat:V,isGroupLeader:$,isEnded:J,setCurrentSessionItem:K,emit:M}=b(),O=o(!1),Q=o(!1),T=o("image"),W=o(!1),X=t((()=>{const e=R.currentGroupUser.map((e=>e.id));return V.value?{mode:"join",disabledIds:e,disabled:J.value}:{mode:"create",defaultValue:R.currentGroupUser}}));function Y(e){T.value=e,Q.value=!0}async function Z(){try{await k({id:R.currentSessionItem.id,status:j.ENDED}),K({status:j.ENDED}),M("session-close",R.currentSessionItem),z.success("当前会话已结束")}catch(e){console.log(e)}}return(e,o)=>(i(),a(r,null,[n(R).id?(i(),a("section",E,[s("div",U,[l(I,{"user-id":n(R).currentSessionItem.receiver,disabled:n(V),placement:"bottom"},{trigger:u((()=>[l(n(g),{round:"",size:30,src:n(R).currentSessionItem.avatar},null,8,["src"])])),_:1},8,["user-id","disabled"]),s("span",G,c(n(R).currentSessionItem.name),1)]),s("div",P,[d(e.$slots,"header"),l(n(f),{"show-arrow":!1,placement:"bottom"},{trigger:u((()=>[l(n(y),{quaternary:"",size:"tiny",onClick:o[0]||(o[0]=()=>Y("image"))},{icon:u((()=>[N])),_:1})])),default:u((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.62"))||"图片")]})),_:1}),l(n(f),{"show-arrow":!1,placement:"bottom"},{trigger:u((()=>[l(n(y),{quaternary:"",size:"tiny",onClick:o[1]||(o[1]=()=>Y("file"))},{icon:u((()=>[A])),_:1})])),default:u((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.63"))||"文件")]})),_:1}),l(x,v(w(n(X))),{trigger:u((()=>[l(n(f),{"show-arrow":!1,placement:"bottom"},{trigger:u((()=>[l(n(y),{quaternary:"",size:"tiny"},{icon:u((()=>[l(n(_),{size:"18",component:n(B)},null,8,["component"])])),_:1})])),default:u((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.64"))||"添加成员")]})),_:1})])),_:1},16),l(n(f),{"show-arrow":!1,placement:"bottom"},{trigger:u((()=>[l(n(y),{quaternary:"",size:"tiny",onClick:o[2]||(o[2]=()=>W.value=!0)},{icon:u((()=>[F])),_:1})])),default:u((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.65"))||"聊天记录")]})),_:1}),l(n(f),{"show-arrow":!1,placement:"bottom"},{trigger:u((()=>[l(n(y),{quaternary:"",size:"tiny",onClick:o[3]||(o[3]=()=>O.value=!0)},{icon:u((()=>[H])),_:1})])),default:u((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.66"))||"聊天设置")]})),_:1}),n(V)&&n($)?(i(),h(n(C),{key:0,onPositiveClick:Z},{trigger:u((()=>[l(n(f),{"show-arrow":!1,placement:"bottom"},{trigger:u((()=>[l(n(y),{quaternary:"",size:"tiny"},{icon:u((()=>[l(n(_),{size:"18",component:n(D)},null,8,["component"])])),_:1})])),default:u((()=>[m(" 结束聊天 ")])),_:1})])),default:u((()=>[m(" 是否确认结束群聊? ")])),_:1})):p("v-if",!0)])])):p("v-if",!0),l(S,{show:O.value,"onUpdate:show":o[4]||(o[4]=e=>O.value=e)},null,8,["show"]),l(q,{show:Q.value,"onUpdate:show":o[5]||(o[5]=e=>Q.value=e),type:T.value,visible:Q.value},null,8,["show","type","visible"]),l(L,{show:W.value,"onUpdate:show":o[6]||(o[6]=e=>W.value=e),visible:W.value},null,8,["show","visible"])],64))}});export{R as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as n,watch as o,openBlock as s,createElementBlock as i,normalizeClass as r,unref as a,normalizeStyle as l,createVNode as c,withCtx as u,Fragment as m,renderList as d,toDisplayString as p,createCommentVNode as g,createBlock as f,createElementVNode as v,createTextVNode as y,withModifiers as h,nextTick as T}from"vue";import{NImageGroup as M,NButton as w,NAvatar as k,NImage as _,NIcon as C,NSpace as x,NButtonGroup as I,NTooltip as L}from"naive-ui";import{format as j}from"date-fns";import{getHistoryRecordApi as E,readMessageApi as S}from"../api/index.js";import{useData as b}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{isAudioOrVideoMessage as z,simplifyMessage as D,getAVTime as H,downloadFile as R}from"../utils/index.js";import{first as N,last as O,toString as B}from"lodash-es";import"trtc-sdk-v5";import P from"./PersonProfile.vue.js";import q from"./MessageTemplate.vue.js";import{emojis as J}from"../utils/emoji.js";import W from"./ContextMenu.js";import U from"./ChatAdd.vue.js";import"../../../../shared/utils/index.js";import"@vueuse/core";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{CallOutline as X,VideocamOutline as F,DocumentSharp as G,ChatbubbleEllipsesOutline as K,EllipsisHorizontal as Y,ArrowDownSharp as $}from"@vicons/ionicons5";import{useScrollLoading as Q}from"../../../../shared/hooks/useScrollLoading.js";const V={key:0,class:"tip-text"},Z={key:1,class:"tip-text"},ee={key:2,class:"message-box"},te={key:0,class:"content-box"},ne={class:"name-box"},oe=["data-time"],se=["onContextmenu"],ie={key:0,class:"reference-content"},re=["innerHTML"],ae=["src"],le=["innerHTML"],ce=["innerHTML"],ue={style:{"margin-left":"8px"}},me={class:"size"};var de=e({__name:"ChatMain",setup(e){const de=t(),{state:pe,setMsgList:ge,relayMessage:fe,setCurrentSessionItem:ve,isGroupChat:ye}=b(),he=t(),Te=t(!1),Me=t({left:0,top:0}),we=t(),ke=t(),_e={page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")},Ce=n((()=>({"--c-tip-top":ye.value?"1px":"-20px","--c-tip-gap":ye.value?"10px":"0px"})));function xe({nodes:e}){var t,n;const{_ctx:o}=null==(t=e.download)?void 0:t.children,s=o?null==(n=null==o?void 0:o.proxy)?void 0:n.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,c(L,null,{trigger:()=>c(C,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:$,onClick:()=>s&&R(s,"img")},null),default:()=>{var e;return(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.46"))||"下载"}}),e.close]}async function Ie(){try{if(!_e.hasMore)return;_e.page++;const e=await E({sessionKey:pe.currentSessionItem.sessionKey,page:_e.page,lastSendTime:_e.lastSendTime});if(!Array.isArray(e)||0===e.length)return _e.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=N(e).id;_e.lastSendTime=O(e).sendTime,ge(_e.page>1?[...pe.msgList,...e]:e),1===_e.page&&pe.currentSessionItem.unreadNum&&(await S({chatType:pe.currentSessionItem.chatType,messageIdSet:[t],receiver:pe.userInfo.id,sender:pe.currentSessionItem.receiver}),ve({unreadNum:0}))}catch(e){console.log(e)}}async function Le(e,t){we.value=t,async function(e){var t,n,o,s,i,r;Te.value=!0,await T();const{clientX:a,clientY:l}=e,{width:c=0,height:u=0,left:m=0,top:d=0}=(null==(t=de.value)?void 0:t.getBoundingClientRect())||{},p=null!=(s=null==(o=null==(n=he.value)?void 0:n.$el)?void 0:o.getBoundingClientRect().height)?s:220,g=null!=(r=null==(i=de.value)?void 0:i.scrollTop)?r:0,f=5,v={};a<=m+c/2?v.left=a-m+f+"px":v.right=m+c-a-f+"px";l-d<p/2?v.top=g+f+"px":d+u-l<=p/2?v.bottom=Math.abs(g)+f+"px":v.top=g+l-d-p/2+"px";Me.value=v}(e)}function je(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function Ee(e){const{chatMessageType:t}=e.content;return e.sender===pe.userInfo.id&&Date.now()-new Date(e.sendTime).getTime()<864e5&&[A.TEXT,A.EMOJI].includes(t)}function Se(e){const{chatMessageType:t,msg:n=""}=e.content;if(t===A.BLEND){const e=B(n).match(/<img[^>]*>/gi);return!e||!e.length}return t&&[A.TEXT,A.EMOJI].includes(t)}function be(e){const{chatMessageType:t,msg:n=""}=e.content,o=B(n).match(/<img[^>]*>/gi);return t===A.BLEND&&o&&o.length}function Ae(e,t){var n,o;const{chatMessageType:s,messageTemplate:i}=e.content;if(s===A.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(o=null==i?void 0:i.setting)?void 0:o.style.id)}function ze(e){var t,n;const{chatMessageType:o,messageTemplate:s}=e;return o===A.TEMPLATE&&3==(null==(n=null==(t=null==s?void 0:s.setting)?void 0:t.style)?void 0:n.id)}function De(e,t){var n;const o=new Date(e.sendTime).getTime(),s=null==(n=pe.msgList[t+1])?void 0:n.sendTime;if(s){return o-new Date(s).getTime()>3e5}return!0}function He(e){pe.currentReferenceMsg=e,pe.currentReferenceMsg.content.referenceContent=null,Object.assign(pe.currentReferenceMsg,{chatType:pe.currentSessionItem.chatType,receiver:pe.currentSessionItem.receiver,receiverAvatar:pe.currentSessionItem.avatar,receiverName:pe.currentSessionItem.name})}function Re(e,t){var n;"reply"!==e?"relay"===e&&(null==(n=ke.value)||n.click()):He(t)}function Ne(e,t){const n=pe.msgList.find((e=>e.id===we.value));fe({checkedIds:e,remark:t,content:n.content})}return Q(de,(()=>{Ie()}),"top",(()=>{Te.value=!1})),o((()=>pe.id),(e=>{e&&(pe.currentReferenceMsg=null,Object.assign(_e,{page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")}),Ie())}),{immediate:!0}),o((()=>pe.isAppendMsg),(e=>{e&&(ge([pe.currentMsg,...pe.msgList]),async function(){var e;null==(e=de.value)||e.scrollTo({top:0,behavior:"auto"})}(),pe.isAppendMsg=!1)}),{immediate:!0}),(e,t)=>{var n;return s(),i("div",{class:r(["chat-main",{"home-bg":!a(pe).id}]),ref_key:"chatMainRef",ref:de,style:l(a(Ce))},[c(a(M),{"show-toolbar-tooltip":"","render-toolbar":xe},{default:u((()=>[(s(!0),i(m,null,d(a(pe).msgList,((e,t)=>{var n,o;return s(),i(m,{key:e.id},[je(e)?(s(),i("div",{key:0,class:r(["message-item",{"message-item--mine":e.sender==a(pe).userInfo.id}])},[De(e,t)?(s(),i("p",V,p(e.__sendTime),1)):g("v-if",!0),Ae(e,"system")||"WITHDRAWN"===e.status?(s(),i(m,{key:1},[Ae(e,"system")?(s(),f(q,{key:0,data:e},null,8,["data"])):g("v-if",!0),"WITHDRAWN"===e.status?(s(),i("p",Z,[v("span",null,p(e.sender==a(pe).userInfo.id?(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.67"))||"你":e.senderName)+((null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.68"))||"撤回了一条消息"),1),Ee(e)?(s(),f(a(w),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){pe.currentReEditMsg=e}(e)},{default:u((()=>[y(" 重新编辑 ")])),_:2},1032,["onClick"])):g("v-if",!0)])):g("v-if",!0)],64)):(s(),i("div",ee,[c(P,{"user-id":e.sender,placement:e.sender==a(pe).userInfo.id?"left":"right"},{trigger:u((()=>[c(a(k),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id","placement"]),e.content?(s(),i("div",te,[v("div",ne,[v("span",{class:"name","data-time":e.__time},p(a(ye)?e.senderName:""),9,oe)]),v("div",{class:r(["content",{emoji:e.content.chatMessageType===a(A).EMOJI&&!e.content.referenceContent,template:e.content.chatMessageType===a(A).TEMPLATE,"template--3":ze(e.content),"audio-video":a(z)(e.content),file:e.content.chatMessageType===a(A).FILE}]),onContextmenu:h((t=>Le(t,e.id)),["prevent"])},[Se(e)?(s(),i(m,{key:0},[e.content.referenceContent?(s(),i("div",ie,[v("span",null,p(e.content.referenceContent.senderName)+":",1),v("pre",{innerHTML:a(D)(e.content.referenceContent.content)},null,8,re)])):g("v-if",!0),e.content.chatMessageType===a(A).EMOJI?(s(),i("img",{key:1,class:r([e.content.referenceContent?"emoji--min":"emoji--big"]),src:a(J).findEmoji(e.__content)},null,10,ae)):(s(),i("pre",{key:2,innerHTML:e.__content},null,8,le))],64)):g("v-if",!0),be(e)?(s(),i("pre",{key:1,innerHTML:e.__content},null,8,ce)):g("v-if",!0),Ae(e,"template")?(s(),f(q,{key:2,data:e},null,8,["data"])):g("v-if",!0),e.content.chatMessageType===a(A).IMAGE?(s(),f(a(_),{key:3,width:"240",src:e.__content},null,8,["src"])):g("v-if",!0),a(z)(e.content)?(s(),i(m,{key:4},[c(a(C),{class:r({"is-audio":e.content.chatMessageType===a(A).AUDIO}),component:e.content.chatMessageType===a(A).AUDIO?a(X):a(F)},null,8,["class","component"]),v("span",ue,p(a(H)(e.__content)),1)],64)):g("v-if",!0),e.content.chatMessageType===a(A).FILE?(s(),f(a(x),{key:5,"wrap-item":!1},{default:u((()=>[c(a(C),{class:"icon-file",size:"40",component:a(G)},null,8,["component"]),c(a(x),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[v("span",null,p(e.__content),1),v("span",me,p(e.__size),1)])),_:2},1024)])),_:2},1024)):g("v-if",!0),c(a(I),{class:"quick-menu"},{default:u((()=>[a(z)(e.content)?g("v-if",!0):(s(),i(m,{key:0},[g(' <n-button quaternary size="tiny">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="chat--iconfont chat--icon-face" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t\t</n-button> '),c(a(w),{quaternary:"",size:"tiny",onClick:()=>He(e)},{icon:u((()=>[c(a(C),{size:"17",component:a(K)},null,8,["component"])])),_:2},1032,["onClick"])],64)),c(a(w),{quaternary:"",size:"tiny",onClick:t=>Le(t,e.id)},{icon:u((()=>[c(a(C),{size:"14",component:a(Y)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,se)])):g("v-if",!0)]))],2)):g("v-if",!0)],64)})),128))])),_:1}),c(a(W),{ref_key:"contextmenuRef",ref:he,show:Te.value,"onUpdate:show":t[0]||(t[0]=e=>Te.value=e),position:Me.value,id:we.value,onSelect:Re},null,8,["show","position","id"]),c(U,{title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.44"))||"转发消息",mode:"relay",onComfirm:Ne},{trigger:u((()=>{var e;return[v("span",{style:{display:"none"},ref_key:"relayTriggerRef",ref:ke},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.45"))||"转发",512)]})),_:1})],6)}}});export{de as default};
1
+ import{defineComponent as e,ref as t,computed as n,watch as o,openBlock as s,createElementBlock as i,normalizeClass as r,unref as a,normalizeStyle as l,createVNode as c,withCtx as u,Fragment as m,renderList as d,toDisplayString as p,createCommentVNode as g,createBlock as f,createElementVNode as v,createTextVNode as y,withModifiers as h,nextTick as T}from"vue";import{NImageGroup as M,NButton as w,NAvatar as k,NImage as _,NIcon as C,NSpace as x,NButtonGroup as I,NTooltip as L}from"naive-ui";import{format as j}from"date-fns";import{getHistoryRecordApi as E,readMessageApi as S}from"../api/index.js";import{useData as b}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{isAudioOrVideoMessage as z,simplifyMessage as D,getAVTime as H,downloadFile as R}from"../utils/index.js";import{first as B,last as N,toString as O}from"lodash-es";import"trtc-sdk-v5";import P from"./PersonProfile.vue.js";import q from"./MessageTemplate.vue.js";import{emojis as J}from"../utils/emoji.js";import W from"./ContextMenu.js";import U from"./ChatAdd.vue.js";import"../../../../shared/utils/index.js";import"@vueuse/core";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{CallOutline as X,VideocamOutline as F,DocumentSharp as G,ChatbubbleEllipsesOutline as K,EllipsisHorizontal as Y,ArrowDownSharp as $}from"@vicons/ionicons5";import{useScrollLoading as Q}from"../../../../shared/hooks/useScrollLoading.js";const V={key:0,class:"tip-text"},Z={key:1,class:"tip-text"},ee={key:2,class:"message-box"},te={key:0,class:"content-box"},ne={class:"name-box"},oe=["data-time"],se=["onContextmenu"],ie={key:0,class:"reference-content"},re=["innerHTML"],ae=["src"],le=["innerHTML"],ce=["innerHTML"],ue={style:{"margin-left":"8px"}},me={class:"size"};var de=e({__name:"ChatMain",setup(e){const de=t(),{state:pe,setMsgList:ge,relayMessage:fe,setCurrentSessionItem:ve,isGroupChat:ye}=b(),he=t(),Te=t(!1),Me=t({left:0,top:0}),we=t(),ke=t(),_e={page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")},Ce=n((()=>({"--c-tip-top":ye.value?"1px":"-20px","--c-tip-gap":ye.value?"10px":"0px"})));function xe({nodes:e}){var t,n;const{_ctx:o}=null==(t=e.download)?void 0:t.children,s=o?null==(n=null==o?void 0:o.proxy)?void 0:n.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,c(L,null,{trigger:()=>c(C,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:$,onClick:()=>s&&R(s,"img")},null),default:()=>{var e;return(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.102"))||"下载"}}),e.close]}async function Ie(){try{if(!_e.hasMore)return;_e.page++;const e=await E({sessionKey:pe.currentSessionItem.sessionKey,page:_e.page,lastSendTime:_e.lastSendTime});if(!Array.isArray(e)||0===e.length)return _e.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=B(e).id;_e.lastSendTime=N(e).sendTime,ge(_e.page>1?[...pe.msgList,...e]:e),1===_e.page&&pe.currentSessionItem.unreadNum&&(await S({chatType:pe.currentSessionItem.chatType,messageIdSet:[t],receiver:pe.userInfo.id,sender:pe.currentSessionItem.receiver}),ve({unreadNum:0}))}catch(e){console.log(e)}}async function Le(e,t){we.value=t,async function(e){var t,n,o,s,i,r;Te.value=!0,await T();const{clientX:a,clientY:l}=e,{width:c=0,height:u=0,left:m=0,top:d=0}=(null==(t=de.value)?void 0:t.getBoundingClientRect())||{},p=null!=(s=null==(o=null==(n=he.value)?void 0:n.$el)?void 0:o.getBoundingClientRect().height)?s:220,g=null!=(r=null==(i=de.value)?void 0:i.scrollTop)?r:0,f=5,v={};a<=m+c/2?v.left=a-m+f+"px":v.right=m+c-a-f+"px";l-d<p/2?v.top=g+f+"px":d+u-l<=p/2?v.bottom=Math.abs(g)+f+"px":v.top=g+l-d-p/2+"px";Me.value=v}(e)}function je(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function Ee(e){const{chatMessageType:t}=e.content;return e.sender===pe.userInfo.id&&Date.now()-new Date(e.sendTime).getTime()<864e5&&[A.TEXT,A.EMOJI].includes(t)}function Se(e){const{chatMessageType:t,msg:n=""}=e.content;if(t===A.BLEND){const e=O(n).match(/<img[^>]*>/gi);return!e||!e.length}return t&&[A.TEXT,A.EMOJI].includes(t)}function be(e){const{chatMessageType:t,msg:n=""}=e.content,o=O(n).match(/<img[^>]*>/gi);return t===A.BLEND&&o&&o.length}function Ae(e,t){var n,o;const{chatMessageType:s,messageTemplate:i}=e.content;if(s===A.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(o=null==i?void 0:i.setting)?void 0:o.style.id)}function ze(e){var t,n;const{chatMessageType:o,messageTemplate:s}=e;return o===A.TEMPLATE&&3==(null==(n=null==(t=null==s?void 0:s.setting)?void 0:t.style)?void 0:n.id)}function De(e,t){var n;const o=new Date(e.sendTime).getTime(),s=null==(n=pe.msgList[t+1])?void 0:n.sendTime;if(s){return o-new Date(s).getTime()>3e5}return!0}function He(e){pe.currentReferenceMsg=e,pe.currentReferenceMsg.content.referenceContent=null,Object.assign(pe.currentReferenceMsg,{chatType:pe.currentSessionItem.chatType,receiver:pe.currentSessionItem.receiver,receiverAvatar:pe.currentSessionItem.avatar,receiverName:pe.currentSessionItem.name})}function Re(e,t){var n;"reply"!==e?"relay"===e&&(null==(n=ke.value)||n.click()):He(t)}function Be(e,t){const n=pe.msgList.find((e=>e.id===we.value));fe({checkedIds:e,remark:t,content:n.content})}return Q(de,(()=>{Ie()}),"top",(()=>{Te.value=!1})),o((()=>pe.id),(e=>{e&&(pe.currentReferenceMsg=null,Object.assign(_e,{page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")}),Ie())}),{immediate:!0}),o((()=>pe.isAppendMsg),(e=>{e&&(ge([pe.currentMsg,...pe.msgList]),async function(){var e;null==(e=de.value)||e.scrollTo({top:0,behavior:"auto"})}(),pe.isAppendMsg=!1)}),{immediate:!0}),(e,t)=>{var n;return s(),i("div",{class:r(["chat-main",{"home-bg":!a(pe).id}]),ref_key:"chatMainRef",ref:de,style:l(a(Ce))},[c(a(M),{"show-toolbar-tooltip":"","render-toolbar":xe},{default:u((()=>[(s(!0),i(m,null,d(a(pe).msgList,((e,t)=>{var n,o;return s(),i(m,{key:e.id},[je(e)?(s(),i("div",{key:0,class:r(["message-item",{"message-item--mine":e.sender==a(pe).userInfo.id}])},[De(e,t)?(s(),i("p",V,p(e.__sendTime),1)):g("v-if",!0),Ae(e,"system")||"WITHDRAWN"===e.status?(s(),i(m,{key:1},[Ae(e,"system")?(s(),f(q,{key:0,data:e},null,8,["data"])):g("v-if",!0),"WITHDRAWN"===e.status?(s(),i("p",Z,[v("span",null,p(e.sender==a(pe).userInfo.id?(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.67"))||"你":e.senderName)+((null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.68"))||"撤回了一条消息"),1),Ee(e)?(s(),f(a(w),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){pe.currentReEditMsg=e}(e)},{default:u((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.69"))||"重新编辑")]})),_:2},1032,["onClick"])):g("v-if",!0)])):g("v-if",!0)],64)):(s(),i("div",ee,[c(P,{"user-id":e.sender,placement:e.sender==a(pe).userInfo.id?"left":"right"},{trigger:u((()=>[c(a(k),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id","placement"]),e.content?(s(),i("div",te,[v("div",ne,[v("span",{class:"name","data-time":e.__time},p(a(ye)?e.senderName:""),9,oe)]),v("div",{class:r(["content",{emoji:e.content.chatMessageType===a(A).EMOJI&&!e.content.referenceContent,template:e.content.chatMessageType===a(A).TEMPLATE,"template--3":ze(e.content),"audio-video":a(z)(e.content),file:e.content.chatMessageType===a(A).FILE}]),onContextmenu:h((t=>Le(t,e.id)),["prevent"])},[Se(e)?(s(),i(m,{key:0},[e.content.referenceContent?(s(),i("div",ie,[v("span",null,p(e.content.referenceContent.senderName)+":",1),v("pre",{innerHTML:a(D)(e.content.referenceContent.content)},null,8,re)])):g("v-if",!0),e.content.chatMessageType===a(A).EMOJI?(s(),i("img",{key:1,class:r([e.content.referenceContent?"emoji--min":"emoji--big"]),src:a(J).findEmoji(e.__content)},null,10,ae)):(s(),i("pre",{key:2,innerHTML:e.__content},null,8,le))],64)):g("v-if",!0),be(e)?(s(),i("pre",{key:1,innerHTML:e.__content},null,8,ce)):g("v-if",!0),Ae(e,"template")?(s(),f(q,{key:2,data:e},null,8,["data"])):g("v-if",!0),e.content.chatMessageType===a(A).IMAGE?(s(),f(a(_),{key:3,width:"240",src:e.__content},null,8,["src"])):g("v-if",!0),a(z)(e.content)?(s(),i(m,{key:4},[c(a(C),{class:r({"is-audio":e.content.chatMessageType===a(A).AUDIO}),component:e.content.chatMessageType===a(A).AUDIO?a(X):a(F)},null,8,["class","component"]),v("span",ue,p(a(H)(e.__content)),1)],64)):g("v-if",!0),e.content.chatMessageType===a(A).FILE?(s(),f(a(x),{key:5,"wrap-item":!1},{default:u((()=>[c(a(C),{class:"icon-file",size:"40",component:a(G)},null,8,["component"]),c(a(x),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[v("span",null,p(e.__content),1),v("span",me,p(e.__size),1)])),_:2},1024)])),_:2},1024)):g("v-if",!0),c(a(I),{class:"quick-menu"},{default:u((()=>[a(z)(e.content)?g("v-if",!0):(s(),i(m,{key:0},[g(' <n-button quaternary size="tiny">\n\t\t\t\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="chat--iconfont chat--icon-face" />\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t</n-button> '),c(a(w),{quaternary:"",size:"tiny",onClick:()=>He(e)},{icon:u((()=>[c(a(C),{size:"17",component:a(K)},null,8,["component"])])),_:2},1032,["onClick"])],64)),c(a(w),{quaternary:"",size:"tiny",onClick:t=>Le(t,e.id)},{icon:u((()=>[c(a(C),{size:"14",component:a(Y)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,se)])):g("v-if",!0)]))],2)):g("v-if",!0)],64)})),128))])),_:1}),c(a(W),{ref_key:"contextmenuRef",ref:he,show:Te.value,"onUpdate:show":t[0]||(t[0]=e=>Te.value=e),position:Me.value,id:we.value,onSelect:Re},null,8,["show","position","id"]),c(U,{title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.70"))||"转发消息",mode:"relay",onComfirm:Be},{trigger:u((()=>{var e;return[v("span",{style:{display:"none"},ref_key:"relayTriggerRef",ref:ke},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.98"))||"转发",512)]})),_:1})],6)}}});export{de as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as s,computed as o,watch as a,nextTick as r,openBlock as t,createBlock as l,unref as n,normalizeStyle as i,withCtx as c,createVNode as u,createTextVNode as p,createElementVNode as f,createElementBlock as d,Fragment as m,renderList as v,toDisplayString as h,withDirectives as w,vShow as g}from"vue";import{NPopover as y,NButton as k,NIcon as j,NInput as _,NAvatar 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{openSessionApi as R}from"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";import{useSearchUserList as S}from"../hooks/useSearchUserList.js";import U from"../../../default-page/index.js";const I=["onClick"],b={class:"user-info"};var z=e({__name:"ChatSearch",setup(e){const z=s(),D=s(),N=s(!1),B=s(""),{cssVars:E,state:G,openSession:T}=L(),{userList:V,handleInput:$}=S({wrapperRef:z,keywordRef:B}),q=o((()=>!V.value.length&&!!(B.value||"").replace(/^\s+|\s+$/g,"")));return a((()=>N.value),(async e=>{var s;e&&(await r(),null==(s=D.value)||s.focus())})),(e,s)=>(t(),l(n(y),{raw:"","content-class":"search-content",class:"search-wrapper",style:i(n(E)),show:N.value,"onUpdate:show":s[1]||(s[1]=e=>N.value=e),placement:"top",trigger:"click","display-directive":"show","show-arrow":!1,delay:0,overlap:""},{trigger:c((()=>[u(n(k),{color:"#ffffff4D",class:"search-trigger-btn"},{icon:c((()=>[u(n(j),{component:n(C),color:"#ffffff80"},null,8,["component"])])),default:c((()=>[p(" 搜索联系人 ")])),_:1})])),default:c((()=>{var e;return[u(n(_),{ref_key:"inputRef",ref:D,size:"small",clearable:"",autofocus:"",value:B.value,"onUpdate:value":[s[0]||(s[0]=e=>B.value=e),n($)]},{prefix:c((()=>[u(n(j),{color:"#ffffff80",component:n(C)},null,8,["component"])])),_:1},8,["value","onUpdate:value"]),f("div",{class:"user-list-wrapper",ref_key:"listRef",ref:z},[(t(!0),d(m,null,v(n(V),(e=>(t(),d("div",{class:"user-item",key:e.id,onClick:()=>async function(e){N.value=!1;const s=await R({chatType:"SINGLE",receiver:e,sender:G.userInfo.id});T(s)}(e.id)},[u(n(x),{round:"",size:32,src:e.avatar},null,8,["src"]),f("div",b,[f("span",null,h(e.name),1),f("span",null,h(e.deptName),1),f("span",null,h(e.post),1)])],8,I)))),128)),w(u(n(U),{config:{title:" ",content:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[g,n(q)]])],512)]})),_:1},8,["style","show"]))}});export{z as default};
1
+ import{defineComponent as e,ref as o,computed as s,watch as a,nextTick as r,openBlock as t,createBlock as l,unref as n,normalizeStyle as i,withCtx as c,createVNode as u,createTextVNode as p,createElementVNode as f,createElementBlock as d,Fragment as m,renderList as v,toDisplayString as w,withDirectives as h,vShow as g}from"vue";import{NPopover as y,NButton as k,NIcon as j,NInput as _,NAvatar 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{openSessionApi as R}from"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";import{useSearchUserList as S}from"../hooks/useSearchUserList.js";import U from"../../../default-page/index.js";const I=["onClick"],b={class:"user-info"};var z=e({__name:"ChatSearch",setup(e){const z=o(),B=o(),D=o(!1),N=o(""),{cssVars:E,state:G,openSession:T}=L(),{userList:V,handleInput:$}=S({wrapperRef:z,keywordRef:N}),q=s((()=>!V.value.length&&!!(N.value||"").replace(/^\s+|\s+$/g,"")));return a((()=>D.value),(async e=>{var o;e&&(await r(),null==(o=B.value)||o.focus())})),(e,o)=>(t(),l(n(y),{raw:"","content-class":"search-content",class:"search-wrapper",style:i(n(E)),show:D.value,"onUpdate:show":o[1]||(o[1]=e=>D.value=e),placement:"top",trigger:"click","display-directive":"show","show-arrow":!1,delay:0,overlap:""},{trigger:c((()=>[u(n(k),{color:"#ffffff4D",class:"search-trigger-btn"},{icon:c((()=>[u(n(j),{component:n(C),color:"#ffffff80"},null,8,["component"])])),default:c((()=>{var e;return[p((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.80"))||"搜索联系人")]})),_:1})])),default:c((()=>{var e;return[u(n(_),{ref_key:"inputRef",ref:B,size:"small",clearable:"",autofocus:"",value:N.value,"onUpdate:value":[o[0]||(o[0]=e=>N.value=e),n($)]},{prefix:c((()=>[u(n(j),{color:"#ffffff80",component:n(C)},null,8,["component"])])),_:1},8,["value","onUpdate:value"]),f("div",{class:"user-list-wrapper",ref_key:"listRef",ref:z},[(t(!0),d(m,null,v(n(V),(e=>(t(),d("div",{class:"user-item",key:e.id,onClick:()=>async function(e){D.value=!1;const o=await R({chatType:"SINGLE",receiver:e,sender:G.userInfo.id});T(o)}(e.id)},[u(n(x),{round:"",size:32,src:e.avatar},null,8,["src"]),f("div",b,[f("span",null,w(e.name),1),f("span",null,w(e.deptName),1),f("span",null,w(e.post),1)])],8,I)))),128)),h(u(n(U),{config:{title:" ",content:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.81"))||"找不到相关的结果"},type:"5"},null,512),[[g,n(q)]])],512)]})),_:1},8,["style","show"]))}});export{z as default};
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as n,useAttrs as t,ref as o,computed as i,watch as a,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 g,createCommentVNode as w,withKeys as f,nextTick as y}from"vue";import{NDrawer as _,NDrawerContent as k,NButton as C,NIcon as h,NAvatar as b,NUpload as I,NUploadTrigger as x,NInput as L,NSpace as S,NSwitch as B,NPopconfirm as j}from"naive-ui";import{ChevronBackOutline as z,ChevronForwardOutline as U,AddOutline as G,RemoveOutline as P,Pencil as A}from"@vicons/ionicons5";import{useData as D}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{toppingSessionApi as R,groupLeaveApi as F,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"./PersonProfile.vue.js";import E from"./ChatAdd.vue.js";var H,J,M,Q,T,V,W,X;const Y={key:0,class:"chat-set-wrapper"},Z={class:"item"},$={class:"name"},ee={key:0,class:"item__right",style:{color:"var(--c-primary-color)"}},ne={class:"item user-info"},te={class:"name"},oe={class:"item item-column"},ie=e("span",{class:"label"},(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.85"))||"群成员",-1),ae={class:"group-box"},le={class:"group-box__item"},se={class:"name"},re={class:"group-box__item"},ce=e("span",{class:"name"},(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.86"))||"添加",-1),ue={class:"group-box__item"},de=e("span",{class:"name"},(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.88"))||"移除",-1),me=["onClick"],pe=e("span",{class:"label"},(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.90"))||"群头像",-1),ve={class:"item"},ge=e("span",{class:"label"},(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.34"))||"群名称",-1),we={class:"item__right"},fe={class:"txt"},ye={class:"item"},_e=e("span",{class:"label"},(null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.92"))||"置顶聊天",-1),ke={class:"item item--red"},Ce=e("span",{class:"label"},(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.93"))||"退出群聊",-1),he=e("p",{style:{width:"230px"}},"是否确认退出群聊?",-1),be={class:"item item--red"},Ie=e("span",{class:"label"},(null==(X=window.getLanguageByCode)?void 0:X.call(window,"10010.1.95"))||"解散该群",-1),xe=e("p",{style:{width:"230px"}},"是否确认解散群聊?",-1);var Le=n({__name:"ChatSet",setup(n){const H=t(),{state:J,setCurrentSessionItem:M,isGroupChat:Q,isGroupLeader:T}=D(),V=o(),W=o(!1),X=o(""),Le=o(!1),Se=i((()=>J.currentGroupUser.map((e=>e.id)))),Be=i((()=>J.currentGroupUser?T.value?J.currentGroupUser.slice(0,6):J.currentGroupUser.slice(0,7):[]));async function je(e){try{await R({id:J.currentSessionItem.id,topping:e}),M({topping:e})}catch(e){}}async function ze(e){await F({dissolution:!!e,groupId:J.currentSessionItem.receiver,operator:J.userInfo.id,memberIdSet:e?Se.value:[J.userInfo.id]})}async function Ue(){var e;X.value=J.currentSessionItem.name,W.value=!0,await y(),null==(e=V.value)||e.select()}async function Ge(e){const n=new FormData,t=Object.assign({id:J.currentSessionItem.receiver},e);for(const e in t)n.append(e,t[e]);await K(n)}async function Pe(){W.value=!1;const e=N(X.value);e&&e!==J.currentSessionItem.name&&(await Ge({name:e}),M({name:e,defaultName:e}))}async function Ae(e){const{file:n}=e.file,t=new FileReader;t.onload=function(e){var n;(null==(n=e.target)?void 0:n.result)&&M({avatar:e.target.result})},t.readAsDataURL(e.file.file),await Ge({file:n})}function De(){O(H["onUpdate:show"])&&H["onUpdate:show"](!1)}return a((()=>J.id),(e=>{De()})),(n,t)=>(l(),s(r(_),{width:320,"trap-focus":!1,"block-scroll":!1,to:".iho-chat",onAfterLeave:t[7]||(t[7]=e=>Le.value=!1)},{default:c((()=>[u(r(k),null,{header:c((()=>{var e,n;return[r(Q)&&Le.value?(l(),s(r(C),{key:0,text:"",color:"#666",onClick:t[0]||(t[0]=e=>Le.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((()=>[d(" 返回 ")])),_: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(J).id?(l(),m("div",Y,[r(Q)&&Le.value?(l(!0),m(p,{key:0},v(r(J).currentGroupUser,((n,t)=>(l(),s(q,{key:n.id,"user-id":n.id,placement:"left"},{trigger:c((()=>{var o;return[e("div",Z,[u(r(b),{round:"",size:40,src:n.avatar},null,8,["src"]),e("span",$,g(n.name),1),0===t?(l(),m("span",ee,(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.84"))||"群主")):w("v-if",!0)])]})),_:2},1032,["user-id"])))),128)):(l(),m(p,{key:1},[u(q,{"user-id":r(J).currentSessionItem.receiver,onClose:De,disabled:!!r(Q),placement:"bottom-end"},{trigger:c((()=>[e("div",ne,[u(r(b),{round:"",size:40,src:r(J).currentSessionItem.avatar},null,8,["src"]),e("span",te,g(r(J).currentSessionItem.name),1),r(Q)?w("v-if",!0):(l(),s(r(h),{key:0,size:24,component:r(U),class:"item__right"},null,8,["component"]))])])),_:1},8,["user-id","disabled"]),r(Q)?(l(),m(p,{key:0},[e("div",oe,[ie,e("div",ae,[(l(!0),m(p,null,v(r(Be),(n=>(l(),s(q,{key:n.id,"user-id":n.id,placement:"left-start"},{trigger:c((()=>[e("div",le,[u(r(b),{round:"",size:40,src:n.avatar},null,8,["src"]),e("span",se,g(n.name),1)])])),_:2},1032,["user-id"])))),128)),u(E,{mode:"join",disabledIds:r(Se)},{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(E,{key:0,title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.87"))||"移除成员",mode:"remove",options:r(J).currentGroupUser},{trigger:c((()=>[e("div",ue,[u(r(C),{strong:"",secondary:"",circle:""},{icon:c((()=>[u(r(h),{component:r(P)},null,8,["component"])])),_:1}),de])])),_:1},8,["options"])):w("v-if",!0)]),u(r(C),{text:"","icon-placement":"right",color:"#999",onClick:t[1]||(t[1]=e=>Le.value=!0)},{icon:c((()=>[u(r(h),{component:r(U)},null,8,["component"])])),default:c((()=>[d(" 查看全部群成员 ")])),_:1})]),u(r(I),{abstract:"",multiple:"",accept:"image/*",onChange:Ae},{default:c((()=>[u(r(x),{abstract:""},{default:c((({handleClick:n})=>[e("div",{class:"item",onClick:n},[pe,u(r(h),{size:20,component:r(U),class:"item__right"},null,8,["component"])],8,me)])),_:1})])),_:1}),e("div",ve,[ge,e("div",we,[W.value?(l(),s(r(L),{key:0,ref_key:"inputRef",ref:V,value:X.value,"onUpdate:value":t[2]||(t[2]=e=>X.value=e),onBlur:Pe,onKeydown:t[3]||(t[3]=f((e=>e.target.blur()),["enter"]))},null,8,["value"])):(l(),s(r(S),{key:1,"wrap-item":!1,onClick:Ue,align:"center"},{default:c((()=>[e("span",fe,g(r(J).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)):w("v-if",!0),e("div",ye,[_e,u(r(B),{value:r(J).currentSessionItem.topping,"onUpdate:value":[t[4]||(t[4]=e=>r(J).currentSessionItem.topping=e),je],class:"item__right"},null,8,["value"])]),r(Q)?(l(),m(p,{key:1},[u(r(j),{onPositiveClick:t[5]||(t[5]=()=>ze(!1))},{trigger:c((()=>[e("div",ke,[Ce,u(r(h),{size:20,component:r(U),class:"item__right"},null,8,["component"])])])),default:c((()=>[he])),_:1}),r(T)?(l(),s(r(j),{key:0,onPositiveClick:t[6]||(t[6]=()=>ze(!0))},{trigger:c((()=>[e("div",be,[Ie,u(r(h),{size:20,component:r(U),class:"item__right"},null,8,["component"])])])),default:c((()=>[xe])),_:1})):w("v-if",!0)],64)):w("v-if",!0)],64))])):w("v-if",!0)]})),_:1})])),_:1}))}});export{Le 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 g,toDisplayString as v,createCommentVNode as w,withKeys as f,nextTick as y}from"vue";import{NDrawer as _,NDrawerContent as k,NButton as C,NIcon as h,NAvatar as b,NUpload as L,NUploadTrigger as I,NInput as B,NSpace as x,NSwitch as S,NPopconfirm as j}from"naive-ui";import{ChevronBackOutline as z,ChevronForwardOutline as U,AddOutline as G,RemoveOutline as P,Pencil as A}from"@vicons/ionicons5";import{useData as D}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{toppingSessionApi as R,groupLeaveApi as F,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"./PersonProfile.vue.js";import E from"./ChatAdd.vue.js";var H,J,M,Q,T,V,W,X,Y,Z;const $={key:0,class:"chat-set-wrapper"},ee={class:"item"},ne={class:"name"},oe={key:0,class:"item__right",style:{color:"var(--c-primary-color)"}},te={class:"item user-info"},ae={class:"name"},ie={class:"item item-column"},le=e("span",{class:"label"},(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.85"))||"群成员",-1),se={class:"group-box"},re={class:"group-box__item"},ce={class:"name"},ue={class:"group-box__item"},de=e("span",{class:"name"},(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.86"))||"添加",-1),me={class:"group-box__item"},pe=e("span",{class:"name"},(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.88"))||"移除",-1),ge=["onClick"],ve=e("span",{class:"label"},(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.90"))||"群头像",-1),we={class:"item"},fe=e("span",{class:"label"},(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.91"))||"群名称",-1),ye={class:"item__right"},_e={class:"txt"},ke={class:"item"},Ce=e("span",{class:"label"},(null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.92"))||"置顶聊天",-1),he={class:"item item--red"},be=e("span",{class:"label"},(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.93"))||"退出群聊",-1),Le=e("p",{style:{width:"230px"}},(null==(X=window.getLanguageByCode)?void 0:X.call(window,"10010.1.94"))||"是否确认退出群聊?",-1),Ie={class:"item item--red"},Be=e("span",{class:"label"},(null==(Y=window.getLanguageByCode)?void 0:Y.call(window,"10010.1.95"))||"解散该群",-1),xe=e("p",{style:{width:"230px"}},(null==(Z=window.getLanguageByCode)?void 0:Z.call(window,"10010.1.96"))||"是否确认解散群聊?",-1);var Se=n({__name:"ChatSet",setup(n){const H=o(),{state:J,setCurrentSessionItem:M,isGroupChat:Q,isGroupLeader:T}=D(),V=t(),W=t(!1),X=t(""),Y=t(!1),Z=a((()=>J.currentGroupUser.map((e=>e.id)))),Se=a((()=>J.currentGroupUser?T.value?J.currentGroupUser.slice(0,6):J.currentGroupUser.slice(0,7):[]));async function je(e){try{await R({id:J.currentSessionItem.id,topping:e}),M({topping:e})}catch(e){}}async function ze(e){await F({dissolution:!!e,groupId:J.currentSessionItem.receiver,operator:J.userInfo.id,memberIdSet:e?Z.value:[J.userInfo.id]})}async function Ue(){var e;X.value=J.currentSessionItem.name,W.value=!0,await y(),null==(e=V.value)||e.select()}async function Ge(e){const n=new FormData,o=Object.assign({id:J.currentSessionItem.receiver},e);for(const e in o)n.append(e,o[e]);await K(n)}async function Pe(){W.value=!1;const e=N(X.value);e&&e!==J.currentSessionItem.name&&(await Ge({name:e}),M({name:e,defaultName:e}))}async function Ae(e){const{file:n}=e.file,o=new FileReader;o.onload=function(e){var n;(null==(n=e.target)?void 0:n.result)&&M({avatar:e.target.result})},o.readAsDataURL(e.file.file),await Ge({file:n})}function De(){O(H["onUpdate:show"])&&H["onUpdate:show"](!1)}return i((()=>J.id),(e=>{De()})),(n,o)=>(l(),s(r(_),{width:320,"trap-focus":!1,"block-scroll":!1,to:".iho-chat",onAfterLeave:o[7]||(o[7]=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(J).id?(l(),m("div",$,[r(Q)&&Y.value?(l(!0),m(p,{key:0},g(r(J).currentGroupUser,((n,o)=>(l(),s(q,{key:n.id,"user-id":n.id,placement:"left"},{trigger:c((()=>{var t;return[e("div",ee,[u(r(b),{round:"",size:40,src:n.avatar},null,8,["src"]),e("span",ne,v(n.name),1),0===o?(l(),m("span",oe,(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.84"))||"群主")):w("v-if",!0)])]})),_:2},1032,["user-id"])))),128)):(l(),m(p,{key:1},[u(q,{"user-id":r(J).currentSessionItem.receiver,onClose:De,disabled:!!r(Q),placement:"bottom-end"},{trigger:c((()=>[e("div",te,[u(r(b),{round:"",size:40,src:r(J).currentSessionItem.avatar},null,8,["src"]),e("span",ae,v(r(J).currentSessionItem.name),1),r(Q)?w("v-if",!0):(l(),s(r(h),{key:0,size:24,component:r(U),class:"item__right"},null,8,["component"]))])])),_:1},8,["user-id","disabled"]),r(Q)?(l(),m(p,{key:0},[e("div",ie,[le,e("div",se,[(l(!0),m(p,null,g(r(Se),(n=>(l(),s(q,{key:n.id,"user-id":n.id,placement:"left-start"},{trigger:c((()=>[e("div",re,[u(r(b),{round:"",size:40,src:n.avatar},null,8,["src"]),e("span",ce,v(n.name),1)])])),_:2},1032,["user-id"])))),128)),u(E,{mode:"join",disabledIds:r(Z)},{trigger:c((()=>[e("div",ue,[u(r(C),{strong:"",secondary:"",circle:""},{icon:c((()=>[u(r(h),{component:r(G)},null,8,["component"])])),_:1}),de])])),_:1},8,["disabledIds"]),r(T)?(l(),s(E,{key:0,title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.87"))||"移除成员",mode:"remove",options:r(J).currentGroupUser},{trigger:c((()=>[e("div",me,[u(r(C),{strong:"",secondary:"",circle:""},{icon:c((()=>[u(r(h),{component:r(P)},null,8,["component"])])),_:1}),pe])])),_:1},8,["options"])):w("v-if",!0)]),u(r(C),{text:"","icon-placement":"right",color:"#999",onClick:o[1]||(o[1]=e=>Y.value=!0)},{icon:c((()=>[u(r(h),{component:r(U)},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:Ae},{default:c((()=>[u(r(I),{abstract:""},{default:c((({handleClick:n})=>[e("div",{class:"item",onClick:n},[ve,u(r(h),{size:20,component:r(U),class:"item__right"},null,8,["component"])],8,ge)])),_:1})])),_:1}),e("div",we,[fe,e("div",ye,[W.value?(l(),s(r(B),{key:0,ref_key:"inputRef",ref:V,value:X.value,"onUpdate:value":o[2]||(o[2]=e=>X.value=e),onBlur:Pe,onKeydown:o[3]||(o[3]=f((e=>e.target.blur()),["enter"]))},null,8,["value"])):(l(),s(r(x),{key:1,"wrap-item":!1,onClick:Ue,align:"center"},{default:c((()=>[e("span",_e,v(r(J).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)):w("v-if",!0),e("div",ke,[Ce,u(r(S),{value:r(J).currentSessionItem.topping,"onUpdate:value":[o[4]||(o[4]=e=>r(J).currentSessionItem.topping=e),je],class:"item__right"},null,8,["value"])]),r(Q)?(l(),m(p,{key:1},[u(r(j),{onPositiveClick:o[5]||(o[5]=()=>ze(!1))},{trigger:c((()=>[e("div",he,[be,u(r(h),{size:20,component:r(U),class:"item__right"},null,8,["component"])])])),default:c((()=>[Le])),_:1}),r(T)?(l(),s(r(j),{key:0,onPositiveClick:o[6]||(o[6]=()=>ze(!0))},{trigger:c((()=>[e("div",Ie,[Be,u(r(h),{size:20,component:r(U),class:"item__right"},null,8,["component"])])])),default:c((()=>[xe])),_:1})):w("v-if",!0)],64)):w("v-if",!0)],64))])):w("v-if",!0)]})),_:1})])),_:1}))}});export{Se as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as o,withDirectives as i,createVNode as s,vShow as n,isVNode as a}from"vue";import{NButtonGroup as l,NButton as r,NIcon as d}from"naive-ui";import{CopyOutline as c,OpenOutline as u,ChatbubbleEllipsesOutline as p,ReturnDownBack as m,DownloadOutline as w}from"@vicons/ionicons5";import{onClickOutside as g}from"@vueuse/core";import{useData as y}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as f}from"../constants/index.js";import{recallMessageApi as v}from"../api/index.js";import{isAudioOrVideoMessage as h,$message as T,downloadFile as b}from"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";import{emojis as I}from"../utils/emoji.js";import{format as j}from"date-fns";var k=e({name:"PopupMenu",inheritAttrs:!1,props:{type:{type:String,default:"message"},show:{type:Boolean,default:!1},position:{type:Object},id:{type:String}},emits:["update:show","select"],setup(e,{attrs:k,slots:M,emit:E}){var L,x,S,A,B;const{state:C,setCurrentSessionItem:D}=y(),O=[{icon:c,label:(null==(L=window.getLanguageByCode)?void 0:L.call(window,"10010.1.97"))||"复制",key:"copy"},{icon:u,label:(null==(x=window.getLanguageByCode)?void 0:x.call(window,"10010.1.45"))||"转发",key:"relay"},{icon:p,label:(null==(S=window.getLanguageByCode)?void 0:S.call(window,"10010.1.99"))||"回复",key:"reply"},{icon:m,label:(null==(A=window.getLanguageByCode)?void 0:A.call(window,"10010.1.101"))||"撤回",key:"withdraw"},{icon:w,label:(null==(B=window.getLanguageByCode)?void 0:B.call(window,"10010.1.46"))||"下载",key:"download"}],W=[{label:"置顶会话",key:"topping"},{label:"移除会话",key:"remove"}],$=t(null),H=o((()=>("message"===e.type?C.msgList:C.sessionList).find((({id:t})=>t===e.id)))),J=o((()=>{var t;if(!e.id)return[];if(!(null==H?void 0:H.value))return[];if("session"===e.type){const e=[...W];return e[0].label=(null==(t=H.value)?void 0:t.topping)?"取消置顶":"置顶会话",e}const{content:o={},sendTime:i,sender:s}=H.value,{chatMessageType:n}=o,a=[];return(s!==C.userInfo.id||n===f.TEMPLATE||s===C.userInfo.id&&Date.now()-new Date(i).getTime()>2592e5)&&a.push("withdraw"),[f.TEXT,f.EMOJI,f.BLEND].includes(n)?a.push("download"):h(o)?a.push("copy","relay","reply","download"):n===f.FILE?a.push("copy"):[f.FORWARD,f.TEMPLATE].includes(n)&&a.push("copy","download"),a.length?O.filter((e=>!a.includes(e.key))):O}));return g($,(e=>{E("update:show",!1)})),()=>{let t;return e.id&&J.value?i(s("div",{class:"contextmenu-wrapper",ref:$,style:e.position},[s(l,{vertical:!0},(o=t=J.value.map((t=>s(r,{key:t.key,onClick:()=>async function(t){E("update:show",!1);const{content:o={},sendTime:i,sender:s}=H.value||{},{chatMessageType:n}=o;switch(t){case"copy":if(!o.msg)return console.log("复制内容为空!");if(!navigator||!("clipboard"in navigator))return console.log("当前浏览器版本不支持复制!");try{if(n===f.TEXT)await navigator.clipboard.writeText(o.msg);else{let e;if([f.EMOJI,f.IMAGE].includes(n)){const t=n===f.EMOJI?I.findEmoji(o.msg):o.msg;e=`<img data-msg=${o.msg} data-type=${n} class=${n===f.EMOJI?"emoji--min":""} src=${t} />`}else e=o.msg;await navigator.clipboard.write([new window.ClipboardItem({"text/html":new Blob([e],{type:"text/html"})})])}}catch(e){console.log("复制失败!")}return;case"download":{let{fileUrl:e,msg:t}=o;return n===f.IMAGE&&(e=t,t=t.match(/\/([^\/?#]+)$/)[1]),void b(e,t)}case"withdraw":try{const t=C.msgList.findIndex((({id:t})=>t===e.id)),o=0===t;if(await v({chatType:C.currentSessionItem.chatType,messageIdSet:[e.id],receiver:C.currentSessionItem.receiver,sender:C.userInfo.id,isLastMessage:o}),C.msgList[t].status="WITHDRAWN",o){const e=j(new Date,"yyyy-MM-dd HH:mm:ss");D({lastMessageStatus:"WITHDRAWN",lastMessageSendTime:e,sortTime:e,updatedTime:e})}}catch(e){T.error("撤回失败")}return}E("select",t,H.value)}(t.key),quaternary:!0},{default:()=>t.label,icon:()=>t.icon?s(d,{component:t.icon},null):null}))),"function"==typeof o||"[object Object]"===Object.prototype.toString.call(o)&&!a(o)?t:{default:()=>[t]}))]),[[n,e.show]]):null;var o}}});export{k as default};
1
+ import{defineComponent as e,ref as t,computed as o,withDirectives as i,createVNode as s,vShow as n,isVNode as a}from"vue";import{NButtonGroup as l,NButton as r,NIcon as d}from"naive-ui";import{CopyOutline as c,OpenOutline as u,ChatbubbleEllipsesOutline as p,ReturnDownBack as m,DownloadOutline as w}from"@vicons/ionicons5";import{onClickOutside as g}from"@vueuse/core";import{useData as y}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as f}from"../constants/index.js";import{recallMessageApi as v}from"../api/index.js";import{isAudioOrVideoMessage as h,$message as T,downloadFile as b}from"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";import{emojis as I}from"../utils/emoji.js";import{format as j}from"date-fns";var k=e({name:"PopupMenu",inheritAttrs:!1,props:{type:{type:String,default:"message"},show:{type:Boolean,default:!1},position:{type:Object},id:{type:String}},emits:["update:show","select"],setup(e,{attrs:k,slots:M,emit:E}){var L,x,S,A,B;const{state:C,setCurrentSessionItem:D}=y(),O=[{icon:c,label:(null==(L=window.getLanguageByCode)?void 0:L.call(window,"10010.1.97"))||"复制",key:"copy"},{icon:u,label:(null==(x=window.getLanguageByCode)?void 0:x.call(window,"10010.1.98"))||"转发",key:"relay"},{icon:p,label:(null==(S=window.getLanguageByCode)?void 0:S.call(window,"10010.1.99"))||"回复",key:"reply"},{icon:m,label:(null==(A=window.getLanguageByCode)?void 0:A.call(window,"10010.1.101"))||"撤回",key:"withdraw"},{icon:w,label:(null==(B=window.getLanguageByCode)?void 0:B.call(window,"10010.1.102"))||"下载",key:"download"}],W=[{label:"置顶会话",key:"topping"},{label:"移除会话",key:"remove"}],$=t(null),H=o((()=>("message"===e.type?C.msgList:C.sessionList).find((({id:t})=>t===e.id)))),J=o((()=>{var t;if(!e.id)return[];if(!(null==H?void 0:H.value))return[];if("session"===e.type){const e=[...W];return e[0].label=(null==(t=H.value)?void 0:t.topping)?"取消置顶":"置顶会话",e}const{content:o={},sendTime:i,sender:s}=H.value,{chatMessageType:n}=o,a=[];return(s!==C.userInfo.id||n===f.TEMPLATE||s===C.userInfo.id&&Date.now()-new Date(i).getTime()>2592e5)&&a.push("withdraw"),[f.TEXT,f.EMOJI,f.BLEND].includes(n)?a.push("download"):h(o)?a.push("copy","relay","reply","download"):n===f.FILE?a.push("copy"):[f.FORWARD,f.TEMPLATE].includes(n)&&a.push("copy","download"),a.length?O.filter((e=>!a.includes(e.key))):O}));return g($,(e=>{E("update:show",!1)})),()=>{let t;return e.id&&J.value?i(s("div",{class:"contextmenu-wrapper",ref:$,style:e.position},[s(l,{vertical:!0},(o=t=J.value.map((t=>s(r,{key:t.key,onClick:()=>async function(t){E("update:show",!1);const{content:o={},sendTime:i,sender:s}=H.value||{},{chatMessageType:n}=o;switch(t){case"copy":if(!o.msg)return console.log("复制内容为空!");if(!navigator||!("clipboard"in navigator))return console.log("当前浏览器版本不支持复制!");try{if(n===f.TEXT)await navigator.clipboard.writeText(o.msg);else{let e;if([f.EMOJI,f.IMAGE].includes(n)){const t=n===f.EMOJI?I.findEmoji(o.msg):o.msg;e=`<img data-msg=${o.msg} data-type=${n} class=${n===f.EMOJI?"emoji--min":""} src=${t} />`}else e=o.msg;await navigator.clipboard.write([new window.ClipboardItem({"text/html":new Blob([e],{type:"text/html"})})])}}catch(e){console.log("复制失败!")}return;case"download":{let{fileUrl:e,msg:t}=o;return n===f.IMAGE&&(e=t,t=t.match(/\/([^\/?#]+)$/)[1]),void b(e,t)}case"withdraw":try{const t=C.msgList.findIndex((({id:t})=>t===e.id)),o=0===t;if(await v({chatType:C.currentSessionItem.chatType,messageIdSet:[e.id],receiver:C.currentSessionItem.receiver,sender:C.userInfo.id,isLastMessage:o}),C.msgList[t].status="WITHDRAWN",o){const e=j(new Date,"yyyy-MM-dd HH:mm:ss");D({lastMessageStatus:"WITHDRAWN",lastMessageSendTime:e,sortTime:e,updatedTime:e})}}catch(e){T.error("撤回失败")}return}E("select",t,H.value)}(t.key),quaternary:!0},{default:()=>t.label,icon:()=>t.icon?s(d,{component:t.icon},null):null}))),"function"==typeof o||"[object Object]"===Object.prototype.toString.call(o)&&!a(o)?t:{default:()=>[t]}))]),[[n,e.show]]):null;var o}}});export{k as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as l,openBlock as s,createElementBlock as o,Fragment as i,unref as n,createElementVNode as a,toDisplayString as c,withModifiers as r,createBlock as d,createCommentVNode as m,renderList as p,withCtx as u,createTextVNode as v,normalizeClass as f,createVNode as g}from"vue";import{NIcon as y,NButton as k}from"naive-ui";import{ChevronForwardOutline as h,AlertCircleSharp as _}from"@vicons/ionicons5";import b from"../../../../shared/components/SvgIcon/SvgIcon.vue.js";import{useData as T}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const j={class:"default-msg-template__header"},C={class:"title"},M={class:"default-msg-template__body"},L=["src"],E={class:"template-content"},H=["innerHTML"],N={key:0,class:"default-msg-template__btn-group"},S=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),w={key:1,class:"describe-msg-template"},x={class:"describe-msg-template__header"},D={class:"title"},B={class:"txt"},O=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),z={key:2,class:"system-msg-template"},F=["innerHTML"],I=["onClick"];var P=e({__name:"MessageTemplate",props:{data:{type:Object,required:!0}},setup(e){const P=e,R=t(),q=t(!0),{emit:V}=T(),W=l((()=>{if(!R.value)return!1;const{childNodes:e,clientWidth:t}=R.value;let l=0;for(let s=0;s<e.length;s++)if(e[s].nodeType===Node.ELEMENT_NODE){const t=parseFloat(window.getComputedStyle(e[s]).lineHeight);l+=e[s].scrollHeight/t}else if(e[s].nodeType===Node.TEXT_NODE){const o=e[s].nodeValue.trim();if(""!==o){const e=o.split(" "),s=Math.floor(t/parseFloat(window.getComputedStyle(R.value).fontSize));l+=Math.ceil(e.length/s)}}return l>6})),X=l((()=>P.data.content.messageTemplate.setting)),$=l((()=>X.value.serverSetting)),A=l((()=>($.value.topRightButton||[])[0])),G=l((()=>{const e=(X.value.content||"").split("##").filter((e=>e));if(!e)return[];const{dbParamsList:t}=X.value||{};return e.map((e=>{const l=/\\n|\n|\r/g;return(e||"").replace(l,"<br>").replace(/\${(.*?)}/g,((e,s)=>{if(0===(t||[]).length)return"";return(U.value[s]||"").replace(l,"<br>")}))}))})),J=l((()=>{var e;return(null==(e=$.value)?void 0:e.toolbar_button)||[]})),K=l((()=>($.value.bottomButton||[])[0])),Q=l((()=>X.value.dbParamsList)),U=l((()=>P.data.content.messageTemplateData));function Y(e){V("template-click",e,P.data)}return(e,t)=>(s(),o(i,null,[1==n(X).style.id?(s(),o("div",{key:0,class:"default-msg-template",onClick:t[2]||(t[2]=()=>Y(n($)))},[a("div",j,[a("span",C,c(n(X).title),1),n(A)?(s(),o("span",{key:0,class:"btn",onClick:t[0]||(t[0]=r((()=>Y(n(A))),["stop"]))},c(n(A).title),1)):n($).address?(s(),d(n(y),{key:1,component:n(h),color:"#969696"},null,8,["component"])):m("v-if",!0)]),a("div",M,[n(X).style.icon?(s(),d(n(b),{key:0,class:"logo","icon-class":n(X).style.icon},null,8,["icon-class"])):n(X).style.image?(s(),o("img",{key:1,class:"logo",src:n(X).style.image},null,8,L)):m("v-if",!0),a("div",E,[(s(!0),o(i,null,p(n(G),(e=>(s(),o("div",{key:e,innerHTML:e},null,8,H)))),128))])]),n(J)?(s(),o("div",N,[(s(!0),o(i,null,p(n(J),((e,t)=>(s(),d(n(k),{type:"primary",round:"",ghost:"",onClick:r((()=>Y(e)),["stop"]),key:t},{default:u((()=>[v(c(e.title),1)])),_:2},1032,["onClick"])))),128))])):m("v-if",!0),n(K)?(s(),o("div",{key:1,class:"default-msg-template__footer",onClick:t[1]||(t[1]=r((()=>Y(n(K))),["stop"]))},[v(c(n(K).title)+" ",1),S])):m("v-if",!0)])):m("v-if",!0),3==n(X).style.id?(s(),o("div",w,[a("div",x,c(n(X).title),1),a("div",{class:f(["describe-msg-template__body",n(W)&&q.value?"overflow-hidden":""]),ref_key:"describeBodyRef",ref:R},[(s(!0),o(i,null,p(n(Q),((e,t)=>(s(),o(i,{key:t},[a("div",D,c(e.desc),1),a("div",B,c(n(U)[e.p_name]),1)],64)))),128))],2),n(W)?(s(),o("div",{key:0,class:f(["describe-msg-template__footer",q.value?"":"hidden"]),onClick:t[3]||(t[3]=()=>q.value=!1)},[v(" 展开全部 "),O],2)):m("v-if",!0)])):m("v-if",!0),2==n(X).style.id?(s(),o("div",z,[g(n(y),{component:n(_),color:"#ffc200",size:18},null,8,["component"]),a("span",{innerHTML:G.value.join("<br>")},null,8,F),(s(!0),o(i,null,p(n(J),((e,t)=>(s(),o("span",{class:"btn",onClick:()=>Y(e),key:t},c(e.title),9,I)))),128))])):m("v-if",!0)],64))}});export{P as default};
1
+ import{defineComponent as e,ref as t,computed as l,openBlock as s,createElementBlock as o,Fragment as i,unref as n,createElementVNode as a,toDisplayString as c,withModifiers as r,createBlock as d,createCommentVNode as m,renderList as u,withCtx as p,createTextVNode as v,normalizeClass as f,createVNode as g}from"vue";import{NIcon as y,NButton as k}from"naive-ui";import{ChevronForwardOutline as h,AlertCircleSharp as _}from"@vicons/ionicons5";import b from"../../../../shared/components/SvgIcon/SvgIcon.vue.js";import{useData as T}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const C={class:"default-msg-template__header"},j={class:"title"},w={class:"default-msg-template__body"},L=["src"],M={class:"template-content"},E=["innerHTML"],H={key:0,class:"default-msg-template__btn-group"},N=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),S={key:1,class:"describe-msg-template"},x={class:"describe-msg-template__header"},B={class:"title"},D={class:"txt"},O=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),z={key:2,class:"system-msg-template"},F=["innerHTML"],I=["onClick"];var P=e({__name:"MessageTemplate",props:{data:{type:Object,required:!0}},setup(e){const P=e,R=t(),q=t(!0),{emit:V}=T(),W=l((()=>{if(!R.value)return!1;const{childNodes:e,clientWidth:t}=R.value;let l=0;for(let s=0;s<e.length;s++)if(e[s].nodeType===Node.ELEMENT_NODE){const t=parseFloat(window.getComputedStyle(e[s]).lineHeight);l+=e[s].scrollHeight/t}else if(e[s].nodeType===Node.TEXT_NODE){const o=e[s].nodeValue.trim();if(""!==o){const e=o.split(" "),s=Math.floor(t/parseFloat(window.getComputedStyle(R.value).fontSize));l+=Math.ceil(e.length/s)}}return l>6})),X=l((()=>P.data.content.messageTemplate.setting)),$=l((()=>X.value.serverSetting)),A=l((()=>($.value.topRightButton||[])[0])),G=l((()=>{const e=(X.value.content||"").split("##").filter((e=>e));if(!e)return[];const{dbParamsList:t}=X.value||{};return e.map((e=>{const l=/\\n|\n|\r/g;return(e||"").replace(l,"<br>").replace(/\${(.*?)}/g,((e,s)=>{if(0===(t||[]).length)return"";return(U.value[s]||"").replace(l,"<br>")}))}))})),J=l((()=>{var e;return(null==(e=$.value)?void 0:e.toolbar_button)||[]})),K=l((()=>($.value.bottomButton||[])[0])),Q=l((()=>X.value.dbParamsList)),U=l((()=>P.data.content.messageTemplateData));function Y(e){V("template-click",e,P.data)}return(e,t)=>{var l;return s(),o(i,null,[1==n(X).style.id?(s(),o("div",{key:0,class:"default-msg-template",onClick:t[2]||(t[2]=()=>Y(n($)))},[a("div",C,[a("span",j,c(n(X).title),1),n(A)?(s(),o("span",{key:0,class:"btn",onClick:t[0]||(t[0]=r((()=>Y(n(A))),["stop"]))},c(n(A).title),1)):n($).address?(s(),d(n(y),{key:1,component:n(h),color:"#969696"},null,8,["component"])):m("v-if",!0)]),a("div",w,[n(X).style.icon?(s(),d(n(b),{key:0,class:"logo","icon-class":n(X).style.icon},null,8,["icon-class"])):n(X).style.image?(s(),o("img",{key:1,class:"logo",src:n(X).style.image},null,8,L)):m("v-if",!0),a("div",M,[(s(!0),o(i,null,u(n(G),(e=>(s(),o("div",{key:e,innerHTML:e},null,8,E)))),128))])]),n(J)?(s(),o("div",H,[(s(!0),o(i,null,u(n(J),((e,t)=>(s(),d(n(k),{type:"primary",round:"",ghost:"",onClick:r((()=>Y(e)),["stop"]),key:t},{default:p((()=>[v(c(e.title),1)])),_:2},1032,["onClick"])))),128))])):m("v-if",!0),n(K)?(s(),o("div",{key:1,class:"default-msg-template__footer",onClick:t[1]||(t[1]=r((()=>Y(n(K))),["stop"]))},[v(c(n(K).title)+" ",1),N])):m("v-if",!0)])):m("v-if",!0),3==n(X).style.id?(s(),o("div",S,[a("div",x,c(n(X).title),1),a("div",{class:f(["describe-msg-template__body",n(W)&&q.value?"overflow-hidden":""]),ref_key:"describeBodyRef",ref:R},[(s(!0),o(i,null,u(n(Q),((e,t)=>(s(),o(i,{key:t},[a("div",B,c(e.desc),1),a("div",D,c(n(U)[e.p_name]),1)],64)))),128))],2),n(W)?(s(),o("div",{key:0,class:f(["describe-msg-template__footer",q.value?"":"hidden"]),onClick:t[3]||(t[3]=()=>q.value=!1)},[v((null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.103"))||"展开全部"),O],2)):m("v-if",!0)])):m("v-if",!0),2==n(X).style.id?(s(),o("div",z,[g(n(y),{component:n(_),color:"#ffc200",size:18},null,8,["component"]),a("span",{innerHTML:G.value.join("<br>")},null,8,F),(s(!0),o(i,null,u(n(J),((e,t)=>(s(),o("span",{class:"btn",onClick:()=>Y(e),key:t},c(e.title),9,I)))),128))])):m("v-if",!0)],64)}}});export{P as default};
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as o,ref as t,computed as n,onBeforeUnmount as l,openBlock as i,createElementBlock as a,withDirectives as s,toDisplayString as r,unref as d,vShow as c,createVNode as u,withCtx as m,Fragment as p,renderList as v,createCommentVNode as g,createTextVNode as w,nextTick as f}from"vue";import{NButton as h,NIcon as y}from"naive-ui";import k from"./ChatAdd.vue.js";import{Close as I,Mic as b,MicOff as A,Videocam as C,VideocamOff as V,Call as M,PersonAdd as _}from"@vicons/ionicons5";import{getUserDetailApi as L}from"../api/index.js";import"@vueuse/core";import{$message as x}from"../utils/index.js";import{xorBy as R}from"lodash-es";import{CHAT_TYPE as E,SUBSCRIBE_MESSAGE_TYPE as T}from"../constants/index.js";import"../../../../shared/utils/index.js";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{useVideo as B}from"../hooks/useVideo.js";import j from"trtc-sdk-v5";var S,$,H,U,z,N;const D={class:"video-wrapper video-wrapper--multiple"},O={class:"video-header"},P={key:0,class:"video-main"},Y={class:"video-main__left"},q=["data-name"],G={class:"video-bottom"},F={class:"btn-group"},J={class:"btn"},K=e("span",{class:"text"},(null==(S=window.getLanguageByCode)?void 0:S.call(window,"10010.1.104"))||"静音",-1),Q={class:"btn"},W=e("span",{class:"text"},(null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.105"))||"摄像头",-1),X=e("span",{class:"text"},(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.106"))||"结束会诊",-1),Z={class:"btn"},ee=e("span",{class:"text"},(null==(U=window.getLanguageByCode)?void 0:U.call(window,"10010.1.107"))||"添加参会人",-1),oe={class:"video-main__right"},te=["id","data-name"],ne={class:"user"},le={class:"name"},ie={key:0,class:"tip"},ae={key:0,class:"calling-box"},se={key:1,class:"opt-btn"},re={class:"btn"},de=e("span",null,(null==(z=window.getLanguageByCode)?void 0:z.call(window,"10010.1.113"))||"拒接",-1),ce={class:"btn"},ue=e("span",null,(null==(N=window.getLanguageByCode)?void 0:N.call(window,"10010.1.114"))||"接听",-1);var me=o({__name:"MultipleVideo",setup(o){const S=t(),$=t([]),{state:H,sendMessage:U,trtc:z,voiceOpen:N,isAudio:me,isCall:pe,startTimer:ve,resetTimer:ge,toggleAudio:we,messageTypeText:fe,timing:he,toggleVideo:ye,videocamOpen:ke,installEventHandlers:Ie,uninstallEventHandlers:be}=B(),Ae=t(!1),Ce=n((()=>pe.value?H.userInfo.name:H.currentAVMsg.sendName)),Ve=n((()=>{if(!Ae.value)return"";const e=pe.value?`(${$.value.length+1}/${H.currentAVMsg.checkedIds.length+1})`:"";return`${Ce.value}发起的${fe.value}会诊${e} ${he.value}`}));function Me(e){console.log("checkedIds :>> ",e),H.currentAVMsg.checkedIds.push(...e),_e()}function _e(){var e;(null==(e=H.currentAVMsg.checkedIds)?void 0:e.length)&&H.currentAVMsg.checkedIds.forEach((e=>{U({chatType:E.SINGLE,content:{msg:H.currentAVMsg.chatMessageType+","+H.currentAVMsg.strRoomId,chatMessageType:T.AV_STATUS},receiver:e})})),Ae.value||Le()}async function Le(){const e=await j.isSupported();if(!e.result||!e.detail.isH264EncodeSupported||!e.detail.isH264DecodeSupported)return console.log("checkResult :>> ",e),void(H.showMultipleVideo=!1);try{if(await z.enterRoom({strRoomId:H.currentAVMsg.strRoomId,sdkAppId:parseInt(H.userInfo.sdkAppID),userId:H.userInfo.id,userSig:H.userInfo.userSig}),Ae.value=!0,ve(),Ie({handleError:Se,handleRemoteUserEnter:Te,handleRemoteAudioAvailable:Ee,handleRemoteUserExit:je,handleRemoteVideoAvailable:Re}),await z.startLocalAudio(),me.value)return;await z.startLocalVideo({view:S.value})}catch(e){console.log("error :>> ",e),x.error(e),H.showMultipleVideo=!1}}async function xe(){try{if(H.showMultipleVideo=!1,be({handleError:Se,handleRemoteUserEnter:Te,handleRemoteAudioAvailable:Ee,handleRemoteUserExit:je,handleRemoteVideoAvailable:Re}),await z.exitRoom(),await z.stopLocalAudio(),me.value)return;await z.stopLocalVideo()}catch(e){console.log("error :>> ",e)}}async function Re(e){const{userId:o,streamType:t}=e;try{t===j.TYPE.STREAM_TYPE_MAIN&&(await f(),await z.startRemoteVideo({userId:o,streamType:t,view:o}))}catch(e){console.log("error :>> ",e)}}async function Ee(e){var o;const{userId:t}=e;if(t&&!(null==(o=$.value.map((e=>e.id)))?void 0:o.includes(t))){const e=await Be(t);$.value.push({id:t,name:e})}}async function Te(e){const{userId:o}=e,t=await Be(o);$.value.push({id:o,name:t}),ve()}async function Be(e){const o=await L({userId:e});return(null==o?void 0:o.name)||""}function je(e){console.log("event :>> 退房",e);const{userId:o}=e;$.value=R($.value,[{id:o,name:""}],"id")}function Se(e){console.log("error :>> ",e),H.showMultipleVideo=!1}return l((()=>{xe()})),(o,t)=>{var n,l,f,L,x,R;return i(),a("div",D,[e("div",O,[s(e("span",{class:"title"},r(d(Ve)),513),[[c,Ae.value]]),u(d(h),{quaternary:"",circle:"",color:"#ffffffcc",onClick:xe},{icon:m((()=>[u(d(y),{component:d(I)},null,8,["component"])])),_:1})]),Ae.value?(i(),a("div",P,[e("div",Y,[e("div",{ref_key:"selfVideoRef",ref:S,class:"video-view","data-name":d(H).userInfo.name},null,8,q),e("div",G,[e("div",F,[e("div",J,[u(d(h),{text:"",color:d(N)?"#fff":"#000",onClick:d(we)},{icon:m((()=>[u(d(y),{component:d(N)?d(b):d(A)},null,8,["component"])])),_:1},8,["color","onClick"]),K]),e("div",Q,[u(d(h),{text:"",color:d(ke)?"#fff":"#000",disabled:d(me),onClick:d(ye)},{icon:m((()=>[u(d(y),{component:d(ke)?d(C):d(V)},null,8,["component"])])),_:1},8,["color","disabled","onClick"]),W]),e("div",{class:"btn",onClick:xe},[u(d(h),{circle:"",color:"#f17568",class:"btn--rotate"},{icon:m((()=>[u(d(y),{component:d(M)},null,8,["component"])])),_:1}),X]),u(k,{onComfirm:Me},{trigger:m((()=>[e("div",Z,[u(d(h),{text:"",color:"#fff"},{icon:m((()=>[u(d(y),{component:d(_)},null,8,["component"])])),_:1}),ee])])),_:1})])])]),e("div",oe,[(i(!0),a(p,null,v($.value,(e=>(i(),a("div",{key:e.id,id:e.id,class:"video-view","data-name":e.name},null,8,te)))),128))])])):(i(),a(p,{key:1},[e("div",ne,[e("span",le,r(d(Ce))+((null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.108"))||"发起的")+r(d(fe))+((null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.109"))||"会议"),1),d(pe)?g("v-if",!0):(i(),a("span",ie,((null==(f=window.getLanguageByCode)?void 0:f.call(window,"10010.1.110"))||"邀请你加入")+r(d(fe))+((null==(L=window.getLanguageByCode)?void 0:L.call(window,"10010.1.109"))||"会议"),1))]),d(pe)?(i(),a("div",ae,[u(k,{onComfirm:Me,disabledIds:d(H).currentAVMsg.checkedIds},{trigger:m((()=>[u(d(h),{size:"large",circle:"",color:"#000"},{icon:m((()=>[u(d(y),{component:d(_)},null,8,["component"])])),_:1})])),_:1},8,["disabledIds"]),e("p",null,((null==(x=window.getLanguageByCode)?void 0:x.call(window,"10010.1.111"))||"已邀请共")+r(d(H).currentAVMsg.checkedIds.length)+((null==(R=window.getLanguageByCode)?void 0:R.call(window,"10010.1.40"))||"人"),1),u(d(h),{size:"large",strong:"",round:"",type:"primary",onClick:_e},{default:m((()=>{var e;return[w((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.112"))||"开始会诊")]})),_:1}),g(' <div class="btn-box">\r\n\t\t\t\t\t\t<n-button color="#000" round>\r\n\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t<n-icon :component="Mic" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</n-button>\r\n\t\t\t\t\t\t<n-button color="#000" round>\r\n\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t<n-icon :component="Videocam" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</n-button>\r\n\t\t\t\t\t</div> ')])):(i(),a("div",se,[e("div",re,[u(d(h),{circle:"",color:"#f17568",class:"btn--rotate",onClick:t[0]||(t[0]=()=>d(H).showMultipleVideo=!1)},{icon:m((()=>[u(d(y),{size:"30",component:d(M)},null,8,["component"])])),_:1}),de]),e("div",ce,[u(d(h),{circle:"",color:"#2ac98b",onClick:Le},{icon:m((()=>[u(d(y),{size:"30",component:d(M)},null,8,["component"])])),_:1}),ue])]))],64))])}}});export{me as default};
1
+ import{createElementVNode as e,defineComponent as o,ref as t,computed as n,onBeforeUnmount as l,openBlock as i,createElementBlock as a,withDirectives as s,toDisplayString as d,unref as c,vShow as r,createVNode as u,withCtx as m,Fragment as p,renderList as v,createCommentVNode as g,createTextVNode as w,nextTick as f}from"vue";import{NButton as h,NIcon as y}from"naive-ui";import k from"./ChatAdd.vue.js";import{Close as I,Mic as b,MicOff as A,Videocam as C,VideocamOff as V,Call as M,PersonAdd as _}from"@vicons/ionicons5";import{getUserDetailApi as L}from"../api/index.js";import"@vueuse/core";import{$message as x}from"../utils/index.js";import{xorBy as R}from"lodash-es";import{CHAT_TYPE as E,SUBSCRIBE_MESSAGE_TYPE as T}from"../constants/index.js";import"../../../../shared/utils/index.js";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{useVideo as B}from"../hooks/useVideo.js";import j from"trtc-sdk-v5";var S,$,H,U,z,N;const D={class:"video-wrapper video-wrapper--multiple"},O={class:"video-header"},P={key:0,class:"video-main"},Y={class:"video-main__left"},q=["data-name"],G={class:"video-bottom"},F={class:"btn-group"},J={class:"btn"},K=e("span",{class:"text"},(null==(S=window.getLanguageByCode)?void 0:S.call(window,"10010.1.104"))||"静音",-1),Q={class:"btn"},W=e("span",{class:"text"},(null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.105"))||"摄像头",-1),X=e("span",{class:"text"},(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.106"))||"结束会诊",-1),Z={class:"btn"},ee=e("span",{class:"text"},(null==(U=window.getLanguageByCode)?void 0:U.call(window,"10010.1.107"))||"添加参会人",-1),oe={class:"video-main__right"},te=["id","data-name"],ne={class:"user"},le={class:"name"},ie={key:0,class:"tip"},ae={key:0,class:"calling-box"},se={key:1,class:"opt-btn"},de={class:"btn"},ce=e("span",null,(null==(z=window.getLanguageByCode)?void 0:z.call(window,"10010.1.113"))||"拒接",-1),re={class:"btn"},ue=e("span",null,(null==(N=window.getLanguageByCode)?void 0:N.call(window,"10010.1.126"))||"接听",-1);var me=o({__name:"MultipleVideo",setup(o){const S=t(),$=t([]),{state:H,sendMessage:U,trtc:z,voiceOpen:N,isAudio:me,isCall:pe,startTimer:ve,resetTimer:ge,toggleAudio:we,messageTypeText:fe,timing:he,toggleVideo:ye,videocamOpen:ke,installEventHandlers:Ie,uninstallEventHandlers:be}=B(),Ae=t(!1),Ce=n((()=>pe.value?H.userInfo.name:H.currentAVMsg.sendName)),Ve=n((()=>{if(!Ae.value)return"";const e=pe.value?`(${$.value.length+1}/${H.currentAVMsg.checkedIds.length+1})`:"";return`${Ce.value}发起的${fe.value}会诊${e} ${he.value}`}));function Me(e){console.log("checkedIds :>> ",e),H.currentAVMsg.checkedIds.push(...e),_e()}function _e(){var e;(null==(e=H.currentAVMsg.checkedIds)?void 0:e.length)&&H.currentAVMsg.checkedIds.forEach((e=>{U({chatType:E.SINGLE,content:{msg:H.currentAVMsg.chatMessageType+","+H.currentAVMsg.strRoomId,chatMessageType:T.AV_STATUS},receiver:e})})),Ae.value||Le()}async function Le(){const e=await j.isSupported();if(!e.result||!e.detail.isH264EncodeSupported||!e.detail.isH264DecodeSupported)return console.log("checkResult :>> ",e),void(H.showMultipleVideo=!1);try{if(await z.enterRoom({strRoomId:H.currentAVMsg.strRoomId,sdkAppId:parseInt(H.userInfo.sdkAppID),userId:H.userInfo.id,userSig:H.userInfo.userSig}),Ae.value=!0,ve(),Ie({handleError:Se,handleRemoteUserEnter:Te,handleRemoteAudioAvailable:Ee,handleRemoteUserExit:je,handleRemoteVideoAvailable:Re}),await z.startLocalAudio(),me.value)return;await z.startLocalVideo({view:S.value})}catch(e){console.log("error :>> ",e),x.error(e),H.showMultipleVideo=!1}}async function xe(){try{if(H.showMultipleVideo=!1,be({handleError:Se,handleRemoteUserEnter:Te,handleRemoteAudioAvailable:Ee,handleRemoteUserExit:je,handleRemoteVideoAvailable:Re}),await z.exitRoom(),await z.stopLocalAudio(),me.value)return;await z.stopLocalVideo()}catch(e){console.log("error :>> ",e)}}async function Re(e){const{userId:o,streamType:t}=e;try{t===j.TYPE.STREAM_TYPE_MAIN&&(await f(),await z.startRemoteVideo({userId:o,streamType:t,view:o}))}catch(e){console.log("error :>> ",e)}}async function Ee(e){var o;const{userId:t}=e;if(t&&!(null==(o=$.value.map((e=>e.id)))?void 0:o.includes(t))){const e=await Be(t);$.value.push({id:t,name:e})}}async function Te(e){const{userId:o}=e,t=await Be(o);$.value.push({id:o,name:t}),ve()}async function Be(e){const o=await L({userId:e});return(null==o?void 0:o.name)||""}function je(e){console.log("event :>> 退房",e);const{userId:o}=e;$.value=R($.value,[{id:o,name:""}],"id")}function Se(e){console.log("error :>> ",e),H.showMultipleVideo=!1}return l((()=>{xe()})),(o,t)=>{var n,l,f,L,x,R;return i(),a("div",D,[e("div",O,[s(e("span",{class:"title"},d(c(Ve)),513),[[r,Ae.value]]),u(c(h),{quaternary:"",circle:"",color:"#ffffffcc",onClick:xe},{icon:m((()=>[u(c(y),{component:c(I)},null,8,["component"])])),_:1})]),Ae.value?(i(),a("div",P,[e("div",Y,[e("div",{ref_key:"selfVideoRef",ref:S,class:"video-view","data-name":c(H).userInfo.name},null,8,q),e("div",G,[e("div",F,[e("div",J,[u(c(h),{text:"",color:c(N)?"#fff":"#000",onClick:c(we)},{icon:m((()=>[u(c(y),{component:c(N)?c(b):c(A)},null,8,["component"])])),_:1},8,["color","onClick"]),K]),e("div",Q,[u(c(h),{text:"",color:c(ke)?"#fff":"#000",disabled:c(me),onClick:c(ye)},{icon:m((()=>[u(c(y),{component:c(ke)?c(C):c(V)},null,8,["component"])])),_:1},8,["color","disabled","onClick"]),W]),e("div",{class:"btn",onClick:xe},[u(c(h),{circle:"",color:"#f17568",class:"btn--rotate"},{icon:m((()=>[u(c(y),{component:c(M)},null,8,["component"])])),_:1}),X]),u(k,{onComfirm:Me},{trigger:m((()=>[e("div",Z,[u(c(h),{text:"",color:"#fff"},{icon:m((()=>[u(c(y),{component:c(_)},null,8,["component"])])),_:1}),ee])])),_:1})])])]),e("div",oe,[(i(!0),a(p,null,v($.value,(e=>(i(),a("div",{key:e.id,id:e.id,class:"video-view","data-name":e.name},null,8,te)))),128))])])):(i(),a(p,{key:1},[e("div",ne,[e("span",le,d(c(Ce))+((null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.108"))||"发起的")+d(c(fe))+((null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.109"))||"会议"),1),c(pe)?g("v-if",!0):(i(),a("span",ie,((null==(f=window.getLanguageByCode)?void 0:f.call(window,"10010.1.110"))||"邀请你加入")+d(c(fe))+((null==(L=window.getLanguageByCode)?void 0:L.call(window,"10010.1.109"))||"会议"),1))]),c(pe)?(i(),a("div",ae,[u(k,{onComfirm:Me,disabledIds:c(H).currentAVMsg.checkedIds},{trigger:m((()=>[u(c(h),{size:"large",circle:"",color:"#000"},{icon:m((()=>[u(c(y),{component:c(_)},null,8,["component"])])),_:1})])),_:1},8,["disabledIds"]),e("p",null,((null==(x=window.getLanguageByCode)?void 0:x.call(window,"10010.1.111"))||"已邀请共")+d(c(H).currentAVMsg.checkedIds.length)+((null==(R=window.getLanguageByCode)?void 0:R.call(window,"10010.1.40"))||"人"),1),u(c(h),{size:"large",strong:"",round:"",type:"primary",onClick:_e},{default:m((()=>{var e;return[w((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.112"))||"开始会诊")]})),_:1}),g(' <div class="btn-box">\n\t\t\t\t\t\t<n-button color="#000" round>\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<n-icon :component="Mic" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t<n-button color="#000" round>\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<n-icon :component="Videocam" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</n-button>\n\t\t\t\t\t</div> ')])):(i(),a("div",se,[e("div",de,[u(c(h),{circle:"",color:"#f17568",class:"btn--rotate",onClick:t[0]||(t[0]=()=>c(H).showMultipleVideo=!1)},{icon:m((()=>[u(c(y),{size:"30",component:c(M)},null,8,["component"])])),_:1}),ce]),e("div",re,[u(c(h),{circle:"",color:"#2ac98b",onClick:Le},{icon:m((()=>[u(c(y),{size:"30",component:c(M)},null,8,["component"])])),_:1}),ue])]))],64))])}}});export{me as default};
@@ -1 +1 @@
1
- import{defineComponent as t,ref as e,reactive as l,computed as n,openBlock as o,createBlock as a,unref as i,withCtx as r,renderSlot as s,createElementBlock as d,Fragment as c,withDirectives as u,createElementVNode as p,createVNode as v,createCommentVNode as g,toDisplayString as m,createTextVNode as w,renderList as y,vShow as f}from"vue";import{NPopover as k,NAvatar as h,NButton as b,NIcon as C}from"naive-ui";import{ChatbubbleEllipses as j,EyeOffOutline as L,EyeOutline as B,Close as I}from"@vicons/ionicons5";import{useData as _}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as x}from"../constants/index.js";import{openSessionApi as z,getUserDetailApi as N}from"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const D={class:"person-profile-main"},S={class:"left"},$={class:"profile"},E={class:"profile__text"},P={class:"right"},q={class:"right__content"},G={class:"label"},O={class:"content"};var T=t({__name:"PersonProfile",props:{userId:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["close"],setup(t,{emit:T}){var U,A,F,H,J,K,M,Q;const R=t,{state:V,openSession:W}=_(),X=e(!1),Y=e(!1),Z=e(!1),tt=l({}),et=[{label:(null==(U=window.getLanguageByCode)?void 0:U.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"}],lt=n((()=>(tt.id&&et.forEach((t=>{const{key:e}=t;t.value=tt[e]})),et)));async function nt(){X.value=!1;let t=V.sessionList.find((t=>t.receiver===R.userId));if(!t)try{t=await z({chatType:x.SINGLE,receiver:R.userId,sender:V.userInfo.id})}catch(t){console.log("error :>> ",t)}t&&W(t),T("close")}async function ot(t){if(!t)return;const e=await N({userId:R.userId});(null==e?void 0:e.id)?Object.assign(tt,e):tt.id=""}function at(t){const{key:e,value:l}=t;return"phone"!==e||Z.value?l:(l||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}return(e,l)=>(o(),a(i(k),{raw:"",class:"person-profile-wrapper",show:X.value,"onUpdate:show":[l[3]||(l[3]=t=>X.value=t),ot],trigger:t.disabled?"manual":"click","show-arrow":!1,to:"body",shift:""},{trigger:r((()=>[s(e.$slots,"trigger")])),default:r((()=>[tt.id?(o(),d(c,{key:0},[u(p("div",D,[p("div",S,[p("div",$,[v(i(h),{src:tt.avatar,bordered:"",round:"",size:100,onClickCapture:l[0]||(l[0]=t=>Y.value=!0)},null,8,["src"]),g(' <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",E,[p("h4",null,m(tt.name),1),p("p",null,m(tt.orgName),1)]),v(i(b),{strong:"",secondary:"",onClick:nt},{default:r((()=>[v(i(C),{size:"13",color:"#666666",component:i(j),style:{"margin-right":"6px"}},null,8,["component"]),w(" 发消息 ")])),_:1})])]),p("div",P,[p("div",q,[(o(!0),d(c,null,y(i(lt),((t,e)=>(o(),d("div",{class:"info-item",key:e},[p("span",G,m(t.label),1),p("div",O,[p("span",null,m(at(t)),1),"phone"===t.key&&at(t)?(o(),a(i(C),{key:0,size:"16",color:"#666666",component:Z.value?i(L):i(B),style:{"margin-left":"10px"},onClick:l[1]||(l[1]=t=>Z.value=!Z.value)},null,8,["component"])):g("v-if",!0)])])))),128))])])],512),[[f,!Y.value]]),u(p("div",{class:"large-avatar",onClick:l[2]||(l[2]=t=>Y.value=!1)},[v(i(b),{circle:"",size:"small",secondary:""},{icon:r((()=>[v(i(C),{size:24,component:i(I),color:"#fff"},null,8,["component"])])),_:1}),v(i(h),{size:310,round:"",src:tt.avatar},null,8,["src"])],512),[[f,Y.value]])],64)):g("v-if",!0)])),_:3},8,["show","trigger"]))}});export{T as default};
1
+ import{defineComponent as t,ref as e,reactive as l,computed as n,openBlock as o,createBlock as a,unref as i,withCtx as s,renderSlot as r,createElementBlock as d,Fragment as c,withDirectives as u,createElementVNode as p,createVNode as v,createCommentVNode as g,toDisplayString as m,createTextVNode as w,renderList as y,vShow as f}from"vue";import{NPopover as k,NAvatar as h,NButton as b,NIcon as C}from"naive-ui";import{ChatbubbleEllipses as j,EyeOffOutline as L,EyeOutline as B,Close as I}from"@vicons/ionicons5";import{useData as _}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as x}from"../constants/index.js";import{openSessionApi as z,getUserDetailApi as N}from"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const D={class:"person-profile-main"},S={class:"left"},$={class:"profile"},E={class:"profile__text"},P={class:"right"},q={class:"right__content"},G={class:"label"},O={class:"content"};var T=t({__name:"PersonProfile",props:{userId:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["close"],setup(t,{emit:T}){var U,A,F,H,J,K,M,Q;const R=t,{state:V,openSession:W}=_(),X=e(!1),Y=e(!1),Z=e(!1),tt=l({}),et=[{label:(null==(U=window.getLanguageByCode)?void 0:U.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"}],lt=n((()=>(tt.id&&et.forEach((t=>{const{key:e}=t;t.value=tt[e]})),et)));async function nt(){X.value=!1;let t=V.sessionList.find((t=>t.receiver===R.userId));if(!t)try{t=await z({chatType:x.SINGLE,receiver:R.userId,sender:V.userInfo.id})}catch(t){console.log("error :>> ",t)}t&&W(t),T("close")}async function ot(t){if(!t)return;const e=await N({userId:R.userId});(null==e?void 0:e.id)?Object.assign(tt,e):tt.id=""}function at(t){const{key:e,value:l}=t;return"phone"!==e||Z.value?l:(l||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}return(e,l)=>(o(),a(i(k),{raw:"",class:"person-profile-wrapper",show:X.value,"onUpdate:show":[l[3]||(l[3]=t=>X.value=t),ot],trigger:t.disabled?"manual":"click","show-arrow":!1,to:"body",shift:""},{trigger:s((()=>[r(e.$slots,"trigger")])),default:s((()=>[tt.id?(o(),d(c,{key:0},[u(p("div",D,[p("div",S,[p("div",$,[v(i(h),{src:tt.avatar,bordered:"",round:"",size:100,onClickCapture:l[0]||(l[0]=t=>Y.value=!0)},null,8,["src"]),g(' <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",E,[p("h4",null,m(tt.name),1),p("p",null,m(tt.orgName),1)]),v(i(b),{strong:"",secondary:"",onClick:nt},{default:s((()=>[v(i(C),{size:"13",color:"#666666",component:i(j),style:{"margin-right":"6px"}},null,8,["component"]),w(" 发消息 ")])),_:1})])]),p("div",P,[p("div",q,[(o(!0),d(c,null,y(i(lt),((t,e)=>(o(),d("div",{class:"info-item",key:e},[p("span",G,m(t.label),1),p("div",O,[p("span",null,m(at(t)),1),"phone"===t.key&&at(t)?(o(),a(i(C),{key:0,size:"16",color:"#666666",component:Z.value?i(L):i(B),style:{"margin-left":"10px"},onClick:l[1]||(l[1]=t=>Z.value=!Z.value)},null,8,["component"])):g("v-if",!0)])])))),128))])])],512),[[f,!Y.value]]),u(p("div",{class:"large-avatar",onClick:l[2]||(l[2]=t=>Y.value=!1)},[v(i(b),{circle:"",size:"small",secondary:""},{icon:s((()=>[v(i(C),{size:24,component:i(I),color:"#fff"},null,8,["component"])])),_:1}),v(i(h),{size:310,round:"",src:tt.avatar},null,8,["src"])],512),[[f,Y.value]])],64)):g("v-if",!0)])),_:3},8,["show","trigger"]))}});export{T as default};
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as o,ref as n,computed as s,watch as t,onBeforeUnmount as r,openBlock as a,createElementBlock as l,withDirectives as i,vShow as c,createVNode as u,unref as d,toDisplayString as v,Fragment as m,normalizeClass as p,withCtx as g}from"vue";import{NAvatar as f,NButton as w,NIcon as h}from"naive-ui";import{Mic as I,MicOffCircle as y,Call as A}from"@vicons/ionicons5";import{avFinishApi as k}from"../api/index.js";import"@vueuse/core";import{$message as E}from"../utils/index.js";import"lodash-es";import{AV_STATUS as V,CHAT_TYPE as R}from"../constants/index.js";import"../../../../shared/utils/index.js";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{useVideo as S}from"../hooks/useVideo.js";import C from"trtc-sdk-v5";var M,b,L,T;const j={class:"video-wrapper"},x={class:"user"},_={class:"name"},N={class:"tip"},H={class:"opt-btn"},D={class:"btn"},z=e("span",null,(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.104"))||"静音",-1),B=e("span",null,(null==(b=window.getLanguageByCode)?void 0:b.call(window,"10010.1.113"))||"拒接",-1),U={class:"btn"},F=e("span",null,(null==(L=window.getLanguageByCode)?void 0:L.call(window,"10010.1.125"))||"挂断",-1),O=e("span",null,(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.114"))||"接听",-1);var G=o({__name:"Video",setup(o){const{sendMessage:M,state:b,trtc:L,timing:T,voiceOpen:G,isAudio:J,isCall:P,startTimer:$,resetTimer:q,toggleAudio:K,messageTypeText:Q,time:W,installEventHandlers:X,uninstallEventHandlers:Y}=S(),Z=n(),ee=n(),oe=n(!1);let ne=null;const se=s((()=>{var e,o,n;return P.value?{avatar:b.currentSessionItem.avatar,name:b.currentSessionItem.name,userId:b.currentSessionItem.receiver}:{avatar:null==(e=b.currentAVMsg.currentMsg)?void 0:e.senderAvatar,name:null==(o=b.currentAVMsg.currentMsg)?void 0:o.senderName,userId:null==(n=b.currentAVMsg.currentMsg)?void 0:n.sender}})),te=s((()=>oe.value?J.value?T.value:"":P.value?"正在呼叫...":`邀请你${Q.value}问诊...`)),re=s((()=>{var e,o;return null==(o=null==(e=b.currentAVMsg.currentMsg)?void 0:e.content)?void 0:o.avStatus}));async function ae(e=V.FINISHED){M({chatType:R.SINGLE,content:{msg:e===V.FINISHED?""+W.seconds:"s",chatMessageType:b.currentAVMsg.chatMessageType,avStatus:e},receiver:se.value.userId}),await k({recordId:b.currentAVMsg.currentMsg.id,status:e,duration:e===V.FINISHED?W.seconds:0})}async function le(){const e=await C.isSupported();if(!e.result||!e.detail.isH264EncodeSupported||!e.detail.isH264DecodeSupported)return console.log("checkResult :>> ",e),void(b.showVideo=!1);try{if(await L.enterRoom({strRoomId:b.currentAVMsg.strRoomId,sdkAppId:parseInt(b.userInfo.sdkAppID),userId:b.userInfo.id,userSig:b.userInfo.userSig}),P.value||(oe.value=!0,$()),X({handleError:pe,handleRemoteUserEnter:ve,handleRemoteAudioAvailable:de,handleRemoteUserExit:me,handleRemoteVideoAvailable:ue}),await L.startLocalAudio(),J.value)return;await L.startLocalVideo({view:ee.value})}catch(e){console.log("error :>> ",e),E.error(e),b.showVideo=!1}}function ie(){P.value&&!oe.value?ae(V.CANCELED):ae()}async function ce(){try{if(b.showVideo=!1,Y({handleError:pe,handleRemoteUserEnter:ve,handleRemoteAudioAvailable:de,handleRemoteUserExit:me,handleRemoteVideoAvailable:ue}),await L.exitRoom(),await L.stopLocalAudio(),J.value)return;await L.stopLocalVideo()}catch(e){console.log("error :>> ",e)}}async function ue(e){const{userId:o,streamType:n}=e;try{await L.startRemoteVideo({userId:o,streamType:n,view:Z.value})}catch(e){console.log("error :>> ",e)}}function de(e){}function ve(){oe.value=!0,$()}function me(e){console.log("event :>> 对方已挂断",e),ce()}function pe(e){console.log("error :>> ",e),b.showVideo=!1}return t((()=>re.value),(e=>{b.showVideo&&(e===V.IN_CALL?async function(){P.value?le():(ne&&clearTimeout(ne),ne=setTimeout((async()=>{oe.value||ae(V.NO_RESPONSE)}),6e4))}():ce())}),{immediate:!0}),r((()=>{ce()})),(o,n)=>(a(),l("div",j,[i(e("div",{class:"video-box",ref_key:"videoRef",ref:Z},null,512),[[c,oe.value]]),i(e("div",{class:"video-box--self",ref_key:"selfVideoRef",ref:ee},null,512),[[c,oe.value]]),i(e("div",x,[u(d(f),{size:58,round:"",src:d(se).avatar},null,8,["src"]),e("span",_,v(d(se).name),1),e("span",N,v(d(te)),1)],512),[[c,d(J)||!oe.value]]),e("div",H,[e("div",D,[d(P)&&!oe.value||oe.value?(a(),l(m,{key:0},[u(d(w),{circle:"",onClick:d(K),class:p({bordered:d(G)})},{icon:g((()=>[u(d(h),{size:"30",color:d(G)?"#fff":"#626262",component:d(G)?d(I):d(y)},null,8,["color","component"])])),_:1},8,["onClick","class"]),z],64)):(a(),l(m,{key:1},[u(d(w),{circle:"",color:"#f17568",class:"btn--rotate",onClick:n[0]||(n[0]=()=>ae(d(V).REJECTED))},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),B],64))]),e("div",U,[d(P)&&!oe.value||oe.value?(a(),l(m,{key:0},[u(d(w),{circle:"",color:"#f17568",class:"btn--rotate",onClick:ie},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),F],64)):(a(),l(m,{key:1},[u(d(w),{circle:"",color:"#2ac98b",onClick:le},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),O],64))])])]))}});export{G as default};
1
+ import{createElementVNode as e,defineComponent as o,ref as n,computed as s,watch as t,onBeforeUnmount as r,openBlock as a,createElementBlock as l,withDirectives as i,vShow as c,createVNode as u,unref as d,toDisplayString as v,Fragment as m,normalizeClass as p,withCtx as g}from"vue";import{NAvatar as f,NButton as w,NIcon as h}from"naive-ui";import{Mic as I,MicOffCircle as y,Call as A}from"@vicons/ionicons5";import{avFinishApi as k}from"../api/index.js";import"@vueuse/core";import{$message as E}from"../utils/index.js";import"lodash-es";import{AV_STATUS as V,CHAT_TYPE as R}from"../constants/index.js";import"../../../../shared/utils/index.js";import"date-fns";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{useVideo as S}from"../hooks/useVideo.js";import C from"trtc-sdk-v5";var M,b,L,T;const j={class:"video-wrapper"},x={class:"user"},_={class:"name"},N={class:"tip"},H={class:"opt-btn"},D={class:"btn"},z=e("span",null,(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.104"))||"静音",-1),B=e("span",null,(null==(b=window.getLanguageByCode)?void 0:b.call(window,"10010.1.113"))||"拒接",-1),U={class:"btn"},F=e("span",null,(null==(L=window.getLanguageByCode)?void 0:L.call(window,"10010.1.125"))||"挂断",-1),O=e("span",null,(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.126"))||"接听",-1);var G=o({__name:"Video",setup(o){const{sendMessage:M,state:b,trtc:L,timing:T,voiceOpen:G,isAudio:J,isCall:P,startTimer:$,resetTimer:q,toggleAudio:K,messageTypeText:Q,time:W,installEventHandlers:X,uninstallEventHandlers:Y}=S(),Z=n(),ee=n(),oe=n(!1);let ne=null;const se=s((()=>{var e,o,n;return P.value?{avatar:b.currentSessionItem.avatar,name:b.currentSessionItem.name,userId:b.currentSessionItem.receiver}:{avatar:null==(e=b.currentAVMsg.currentMsg)?void 0:e.senderAvatar,name:null==(o=b.currentAVMsg.currentMsg)?void 0:o.senderName,userId:null==(n=b.currentAVMsg.currentMsg)?void 0:n.sender}})),te=s((()=>oe.value?J.value?T.value:"":P.value?"正在呼叫...":`邀请你${Q.value}问诊...`)),re=s((()=>{var e,o;return null==(o=null==(e=b.currentAVMsg.currentMsg)?void 0:e.content)?void 0:o.avStatus}));async function ae(e=V.FINISHED){M({chatType:R.SINGLE,content:{msg:e===V.FINISHED?""+W.seconds:"s",chatMessageType:b.currentAVMsg.chatMessageType,avStatus:e},receiver:se.value.userId}),await k({recordId:b.currentAVMsg.currentMsg.id,status:e,duration:e===V.FINISHED?W.seconds:0})}async function le(){const e=await C.isSupported();if(!e.result||!e.detail.isH264EncodeSupported||!e.detail.isH264DecodeSupported)return console.log("checkResult :>> ",e),void(b.showVideo=!1);try{if(await L.enterRoom({strRoomId:b.currentAVMsg.strRoomId,sdkAppId:parseInt(b.userInfo.sdkAppID),userId:b.userInfo.id,userSig:b.userInfo.userSig}),P.value||(oe.value=!0,$()),X({handleError:pe,handleRemoteUserEnter:ve,handleRemoteAudioAvailable:de,handleRemoteUserExit:me,handleRemoteVideoAvailable:ue}),await L.startLocalAudio(),J.value)return;await L.startLocalVideo({view:ee.value})}catch(e){console.log("error :>> ",e),E.error(e),b.showVideo=!1}}function ie(){P.value&&!oe.value?ae(V.CANCELED):ae()}async function ce(){try{if(b.showVideo=!1,Y({handleError:pe,handleRemoteUserEnter:ve,handleRemoteAudioAvailable:de,handleRemoteUserExit:me,handleRemoteVideoAvailable:ue}),await L.exitRoom(),await L.stopLocalAudio(),J.value)return;await L.stopLocalVideo()}catch(e){console.log("error :>> ",e)}}async function ue(e){const{userId:o,streamType:n}=e;try{await L.startRemoteVideo({userId:o,streamType:n,view:Z.value})}catch(e){console.log("error :>> ",e)}}function de(e){}function ve(){oe.value=!0,$()}function me(e){console.log("event :>> 对方已挂断",e),ce()}function pe(e){console.log("error :>> ",e),b.showVideo=!1}return t((()=>re.value),(e=>{b.showVideo&&(e===V.IN_CALL?async function(){P.value?le():(ne&&clearTimeout(ne),ne=setTimeout((async()=>{oe.value||ae(V.NO_RESPONSE)}),6e4))}():ce())}),{immediate:!0}),r((()=>{ce()})),(o,n)=>(a(),l("div",j,[i(e("div",{class:"video-box",ref_key:"videoRef",ref:Z},null,512),[[c,oe.value]]),i(e("div",{class:"video-box--self",ref_key:"selfVideoRef",ref:ee},null,512),[[c,oe.value]]),i(e("div",x,[u(d(f),{size:58,round:"",src:d(se).avatar},null,8,["src"]),e("span",_,v(d(se).name),1),e("span",N,v(d(te)),1)],512),[[c,d(J)||!oe.value]]),e("div",H,[e("div",D,[d(P)&&!oe.value||oe.value?(a(),l(m,{key:0},[u(d(w),{circle:"",onClick:d(K),class:p({bordered:d(G)})},{icon:g((()=>[u(d(h),{size:"30",color:d(G)?"#fff":"#626262",component:d(G)?d(I):d(y)},null,8,["color","component"])])),_:1},8,["onClick","class"]),z],64)):(a(),l(m,{key:1},[u(d(w),{circle:"",color:"#f17568",class:"btn--rotate",onClick:n[0]||(n[0]=()=>ae(d(V).REJECTED))},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),B],64))]),e("div",U,[d(P)&&!oe.value||oe.value?(a(),l(m,{key:0},[u(d(w),{circle:"",color:"#f17568",class:"btn--rotate",onClick:ie},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),F],64)):(a(),l(m,{key:1},[u(d(w),{circle:"",color:"#2ac98b",onClick:le},{icon:g((()=>[u(d(h),{size:"30",component:d(A)},null,8,["component"])])),_:1}),O],64))])])]))}});export{G as default};
@@ -1 +1 @@
1
- import t from"stompjs";import i from"sockjs-client/dist/sockjs.min.js";class s{constructor(t,i){this.reconnectionCount=0,this.options={},this.url="",this.url=t,this.options=i,this.connection()}connection(){if(!this.url)return;const s=new i(this.url);this.stompClient=t.over(s),this.stompClient.debug=null,this.stompClient.connect(this.options.headers||{},(()=>{const{connectCb:t}=this.options;t&&t(this.reconnectionCount>0),this.startHeartbeat(),this.subscribe(this.options.subscribeCbs),this.reconnectionCount=0}),(t=>{const i=this.reconnectionCount,{errorCb:s,reconnectMaxCount:e=60}=this.options;s&&s(t,i),i<=e&&this.reconnect()}))}disconnect(){var t;this.heartbeatTimer&&clearTimeout(this.heartbeatTimer),this.reconnectTimer&&clearTimeout(this.reconnectTimer),null==(t=this.stompClient)||t.disconnect(),this.stompClient=void 0}reconnect(){this.reconnectionCount++,this.disconnect(),this.reconnectTimer=setTimeout((()=>{this.connection()}),1e3)}subscribe(...t){const i=this.stompClient;if(i){if(1!==t.length||!Array.isArray(t[0]))return 2===t.length?i.subscribe(...t):void 0;t[0].forEach((t=>{this.subscribe(t.action,t.cb)}))}}startHeartbeat(){const t=this.options.heartbeatFn;if(!t)return;const i=this.options.heartbeatRate||1e4;this.heartbeatTimer=setTimeout((()=>{t(),this.startHeartbeat()}),i)}send(...t){var i;return null==(i=this.stompClient)?void 0:i.send(...t)}}export{s as ChatSock};
1
+ import t from"stompjs";import s from"sockjs-client/dist/sockjs.min.js";class i{constructor(t,s){this.reconnectionCount=0,this.options={},this.url="",this.url=t,this.options=s,this.connection()}connection(){if(!this.url)return;const i=new s(this.url);this.stompClient=t.over(i),this.stompClient.debug=null,this.stompClient.connect(this.options.headers||{},(()=>{const{connectCb:t}=this.options;t&&t(this.reconnectionCount>0),this.startHeartbeat(),this.subscribe(this.options.subscribeCbs),this.reconnectionCount=0}),(t=>{const s=this.reconnectionCount,{errorCb:i,reconnectMaxCount:e=60}=this.options;i&&i(t,s),s<=e&&this.reconnect()}))}disconnect(){var t;this.heartbeatTimer&&clearTimeout(this.heartbeatTimer),this.reconnectTimer&&clearTimeout(this.reconnectTimer),null==(t=this.stompClient)||t.disconnect(),this.stompClient=void 0}reconnect(){this.reconnectionCount++,this.disconnect(),this.reconnectTimer=setTimeout((()=>{this.connection()}),1e3)}subscribe(...t){const s=this.stompClient;if(s&&!(t.length<1))return 1===t.length&&Array.isArray(t[0])?void t[0].forEach((t=>{this.subscribe(t.action,t.cb)})):s.subscribe(...t)}startHeartbeat(){const t=this.options.heartbeatFn;if(!t)return;const s=this.options.heartbeatRate||1e4;this.heartbeatTimer=setTimeout((()=>{t(),this.startHeartbeat()}),s)}send(...t){var s;return null==(s=this.stompClient)?void 0:s.send(...t)}}export{i as ChatSock};
@@ -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}from"lodash-es";import{MESSAGE_TYPE as s}from"../constants/index.js";import{emojis as c}from"./emoji.js";import{uuidGenerator as l}from"../../../../shared/utils/index.js";import{createDiscreteApi as u}from"naive-ui";const{message:d}=u(["message"]);function m(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;const i=new Date(r),s=Date.now()-i.getTime();if(s<6e4)return(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.133"))||"刚刚";if(s<36e5)return Math.ceil(s/1e3/60)+((null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.136"))||"分钟前");if(e(i))return"今天 "+t(i,"HH:mm");if(n(i))return"昨天 "+t(i,"HH:mm");{const e=i.getFullYear(),n=(new Date).getFullYear();return t(i,e<n?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}}(r)}}function g(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 p(e){if(!(null==e?void 0:e.msg))return"";const{chatMessageType:t="",msg:n=""}=e;let r=n.toString();if(t===s.BLEND){const e=r.match(/\[([^\]]+)\]/g);return null==e||e.forEach((e=>{const n=e.match(/\[([^\]]+)\]/);if(n&&n.length>1){const o=c.findEmoji(n[1]);o&&(r=r.replace(e,`<img data-msg=${n[1]} data-type=${t} class="emoji--min" src=${o} />`))}})),r}const o=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(o(),"<$1 $2>").replace(o("/"),"</$1>").replace(/\n/g,"<br>"),r}function f(e){var t;if(e&&a(+e)&&!i(+e)){const t=E(+e),n=t.split(":");let r=t;return 3===n.length&&"00"===n[0]&&(r=`${n[1]}:${n[2]}`),"通话时长 "+r}return(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.138"))||"已取消"}function w(e){var t;if(!e)return"";const{chatMessageType:n,msg:r,messageTemplate:o}=e,a=v(e)?f(r):"";switch(n){case s.TEXT:return p(e);case s.IMAGE:return"[图片]";case s.FILE:return"[文件]";case s.EMOJI:return`<img class="emoji--min" alt=${r} src=${c.findEmoji(r)}>`;case s.TEMPLATE:return null==(t=null==o?void 0:o.setting)?void 0:t.title;case s.VIDEO:return`[视频通话]${a}`;case s.AUDIO:return`[语音通话]${a}`;default:return"[消息]"}}function h(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 y(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 H(e){try{const t=await fetch(e),n=await t.blob();return new File([n],`${l()}.${n.type.split("/")[1]}`,{type:n.type})}catch(e){return}}function v(e){return e&&[s.AUDIO,s.VIDEO].includes(e.chatMessageType)}function E(e){const n=r(new Date);return n.setSeconds(e),t(n,"HH:mm:ss")}export{d as $message,H as base64ToFile,h as downloadFile,E as formatSeconds,m as formatTime,f as getAVTime,y as getFileSize,v as isAudioOrVideoMessage,g as listSort,w as simplifyMessage,p as transformMessage};
1
+ import{isToday as e,format as t,isYesterday as n,startOfDay as o}from"date-fns";import{cloneDeep as a,isNumber as r,isNaN as i}from"lodash-es";import{MESSAGE_TYPE as s}from"../constants/index.js";import{emojis as l}from"./emoji.js";import{uuidGenerator as c}from"../../../../shared/utils/index.js";import{createDiscreteApi as d}from"naive-ui";const{message:u}=d(["message"]);function g(o){var a;const r=new Date(o);let i,s;if(e(r))i=s=t(r,"HH:mm");else{i=n(r)?(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.135"))||"昨天":t(r,"MM-dd");const e=r.getFullYear(),o=(new Date).getFullYear();s=t(r,e<o?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}return{siderMsgTime:i,msgTime:s,recordTime:function(o){var a,r,i,s;const l=new Date(o),c=Date.now()-l.getTime();if(c<6e4)return(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.133"))||"刚刚";if(c<36e5)return Math.ceil(c/1e3/60)+((null==(r=window.getLanguageByCode)?void 0:r.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.135"))||"昨天")+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")}}(o)}}function m(e){return a(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 p(e){if(!(null==e?void 0:e.msg))return"";const{chatMessageType:t="",msg:n=""}=e;let o=n.toString();if(t===s.BLEND){const e=o.match(/\[([^\]]+)\]/g);return null==e||e.forEach((e=>{const n=e.match(/\[([^\]]+)\]/);if(n&&n.length>1){const a=l.findEmoji(n[1]);a&&(o=o.replace(e,`<img data-msg=${n[1]} data-type=${t} class="emoji--min" src=${a} />`))}})),o}const a=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 o=o.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(a(),"<$1 $2>").replace(a("/"),"</$1>").replace(/\n/g,"<br>"),o}function w(e){var t,n;if(e&&r(+e)&&!i(+e)){const n=E(+e),o=n.split(":");let a=n;return 3===o.length&&"00"===o[0]&&(a=`${o[1]}:${o[2]}`),((null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.137"))||"通话时长")+a}return(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.138"))||"已取消"}function f(e){var t;if(!e)return"";const{chatMessageType:n,msg:o,messageTemplate:a}=e,r=H(e)?w(o):"";switch(n){case s.TEXT:return p(e);case s.IMAGE:return"[图片]";case s.FILE:return"[文件]";case s.EMOJI:return`<img class="emoji--min" alt=${o} src=${l.findEmoji(o)}>`;case s.TEMPLATE:return null==(t=null==a?void 0:a.setting)?void 0:t.title;case s.VIDEO:return`[视频通话]${r}`;case s.AUDIO:return`[语音通话]${r}`;default:return"[消息]"}}function y(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),o=document.createElement("a");o.href=e,o.download=t,o.dispatchEvent(new MouseEvent("click")),window.URL.revokeObjectURL(e)}},n.send()}function h(e){return new Promise(((t,n)=>{const o=new XMLHttpRequest;o.open("HEAD",e,!0),o.onreadystatechange=()=>{var e;if(4===o.readyState&&200===o.status){let n=null!=(e=o.getResponseHeader("Content-Length"))?e:0;const a=+n;a>1048576?n=(a/1048576).toFixed(2)+"M":a>1024?n=(a/1024).toFixed(2)+"K":n+="B",t(n)}},o.send()}))}async function v(e){try{const t=await fetch(e),n=await t.blob();return new File([n],`${c()}.${n.type.split("/")[1]}`,{type:n.type})}catch(e){return}}function H(e){return e&&[s.AUDIO,s.VIDEO].includes(e.chatMessageType)}function E(e){const n=o(new Date);return n.setSeconds(e),t(n,"HH:mm:ss")}export{u as $message,v as base64ToFile,y as downloadFile,E as formatSeconds,g as formatTime,w as getAVTime,h as getFileSize,H as isAudioOrVideoMessage,m as listSort,f as simplifyMessage,p as transformMessage};
@@ -1 +1 @@
1
- import{defineComponent as e,inject as a,computed as l,ref as o,onDeactivated as t,onMounted as u,resolveComponent as n,openBlock as i,createElementBlock as r,createVNode as c,unref as s,withCtx as v,normalizeStyle as d,createBlock as p,createCommentVNode as f,createElementVNode as m,createTextVNode as h,toDisplayString as g}from"vue";import{keywordMatcher as y}from"../../../../../shared/utils/index.js";import{NInput as w,NSpin as k,NPagination as x,NButtonGroup as b,NButton as S}from"naive-ui";import{useDebounceFn as _}from"@vueuse/core";import"date-fns";import{property as z,difference as C,union as I,isNumber as j,omit as D,isString as F}from"lodash-es";import{useFormRequest as L}from"../../../../../shared/hooks/useFormRequest/index.js";import"@vueuse/shared";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import"../../../../../shared/hooks/useScrollLoading.js";import{InjectionIhoTableConfig as R,InjectionTableAsyncQueue as K}from"../../constants/index.js";import{getLowCodeFieldFromField as H,isVariableHeightTable as q}from"../../utils/index.js";const T={class:"iho-table__filterWrapper",style:{width:"300px"}},U={class:"iho-table__filterFooter"};var V=e({__name:"dynamicFilter",props:{payload:{type:Object,required:!0}},setup(e){var V,Y;const B=e,N=a("$xetable"),O=a(R),$=l((()=>z("optionInfo.dynamicOptionInfo")(H(B.payload.column)))),A=l((()=>z("optionInfo.list")(H(B.payload.column)))),E=l((()=>{var e,a;return null!=(a=null==(e=$.value)?void 0:e.valueKey)?a:"value"})),W=l((()=>{var e,a;return null!=(a=null==(e=$.value)?void 0:e.showKeys)?a:[]})),G=o([]),J=o(null!=(Y=null==(V=B.payload.column.filters)?void 0:V.reduce(((e,a)=>(a.checked&&e.push(a.value),e)),[]))?Y:[]),M=l({get:()=>J.value,async set(e){const a=C(G.value.map((e=>e[E.value])),e);J.value=I(C(J.value,a),e)}}),P=o();function Q(){P.value&&(M.value=P.value.getCheckboxRecords().map((e=>e[E.value])))}const X=o("");async function Z(){N&&(N.reactData.filterStore.visible=!1)}t(Z);const ee=o(24),ae=l((()=>{var e,a;if(!B.payload||!B.payload.column)return 10;const{filterCapacity:l}=null!=(a=null==(e=B.payload.column.editRender)?void 0:e.props)?a:{};return j(l)&&l>0?l:10})),le=l((()=>ae.value*ee.value+40));function oe(){var e,a,l,o;if(!B.payload||!N)return;if(N.reactData.filterStore.options,B.payload.column.filters=J.value.map((e=>({label:e,value:e,data:e,_checked:!0}))),N.reactData.filterStore.options=B.payload.column.filters,!q(N))return t();function t(){B.payload.$panel.confirmFilter(new CustomEvent("click"))}(null!=(a=null==(e=N.internalData.afterFullData)?void 0:e.length)?a:0)>(null!=(o=null==(l=O.value.scrollY)?void 0:l.gt)?o:100)&&(N.reactData.scrollYLoad=!0),t(),N.reactData.scrollYLoad=!1,Z()}function te(){var e;J.value=[],null==(e=P.value)||e.clearCheckboxRow()}const ue=o({page:1,total:0,pageSize:20}),ne=o(!1),ie=a(K),{getSearchRequestInfo:re}=L();function ce(e){ue.value.page=e,pe()}function se(e){ue.value.pageSize=e,ue.value.page=1,pe()}const ve=o([]),de=_((()=>ce(1)),500);async function pe(){var e,a,l;const o=H(B.payload.column);if(!o||!o.optionInfo)return;if(A.value){if(G.value=A.value.reduce(((e,a)=>(function(e){return!X.value||(null!=e.name?String(e.name).includes(X.value):null!=e.value?e.value===X.value:e.extraValue&&F(e.extraValue)?y(X.value,e.extraValue):void 0)}(a)&&e.push({...a,checked:J.value.includes(a[E.value])}),e)),[]),ve.value.length)return;return void(ve.value=[{field:"select",type:"checkbox",width:40},{field:"name",title:"选项"}])}if(!$.value||!ie)return;const t={...re(),params:{[null!=(a=null==(e=$.value.filterKeys)?void 0:e[0])?a:"keyword"]:X.value,wordbookId:$.value.dataSourceId,wordbookType:$.value.dataSourceType,fieldKeys:$.value.filterKeys,autograph:$.value.autograph,asyncCount:1,...D(ue.value,"total")},cache:!0,key:null==(l=B.payload.column)?void 0:l.field};ne.value=!0;try{const e=await ie.addAsync(t);if(G.value=e.map((e=>(e.checked=J.value.includes(e[E.value]),e))),ue.value={page:e.page,total:e.total,pageSize:e.pageSize},ve.value.length)return;ve.value=[{field:"select",type:"checkbox",width:40},...W.value.reduce(((a,l)=>{var o;const t=null==(o=e.fieldList)?void 0:o.find((e=>e.columnName===l));return t&&a.push({title:t.alias||t.name||"",field:t.columnName}),a}),[])]}finally{ne.value=!1}}return u(pe),(e,a)=>{const l=n("vxe-grid");return i(),r("section",T,[c(s(w),{value:X.value,"onUpdate:value":a[0]||(a[0]=e=>X.value=e),onInput:s(de)},null,8,["value","onInput"]),c(s(k),{show:ne.value},{default:v((()=>[c(l,{class:"iho-table__filterTable",ref_key:"tableRef",ref:P,data:G.value,columns:ve.value,size:"small",height:s(le),style:d({minHeight:s(le)+"px"}),"show-overflow":"title","row-config":{height:ee.value,isHover:!0},"checkbox-config":{trigger:"row",showHeader:!1,checkField:"checked",highlight:!0},"radio-config":{trigger:"row"},onCheckboxChange:Q},null,8,["data","columns","height","style","row-config"]),s($)?(i(),p(s(x),{key:0,style:{"margin-top":"8px"},page:ue.value.page,"onUpdate:page":ce,"page-sizes":[20,30,50],"page-size":ue.value.pageSize,"onUpdate:pageSize":se,"item-count":ue.value.total,"show-size-picker":"","page-slot":5,size:"small"},null,8,["page","page-size","item-count"])):f("v-if",!0)])),_:1},8,["show"]),m("footer",U,[m("section",null,[h(" 已选择 "),m("span",{style:d({color:"var(--c-primary-color)"})},g(J.value.length),5),h(" ")]),c(s(b),{size:"small"},{default:v((()=>[c(s(S),{onClick:te},{default:v((()=>[h("清空")])),_:1}),c(s(S),{onClick:Z},{default:v((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.28"))||"取消")]})),_:1}),c(s(S),{type:"primary",onClick:oe},{default:v((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定")]})),_:1})])),_:1})])])}}});export{V as default};
1
+ import{defineComponent as e,inject as a,computed as l,ref as o,onDeactivated as t,onMounted as u,resolveComponent as n,openBlock as i,createElementBlock as r,createVNode as c,unref as s,withCtx as d,normalizeStyle as v,createBlock as p,createCommentVNode as f,createElementVNode as g,createTextVNode as m,toDisplayString as h}from"vue";import{keywordMatcher as y}from"../../../../../shared/utils/index.js";import{NInput as w,NSpin as k,NPagination as x,NButtonGroup as b,NButton as C}from"naive-ui";import{useDebounceFn as S}from"@vueuse/core";import"date-fns";import{property as _,difference as z,union as I,isNumber as L,omit as j,isString as D}from"lodash-es";import{useFormRequest as F}from"../../../../../shared/hooks/useFormRequest/index.js";import"@vueuse/shared";import"../../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import"../../../../../shared/hooks/useScrollLoading.js";import{InjectionIhoTableConfig as R,InjectionTableAsyncQueue as B}from"../../constants/index.js";import{getLowCodeFieldFromField as K,isVariableHeightTable as H}from"../../utils/index.js";const q={class:"iho-table__filterWrapper",style:{width:"300px"}},T={class:"iho-table__filterFooter"};var U=e({__name:"dynamicFilter",props:{payload:{type:Object,required:!0}},setup(e){var U,V;const Y=e,N=a("$xetable"),O=a(R),$=l((()=>_("optionInfo.dynamicOptionInfo")(K(Y.payload.column)))),A=l((()=>_("optionInfo.list")(K(Y.payload.column)))),E=l((()=>{var e,a;return null!=(a=null==(e=$.value)?void 0:e.valueKey)?a:"value"})),W=l((()=>{var e,a;return null!=(a=null==(e=$.value)?void 0:e.showKeys)?a:[]})),G=o([]),J=o(null!=(V=null==(U=Y.payload.column.filters)?void 0:U.reduce(((e,a)=>(a.checked&&e.push(a.value),e)),[]))?V:[]),M=l({get:()=>J.value,async set(e){const a=z(G.value.map((e=>e[E.value])),e);J.value=I(z(J.value,a),e)}}),P=o();function Q(){P.value&&(M.value=P.value.getCheckboxRecords().map((e=>e[E.value])))}const X=o("");async function Z(){N&&(N.reactData.filterStore.visible=!1)}t(Z);const ee=o(24),ae=l((()=>{var e,a;if(!Y.payload||!Y.payload.column)return 10;const{filterCapacity:l}=null!=(a=null==(e=Y.payload.column.editRender)?void 0:e.props)?a:{};return L(l)&&l>0?l:10})),le=l((()=>ae.value*ee.value+40));function oe(){var e,a,l,o;if(!Y.payload||!N)return;if(N.reactData.filterStore.options,Y.payload.column.filters=J.value.map((e=>({label:e,value:e,data:e,_checked:!0}))),N.reactData.filterStore.options=Y.payload.column.filters,!H(N))return t();function t(){Y.payload.$panel.confirmFilter(new CustomEvent("click"))}(null!=(a=null==(e=N.internalData.afterFullData)?void 0:e.length)?a:0)>(null!=(o=null==(l=O.value.scrollY)?void 0:l.gt)?o:100)&&(N.reactData.scrollYLoad=!0),t(),N.reactData.scrollYLoad=!1,Z()}function te(){var e;J.value=[],null==(e=P.value)||e.clearCheckboxRow()}const ue=o({page:1,total:0,pageSize:20}),ne=o(!1),ie=a(B),{getSearchRequestInfo:re}=F();function ce(e){ue.value.page=e,pe()}function se(e){ue.value.pageSize=e,ue.value.page=1,pe()}const de=o([]),ve=S((()=>ce(1)),500);async function pe(){var e,a,l;const o=K(Y.payload.column);if(!o||!o.optionInfo)return;if(A.value){if(G.value=A.value.reduce(((e,a)=>(function(e){return!X.value||(null!=e.name?String(e.name).includes(X.value):null!=e.value?e.value===X.value:e.extraValue&&D(e.extraValue)?y(X.value,e.extraValue):void 0)}(a)&&e.push({...a,checked:J.value.includes(a[E.value])}),e)),[]),de.value.length)return;return void(de.value=[{field:"select",type:"checkbox",width:40},{field:"name",title:"选项"}])}if(!$.value||!ie)return;const t={...re(),params:{[null!=(a=null==(e=$.value.filterKeys)?void 0:e[0])?a:"keyword"]:X.value,wordbookId:$.value.dataSourceId,wordbookType:$.value.dataSourceType,fieldKeys:$.value.filterKeys,autograph:$.value.autograph,asyncCount:1,...j(ue.value,"total")},cache:!0,key:null==(l=Y.payload.column)?void 0:l.field};ne.value=!0;try{const e=await ie.addAsync(t);if(G.value=e.map((e=>(e.checked=J.value.includes(e[E.value]),e))),ue.value={page:e.page,total:e.total,pageSize:e.pageSize},de.value.length)return;de.value=[{field:"select",type:"checkbox",width:40},...W.value.reduce(((a,l)=>{var o;const t=null==(o=e.fieldList)?void 0:o.find((e=>e.columnName===l));return t&&a.push({title:t.alias||t.name||"",field:t.columnName}),a}),[])]}finally{ne.value=!1}}return u(pe),(e,a)=>{var l,o;const t=n("vxe-grid");return i(),r("section",q,[c(s(w),{value:X.value,"onUpdate:value":a[0]||(a[0]=e=>X.value=e),onInput:s(ve)},null,8,["value","onInput"]),c(s(k),{show:ne.value},{default:d((()=>[c(t,{class:"iho-table__filterTable",ref_key:"tableRef",ref:P,data:G.value,columns:de.value,size:"small",height:s(le),style:v({minHeight:s(le)+"px"}),"show-overflow":"title","row-config":{height:ee.value,isHover:!0},"checkbox-config":{trigger:"row",showHeader:!1,checkField:"checked",highlight:!0},"radio-config":{trigger:"row"},onCheckboxChange:Q},null,8,["data","columns","height","style","row-config"]),s($)?(i(),p(s(x),{key:0,style:{"margin-top":"8px"},page:ue.value.page,"onUpdate:page":ce,"page-sizes":[20,30,50],"page-size":ue.value.pageSize,"onUpdate:pageSize":se,"item-count":ue.value.total,"show-size-picker":"","page-slot":5,size:"small"},null,8,["page","page-size","item-count"])):f("v-if",!0)])),_:1},8,["show"]),g("footer",T,[g("section",null,[m((null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.39"))||"已选择"),g("span",{style:v({color:"var(--c-primary-color)"})},h(J.value.length),5),m((null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.417"))||"项")]),c(s(b),{size:"small"},{default:d((()=>[c(s(C),{onClick:te},{default:d((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.509"))||"清空")]})),_:1}),c(s(C),{onClick:Z},{default:d((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.32"))||"取消")]})),_:1}),c(s(C),{type:"primary",onClick:oe},{default:d((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.33"))||"确定")]})),_:1})])),_:1})])])}}});export{U as default};
@@ -1 +1 @@
1
- import{defineComponent as e,inject as l,computed as a,ref as t,onDeactivated as u,onMounted as n,toRaw as r,openBlock as i,createElementBlock as o,unref as v,createBlock as d,createCommentVNode as s,createVNode as c,isRef as p,withCtx as f,createTextVNode as m,createElementVNode as h,toDisplayString as y,mergeProps as _,normalizeProps as k,guardReactiveProps as b,Fragment as g,renderList as w,normalizeStyle as L}from"vue";import C from"../../../../../shared/components/CancelRadio/CancelRadio.js";import D from"../../../../../shared/components/SlotRender/SlotRender.js";import{keywordMatcher as F,widthAppend as R}from"../../../../../shared/utils/index.js";import{useVirtualList as S}from"@vueuse/core";import{isNumber as j,isString as I,isFunction as x,isEqual as U}from"lodash-es";import{NInput as W,NCheckbox as $,NSpin as E,NCheckboxGroup as O,NRadioGroup as Y,NButtonGroup as B,NButton as M}from"naive-ui";import{InjectionIhoTableConfig as P}from"../../constants/index.js";import{getLowCodeFieldFromField as V,isVariableHeightTable as q}from"../../utils/index.js";const z={class:"iho-table__filterWrapper"},A={key:1,class:"iho-table__filterCheckAllWrapper"},H={key:0,class:"iho-table__filterListItem"},N={class:"iho-table__filterListItem"},G=["title"],J=["title"],K={class:"iho-table__filterListItemContent"},Q={class:"iho-table__filterFooter"};var T=e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const T=e,X=l("$xetable"),Z=l(P),ee=a((()=>V(T.payload.column)||{})),le=a((()=>{var e;return(null==(e=null==X?void 0:X.internalData)?void 0:e.afterFullData)||[]})),ae=a((()=>{var e;return!!(null==(e=T.payload)?void 0:e.column.filterMultiple)})),te=a((()=>{var e,l,a;return null!=(a=null==(l=null==(e=T.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),ue=a({get:()=>te.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),async set(e){var l,a,t,u;if(!T.payload||!X)return;const n=X.reactData.filterStore.options||[];if(ae.value?(n.forEach((l=>l._checked=e.includes(l.value))),X.checkFilterOptions()):n.forEach((l=>l._checked=l.value===e[0])),!q(X))return r();function r(){T.payload.$panel.confirmFilter(new CustomEvent("click"))}(null!=(a=null==(l=X.internalData.afterFullData)?void 0:l.length)?a:0)>(null!=(u=null==(t=Z.value.scrollY)?void 0:t.gt)?u:100)&&(X.reactData.scrollYLoad=!0),r(),X.reactData.scrollYLoad=!1}}),ne=t([...ue.value]),re=t("");async function ie(){X&&(X.reactData.filterStore.visible=!1)}u(ie);const oe=a((()=>{var e,l;if(!T.payload||!T.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=T.payload.column.editRender)?void 0:e.props)?l:{};return j(a)&&a>0?a:10})),ve=a((()=>{var e;return null==(e=T.payload.column.editRender.props)?void 0:e.filterOptionsFilterMethod})),de=a((()=>re.value?te.value.filter((e=>ve.value?ve.value(re.value,e):!!`${e.label}`.includes(re.value)||(I(e.data)?F(re.value,e.data):void 0))):te.value)),{list:se,containerProps:ce,wrapperProps:pe}=S(de,{itemHeight:32,overscan:3}),fe=a({get:()=>!!de.value.length&&de.value.every((e=>ne.value.includes(e.value))),set(e){ne.value=e?[...new Set([...ne.value,...de.value.map((e=>e.value))])]:ne.value.filter((e=>de.value.every((l=>l.value!==e))))}}),me=a((()=>de.value.some((e=>ne.value.includes(e.value)))&&!fe.value)),he=a({get:()=>ne.value.length===te.value.length&&0!==te.value.length,set:e=>{ne.value=e?te.value.map((e=>e.value)):[]}}),ye=a((()=>!!ne.value.length&&!he.value)),_e=a((()=>({height:R(32*oe.value)})));function ke(){ue.value=ae.value?ne.value:U(ne.value[0],null)?[]:[ne.value[0]],ie()}function be(){ne.value=ae.value?[]:[null]}const ge=t(!1);return n((async()=>{var e;if(!X)return;const l=null==(e=T.payload.column.editRender.props)?void 0:e.onFilterShow;if(x(l))try{ge.value=!0,await l(T.payload);const{filterStore:e}=X.reactData;r(e.options)!==r(te.value)&&(e.options=te.value)}finally{ge.value=!1}})),(l,a)=>(i(),o("section",z,[v(te).length>5?(i(),d(v(W),{key:0,value:re.value,"onUpdate:value":a[0]||(a[0]=e=>re.value=e)},null,8,["value"])):s("v-if",!0),v(ae)?(i(),o("div",A,[v(te).length>5?(i(),o("div",H,[c(v($),{checked:v(fe),"onUpdate:checked":a[1]||(a[1]=e=>p(fe)?fe.value=e:null),indeterminate:v(me)},{default:f((()=>[m("全选当前")])),_:1},8,["checked","indeterminate"])])):s("v-if",!0),h("div",N,[c(v($),{checked:v(he),"onUpdate:checked":a[2]||(a[2]=e=>p(he)?he.value=e:null),indeterminate:v(ye)},{default:f((()=>[m(" 全选所有"+y(v(ee).showFilterFullNums?`(${v(le).length})`:""),1)])),_:1},8,["checked","indeterminate"])])])):s("v-if",!0),c(v(E),{show:ge.value},{default:f((()=>[v(ae)?(i(),d(v(O),{key:0,value:ne.value,"onUpdate:value":a[3]||(a[3]=e=>ne.value=e)},{default:f((()=>[h("section",_(v(ce),{style:v(_e),class:"iho-table__filterListWrapper"}),[h("section",k(b(v(pe))),[(i(!0),o(g,null,w(v(se),(l=>(i(),o("div",{class:"iho-table__filterListItem",key:l.data.value},[c(v($),{value:l.data.value},{default:f((()=>[h("div",{class:"iho-table__filterListItemContent",title:l.data.label},[v(ee).filterLabelRender?(i(),d(v(D),_({key:0,renderer:v(ee).filterLabelRender},e.payload,{option:l.data}),null,16,["renderer","option"])):(i(),o(g,{key:1},[m(y(l.data.label),1)],64))],8,G)])),_:2},1032,["value"])])))),128))],16)],16)])),_:1},8,["value"])):(i(),d(v(Y),{key:1,value:ne.value[0],"onUpdate:value":a[5]||(a[5]=e=>ne.value[0]=e)},{default:f((()=>[h("section",_(v(ce),{style:v(_e),class:"iho-table__filterListWrapper"}),[h("section",k(b(v(pe))),[(i(!0),o(g,null,w(v(se),(e=>(i(),o("div",{class:"iho-table__filterListItem",key:e.data.value,title:e.data.label},[c(v(C),{value:e.data.value,currentValue:ne.value[0],cancelable:"",onCancel:a[4]||(a[4]=e=>ne.value=[null])},{default:f((()=>[h("div",K,y(e.data.label),1)])),_:2},1032,["value","currentValue"])],8,J)))),128))],16)],16)])),_:1},8,["value"]))])),_:1},8,["show"]),h("footer",Q,[h("section",null,[v(ae)?(i(),o(g,{key:0},[m(" 已选择 "),h("span",{style:L({color:"var(--c-primary-color)"})},y(ne.value.length),5),m(" ")],64)):s("v-if",!0)]),c(v(B),{size:"small"},{default:f((()=>[c(v(M),{onClick:be},{default:f((()=>[m("清空")])),_:1}),c(v(M),{onClick:ie},{default:f((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.28"))||"取消")]})),_:1}),c(v(M),{type:"primary",onClick:ke},{default:f((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定")]})),_:1})])),_:1})])]))}});export{T as default};
1
+ import{defineComponent as e,inject as l,computed as a,ref as t,onDeactivated as u,onMounted as n,toRaw as o,openBlock as i,createElementBlock as r,unref as v,createBlock as d,createCommentVNode as c,createVNode as s,isRef as p,withCtx as f,createTextVNode as m,createElementVNode as h,toDisplayString as y,mergeProps as _,normalizeProps as g,guardReactiveProps as w,Fragment as k,renderList as b,normalizeStyle as L}from"vue";import C from"../../../../../shared/components/CancelRadio/CancelRadio.js";import D from"../../../../../shared/components/SlotRender/SlotRender.js";import{keywordMatcher as F,widthAppend as R}from"../../../../../shared/utils/index.js";import{useVirtualList as S}from"@vueuse/core";import{isNumber as j,isString as I,isFunction as x,isEqual as B}from"lodash-es";import{NInput as U,NCheckbox as W,NSpin as $,NCheckboxGroup as E,NRadioGroup as O,NButtonGroup as Y,NButton as M}from"naive-ui";import{InjectionIhoTableConfig as P}from"../../constants/index.js";import{getLowCodeFieldFromField as V,isVariableHeightTable as q}from"../../utils/index.js";const z={class:"iho-table__filterWrapper"},A={key:1,class:"iho-table__filterCheckAllWrapper"},H={key:0,class:"iho-table__filterListItem"},N={class:"iho-table__filterListItem"},G=["title"],J=["title"],K={class:"iho-table__filterListItemContent"},Q={class:"iho-table__filterFooter"};var T=e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const T=e,X=l("$xetable"),Z=l(P),ee=a((()=>V(T.payload.column)||{})),le=a((()=>{var e;return(null==(e=null==X?void 0:X.internalData)?void 0:e.afterFullData)||[]})),ae=a((()=>{var e;return!!(null==(e=T.payload)?void 0:e.column.filterMultiple)})),te=a((()=>{var e,l,a;return null!=(a=null==(l=null==(e=T.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),ue=a({get:()=>te.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),async set(e){var l,a,t,u;if(!T.payload||!X)return;const n=X.reactData.filterStore.options||[];if(ae.value?(n.forEach((l=>l._checked=e.includes(l.value))),X.checkFilterOptions()):n.forEach((l=>l._checked=l.value===e[0])),!q(X))return o();function o(){T.payload.$panel.confirmFilter(new CustomEvent("click"))}(null!=(a=null==(l=X.internalData.afterFullData)?void 0:l.length)?a:0)>(null!=(u=null==(t=Z.value.scrollY)?void 0:t.gt)?u:100)&&(X.reactData.scrollYLoad=!0),o(),X.reactData.scrollYLoad=!1}}),ne=t([...ue.value]),oe=t("");async function ie(){X&&(X.reactData.filterStore.visible=!1)}u(ie);const re=a((()=>{var e,l;if(!T.payload||!T.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=T.payload.column.editRender)?void 0:e.props)?l:{};return j(a)&&a>0?a:10})),ve=a((()=>{var e;return null==(e=T.payload.column.editRender.props)?void 0:e.filterOptionsFilterMethod})),de=a((()=>oe.value?te.value.filter((e=>ve.value?ve.value(oe.value,e):!!`${e.label}`.includes(oe.value)||(I(e.data)?F(oe.value,e.data):void 0))):te.value)),{list:ce,containerProps:se,wrapperProps:pe}=S(de,{itemHeight:32,overscan:3}),fe=a({get:()=>!!de.value.length&&de.value.every((e=>ne.value.includes(e.value))),set(e){ne.value=e?[...new Set([...ne.value,...de.value.map((e=>e.value))])]:ne.value.filter((e=>de.value.every((l=>l.value!==e))))}}),me=a((()=>de.value.some((e=>ne.value.includes(e.value)))&&!fe.value)),he=a({get:()=>ne.value.length===te.value.length&&0!==te.value.length,set:e=>{ne.value=e?te.value.map((e=>e.value)):[]}}),ye=a((()=>!!ne.value.length&&!he.value)),_e=a((()=>({height:R(32*re.value)})));function ge(){ue.value=ae.value?ne.value:B(ne.value[0],null)?[]:[ne.value[0]],ie()}function we(){ne.value=ae.value?[]:[null]}const ke=t(!1);return n((async()=>{var e;if(!X)return;const l=null==(e=T.payload.column.editRender.props)?void 0:e.onFilterShow;if(x(l))try{ke.value=!0,await l(T.payload);const{filterStore:e}=X.reactData;o(e.options)!==o(te.value)&&(e.options=te.value)}finally{ke.value=!1}})),(l,a)=>{var t,u;return i(),r("section",z,[v(te).length>5?(i(),d(v(U),{key:0,value:oe.value,"onUpdate:value":a[0]||(a[0]=e=>oe.value=e)},null,8,["value"])):c("v-if",!0),v(ae)?(i(),r("div",A,[v(te).length>5?(i(),r("div",H,[s(v(W),{checked:v(fe),"onUpdate:checked":a[1]||(a[1]=e=>p(fe)?fe.value=e:null),indeterminate:v(me)},{default:f((()=>[m("全选当前")])),_:1},8,["checked","indeterminate"])])):c("v-if",!0),h("div",N,[s(v(W),{checked:v(he),"onUpdate:checked":a[2]||(a[2]=e=>p(he)?he.value=e:null),indeterminate:v(ye)},{default:f((()=>[m(" 全选所有"+y(v(ee).showFilterFullNums?`(${v(le).length})`:""),1)])),_:1},8,["checked","indeterminate"])])])):c("v-if",!0),s(v($),{show:ke.value},{default:f((()=>[v(ae)?(i(),d(v(E),{key:0,value:ne.value,"onUpdate:value":a[3]||(a[3]=e=>ne.value=e)},{default:f((()=>[h("section",_(v(se),{style:v(_e),class:"iho-table__filterListWrapper"}),[h("section",g(w(v(pe))),[(i(!0),r(k,null,b(v(ce),(l=>(i(),r("div",{class:"iho-table__filterListItem",key:l.data.value},[s(v(W),{value:l.data.value},{default:f((()=>[h("div",{class:"iho-table__filterListItemContent",title:l.data.label},[v(ee).filterLabelRender?(i(),d(v(D),_({key:0,renderer:v(ee).filterLabelRender},e.payload,{option:l.data}),null,16,["renderer","option"])):(i(),r(k,{key:1},[m(y(l.data.label),1)],64))],8,G)])),_:2},1032,["value"])])))),128))],16)],16)])),_:1},8,["value"])):(i(),d(v(O),{key:1,value:ne.value[0],"onUpdate:value":a[5]||(a[5]=e=>ne.value[0]=e)},{default:f((()=>[h("section",_(v(se),{style:v(_e),class:"iho-table__filterListWrapper"}),[h("section",g(w(v(pe))),[(i(!0),r(k,null,b(v(ce),(e=>(i(),r("div",{class:"iho-table__filterListItem",key:e.data.value,title:e.data.label},[s(v(C),{value:e.data.value,currentValue:ne.value[0],cancelable:"",onCancel:a[4]||(a[4]=e=>ne.value=[null])},{default:f((()=>[h("div",K,y(e.data.label),1)])),_:2},1032,["value","currentValue"])],8,J)))),128))],16)],16)])),_:1},8,["value"]))])),_:1},8,["show"]),h("footer",Q,[h("section",null,[v(ae)?(i(),r(k,{key:0},[m((null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.39"))||"已选择"),h("span",{style:L({color:"var(--c-primary-color)"})},y(ne.value.length),5),m((null==(u=window.getLanguageByCode)?void 0:u.call(window,"10010.1.417"))||"项")],64)):c("v-if",!0)]),s(v(Y),{size:"small"},{default:f((()=>[s(v(M),{onClick:we},{default:f((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.509"))||"清空")]})),_:1}),s(v(M),{onClick:ie},{default:f((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.32"))||"取消")]})),_:1}),s(v(M),{type:"primary",onClick:ge},{default:f((()=>{var e;return[m((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.33"))||"确定")]})),_:1})])),_:1})])])}}});export{T as default};
@@ -1 +1 @@
1
- import{defineComponent as a,ref as l,inject as e,openBlock as t,createBlock as n,unref as o,withCtx as u,createVNode as i,createTextVNode as r}from"vue";import{cloneDeep as d}from"lodash-es";import{NSpace as p,NInput as v,NButtonGroup as c,NButton as f}from"naive-ui";var s=a({__name:"filter",props:{payload:{type:Object,required:!0}},setup(a){var s;const m=a,y=l(d((null==(s=m.payload.column.filters)?void 0:s[0])||{}).data);function w(a){y.value=a}const g=e("$xetable");function _(){g&&(g.reactData.filterStore.visible=!1)}function C(){var a,l;const e=null==(a=m.payload.column.filters)?void 0:a[0];if(!e)return _();e.data=y.value,(null==(l=m.payload)?void 0:l.$panel)&&(m.payload.$panel.changeOption(null,!!y.value,e),m.payload.$panel.confirmFilter(new CustomEvent("click")))}return(a,l)=>(t(),n(o(p),{vertical:"",style:{padding:"8px 12px"}},{default:u((()=>[i(o(v),{clearable:"",value:y.value,"onUpdate:value":w},null,8,["value"]),i(o(p),{justify:"end"},{default:u((()=>[i(o(c),{size:"small"},{default:u((()=>[i(o(f),{onClick:_},{default:u((()=>{var a;return[r((null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.28"))||"取消")]})),_:1}),i(o(f),{type:"primary",onClick:C},{default:u((()=>{var a;return[r((null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.27"))||"确定")]})),_:1})])),_:1})])),_:1})])),_:1}))}});export{s as default};
1
+ import{defineComponent as a,ref as l,inject as e,openBlock as t,createBlock as n,unref as o,withCtx as u,createVNode as i,createTextVNode as r}from"vue";import{cloneDeep as d}from"lodash-es";import{NSpace as p,NInput as v,NButtonGroup as c,NButton as f}from"naive-ui";var s=a({__name:"filter",props:{payload:{type:Object,required:!0}},setup(a){var s;const m=a,y=l(d((null==(s=m.payload.column.filters)?void 0:s[0])||{}).data);function w(a){y.value=a}const g=e("$xetable");function _(){g&&(g.reactData.filterStore.visible=!1)}function C(){var a,l;const e=null==(a=m.payload.column.filters)?void 0:a[0];if(!e)return _();e.data=y.value,(null==(l=m.payload)?void 0:l.$panel)&&(m.payload.$panel.changeOption(null,!!y.value,e),m.payload.$panel.confirmFilter(new CustomEvent("click")))}return(a,l)=>(t(),n(o(p),{vertical:"",style:{padding:"8px 12px"}},{default:u((()=>[i(o(v),{clearable:"",value:y.value,"onUpdate:value":w},null,8,["value"]),i(o(p),{justify:"end"},{default:u((()=>[i(o(c),{size:"small"},{default:u((()=>[i(o(f),{onClick:_},{default:u((()=>{var a;return[r((null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.32"))||"取消")]})),_:1}),i(o(f),{type:"primary",onClick:C},{default:u((()=>{var a;return[r((null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.33"))||"确定")]})),_:1})])),_:1})])),_:1})])),_:1}))}});export{s as default};
@@ -1 +1 @@
1
- import{createVNode as e,mergeProps as o,defineComponent as l,computed as n}from"vue";import t from"../../../../../../shared/components/InputNumberSlash/InputNumberSlash.js";import{isNumber as r}from"lodash-es";import{NInputNumber as u}from"naive-ui";import"../../../../index.js";import{EDITABLE_WIDGET_TYPE as a}from"../../../constants/index.js";import{useAutoFocus as i}from"./hooks/useAutoFocus.js";import{IhoTableRenderHelper as s}from"../../../utils/index.js";import{defineTablePlugin as p}from"../../../hooks/useTablePlugin.js";const m=l({name:"IhoTableInputNumber",props:{value:[String,Number]},emits:["update:value"],setup(o,{emit:l}){const t=n({get:()=>r(o.value)?o.value:o.value&&r(+o.value)?+o.value:null,set(e){l("update:value",e)}});return()=>e(u,{value:t.value,"onUpdate:value":e=>t.value=e},null)}});function d(){const l="numberRendererPlugin";return p({name:l,vxe(l){l.renderer.add(a.NUMBER,{renderCell:s.createDefaultRenderCell(),renderEdit:s.createRenderEdit((({row:l,column:n,fieldItem:r,emitFormClick:u,emitFormChangeWithParams:a,$table:i})=>{var s;const{placeholder:p="请输入"}=r.componentProps||{};function d(e){const o=l[n.field];l[n.field]=e,a({oldValue:o})}const c={clearable:!0,placeholder:p,onBlur:()=>a({type:"blur",oldValue:l[n.field]}),onClick:u};return!0===r.allowSlash||"1"===r.allowSlash?e(t,o({value:l[n.field],onChange:d,onSelect:function(){i.internalData.isActivated=!0}},c,{whiteList:r.whiteList},r.componentProps,{popperProps:{...null==(s=r.componentProps)?void 0:s.popperProps,class:"iho-table_numberInputSlashPopper"}}),null):e(m,o({value:l[n.field],"onUpdate:value":d},c,r.componentProps),null)}))})},apply(e){i(e).bindAutoFocusConfig(l,a.NUMBER,".n-input__input-el",{focusType:"class"})}})}export{d as numberRendererPlugin};
1
+ import{createVNode as e,mergeProps as o,defineComponent as l,computed as n}from"vue";import t from"../../../../../../shared/components/InputNumberSlash/InputNumberSlash.js";import{isNumber as r}from"lodash-es";import{NInputNumber as a}from"naive-ui";import"../../../../index.js";import{EDITABLE_WIDGET_TYPE as u}from"../../../constants/index.js";import{useAutoFocus as i}from"./hooks/useAutoFocus.js";import{IhoTableRenderHelper as s}from"../../../utils/index.js";import{defineTablePlugin as p}from"../../../hooks/useTablePlugin.js";const m=l({name:"IhoTableInputNumber",props:{value:[String,Number]},emits:["update:value"],setup(o,{emit:l}){const t=n({get:()=>r(o.value)?o.value:o.value&&r(+o.value)?+o.value:null,set(e){l("update:value",e)}});return()=>e(a,{value:t.value,"onUpdate:value":e=>t.value=e},null)}});function d(){const l="numberRendererPlugin";return p({name:l,vxe(l){l.renderer.add(u.NUMBER,{renderCell:s.createDefaultRenderCell(),renderEdit:s.createRenderEdit((({row:l,column:n,fieldItem:r,emitFormClick:a,emitFormChangeWithParams:u,$table:i})=>{var s,p;const{placeholder:d=(null==(s=window.getLanguageByCode)?void 0:s.call(window,"10010.1.383"))||"请输入"}=r.componentProps||{};function c(e){const o=l[n.field];l[n.field]=e,u({oldValue:o})}const v={clearable:!0,placeholder:d,onBlur:()=>u({type:"blur",oldValue:l[n.field]}),onClick:a};return!0===r.allowSlash||"1"===r.allowSlash?e(t,o({value:l[n.field],onChange:c,onSelect:function(){i.internalData.isActivated=!0}},v,{whiteList:r.whiteList},r.componentProps,{popperProps:{...null==(p=r.componentProps)?void 0:p.popperProps,class:"iho-table_numberInputSlashPopper"}}),null):e(m,o({value:l[n.field],"onUpdate:value":c},v,r.componentProps),null)}))})},apply(e){i(e).bindAutoFocusConfig(l,u.NUMBER,".n-input__input-el",{focusType:"class"})}})}export{d as numberRendererPlugin};
@@ -1 +1 @@
1
- import{defineComponent as e,computed as a,ref as n,watch as t,nextTick as l,openBlock as i,createElementBlock as o,renderSlot as d,createVNode as r,unref as u,withCtx as s,mergeProps as w,createElementVNode as g,normalizeClass as p,createBlock as f,resolveDynamicComponent as c,createCommentVNode as v,createTextVNode as y,Fragment as m,renderList as _,toDisplayString as x,h as I}from"vue";import{isArray as C,isString as L,isNumber as h,isFunction as B,isObject as b,pick as k}from"lodash-es";import{NPopover as P,NImage as E,NDivider as U,NSpace as H,NButton as z,NTag as T,NEllipsis as j}from"naive-ui";import F from"../../../../form-render/index.js";const N={class:"c-info-header__patient"},R={class:"c-info-header__patientHeader"},$={key:0,class:"c-info-header__patientHeader--name"},S={key:1,class:"c-info-header__patientHeader--sex"},V={key:2,class:"c-info-header__patientHeader--age"};var D=e({__name:"index",props:{patientInfo:{default:()=>({})},patientEditable:{type:Boolean}},setup(e){const D=e,M=a((()=>D.patientInfo&&C(D.patientInfo.tagList)?D.patientInfo.tagList.filter((e=>e.render||L(e.content)&&e.content)):[])),O={warning:"#fcc200",info:"rgba(45, 122, 255, 0.1)"},W={warning:"#fff",info:"#2563F4"};function q({type:e="warning"}){return{color:O[e],textColor:W[e]}}function A(e){return()=>L(e)||h(e)?e:B(e)?e():b(e)?I(e):null}const G=n(!1),J=a((()=>{var e,a,n,t,l,i,o,d,r,u,s,w,g,p,f,c;return D.patientEditable?[{val_key:"name",is_null:"0",is_empty:"0",alias:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.116"))||"姓名",html_type:"INPUT",...D.patientInfo.nameProps},{val_key:"sex",alias:(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.122"))||"性别",html_type:"SELECT",is_null:"0",option:[{text:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.205"))||"未知",value:(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.205"))||"未知"},{text:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.203"))||"男",value:(null==(i=window.getLanguageByCode)?void 0:i.call(window,"10010.1.203"))||"男"},{text:(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.204"))||"女",value:(null==(d=window.getLanguageByCode)?void 0:d.call(window,"10010.1.204"))||"女"}],...D.patientInfo.sexProps},{val_key:"age",alias:"年龄",html_type:"INPUT_NUMBER",is_null:"0",is_empty:"0",decoratorProps:{style:{flex:2}},...D.patientInfo.ageProps,suffixConfig:{alias:"年龄单位",is_null:"0",val_key:"ageUnit",html_type:"SELECT",decoratorProps:{style:{flex:1}},option:[{value:(null==(r=window.getLanguageByCode)?void 0:r.call(window,"10010.1.144"))||"天",text:(null==(u=window.getLanguageByCode)?void 0:u.call(window,"10010.1.144"))||"天"},{value:(null==(s=window.getLanguageByCode)?void 0:s.call(window,"10010.1.347"))||"月",text:(null==(w=window.getLanguageByCode)?void 0:w.call(window,"10010.1.347"))||"月"},{value:"岁",text:"岁"},{value:(null==(g=window.getLanguageByCode)?void 0:g.call(window,"10010.1.350"))||"小时",text:(null==(p=window.getLanguageByCode)?void 0:p.call(window,"10010.1.350"))||"小时"},{value:"分",text:"分"},{value:(null==(f=window.getLanguageByCode)?void 0:f.call(window,"10010.1.346"))||"周",text:(null==(c=window.getLanguageByCode)?void 0:c.call(window,"10010.1.346"))||"周"}],...D.patientInfo.ageUnitProps}}]:[]})),K=n();async function Q(){K.value&&(await K.value.validate(),Object.assign(D.patientInfo,k(K.value.getFormValues(),["name","sex","age","ageUnit"])),G.value=!1)}return t(G,(async e=>{await l(),e&&K.value&&K.value.setFormValues(D.patientInfo||{})})),(a,n)=>(i(),o("section",N,[d(a.$slots,"avatar",{},(()=>[r(u(P),null,{trigger:s((()=>[r(u(E),w({style:{"border-radius":"50%"},width:36,height:36,"preview-disabled":"",src:e.patientInfo.avatar},e.patientInfo.avatarProps),null,16,["src"])])),default:s((()=>[r(u(E),w({width:200,"preview-disabled":"",src:e.patientInfo.avatarPreview||e.patientInfo.avatar},e.patientInfo.avatarPreviewProps),null,16,["src"])])),_:1})])),g("section",null,[g("header",R,[r(u(P),{disabled:!e.patientEditable,trigger:"manual",placement:"bottom",show:G.value},{trigger:s((()=>{var a;return[g("section",{class:p(["c-info-header__patientHeaderWrapper",{"in-edit":G.value}]),onDblclick:n[0]||(n[0]=a=>e.patientEditable&&(G.value=!0))},[e.patientInfo.name?(i(),o("div",$,[(i(),f(c(A(e.patientInfo.name))))])):v("v-if",!0),e.patientInfo.sex?(i(),o("div",S,[y(" / "),(i(),f(c(A(e.patientInfo.sex))))])):v("v-if",!0),null!=e.patientInfo.age?(i(),o("div",V,[y(" / "),(i(),f(c(A(e.patientInfo.age)))),(i(),f(c(A(null!=(a=e.patientInfo.ageUnit)?a:"岁"))))])):v("v-if",!0)],34)]})),default:s((()=>[r(u(F),{column:"6",size:"small","label-placement":"left",style:{width:"200px",margin:"4px 0 -8px 0"},"field-list":u(J),ref_key:"formRenderRef",ref:K},null,8,["field-list"]),r(u(U),{style:{margin:"8px -14px",width:"calc(100% + 28px)"}}),r(u(H),{justify:"end"},{default:s((()=>[r(u(z),{size:"small",onClick:n[1]||(n[1]=e=>G.value=!1)},{default:s((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.28"))||"取消")]})),_:1}),r(u(z),{size:"small",type:"info",onClick:Q},{default:s((()=>[y("确认")])),_:1})])),_:1})])),_:1},8,["disabled","show"]),d(a.$slots,"tags",{tagList:u(M)},(()=>[(i(!0),o(m,null,_(e.patientInfo.tagList||[],(e=>(i(),f(u(T),w({key:e.content,size:"medium",bordered:!1,color:q(e)},e),{default:s((()=>[e.render?(i(),f(c(e.render),{key:0})):(i(),f(u(j),{key:1,style:{"max-width":"96px"}},{default:s((()=>[y(x(e.content),1)])),_:2},1024))])),_:2},1040,["color"])))),128))]))]),d(a.$slots,"avatarInfo")])]))}});export{D as default};
1
+ import{defineComponent as e,computed as a,ref as n,watch as t,nextTick as l,openBlock as i,createElementBlock as o,renderSlot as d,createVNode as r,unref as u,withCtx as s,mergeProps as w,createElementVNode as g,normalizeClass as p,createBlock as f,resolveDynamicComponent as c,createCommentVNode as v,createTextVNode as y,Fragment as m,renderList as _,toDisplayString as x,h as I}from"vue";import{isArray as C,isString as L,isNumber as h,isFunction as B,isObject as b,pick as k}from"lodash-es";import{NPopover as P,NImage as E,NDivider as U,NSpace as H,NButton as z,NTag as T,NEllipsis as j}from"naive-ui";import F from"../../../../form-render/index.js";const N={class:"c-info-header__patient"},R={class:"c-info-header__patientHeader"},$={key:0,class:"c-info-header__patientHeader--name"},S={key:1,class:"c-info-header__patientHeader--sex"},V={key:2,class:"c-info-header__patientHeader--age"};var D=e({__name:"index",props:{patientInfo:{default:()=>({})},patientEditable:{type:Boolean}},setup(e){const D=e,M=a((()=>D.patientInfo&&C(D.patientInfo.tagList)?D.patientInfo.tagList.filter((e=>e.render||L(e.content)&&e.content)):[])),O={warning:"#fcc200",info:"rgba(45, 122, 255, 0.1)"},W={warning:"#fff",info:"#2563F4"};function q({type:e="warning"}){return{color:O[e],textColor:W[e]}}function A(e){return()=>L(e)||h(e)?e:B(e)?e():b(e)?I(e):null}const G=n(!1),J=a((()=>{var e,a,n,t,l,i,o,d,r,u,s,w,g,p,f,c;return D.patientEditable?[{val_key:"name",is_null:"0",is_empty:"0",alias:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.116"))||"姓名",html_type:"INPUT",...D.patientInfo.nameProps},{val_key:"sex",alias:(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.122"))||"性别",html_type:"SELECT",is_null:"0",option:[{text:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.205"))||"未知",value:(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.205"))||"未知"},{text:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.203"))||"男",value:(null==(i=window.getLanguageByCode)?void 0:i.call(window,"10010.1.203"))||"男"},{text:(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.204"))||"女",value:(null==(d=window.getLanguageByCode)?void 0:d.call(window,"10010.1.204"))||"女"}],...D.patientInfo.sexProps},{val_key:"age",alias:"年龄",html_type:"INPUT_NUMBER",is_null:"0",is_empty:"0",decoratorProps:{style:{flex:2}},...D.patientInfo.ageProps,suffixConfig:{alias:"年龄单位",is_null:"0",val_key:"ageUnit",html_type:"SELECT",decoratorProps:{style:{flex:1}},option:[{value:(null==(r=window.getLanguageByCode)?void 0:r.call(window,"10010.1.144"))||"天",text:(null==(u=window.getLanguageByCode)?void 0:u.call(window,"10010.1.144"))||"天"},{value:(null==(s=window.getLanguageByCode)?void 0:s.call(window,"10010.1.347"))||"月",text:(null==(w=window.getLanguageByCode)?void 0:w.call(window,"10010.1.347"))||"月"},{value:"岁",text:"岁"},{value:(null==(g=window.getLanguageByCode)?void 0:g.call(window,"10010.1.350"))||"小时",text:(null==(p=window.getLanguageByCode)?void 0:p.call(window,"10010.1.350"))||"小时"},{value:"分",text:"分"},{value:(null==(f=window.getLanguageByCode)?void 0:f.call(window,"10010.1.346"))||"周",text:(null==(c=window.getLanguageByCode)?void 0:c.call(window,"10010.1.346"))||"周"}],...D.patientInfo.ageUnitProps}}]:[]})),K=n();async function Q(){K.value&&(await K.value.validate(),Object.assign(D.patientInfo,k(K.value.getFormValues(),["name","sex","age","ageUnit"])),G.value=!1)}return t(G,(async e=>{await l(),e&&K.value&&K.value.setFormValues(D.patientInfo||{})})),(a,n)=>(i(),o("section",N,[d(a.$slots,"avatar",{},(()=>[r(u(P),null,{trigger:s((()=>[r(u(E),w({style:{"border-radius":"50%"},width:36,height:36,"preview-disabled":"",src:e.patientInfo.avatar},e.patientInfo.avatarProps),null,16,["src"])])),default:s((()=>[r(u(E),w({width:200,"preview-disabled":"",src:e.patientInfo.avatarPreview||e.patientInfo.avatar},e.patientInfo.avatarPreviewProps),null,16,["src"])])),_:1})])),g("section",null,[g("header",R,[r(u(P),{disabled:!e.patientEditable,trigger:"manual",placement:"bottom",show:G.value},{trigger:s((()=>{var a;return[g("section",{class:p(["c-info-header__patientHeaderWrapper",{"in-edit":G.value}]),onDblclick:n[0]||(n[0]=a=>e.patientEditable&&(G.value=!0))},[e.patientInfo.name?(i(),o("div",$,[(i(),f(c(A(e.patientInfo.name))))])):v("v-if",!0),e.patientInfo.sex?(i(),o("div",S,[y(" / "),(i(),f(c(A(e.patientInfo.sex))))])):v("v-if",!0),null!=e.patientInfo.age?(i(),o("div",V,[y(" / "),(i(),f(c(A(e.patientInfo.age)))),(i(),f(c(A(null!=(a=e.patientInfo.ageUnit)?a:"岁"))))])):v("v-if",!0)],34)]})),default:s((()=>[r(u(F),{column:"6",size:"small","label-placement":"left",style:{width:"200px",margin:"4px 0 -8px 0"},"field-list":u(J),ref_key:"formRenderRef",ref:K},null,8,["field-list"]),r(u(U),{style:{margin:"8px -14px",width:"calc(100% + 28px)"}}),r(u(H),{justify:"end"},{default:s((()=>[r(u(z),{size:"small",onClick:n[1]||(n[1]=e=>G.value=!1)},{default:s((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.32"))||"取消")]})),_:1}),r(u(z),{size:"small",type:"info",onClick:Q},{default:s((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.428"))||"确认")]})),_:1})])),_:1})])),_:1},8,["disabled","show"]),d(a.$slots,"tags",{tagList:u(M)},(()=>[(i(!0),o(m,null,_(e.patientInfo.tagList||[],(e=>(i(),f(u(T),w({key:e.content,size:"medium",bordered:!1,color:q(e)},e),{default:s((()=>[e.render?(i(),f(c(e.render),{key:0})):(i(),f(u(j),{key:1,style:{"max-width":"96px"}},{default:s((()=>[y(x(e.content),1)])),_:2},1024))])),_:2},1040,["color"])))),128))]))]),d(a.$slots,"avatarInfo")])]))}});export{D as default};
@@ -1 +1 @@
1
- import{defineComponent,computed,ref,watch,openBlock,createElementBlock,normalizeClass,normalizeStyle,unref,createElementVNode,createVNode,withCtx,Fragment,renderList,toDisplayString,createBlock,createCommentVNode,nextTick}from"vue";import{NSpace,NIcon}from"naive-ui";import{ArrowUndoSharp}from"@vicons/ionicons5";import InputNumber from"./InputNumber.vue.js";import{useDraggable}from"@vueuse/core";import{getNumber}from"../utils/index.js";const _hoisted_1={class:"keys"},_hoisted_2=["onClick"],_hoisted_3=["onClick"],_hoisted_4={class:"btns"},_hoisted_5=["onClick"],_hoisted_6={class:"inputs"},_hoisted_7={class:"inputs-right"},_hoisted_8=createElementVNode("hr",null,null,-1);var _sfc_main=defineComponent({__name:"NumberPanel",props:{defaultValue:{type:Number},value:{type:Number},mode:{type:String},positionInitialValue:{type:Object,default:()=>({x:0,y:0})},moveOffset:{type:Object,default:()=>({x:0,y:0})},drag:{type:Boolean,default:!1}},emits:["change"],setup(__props,{emit:emit}){const props=__props,NUMBERKEYS="1234567890.",DAYS=[3,7,14,30],DOSENUMBERKEYS="123/456*789-0.+",CALCULATIONSYMBOLS=["+","-","*","/"],isNumber=computed((()=>"number"===props.mode)),isDay=computed((()=>"day"===props.mode&&!isNumber.value)),isDose=computed((()=>"dose"===props.mode&&!isNumber.value)),numberKeys=computed((()=>(isDose.value?DOSENUMBERKEYS:NUMBERKEYS).split(""))),days=ref(DAYS),doses=ref([2,3,4,5,6,7,8]),inputValue=ref(""),integerValue=ref(),numeratorValue=ref(),denominatorValue=ref(),inputValueStatus=ref("success"),numeratorValueStatus=ref("success"),denominatorValueStatus=ref("success"),keyboardRef=ref(null),inputRef=ref(null),style=init();function init(){if(props.defaultValue&&(inputValue.value=props.defaultValue.toString()),props.drag){const{x:e,y:t,style:a}=useDraggable(keyboardRef,{initialValue:props.positionInitialValue,onMove:(e,t)=>{var a,u,n,l;e.x+=null!=(u=null==(a=props.moveOffset)?void 0:a.x)?u:0,e.y+=null!=(l=null==(n=props.moveOffset)?void 0:n.y)?l:0}});return a}}async function setFocus(){var e,t,a;const u=null==(a=null==(t=null==(e=inputRef.value)?void 0:e.$childrenRefs)?void 0:t.$refs)?void 0:a.inputElRef;await nextTick(),u.focus()}function keydown(key){switch(key){case"Undo":updateValue(key);break;case"Enter":if(!validator())return void(inputValueStatus.value="error");emit("change",eval(inputValue.value)),setFocus();break;default:"number"==typeof key?(inputValue.value=key.toString(),setInputValueStatus(),setFocus()):updateValue(key)}}function onKeydown(e){["Enter"].includes(e.key)&&keydown("Enter")}async function updateValue(e){var t,a,u;const n=null==(u=null==(a=null==(t=inputRef.value)?void 0:t.$childrenRefs)?void 0:a.$refs)?void 0:u.inputElRef,{selectionStart:l,selectionEnd:o}=n,r=inputValue.value.split("");if("Undo"===e){const e=l===o?1:o-l,t=l===o?l-1:l;inputValue.value&&t>-1&&r.splice(t,e)}else r.splice(l,o-l,e);inputValue.value=r.join(""),await nextTick(),n.focus();const s="Undo"===e?l?o>l?l:l-1:0:l+1;n.setSelectionRange(s,s),setInputValueStatus()}function validator(){if(!inputValue.value)return!1;if(CALCULATIONSYMBOLS.slice(2).includes(inputValue.value[0]))return!1;if(CALCULATIONSYMBOLS.includes(inputValue.value[inputValue.value.length-1]))return!1;const e=[];let t=[];const a=inputValue.value.split("");a.forEach(((u,n)=>{CALCULATIONSYMBOLS.includes(u)?(e.push(t.join("")),t=[]):(t.push(u),n===a.length-1&&e.push(t.join("")))}));return!!e.every(((e,t)=>0===t&&!e||/^\d*(.\d+)?$/.test(e)))}function updateFraction(e){setInputStatus(inputValue,inputValueStatus)&&(inputValue.value=(Math.round(+inputValue.value*(1/e)*100)/100).toString(),setInputValueStatus())}function calculateFraction(){if(!setInputStatus(inputValue,inputValueStatus)||!setInputStatus(numeratorValue,numeratorValueStatus,!0)||!setInputStatus(denominatorValue,denominatorValueStatus,!0))return;const e=getNumber(integerValue.value)+getNumber(numeratorValue.value)/getNumber(denominatorValue.value);inputValue.value=(Math.round(+inputValue.value*e*100)/100).toString(),setInputValueStatus()}function setInputStatus(e,t,a){if((a||e.value&&"."!==e.value)&&(!a||e.value))return!0;t.value="error"}function setInputValueStatus(){inputValueStatus.value=inputValue.value?"success":"error"}return watch((()=>props.value),(e=>inputValue.value=(e||"").toString()),{immediate:!0}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(["c-keyboard",{isFixed:__props.drag}]),ref_key:"keyboardRef",ref:keyboardRef,style:normalizeStyle(unref(style)),onKeydown:onKeydown},[createElementVNode("div",{class:normalizeClass(["left",{isDose:unref(isDose)}])},[createVNode(InputNumber,{ref_key:"inputRef",ref:inputRef,modelValue:inputValue.value,"onUpdate:modelValue":t[0]||(t[0]=e=>inputValue.value=e),status:inputValueStatus.value,"onUpdate:status":t[1]||(t[1]=e=>inputValueStatus.value=e)},null,8,["modelValue","status"]),createElementVNode("div",_hoisted_1,[createVNode(unref(NSpace),{class:"margin-offset","wrap-item":!1},{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(numberKeys),(e=>(openBlock(),createElementBlock("span",{key:e,class:normalizeClass("0"===e?"is-0":""),onClick:t=>keydown(e)},toDisplayString(e),11,_hoisted_2)))),128))])),_:1}),createVNode(unref(NSpace),{class:"margin-offset","wrap-item":!1},{default:withCtx((()=>{var e;return[createElementVNode("span",{class:"opt",onClick:t[2]||(t[2]=e=>keydown("Undo"))},[createVNode(unref(NIcon),{component:unref(ArrowUndoSharp)},null,8,["component"])]),createElementVNode("span",{class:"opt",onClick:t[3]||(t[3]=e=>keydown("Enter"))},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定")]})),_:1})])],2),unref(isDay)?(openBlock(),createBlock(unref(NSpace),{key:0,class:"right-days","wrap-item":!1,justify:"center",vertical:""},{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(days.value,(e=>{var t;return openBlock(),createElementBlock("span",{class:"btn",key:e,onClick:t=>keydown(e)},toDisplayString(e)+((null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.144"))||"天"),9,_hoisted_3)})),128))])),_:1})):createCommentVNode("v-if",!0),unref(isDose)?(openBlock(),createBlock(unref(NSpace),{key:1,class:"right-dose","wrap-item":!1},{default:withCtx((()=>[createElementVNode("div",_hoisted_4,[(openBlock(!0),createElementBlock(Fragment,null,renderList(doses.value,(e=>(openBlock(),createElementBlock("span",{class:"btn",key:e,onClick:t=>updateFraction(e)},"1/"+toDisplayString(e),9,_hoisted_5)))),128))]),createVNode(unref(NSpace),{justify:"center",vertical:"","wrap-item":!1},{default:withCtx((()=>{var e;return[createElementVNode("div",_hoisted_6,[createVNode(InputNumber,{integer:"",modelValue:integerValue.value,"onUpdate:modelValue":t[4]||(t[4]=e=>integerValue.value=e)},null,8,["modelValue"]),createElementVNode("div",_hoisted_7,[createVNode(InputNumber,{integer:"",modelValue:numeratorValue.value,"onUpdate:modelValue":t[5]||(t[5]=e=>numeratorValue.value=e),status:numeratorValueStatus.value,"onUpdate:status":t[6]||(t[6]=e=>numeratorValueStatus.value=e)},null,8,["modelValue","status"]),_hoisted_8,createVNode(InputNumber,{integer:"",modelValue:denominatorValue.value,"onUpdate:modelValue":t[7]||(t[7]=e=>denominatorValue.value=e),status:denominatorValueStatus.value,"onUpdate:status":t[8]||(t[8]=e=>denominatorValueStatus.value=e)},null,8,["modelValue","status"])])]),createElementVNode("span",{class:"btn",onClick:calculateFraction},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.145"))||"分子式剂量")]})),_:1})])),_:1})):createCommentVNode("v-if",!0)],38))}});export{_sfc_main as default};
1
+ import{defineComponent,computed,ref,watch,openBlock,createElementBlock,normalizeClass,normalizeStyle,unref,createElementVNode,createVNode,withCtx,Fragment,renderList,toDisplayString,createBlock,createCommentVNode,nextTick}from"vue";import{NSpace,NIcon}from"naive-ui";import{ArrowUndoSharp}from"@vicons/ionicons5";import InputNumber from"./InputNumber.vue.js";import{useDraggable}from"@vueuse/core";import{getNumber}from"../utils/index.js";const _hoisted_1={class:"keys"},_hoisted_2=["onClick"],_hoisted_3=["onClick"],_hoisted_4={class:"btns"},_hoisted_5=["onClick"],_hoisted_6={class:"inputs"},_hoisted_7={class:"inputs-right"},_hoisted_8=createElementVNode("hr",null,null,-1);var _sfc_main=defineComponent({__name:"NumberPanel",props:{defaultValue:{type:Number},value:{type:Number},mode:{type:String},positionInitialValue:{type:Object,default:()=>({x:0,y:0})},moveOffset:{type:Object,default:()=>({x:0,y:0})},drag:{type:Boolean,default:!1}},emits:["change"],setup(__props,{emit:emit}){const props=__props,NUMBERKEYS="1234567890.",DAYS=[3,7,14,30],DOSENUMBERKEYS="123/456*789-0.+",CALCULATIONSYMBOLS=["+","-","*","/"],isNumber=computed((()=>"number"===props.mode)),isDay=computed((()=>"day"===props.mode&&!isNumber.value)),isDose=computed((()=>"dose"===props.mode&&!isNumber.value)),numberKeys=computed((()=>(isDose.value?DOSENUMBERKEYS:NUMBERKEYS).split(""))),days=ref(DAYS),doses=ref([2,3,4,5,6,7,8]),inputValue=ref(""),integerValue=ref(),numeratorValue=ref(),denominatorValue=ref(),inputValueStatus=ref("success"),numeratorValueStatus=ref("success"),denominatorValueStatus=ref("success"),keyboardRef=ref(null),inputRef=ref(null),style=init();function init(){if(props.defaultValue&&(inputValue.value=props.defaultValue.toString()),props.drag){const{x:e,y:t,style:a}=useDraggable(keyboardRef,{initialValue:props.positionInitialValue,onMove:(e,t)=>{var a,u,n,l;e.x+=null!=(u=null==(a=props.moveOffset)?void 0:a.x)?u:0,e.y+=null!=(l=null==(n=props.moveOffset)?void 0:n.y)?l:0}});return a}}async function setFocus(){var e,t,a;const u=null==(a=null==(t=null==(e=inputRef.value)?void 0:e.$childrenRefs)?void 0:t.$refs)?void 0:a.inputElRef;await nextTick(),u.focus()}function keydown(key){switch(key){case"Undo":updateValue(key);break;case"Enter":if(!validator())return void(inputValueStatus.value="error");emit("change",eval(inputValue.value)),setFocus();break;default:"number"==typeof key?(inputValue.value=key.toString(),setInputValueStatus(),setFocus()):updateValue(key)}}function onKeydown(e){["Enter"].includes(e.key)&&keydown("Enter")}async function updateValue(e){var t,a,u;const n=null==(u=null==(a=null==(t=inputRef.value)?void 0:t.$childrenRefs)?void 0:a.$refs)?void 0:u.inputElRef,{selectionStart:l,selectionEnd:o}=n,r=inputValue.value.split("");if("Undo"===e){const e=l===o?1:o-l,t=l===o?l-1:l;inputValue.value&&t>-1&&r.splice(t,e)}else r.splice(l,o-l,e);inputValue.value=r.join(""),await nextTick(),n.focus();const s="Undo"===e?l?o>l?l:l-1:0:l+1;n.setSelectionRange(s,s),setInputValueStatus()}function validator(){if(!inputValue.value)return!1;if(CALCULATIONSYMBOLS.slice(2).includes(inputValue.value[0]))return!1;if(CALCULATIONSYMBOLS.includes(inputValue.value[inputValue.value.length-1]))return!1;const e=[];let t=[];const a=inputValue.value.split("");a.forEach(((u,n)=>{CALCULATIONSYMBOLS.includes(u)?(e.push(t.join("")),t=[]):(t.push(u),n===a.length-1&&e.push(t.join("")))}));return!!e.every(((e,t)=>0===t&&!e||/^\d*(.\d+)?$/.test(e)))}function updateFraction(e){setInputStatus(inputValue,inputValueStatus)&&(inputValue.value=(Math.round(+inputValue.value*(1/e)*100)/100).toString(),setInputValueStatus())}function calculateFraction(){if(!setInputStatus(inputValue,inputValueStatus)||!setInputStatus(numeratorValue,numeratorValueStatus,!0)||!setInputStatus(denominatorValue,denominatorValueStatus,!0))return;const e=getNumber(integerValue.value)+getNumber(numeratorValue.value)/getNumber(denominatorValue.value);inputValue.value=(Math.round(+inputValue.value*e*100)/100).toString(),setInputValueStatus()}function setInputStatus(e,t,a){if((a||e.value&&"."!==e.value)&&(!a||e.value))return!0;t.value="error"}function setInputValueStatus(){inputValueStatus.value=inputValue.value?"success":"error"}return watch((()=>props.value),(e=>inputValue.value=(e||"").toString()),{immediate:!0}),(e,t)=>(openBlock(),createElementBlock("div",{class:normalizeClass(["c-keyboard",{isFixed:__props.drag}]),ref_key:"keyboardRef",ref:keyboardRef,style:normalizeStyle(unref(style)),onKeydown:onKeydown},[createElementVNode("div",{class:normalizeClass(["left",{isDose:unref(isDose)}])},[createVNode(InputNumber,{ref_key:"inputRef",ref:inputRef,modelValue:inputValue.value,"onUpdate:modelValue":t[0]||(t[0]=e=>inputValue.value=e),status:inputValueStatus.value,"onUpdate:status":t[1]||(t[1]=e=>inputValueStatus.value=e)},null,8,["modelValue","status"]),createElementVNode("div",_hoisted_1,[createVNode(unref(NSpace),{class:"margin-offset","wrap-item":!1},{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(numberKeys),(e=>(openBlock(),createElementBlock("span",{key:e,class:normalizeClass("0"===e?"is-0":""),onClick:t=>keydown(e)},toDisplayString(e),11,_hoisted_2)))),128))])),_:1}),createVNode(unref(NSpace),{class:"margin-offset","wrap-item":!1},{default:withCtx((()=>{var e;return[createElementVNode("span",{class:"opt",onClick:t[2]||(t[2]=e=>keydown("Undo"))},[createVNode(unref(NIcon),{component:unref(ArrowUndoSharp)},null,8,["component"])]),createElementVNode("span",{class:"opt",onClick:t[3]||(t[3]=e=>keydown("Enter"))},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.33"))||"确定")]})),_:1})])],2),unref(isDay)?(openBlock(),createBlock(unref(NSpace),{key:0,class:"right-days","wrap-item":!1,justify:"center",vertical:""},{default:withCtx((()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(days.value,(e=>{var t;return openBlock(),createElementBlock("span",{class:"btn",key:e,onClick:t=>keydown(e)},toDisplayString(e)+((null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.144"))||"天"),9,_hoisted_3)})),128))])),_:1})):createCommentVNode("v-if",!0),unref(isDose)?(openBlock(),createBlock(unref(NSpace),{key:1,class:"right-dose","wrap-item":!1},{default:withCtx((()=>[createElementVNode("div",_hoisted_4,[(openBlock(!0),createElementBlock(Fragment,null,renderList(doses.value,(e=>(openBlock(),createElementBlock("span",{class:"btn",key:e,onClick:t=>updateFraction(e)},"1/"+toDisplayString(e),9,_hoisted_5)))),128))]),createVNode(unref(NSpace),{justify:"center",vertical:"","wrap-item":!1},{default:withCtx((()=>{var e;return[createElementVNode("div",_hoisted_6,[createVNode(InputNumber,{integer:"",modelValue:integerValue.value,"onUpdate:modelValue":t[4]||(t[4]=e=>integerValue.value=e)},null,8,["modelValue"]),createElementVNode("div",_hoisted_7,[createVNode(InputNumber,{integer:"",modelValue:numeratorValue.value,"onUpdate:modelValue":t[5]||(t[5]=e=>numeratorValue.value=e),status:numeratorValueStatus.value,"onUpdate:status":t[6]||(t[6]=e=>numeratorValueStatus.value=e)},null,8,["modelValue","status"]),_hoisted_8,createVNode(InputNumber,{integer:"",modelValue:denominatorValue.value,"onUpdate:modelValue":t[7]||(t[7]=e=>denominatorValue.value=e),status:denominatorValueStatus.value,"onUpdate:status":t[8]||(t[8]=e=>denominatorValueStatus.value=e)},null,8,["modelValue","status"])])]),createElementVNode("span",{class:"btn",onClick:calculateFraction},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.145"))||"分子式剂量")]})),_:1})])),_:1})):createCommentVNode("v-if",!0)],38))}});export{_sfc_main as default};