cnhis-design-vue 3.2.14-beta.15 → 3.2.14-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/ai-chat/src/components/ChatCard.js +1 -1
- package/es/components/field-set/src/FieldFilter.vue.d.ts +3 -2
- package/es/components/field-set/src/FieldFilter.vue2.js +1 -1
- package/es/components/field-set/src/components/table-row.vue2.js +1 -1
- package/es/components/field-set/src/constants/filter.d.ts +21 -12
- package/es/components/field-set/src/constants/filter.js +1 -1
- package/es/components/field-set/src/types/index.d.ts +1 -1
- package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
- package/es/components/form-render/src/hooks/usePresetScope.d.ts +1 -1
- package/es/components/form-render/src/hooks/usePresetScope.js +1 -1
- package/es/components/iho-chat/index.d.ts +437 -49
- package/es/components/iho-chat/src/Index.vue.d.ts +440 -56
- package/es/components/iho-chat/src/Index.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +19 -1
- package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +39 -3
- package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +38 -2
- package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +172 -10
- package/es/components/iho-chat/src/components/ChatHeader.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +58 -4
- package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +19 -1
- package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +20 -2
- package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +57 -3
- package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ContextMenu.js +1 -1
- package/es/components/iho-chat/src/components/MessageTemplate.vue.d.ts +1 -1
- package/es/components/iho-chat/src/components/MessageTemplate.vue2.js +1 -1
- package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +38 -2
- package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +1 -1
- package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +19 -1
- package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
- package/es/components/iho-chat/src/components/SiderList.vue.d.ts +19 -1
- package/es/components/iho-chat/src/components/SiderList.vue2.js +1 -1
- package/es/components/iho-chat/src/components/Video.vue.d.ts +19 -1
- package/es/components/iho-chat/src/components/Video.vue2.js +1 -1
- package/es/components/iho-chat/src/hooks/index.d.ts +2 -2
- package/es/components/iho-chat/src/hooks/index.js +1 -1
- package/es/components/iho-chat/src/hooks/useData.d.ts +94 -0
- package/es/components/iho-chat/src/hooks/useData.js +1 -0
- package/es/components/iho-chat/src/hooks/useSearchUserList.js +1 -1
- package/es/components/iho-chat/src/hooks/useVideo.d.ts +19 -1
- package/es/components/iho-chat/src/hooks/useVideo.js +1 -1
- package/es/components/iho-chat/src/hooks/useWebSocket.d.ts +3 -0
- package/es/components/iho-chat/src/hooks/useWebSocket.js +1 -0
- package/es/components/iho-chat/src/types/index.d.ts +0 -6
- package/es/components/iho-chat/src/types/index.js +1 -1
- package/es/components/iho-chat/src/utils/index.js +1 -1
- package/es/shared/package.json.js +1 -1
- package/package.json +2 -2
- package/es/components/iho-chat/src/hooks/useSession.d.ts +0 -14
- package/es/components/iho-chat/src/hooks/useSession.js +0 -1
- package/es/components/iho-chat/src/hooks/useState.d.ts +0 -18
- package/es/components/iho-chat/src/hooks/useState.js +0 -1
@@ -5,7 +5,25 @@ import { simplifyMessage, isAudioOrVideoMessage, getAVTime } from '../utils';
|
|
5
5
|
import { MESSAGE_TYPE } from '../constants';
|
6
6
|
declare const _default: import("vue").DefineComponent<{}, {
|
7
7
|
chatMainRef: import("vue").Ref<HTMLElement | undefined>;
|
8
|
-
state:
|
8
|
+
state: {
|
9
|
+
orgId: string | number;
|
10
|
+
currentSessionItem: AnyObject;
|
11
|
+
id: string;
|
12
|
+
userInfo: AnyObject;
|
13
|
+
msgList: AnyObject[];
|
14
|
+
currentMsg: AnyObject;
|
15
|
+
isAppendMsg: boolean;
|
16
|
+
sessionList: AnyObject[];
|
17
|
+
isChangeSession: boolean;
|
18
|
+
updateSessionItem: AnyObject;
|
19
|
+
isUpdateSession: boolean;
|
20
|
+
currentReferenceMsg: AnyObject | null;
|
21
|
+
currentReEditMsg: AnyObject | null;
|
22
|
+
showVideo: boolean;
|
23
|
+
currentAVMsg: AnyObject;
|
24
|
+
currentGroupUser: AnyObject[];
|
25
|
+
showMultipleVideo: boolean;
|
26
|
+
};
|
9
27
|
setMsgList: (list?: AnyObject[]) => void;
|
10
28
|
relayMessage: (param: {
|
11
29
|
checkedIds: string[];
|
@@ -77,7 +95,25 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
77
95
|
onClose?: ((...args: any[]) => any) | undefined;
|
78
96
|
}>>;
|
79
97
|
emit: (event: "close", ...args: any[]) => void;
|
80
|
-
state:
|
98
|
+
state: {
|
99
|
+
orgId: string | number;
|
100
|
+
currentSessionItem: AnyObject;
|
101
|
+
id: string;
|
102
|
+
userInfo: AnyObject;
|
103
|
+
msgList: AnyObject[];
|
104
|
+
currentMsg: AnyObject;
|
105
|
+
isAppendMsg: boolean;
|
106
|
+
sessionList: AnyObject[];
|
107
|
+
isChangeSession: boolean;
|
108
|
+
updateSessionItem: AnyObject;
|
109
|
+
isUpdateSession: boolean;
|
110
|
+
currentReferenceMsg: AnyObject | null;
|
111
|
+
currentReEditMsg: AnyObject | null;
|
112
|
+
showVideo: boolean;
|
113
|
+
currentAVMsg: AnyObject;
|
114
|
+
currentGroupUser: AnyObject[];
|
115
|
+
showMultipleVideo: boolean;
|
116
|
+
};
|
81
117
|
openSession: (item: AnyObject) => Promise<void>;
|
82
118
|
showUserDetail: import("vue").Ref<boolean>;
|
83
119
|
showLargeAvatar: import("vue").Ref<boolean>;
|
@@ -135,7 +171,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
135
171
|
}>> & {}>>;
|
136
172
|
describeBodyRef: import("vue").Ref<any>;
|
137
173
|
showMore: import("vue").Ref<boolean>;
|
138
|
-
emit: (event:
|
174
|
+
emit: (event: "template-click" | "unread-message-update" | "session-change", ...args: any[]) => void;
|
139
175
|
isOverflow: import("vue").ComputedRef<boolean>;
|
140
176
|
setting: import("vue").ComputedRef<any>;
|
141
177
|
serverSetting: import("vue").ComputedRef<any>;
|
@@ -284,7 +320,25 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
284
320
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
285
321
|
}>>;
|
286
322
|
emit: (event: "comfirm", ...args: any[]) => void;
|
287
|
-
state:
|
323
|
+
state: {
|
324
|
+
orgId: string | number;
|
325
|
+
currentSessionItem: AnyObject;
|
326
|
+
id: string;
|
327
|
+
userInfo: AnyObject;
|
328
|
+
msgList: AnyObject[];
|
329
|
+
currentMsg: AnyObject;
|
330
|
+
isAppendMsg: boolean;
|
331
|
+
sessionList: AnyObject[];
|
332
|
+
isChangeSession: boolean;
|
333
|
+
updateSessionItem: AnyObject;
|
334
|
+
isUpdateSession: boolean;
|
335
|
+
currentReferenceMsg: AnyObject | null;
|
336
|
+
currentReEditMsg: AnyObject | null;
|
337
|
+
showVideo: boolean;
|
338
|
+
currentAVMsg: AnyObject;
|
339
|
+
currentGroupUser: AnyObject[];
|
340
|
+
showMultipleVideo: boolean;
|
341
|
+
};
|
288
342
|
setCurrentSessionItem: (item: AnyObject) => void;
|
289
343
|
listRef: import("vue").Ref<any>;
|
290
344
|
keyword: import("vue").Ref<string>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as t,computed as n,watch as s,openBlock as o,createElementBlock as i,normalizeClass as r,unref as a,normalizeStyle as c,createVNode as l,withCtx as u,Fragment as m,renderList as p,toDisplayString as d,createCommentVNode as f,createBlock as g,createElementVNode as v,createTextVNode as y,withModifiers as h,nextTick as T}from"vue";import{NImageGroup as M,NButton as k,NAvatar as _,NImage as x,NIcon as I,NSpace as C,NButtonGroup as
|
1
|
+
import{defineComponent as e,ref as t,computed as n,watch as s,openBlock as o,createElementBlock as i,normalizeClass as r,unref as a,normalizeStyle as c,createVNode as l,withCtx as u,Fragment as m,renderList as p,toDisplayString as d,createCommentVNode as f,createBlock as g,createElementVNode as v,createTextVNode as y,withModifiers as h,nextTick as T}from"vue";import{NImageGroup as M,NButton as k,NAvatar as _,NImage as x,NIcon as I,NSpace as C,NButtonGroup as j,NTooltip as w}from"naive-ui";import{format as E}from"date-fns";import{getHistoryRecordApi as L,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"trtc-sdk-v5";import{first as N,last as O,toString as P}from"lodash-es";import q from"./PersonProfile.vue.js";import B 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"},se=["data-time"],oe=["onContextmenu"],ie={key:0,class:"reference-content"},re=["innerHTML"],ae=["src"],ce=["innerHTML"],le=["innerHTML"],ue={style:{"margin-left":"8px"}},me={class:"size"};var pe=e({__name:"ChatMain",setup(e){const pe=t(),{state:de,setMsgList:fe,relayMessage:ge,setCurrentSessionItem:ve,isGroupChat:ye}=b(),he=t(),Te=t(!1),Me=t({left:0,top:0}),ke=t(),_e=t(),xe={page:0,hasMore:!0,lastSendTime:E(new Date,"yyyy-MM-dd HH:mm:ss")},Ie=n((()=>({"--c-tip-top":ye.value?"1px":"-20px","--c-tip-gap":ye.value?"10px":"0px"})));function Ce({nodes:e}){var t,n;const{_ctx:s}=null==(t=e.download)?void 0:t.children,o=s?null==(n=null==s?void 0:s.proxy)?void 0:n.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,l(w,null,{trigger:()=>l(I,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:$,onClick:()=>o&&R(o,"img")},null),default:()=>"下载"}),e.close]}async function je(){try{if(!xe.hasMore)return;xe.page++;const e=await L({sessionKey:de.currentSessionItem.sessionKey,page:xe.page,lastSendTime:xe.lastSendTime});if(!Array.isArray(e)||0===e.length)return xe.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=N(e).id;xe.lastSendTime=O(e).sendTime,fe(xe.page>1?[...de.msgList,...e]:e),1===xe.page&&de.currentSessionItem.unreadNum&&(await S({chatType:de.currentSessionItem.chatType,messageIdSet:[t],receiver:de.userInfo.id,sender:de.currentSessionItem.receiver}),ve({unreadNum:0}))}catch(e){console.log(e)}}async function we(e,t){ke.value=t,async function(e){var t,n,s,o,i,r;Te.value=!0,await T();const{clientX:a,clientY:c}=e,{width:l=0,height:u=0,left:m=0,top:p=0}=(null==(t=pe.value)?void 0:t.getBoundingClientRect())||{},d=null!=(o=null==(s=null==(n=he.value)?void 0:n.$el)?void 0:s.getBoundingClientRect().height)?o:220,f=null!=(r=null==(i=pe.value)?void 0:i.scrollTop)?r:0,g=5,v={};a<=m+l/2?v.left=a-m+g+"px":v.right=m+l-a-g+"px";c-p<d/2?v.top=f+g+"px":p+u-c<=d/2?v.bottom=Math.abs(f)+g+"px":v.top=f+c-p-d/2+"px";Me.value=v}(e)}function Ee(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function Le(e){const{chatMessageType:t}=e.content;return e.sender===de.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=P(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,s=P(n).match(/<img[^>]*>/gi);return t===A.BLEND&&s&&s.length}function Ae(e,t){var n,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===A.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(s=null==i?void 0:i.setting)?void 0:s.style.id)}function ze(e){var t,n;const{chatMessageType:s,messageTemplate:o}=e;return s===A.TEMPLATE&&3==(null==(n=null==(t=null==o?void 0:o.setting)?void 0:t.style)?void 0:n.id)}function De(e,t){var n;const s=new Date(e.sendTime).getTime(),o=null==(n=de.msgList[t+1])?void 0:n.sendTime;if(o){return s-new Date(o).getTime()>3e5}return!0}function He(e){de.currentReferenceMsg=e,de.currentReferenceMsg.content.referenceContent=null,Object.assign(de.currentReferenceMsg,{chatType:de.currentSessionItem.chatType,receiver:de.currentSessionItem.receiver,receiverAvatar:de.currentSessionItem.avatar,receiverName:de.currentSessionItem.name})}function Re(e,t){var n;"reply"!==e?"relay"===e&&(null==(n=_e.value)||n.click()):He(t)}function Ne(e,t){const n=de.msgList.find((e=>e.id===ke.value));ge({checkedIds:e,remark:t,content:n.content})}return Q(pe,(()=>{je()}),"top",(()=>{Te.value=!1})),s((()=>de.id),(e=>{e&&(de.currentReferenceMsg=null,Object.assign(xe,{page:0,hasMore:!0,lastSendTime:E(new Date,"yyyy-MM-dd HH:mm:ss")}),je())}),{immediate:!0}),s((()=>de.isAppendMsg),(e=>{e&&(fe([de.currentMsg,...de.msgList]),async function(){var e;null==(e=pe.value)||e.scrollTo({top:0,behavior:"auto"})}(),de.isAppendMsg=!1)}),{immediate:!0}),(e,t)=>(o(),i("div",{class:r(["chat-main",{"home-bg":!a(de).id}]),ref_key:"chatMainRef",ref:pe,style:c(a(Ie))},[l(a(M),{"show-toolbar-tooltip":"","render-toolbar":Ce},{default:u((()=>[(o(!0),i(m,null,p(a(de).msgList,((e,t)=>(o(),i(m,{key:e.id},[Ee(e)?(o(),i("div",{key:0,class:r(["message-item",{"message-item--mine":e.sender==a(de).userInfo.id}])},[De(e,t)?(o(),i("p",V,d(e.__sendTime),1)):f("v-if",!0),Ae(e,"system")||"WITHDRAWN"===e.status?(o(),i(m,{key:1},[Ae(e,"system")?(o(),g(B,{key:0,data:e},null,8,["data"])):f("v-if",!0),"WITHDRAWN"===e.status?(o(),i("p",Z,[v("span",null,d(e.sender==a(de).userInfo.id?"你":e.senderName)+"撤回了一条消息",1),Le(e)?(o(),g(a(k),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){de.currentReEditMsg=e}(e)},{default:u((()=>[y(" 重新编辑 ")])),_:2},1032,["onClick"])):f("v-if",!0)])):f("v-if",!0)],64)):(o(),i("div",ee,[l(q,{"user-id":e.sender,placement:e.sender==a(de).userInfo.id?"left":"right"},{trigger:u((()=>[l(a(_),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id","placement"]),e.content?(o(),i("div",te,[v("div",ne,[v("span",{class:"name","data-time":e.__time},d(a(ye)?e.senderName:""),9,se)]),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=>we(t,e.id)),["prevent"])},[Se(e)?(o(),i(m,{key:0},[e.content.referenceContent?(o(),i("div",ie,[v("span",null,d(e.content.referenceContent.senderName)+":",1),v("pre",{innerHTML:a(D)(e.content.referenceContent.content)},null,8,re)])):f("v-if",!0),e.content.chatMessageType===a(A).EMOJI?(o(),i("img",{key:1,class:r([e.content.referenceContent?"emoji--min":"emoji--big"]),src:a(J).findEmoji(e.__content)},null,10,ae)):(o(),i("pre",{key:2,innerHTML:e.__content},null,8,ce))],64)):f("v-if",!0),be(e)?(o(),i("pre",{key:1,innerHTML:e.__content},null,8,le)):f("v-if",!0),Ae(e,"template")?(o(),g(B,{key:2,data:e},null,8,["data"])):f("v-if",!0),e.content.chatMessageType===a(A).IMAGE?(o(),g(a(x),{key:3,width:"240",src:e.__content},null,8,["src"])):f("v-if",!0),a(z)(e.content)?(o(),i(m,{key:4},[l(a(I),{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,d(a(H)(e.__content)),1)],64)):f("v-if",!0),e.content.chatMessageType===a(A).FILE?(o(),g(a(C),{key:5,"wrap-item":!1},{default:u((()=>[l(a(I),{class:"icon-file",size:"40",component:a(G)},null,8,["component"]),l(a(C),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[v("span",null,d(e.__content),1),v("span",me,d(e.__size),1)])),_:2},1024)])),_:2},1024)):f("v-if",!0),l(a(j),{class:"quick-menu"},{default:u((()=>[a(z)(e.content)?f("v-if",!0):(o(),i(m,{key:0},[f(' <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> '),l(a(k),{quaternary:"",size:"tiny",onClick:()=>He(e)},{icon:u((()=>[l(a(I),{size:"17",component:a(K)},null,8,["component"])])),_:2},1032,["onClick"])],64)),l(a(k),{quaternary:"",size:"tiny",onClick:t=>we(t,e.id)},{icon:u((()=>[l(a(I),{size:"14",component:a(Y)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,oe)])):f("v-if",!0)]))],2)):f("v-if",!0)],64)))),128))])),_:1}),l(a(W),{ref_key:"contextmenuRef",ref:he,show:Te.value,"onUpdate:show":t[0]||(t[0]=e=>Te.value=e),position:Me.value,"msg-id":ke.value,onSelect:Re},null,8,["show","position","msg-id"]),l(U,{title:"转发消息",mode:"relay",onComfirm:Ne},{trigger:u((()=>[v("span",{style:{display:"none"},ref_key:"relayTriggerRef",ref:_e},"转发",512)])),_:1})],6))}});export{pe as default};
|
@@ -16,7 +16,25 @@ declare const _default: import("vue").DefineComponent<{
|
|
16
16
|
type: BooleanConstructor;
|
17
17
|
};
|
18
18
|
}>> & {}>>;
|
19
|
-
state:
|
19
|
+
state: {
|
20
|
+
orgId: string | number;
|
21
|
+
currentSessionItem: AnyObject;
|
22
|
+
id: string;
|
23
|
+
userInfo: AnyObject;
|
24
|
+
msgList: AnyObject[];
|
25
|
+
currentMsg: AnyObject;
|
26
|
+
isAppendMsg: boolean;
|
27
|
+
sessionList: AnyObject[];
|
28
|
+
isChangeSession: boolean;
|
29
|
+
updateSessionItem: AnyObject;
|
30
|
+
isUpdateSession: boolean;
|
31
|
+
currentReferenceMsg: AnyObject | null;
|
32
|
+
currentReEditMsg: AnyObject | null;
|
33
|
+
showVideo: boolean;
|
34
|
+
currentAVMsg: AnyObject;
|
35
|
+
currentGroupUser: AnyObject[];
|
36
|
+
showMultipleVideo: boolean;
|
37
|
+
};
|
20
38
|
recordRef: import("vue").Ref<any>;
|
21
39
|
recordList: import("vue").Ref<AnyObject[]>;
|
22
40
|
keyword: import("vue").Ref<any>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as a,watch as l,openBlock as t,createBlock as r,unref as s,withCtx as o,createElementVNode as n,createVNode as i,toDisplayString as u,resolveDynamicComponent as c,createElementBlock as d,Fragment as v,renderList as m,withDirectives as p,createTextVNode as f,vShow as h}from"vue";import{NModal as g,NAvatar as y,NInputGroup as b,NInput as _,NSelect as
|
1
|
+
import{defineComponent as e,ref as a,watch as l,openBlock as t,createBlock as r,unref as s,withCtx as o,createElementVNode as n,createVNode as i,toDisplayString as u,resolveDynamicComponent as c,createElementBlock as d,Fragment as v,renderList as m,withDirectives as p,createTextVNode as f,vShow as h}from"vue";import{NModal as g,NAvatar as y,NInputGroup as b,NInput as _,NSelect as k,NPopover as T,NTag as j,NIcon as M}from"naive-ui";import{SearchOutline as x}from"@vicons/ionicons5";import{useData as I}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as w}from"../constants/index.js";import{searchChatRecordApi as A}from"../api/index.js";import{transformMessage as S,formatTime as L}from"../utils/index.js";import"trtc-sdk-v5";import C from"../../../date-picker/index.js";import{useDebounceFn as E}from"@vueuse/core";import{format as H}from"date-fns";import"../../../../shared/utils/index.js";import{last as D}from"lodash-es";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{useScrollLoading as U}from"../../../../shared/hooks/useScrollLoading.js";import{emojis as z}from"../utils/emoji.js";const G={class:"iho-chat-dialog__header"},N=n("span",{class:"left"},"聊天记录",-1),R={class:"center"},B={class:"iho-chat-dialog__content iho-chat-record-wrapper"},O={class:"chat-record-box"},W={class:"msg-box"},J={class:"name-and-time"},P={class:"content"},X=["src"],$=["src"],q=["innerHTML"],F={key:1,class:"no-data"},K={class:"chat-record-box__filter"},Q=n("span",{class:"filter-title"},"添加筛选条件",-1),V={class:"filter-item"},Y=n("span",{class:"label"},"成员:",-1),Z={class:"filter-item"},ee=n("span",{class:"label"},"日期:",-1),ae={class:"time-target"},le={class:"time-target__item"},te=n("span",null,"开始:",-1),re={class:"tip"},se={class:"time-target__item"},oe=n("span",null,"结束:",-1),ne={class:"tip"};var ie=e({__name:"ChatRecord",props:{visible:{type:Boolean}},setup(e){const ie=e,ue={color:"#fff",textColor:"#666"},{state:ce}=I(),de=a(),ve=a([]),me=a(),pe=a([]),fe=a(),he=a(),ge=E(_e,500),ye={page:0,hasMore:!0,lastSendTime:H(new Date,"yyyy-MM-dd HH:mm:ss")};async function be(){var e;try{if(!ye.hasMore)return;ye.page++;const a=await A({orgId:ce.orgId,keyword:me.value,endTime:je(),startTime:fe.value?fe.value+" 00:00:00":"",lastSendTime:ye.lastSendTime,memberIdSet:pe.value,page:ye.page,recordType:"ALL",receiver:ce.currentSessionItem.receiver,userId:ce.userInfo.id});Array.isArray(a)&&0!==a.length&&Array.isArray(a[0].recordList)||(ye.hasMore=!1);let l=a||[];Array.isArray(a)&&a.length>0&&(l=a[0].recordList.filter((e=>"WITHDRAWN"!==e.status))),ye.lastSendTime=null==(e=D(l))?void 0:e.sendTime,l.forEach((e=>{var a,l,t,r;let s="";switch(e.content.chatMessageType){case w.TEXT:case w.BLEND:s=S(e.content);break;case w.TEMPLATE:s=null==(t=null==(l=null==(a=e.content)?void 0:a.messageTemplate)?void 0:l.setting)?void 0:t.title;break;default:s=null==(r=e.content)?void 0:r.msg}e.__content=s})),ve.value=ye.page>1?ve.value.concat(l):l}catch(e){}}function _e(){Object.assign(ye,{page:0,hasMore:!0,lastSendTime:je()||H(new Date,"yyyy-MM-dd HH:mm:ss")}),be()}function ke(e){return!!he.value&&e>Date.parse(`${he.value} 23:59:59`)}function Te(e){return!!fe.value&&e<Date.parse(fe.value)}function je(){return he.value?he.value+" 23:59:59":""}function Me(e){switch(e){case"member":pe.value=[];break;case"start":fe.value=null;break;case"end":he.value=null}}function xe(e){return i(v,null,[i("div",{style:"display: flex;align-items: center"},[i(y,{src:e.avatar,round:!0,size:"small"},null),i("span",{style:"margin-left: 10px"},[e.name])])])}return U(de,(()=>{be()})),l([()=>pe.value,()=>fe.value,()=>he.value],(()=>{ie.visible&&_e()}),{deep:!0}),l((()=>ie.visible),(e=>{e?_e():(me.value="",he.value=null,fe.value=null,pe.value=[],ve.value=[])})),(e,a)=>(t(),r(s(g),{preset:"dialog",title:"","show-icon":!1,"auto-focus":!1,class:"iho-chat-dialog"},{header:o((()=>[n("div",G,[N,n("div",R,[i(s(y),{round:"",size:30,src:s(ce).currentSessionItem.avatar},null,8,["src"]),n("span",null,u(s(ce).currentSessionItem.name),1)])])])),default:o((()=>[n("div",B,[i(s(b),null,{default:o((()=>[(t(),r(c((()=>[i(M,{component:x,size:18,color:"#6666"},null),pe.value.length>0?i(j,{closable:!0,bordered:!1,color:ue,onClose:()=>Me("member")},{default:()=>{var e;return[f("成员:")," ",pe.value.length>1?pe.value.length+"人":null==(e=ce.currentGroupUser.find((e=>e.id===pe.value[0])))?void 0:e.name]}}):null,fe.value?i(j,{closable:!0,bordered:!1,color:ue,onClose:()=>Me("start")},{default:()=>[f("起始时间: "),fe.value]}):null,he.value?i(j,{closable:!0,bordered:!1,color:ue,onClose:()=>Me("end")},{default:()=>[f("结束时间: "),he.value]}):null])))),i(s(_),{placeholder:"搜索",value:me.value,"onUpdate:value":a[0]||(a[0]=e=>me.value=e),valueModifiers:{trim:!0},onInput:s(ge)},null,8,["value","onInput"])])),_:1}),n("div",O,[n("div",{class:"chat-record-box__content",ref_key:"recordRef",ref:de},[ve.value.length>0?(t(!0),d(v,{key:0},m(ve.value,(e=>(t(),d("div",{class:"content-item",key:e.id},[i(s(y),{round:"",size:38,src:e.senderAvatar},null,8,["src"]),n("div",W,[n("div",J,[n("span",null,u(e.senderName),1),n("span",null,u(s(L)(e.sendTime).recordTime),1)]),n("div",P,[e.content.chatMessageType===s(w).IMAGE?(t(),d("img",{key:0,src:e.__content},null,8,X)):e.content.chatMessageType===s(w).EMOJI?(t(),d("img",{key:1,class:"emoji",src:s(z).findEmoji(e.__content)},null,8,$)):(t(),d("p",{key:2,innerHTML:e.__content},null,8,q))])])])))),128)):(t(),d("div",F,"没有找到相关记录"))],512),n("div",K,[Q,n("div",V,[Y,i(s(k),{value:pe.value,"onUpdate:value":a[1]||(a[1]=e=>pe.value=e),multiple:"","max-tag-count":1,"render-label":xe,options:s(ce).currentGroupUser,"value-field":"id"},null,8,["value","options"])]),n("div",Z,[ee,n("div",ae,[i(s(T),{trigger:"click","show-arrow":!1},{trigger:o((()=>[n("div",le,[te,p(i(s(j),{bordered:!1,color:ue,closable:"",onClose:a[2]||(a[2]=()=>Me("start"))},{default:o((()=>[f(u(fe.value),1)])),_:1},512),[[h,fe.value]]),p(n("span",re,"点击选择",512),[[h,!fe.value]])])])),default:o((()=>[i(s(C),{"formatted-value":fe.value,"onUpdate:formatted-value":a[3]||(a[3]=e=>fe.value=e),type:"date",panel:"",clearable:"","is-date-disabled":ke},null,8,["formatted-value"])])),_:1}),i(s(T),{trigger:"click","show-arrow":!1},{trigger:o((()=>[n("div",se,[oe,p(i(s(j),{bordered:!1,color:ue,closable:"",onClose:a[4]||(a[4]=()=>Me("end"))},{default:o((()=>[f(u(he.value),1)])),_:1},512),[[h,he.value]]),p(n("span",ne,"点击选择",512),[[h,!he.value]])])])),default:o((()=>[i(s(C),{"formatted-value":he.value,"onUpdate:formatted-value":a[5]||(a[5]=e=>he.value=e),type:"date",panel:"",clearable:"","is-date-disabled":Te},null,8,["formatted-value"])])),_:1})])])])])])])),_:1}))}});export{ie as default};
|
@@ -1,10 +1,28 @@
|
|
1
1
|
declare const _default: import("vue").DefineComponent<{}, {
|
2
|
-
cssVars: import("vue").ComputedRef<import("../../../../shared/types").AnyObject>;
|
3
2
|
listRef: import("vue").Ref<any>;
|
4
3
|
inputRef: import("vue").Ref<any>;
|
5
4
|
showSearch: import("vue").Ref<boolean>;
|
6
5
|
keyword: import("vue").Ref<string>;
|
7
|
-
|
6
|
+
cssVars: import("vue").ComputedRef<import("../../../../shared/types").AnyObject>;
|
7
|
+
state: {
|
8
|
+
orgId: string | number;
|
9
|
+
currentSessionItem: import("../../../../shared/types").AnyObject;
|
10
|
+
id: string;
|
11
|
+
userInfo: import("../../../../shared/types").AnyObject;
|
12
|
+
msgList: import("../../../../shared/types").AnyObject[];
|
13
|
+
currentMsg: import("../../../../shared/types").AnyObject;
|
14
|
+
isAppendMsg: boolean;
|
15
|
+
sessionList: import("../../../../shared/types").AnyObject[];
|
16
|
+
isChangeSession: boolean;
|
17
|
+
updateSessionItem: import("../../../../shared/types").AnyObject;
|
18
|
+
isUpdateSession: boolean;
|
19
|
+
currentReferenceMsg: import("../../../../shared/types").AnyObject | null;
|
20
|
+
currentReEditMsg: import("../../../../shared/types").AnyObject | null;
|
21
|
+
showVideo: boolean;
|
22
|
+
currentAVMsg: import("../../../../shared/types").AnyObject;
|
23
|
+
currentGroupUser: import("../../../../shared/types").AnyObject[];
|
24
|
+
showMultipleVideo: boolean;
|
25
|
+
};
|
8
26
|
openSession: (item: import("../../../../shared/types").AnyObject) => Promise<void>;
|
9
27
|
userList: import("vue").Ref<import("../../../../shared/types").AnyObject[]>;
|
10
28
|
handleInput: () => void;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as s,computed as o,watch as
|
1
|
+
import{defineComponent as e,ref as s,computed as o,watch as a,nextTick as t,openBlock as r,createBlock as l,unref as n,normalizeStyle as i,withCtx as c,createVNode as p,createTextVNode as u,createElementVNode as f,createElementBlock as m,Fragment as d,renderList as v,toDisplayString as h,withDirectives as w,vShow as k}from"vue";import{NPopover as y,NButton as g,NIcon as j,NInput as _,NAvatar as x}from"naive-ui";import{SearchOutline as R}from"@vicons/ionicons5";import{useData as S}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{openSessionApi as U}from"../api/index.js";import"../utils/index.js";import"trtc-sdk-v5";import{useSearchUserList as C}from"../hooks/useSearchUserList.js";import I from"../../../default-page/index.js";const L=["onClick"],b={class:"user-info"};var z=e({__name:"ChatSearch",setup(e){const z=s(),D=s(),N=s(!1),E=s(""),{cssVars:G,state:T,openSession:V}=S(),{userList:$,handleInput:q}=C({wrapperRef:z,keywordRef:E}),A=o((()=>!$.value.length&&!!(E.value||"").replace(/^\s+|\s+$/g,"")));return a((()=>N.value),(async e=>{var s;e&&(await t(),null==(s=D.value)||s.focus())})),(e,s)=>(r(),l(n(y),{raw:"","content-class":"search-content",class:"search-wrapper",style:i(n(G)),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((()=>[p(n(g),{color:"#ffffff4D",class:"search-trigger-btn"},{icon:c((()=>[p(n(j),{component:n(R),color:"#ffffff80"},null,8,["component"])])),default:c((()=>[u(" 搜索联系人 ")])),_:1})])),default:c((()=>[p(n(_),{ref_key:"inputRef",ref:D,size:"small",clearable:"",autofocus:"",value:E.value,"onUpdate:value":[s[0]||(s[0]=e=>E.value=e),n(q)]},{prefix:c((()=>[p(n(j),{color:"#ffffff80",component:n(R)},null,8,["component"])])),_:1},8,["value","onUpdate:value"]),f("div",{class:"user-list-wrapper",ref_key:"listRef",ref:z},[(r(!0),m(d,null,v(n($),(e=>(r(),m("div",{class:"user-item",key:e.id,onClick:()=>async function(e){N.value=!1;const s=await U({chatType:"SINGLE",receiver:e,sender:T.userInfo.id});V(s)}(e.id)},[p(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,L)))),128)),w(p(n(I),{config:{title:" ",content:"找不到相关的结果"},type:"5"},null,512),[[k,n(A)]])],512)])),_:1},8,["style","show"]))}});export{z as default};
|
@@ -4,7 +4,25 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
4
4
|
attrs: {
|
5
5
|
[x: string]: unknown;
|
6
6
|
};
|
7
|
-
state:
|
7
|
+
state: {
|
8
|
+
orgId: string | number;
|
9
|
+
currentSessionItem: AnyObject;
|
10
|
+
id: string;
|
11
|
+
userInfo: AnyObject;
|
12
|
+
msgList: AnyObject[];
|
13
|
+
currentMsg: AnyObject;
|
14
|
+
isAppendMsg: boolean;
|
15
|
+
sessionList: AnyObject[];
|
16
|
+
isChangeSession: boolean;
|
17
|
+
updateSessionItem: AnyObject;
|
18
|
+
isUpdateSession: boolean;
|
19
|
+
currentReferenceMsg: AnyObject | null;
|
20
|
+
currentReEditMsg: AnyObject | null;
|
21
|
+
showVideo: boolean;
|
22
|
+
currentAVMsg: AnyObject;
|
23
|
+
currentGroupUser: AnyObject[];
|
24
|
+
showMultipleVideo: boolean;
|
25
|
+
};
|
8
26
|
setCurrentSessionItem: (item: AnyObject) => void;
|
9
27
|
isGroupChat: import("vue").ComputedRef<boolean>;
|
10
28
|
isGroupLeader: import("vue").ComputedRef<boolean>;
|
@@ -60,7 +78,25 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
60
78
|
onClose?: ((...args: any[]) => any) | undefined;
|
61
79
|
}>>;
|
62
80
|
emit: (event: "close", ...args: any[]) => void;
|
63
|
-
state:
|
81
|
+
state: {
|
82
|
+
orgId: string | number;
|
83
|
+
currentSessionItem: AnyObject;
|
84
|
+
id: string;
|
85
|
+
userInfo: AnyObject;
|
86
|
+
msgList: AnyObject[];
|
87
|
+
currentMsg: AnyObject;
|
88
|
+
isAppendMsg: boolean;
|
89
|
+
sessionList: AnyObject[];
|
90
|
+
isChangeSession: boolean;
|
91
|
+
updateSessionItem: AnyObject;
|
92
|
+
isUpdateSession: boolean;
|
93
|
+
currentReferenceMsg: AnyObject | null;
|
94
|
+
currentReEditMsg: AnyObject | null;
|
95
|
+
showVideo: boolean;
|
96
|
+
currentAVMsg: AnyObject;
|
97
|
+
currentGroupUser: AnyObject[];
|
98
|
+
showMultipleVideo: boolean;
|
99
|
+
};
|
64
100
|
openSession: (item: AnyObject) => Promise<void>;
|
65
101
|
showUserDetail: import("vue").Ref<boolean>;
|
66
102
|
showLargeAvatar: import("vue").Ref<boolean>;
|
@@ -157,7 +193,25 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
157
193
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
158
194
|
}>>;
|
159
195
|
emit: (event: "comfirm", ...args: any[]) => void;
|
160
|
-
state:
|
196
|
+
state: {
|
197
|
+
orgId: string | number;
|
198
|
+
currentSessionItem: AnyObject;
|
199
|
+
id: string;
|
200
|
+
userInfo: AnyObject;
|
201
|
+
msgList: AnyObject[];
|
202
|
+
currentMsg: AnyObject;
|
203
|
+
isAppendMsg: boolean;
|
204
|
+
sessionList: AnyObject[];
|
205
|
+
isChangeSession: boolean;
|
206
|
+
updateSessionItem: AnyObject;
|
207
|
+
isUpdateSession: boolean;
|
208
|
+
currentReferenceMsg: AnyObject | null;
|
209
|
+
currentReEditMsg: AnyObject | null;
|
210
|
+
showVideo: boolean;
|
211
|
+
currentAVMsg: AnyObject;
|
212
|
+
currentGroupUser: AnyObject[];
|
213
|
+
showMultipleVideo: boolean;
|
214
|
+
};
|
161
215
|
setCurrentSessionItem: (item: AnyObject) => void;
|
162
216
|
listRef: import("vue").Ref<any>;
|
163
217
|
keyword: import("vue").Ref<string>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,useAttrs as t,ref as n,computed as s,watch as i,openBlock as a,createBlock as o,unref as r,withCtx as l,createVNode as c,createTextVNode as u,createElementBlock as m,Fragment as p,renderList as d,createElementVNode as v,toDisplayString as f,createCommentVNode as g,withKeys as _,nextTick as y}from"vue";import{NDrawer as k,NDrawerContent as h,NButton as b,NIcon as I,NAvatar as w,NUpload as
|
1
|
+
import{defineComponent as e,useAttrs as t,ref as n,computed as s,watch as i,openBlock as a,createBlock as o,unref as r,withCtx as l,createVNode as c,createTextVNode as u,createElementBlock as m,Fragment as p,renderList as d,createElementVNode as v,toDisplayString as f,createCommentVNode as g,withKeys as _,nextTick as y}from"vue";import{NDrawer as k,NDrawerContent as h,NButton as b,NIcon as I,NAvatar as w,NUpload as x,NUploadTrigger as C,NInput as S,NSpace as j,NSwitch as z,NPopconfirm as U}from"naive-ui";import{ChevronBackOutline as G,ChevronForwardOutline as P,AddOutline as A,RemoveOutline as D,Pencil as L}from"@vicons/ionicons5";import{useData as R}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{toppingSessionApi as F,groupLeaveApi as B,groupUpdateApi as K}from"../api/index.js";import"../utils/index.js";import"trtc-sdk-v5";import N from"./PersonProfile.vue.js";import O from"./ChatAdd.vue.js";import{trim as q,isFunction as E}from"lodash-es";const H={key:0,class:"chat-set-wrapper"},J={class:"item"},M={class:"name"},Q={key:0,class:"item__right",style:{color:"var(--c-primary-color)"}},T={class:"item user-info"},V={class:"name"},W={class:"item item-column"},X=v("span",{class:"label"},"群成员",-1),Y={class:"group-box"},Z={class:"group-box__item"},$={class:"name"},ee={class:"group-box__item"},te=v("span",{class:"name"},"添加",-1),ne={class:"group-box__item"},se=v("span",{class:"name"},"移除",-1),ie=["onClick"],ae=v("span",{class:"label"},"群头像",-1),oe={class:"item"},re=v("span",{class:"label"},"群名称",-1),le={class:"item__right"},ce={class:"txt"},ue={class:"item"},me=v("span",{class:"label"},"置顶聊天",-1),pe={class:"item item--red"},de=v("span",{class:"label"},"退出群聊",-1),ve=v("p",{style:{width:"230px"}},"是否确认退出群聊?",-1),fe={class:"item item--red"},ge=v("span",{class:"label"},"解散该群",-1),_e=v("p",{style:{width:"230px"}},"是否确认解散群聊?",-1);var ye=e({__name:"ChatSet",setup(e){const ye=t(),{state:ke,setCurrentSessionItem:he,isGroupChat:be,isGroupLeader:Ie}=R(),we=n(),xe=n(!1),Ce=n(""),Se=n(!1),je=s((()=>ke.currentGroupUser.map((e=>e.id)))),ze=s((()=>ke.currentGroupUser?Ie.value?ke.currentGroupUser.slice(0,6):ke.currentGroupUser.slice(0,7):[]));async function Ue(e){try{await F({id:ke.currentSessionItem.id,topping:e}),he({topping:e})}catch(e){}}async function Ge(e){await B({dissolution:!!e,groupId:ke.currentSessionItem.receiver,operator:ke.userInfo.id,memberIdSet:e?je.value:[ke.userInfo.id]})}async function Pe(){var e;Ce.value=ke.currentSessionItem.name,xe.value=!0,await y(),null==(e=we.value)||e.select()}async function Ae(e){const t=new FormData,n=Object.assign({id:ke.currentSessionItem.receiver},e);for(const e in n)t.append(e,n[e]);await K(t)}async function De(){xe.value=!1;const e=q(Ce.value);e&&e!==ke.currentSessionItem.name&&(await Ae({name:e}),he({name:e,defaultName:e}))}async function Le(e){const{file:t}=e.file,n=new FileReader;n.onload=function(e){var t;(null==(t=e.target)?void 0:t.result)&&he({avatar:e.target.result})},n.readAsDataURL(e.file.file),await Ae({file:t})}function Re(){E(ye["onUpdate:show"])&&ye["onUpdate:show"](!1)}return i((()=>ke.id),(e=>{Re()})),(e,t)=>(a(),o(r(k),{width:320,"trap-focus":!1,"block-scroll":!1,to:".iho-chat",onAfterLeave:t[7]||(t[7]=e=>Se.value=!1)},{default:l((()=>[c(r(h),null,{header:l((()=>[r(be)&&Se.value?(a(),o(r(b),{key:0,text:"",color:"#666",onClick:t[0]||(t[0]=e=>Se.value=!1),style:{"font-size":"var(--n-title-font-size)"}},{icon:l((()=>[c(r(I),{size:20,component:r(G)},null,8,["component"])])),default:l((()=>[u(" 返回 ")])),_:1})):r(be)?(a(),m(p,{key:1},[u("群设置")],64)):(a(),m(p,{key:2},[u("聊天设置")],64))])),default:l((()=>[r(ke).id?(a(),m("div",H,[r(be)&&Se.value?(a(!0),m(p,{key:0},d(r(ke).currentGroupUser,((e,t)=>(a(),o(N,{key:e.id,"user-id":e.id,placement:"left"},{trigger:l((()=>[v("div",J,[c(r(w),{round:"",size:40,src:e.avatar},null,8,["src"]),v("span",M,f(e.name),1),0===t?(a(),m("span",Q,"群主")):g("v-if",!0)])])),_:2},1032,["user-id"])))),128)):(a(),m(p,{key:1},[c(N,{"user-id":r(ke).currentSessionItem.receiver,onClose:Re,disabled:!!r(be),placement:"bottom-end"},{trigger:l((()=>[v("div",T,[c(r(w),{round:"",size:40,src:r(ke).currentSessionItem.avatar},null,8,["src"]),v("span",V,f(r(ke).currentSessionItem.name),1),r(be)?g("v-if",!0):(a(),o(r(I),{key:0,size:24,component:r(P),class:"item__right"},null,8,["component"]))])])),_:1},8,["user-id","disabled"]),r(be)?(a(),m(p,{key:0},[v("div",W,[X,v("div",Y,[(a(!0),m(p,null,d(r(ze),(e=>(a(),o(N,{key:e.id,"user-id":e.id,placement:"left-start"},{trigger:l((()=>[v("div",Z,[c(r(w),{round:"",size:40,src:e.avatar},null,8,["src"]),v("span",$,f(e.name),1)])])),_:2},1032,["user-id"])))),128)),c(O,{mode:"join",disabledIds:r(je)},{trigger:l((()=>[v("div",ee,[c(r(b),{strong:"",secondary:"",circle:""},{icon:l((()=>[c(r(I),{component:r(A)},null,8,["component"])])),_:1}),te])])),_:1},8,["disabledIds"]),r(Ie)?(a(),o(O,{key:0,title:"移除成员",mode:"remove",options:r(ke).currentGroupUser},{trigger:l((()=>[v("div",ne,[c(r(b),{strong:"",secondary:"",circle:""},{icon:l((()=>[c(r(I),{component:r(D)},null,8,["component"])])),_:1}),se])])),_:1},8,["options"])):g("v-if",!0)]),c(r(b),{text:"","icon-placement":"right",color:"#999",onClick:t[1]||(t[1]=e=>Se.value=!0)},{icon:l((()=>[c(r(I),{component:r(P)},null,8,["component"])])),default:l((()=>[u(" 查看全部群成员 ")])),_:1})]),c(r(x),{abstract:"",multiple:"",accept:"image/*",onChange:Le},{default:l((()=>[c(r(C),{abstract:""},{default:l((({handleClick:e})=>[v("div",{class:"item",onClick:e},[ae,c(r(I),{size:20,component:r(P),class:"item__right"},null,8,["component"])],8,ie)])),_:1})])),_:1}),v("div",oe,[re,v("div",le,[xe.value?(a(),o(r(S),{key:0,ref_key:"inputRef",ref:we,value:Ce.value,"onUpdate:value":t[2]||(t[2]=e=>Ce.value=e),onBlur:De,onKeydown:t[3]||(t[3]=_((e=>e.target.blur()),["enter"]))},null,8,["value"])):(a(),o(r(j),{key:1,"wrap-item":!1,onClick:Pe,align:"center"},{default:l((()=>[v("span",ce,f(r(ke).currentSessionItem.name),1),c(r(b),{text:"",style:{"font-size":"14px","--n-text-color":"#999"}},{default:l((()=>[c(r(I),{component:r(L)},null,8,["component"])])),_:1})])),_:1}))])])],64)):g("v-if",!0),v("div",ue,[me,c(r(z),{value:r(ke).currentSessionItem.topping,"onUpdate:value":[t[4]||(t[4]=e=>r(ke).currentSessionItem.topping=e),Ue],class:"item__right"},null,8,["value"])]),r(be)?(a(),m(p,{key:1},[c(r(U),{onPositiveClick:t[5]||(t[5]=()=>Ge(!1))},{trigger:l((()=>[v("div",pe,[de,c(r(I),{size:20,component:r(P),class:"item__right"},null,8,["component"])])])),default:l((()=>[ve])),_:1}),r(Ie)?(a(),o(r(U),{key:0,onPositiveClick:t[6]||(t[6]=()=>Ge(!0))},{trigger:l((()=>[v("div",fe,[ge,c(r(I),{size:20,component:r(P),class:"item__right"},null,8,["component"])])])),default:l((()=>[_e])),_:1})):g("v-if",!0)],64)):g("v-if",!0)],64))])):g("v-if",!0)])),_:1})])),_:1}))}});export{ye as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as t,computed as s,withDirectives as o,createVNode as i,vShow as n,isVNode as r}from"vue";import{NButtonGroup as a,NButton as l,NIcon as c}from"naive-ui";import{CopyOutline as m,OpenOutline as d,ChatbubbleEllipsesOutline as
|
1
|
+
import{defineComponent as e,ref as t,computed as s,withDirectives as o,createVNode as i,vShow as n,isVNode as r}from"vue";import{NButtonGroup as a,NButton as l,NIcon as c}from"naive-ui";import{CopyOutline as m,OpenOutline as d,ChatbubbleEllipsesOutline as p,ReturnDownBack as u,DownloadOutline as y}from"@vicons/ionicons5";import{onClickOutside as g}from"@vueuse/core";import{useData as f}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as w}from"../constants/index.js";import{recallMessageApi as h}from"../api/index.js";import{isAudioOrVideoMessage as I,$message as v,downloadFile as T}from"../utils/index.js";import"trtc-sdk-v5";import{emojis as j}from"../utils/emoji.js";import{format as M}from"date-fns";var b=e({name:"PopupMenu",inheritAttrs:!1,props:{show:{type:Boolean,default:!1},position:{type:Object},msgId:{type:String}},emits:["update:show","select"],setup(e,{attrs:b,slots:E,emit:k}){const{state:x,setCurrentSessionItem:A}=f(),D=[{icon:m,label:"复制",key:"copy"},{icon:d,label:"转发",key:"relay"},{icon:p,label:"回复",key:"reply"},{icon:u,label:"撤回",key:"withdraw"},{icon:y,label:"下载",key:"download"}],L=t(null),O=s((()=>x.msgList.find((({id:t})=>t===e.msgId)))),S=s((()=>{if(!e.msgId)return[];if(!(null==O?void 0:O.value))return[];const{content:t={},sendTime:s,sender:o}=O.value,{chatMessageType:i}=t,n=[];return(o!==x.userInfo.id||i===w.TEMPLATE||o===x.userInfo.id&&Date.now()-new Date(s).getTime()>2592e5)&&n.push("withdraw"),[w.TEXT,w.EMOJI,w.BLEND].includes(i)?n.push("download"):I(t)?n.push("copy","relay","reply","download"):i===w.FILE?n.push("copy"):[w.FORWARD,w.TEMPLATE].includes(i)&&n.push("copy","download"),n.length?D.filter((e=>!n.includes(e.key))):D}));return g(L,(e=>{k("update:show",!1)})),()=>{let t;return e.msgId&&S.value?o(i("div",{class:"contextmenu-wrapper",ref:L,style:e.position},[i(a,{vertical:!0},(s=t=S.value.map((t=>i(l,{onClick:()=>async function(t){k("update:show",!1);const{content:s={},sendTime:o,sender:i}=O.value||{},{chatMessageType:n}=s;switch(t){case"copy":if(!s.msg)return console.log("复制内容为空!");if(!navigator||!("clipboard"in navigator))return console.log("当前浏览器版本不支持复制!");try{if(n===w.TEXT)await navigator.clipboard.writeText(s.msg);else{let e;if([w.EMOJI,w.IMAGE].includes(n)){const t=n===w.EMOJI?j.findEmoji(s.msg):s.msg;e=`<img data-msg=${s.msg} data-type=${n} class=${n===w.EMOJI?"emoji--min":""} src=${t} />`}else e=s.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}=s;return n===w.IMAGE&&(e=t,t=t.match(/\/([^\/?#]+)$/)[1]),void T(e,t)}case"withdraw":try{const t=x.msgList.findIndex((({id:t})=>t===e.msgId)),s=0===t;if(await h({chatType:x.currentSessionItem.chatType,messageIdSet:[e.msgId],receiver:x.currentSessionItem.receiver,sender:x.userInfo.id,isLastMessage:s}),x.msgList[t].status="WITHDRAWN",s){const e=M(new Date,"yyyy-MM-dd HH:mm:ss");A({lastMessageStatus:"WITHDRAWN",lastMessageSendTime:e,sortTime:e,updatedTime:e})}}catch(e){v.error("撤回失败")}return}k("select",t,O.value)}(t.key),quaternary:!0},{default:()=>t.label,icon:()=>i(c,{component:t.icon},null)}))),"function"==typeof s||"[object Object]"===Object.prototype.toString.call(s)&&!r(s)?t:{default:()=>[t]}))]),[[n,e.show]]):null;var s}}});export{b as default};
|
@@ -14,7 +14,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
14
14
|
}>> & {}>>;
|
15
15
|
describeBodyRef: import("vue").Ref<any>;
|
16
16
|
showMore: import("vue").Ref<boolean>;
|
17
|
-
emit: (event:
|
17
|
+
emit: (event: "template-click" | "unread-message-update" | "session-change", ...args: any[]) => void;
|
18
18
|
isOverflow: import("vue").ComputedRef<boolean>;
|
19
19
|
setting: import("vue").ComputedRef<any>;
|
20
20
|
serverSetting: import("vue").ComputedRef<any>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as t,computed as l,openBlock as s,createElementBlock as
|
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 _,AlertCircleSharp as h}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"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(_),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(h),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};
|
@@ -6,7 +6,25 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
6
6
|
id: string;
|
7
7
|
name: string;
|
8
8
|
}[]>;
|
9
|
-
state:
|
9
|
+
state: {
|
10
|
+
orgId: string | number;
|
11
|
+
currentSessionItem: AnyObject;
|
12
|
+
id: string;
|
13
|
+
userInfo: AnyObject;
|
14
|
+
msgList: AnyObject[];
|
15
|
+
currentMsg: AnyObject;
|
16
|
+
isAppendMsg: boolean;
|
17
|
+
sessionList: AnyObject[];
|
18
|
+
isChangeSession: boolean;
|
19
|
+
updateSessionItem: AnyObject;
|
20
|
+
isUpdateSession: boolean;
|
21
|
+
currentReferenceMsg: AnyObject | null;
|
22
|
+
currentReEditMsg: AnyObject | null;
|
23
|
+
showVideo: boolean;
|
24
|
+
currentAVMsg: AnyObject;
|
25
|
+
currentGroupUser: AnyObject[];
|
26
|
+
showMultipleVideo: boolean;
|
27
|
+
};
|
10
28
|
sendMessage: (message: {
|
11
29
|
chatType?: string | undefined;
|
12
30
|
content: AnyObject;
|
@@ -105,7 +123,25 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
105
123
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
106
124
|
}>>;
|
107
125
|
emit: (event: "comfirm", ...args: any[]) => void;
|
108
|
-
state:
|
126
|
+
state: {
|
127
|
+
orgId: string | number;
|
128
|
+
currentSessionItem: AnyObject;
|
129
|
+
id: string;
|
130
|
+
userInfo: AnyObject;
|
131
|
+
msgList: AnyObject[];
|
132
|
+
currentMsg: AnyObject;
|
133
|
+
isAppendMsg: boolean;
|
134
|
+
sessionList: AnyObject[];
|
135
|
+
isChangeSession: boolean;
|
136
|
+
updateSessionItem: AnyObject;
|
137
|
+
isUpdateSession: boolean;
|
138
|
+
currentReferenceMsg: AnyObject | null;
|
139
|
+
currentReEditMsg: AnyObject | null;
|
140
|
+
showVideo: boolean;
|
141
|
+
currentAVMsg: AnyObject;
|
142
|
+
currentGroupUser: AnyObject[];
|
143
|
+
showMultipleVideo: boolean;
|
144
|
+
};
|
109
145
|
setCurrentSessionItem: (item: AnyObject) => void;
|
110
146
|
listRef: import("vue").Ref<any>;
|
111
147
|
keyword: import("vue").Ref<string>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as o,computed as n,onBeforeUnmount as
|
1
|
+
import{defineComponent as e,ref as o,computed as n,onBeforeUnmount as s,openBlock as t,createElementBlock as i,createElementVNode as l,withDirectives as a,toDisplayString as c,unref as r,vShow as d,createVNode as u,withCtx as m,Fragment as p,renderList as v,createCommentVNode as f,createTextVNode as h,nextTick as g}from"vue";import{NButton as k,NIcon as I}from"naive-ui";import A from"./ChatAdd.vue.js";import{Close as y,Mic as V,MicOff as b,Videocam as w,VideocamOff as _,Call as M,PersonAdd as x}from"@vicons/ionicons5";import{getUserDetailApi as R}from"../api/index.js";import"@vueuse/core";import"../utils/index.js";import{xorBy as C}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 j}from"../hooks/useVideo.js";import S from"trtc-sdk-v5";const L={class:"video-wrapper video-wrapper--multiple"},$={class:"video-header"},H={key:0,class:"video-main"},U={class:"video-main__left"},z=["data-name"],N={class:"video-bottom"},D={class:"btn-group"},O={class:"btn"},P=l("span",{class:"text"},"静音",-1),Y={class:"btn"},q=l("span",{class:"text"},"摄像头",-1),G=l("span",{class:"text"},"结束会诊",-1),B={class:"btn"},F=l("span",{class:"text"},"添加参会人",-1),J={class:"video-main__right"},K=["id","data-name"],Q={class:"user"},W={class:"name"},X={key:0,class:"tip"},Z={key:0,class:"calling-box"},ee={class:"btn-box"},oe={key:1,class:"opt-btn"},ne={class:"btn"},se=l("span",null,"拒接",-1),te={class:"btn"},ie=l("span",null,"接听",-1);var le=e({__name:"MultipleVideo",setup(e){const le=o(),ae=o([]),{state:ce,sendMessage:re,trtc:de,voiceOpen:ue,isAudio:me,isCall:pe,startTimer:ve,resetTimer:fe,toggleAudio:he,messageTypeText:ge,timing:ke,toggleVideo:Ie,videocamOpen:Ae,installEventHandlers:ye,uninstallEventHandlers:Ve}=j(),be=o(!1),we=n((()=>pe.value?ce.userInfo.name:ce.currentAVMsg.sendName)),_e=n((()=>{if(!be.value)return"";const e=pe.value?`(${ae.value.length+1}/${ce.currentAVMsg.checkedIds.length+1})`:"";return`${we.value}发起的${ge.value}会诊${e} ${ke.value}`}));function Me(e){console.log("checkedIds :>> ",e),ce.currentAVMsg.checkedIds.push(...e),xe()}function xe(){var e;(null==(e=ce.currentAVMsg.checkedIds)?void 0:e.length)&&ce.currentAVMsg.checkedIds.forEach((e=>{re({chatType:E.SINGLE,content:{msg:ce.currentAVMsg.chatMessageType+","+ce.currentAVMsg.strRoomId,chatMessageType:T.AV_STATUS},receiver:e})})),be.value||Re()}async function Re(){const e=await S.isSupported();if(!e.result||!e.detail.isH264EncodeSupported||!e.detail.isH264DecodeSupported)return console.log("checkResult :>> ",e),void(ce.showMultipleVideo=!1);try{if(await de.enterRoom({strRoomId:ce.currentAVMsg.strRoomId,sdkAppId:parseInt(ce.userInfo.sdkAppID),userId:ce.userInfo.id,userSig:ce.userInfo.userSig}),be.value=!0,ve(),ye({handleError:$e,handleRemoteUserEnter:je,handleRemoteAudioAvailable:Te,handleRemoteUserExit:Le,handleRemoteVideoAvailable:Ee}),await de.startLocalAudio(),me.value)return;await de.startLocalVideo({view:le.value})}catch(e){console.log("error :>> ",e),ce.showMultipleVideo=!1}}async function Ce(){try{if(ce.showMultipleVideo=!1,Ve({handleError:$e,handleRemoteUserEnter:je,handleRemoteAudioAvailable:Te,handleRemoteUserExit:Le,handleRemoteVideoAvailable:Ee}),await de.exitRoom(),await de.stopLocalAudio(),me.value)return;await de.stopLocalVideo()}catch(e){console.log("error :>> ",e)}}async function Ee(e){const{userId:o,streamType:n}=e;try{n===S.TYPE.STREAM_TYPE_MAIN&&(await g(),await de.startRemoteVideo({userId:o,streamType:n,view:o}))}catch(e){console.log("error :>> ",e)}}async function Te(e){var o;const{userId:n}=e;if(n&&!(null==(o=ae.value.map((e=>e.id)))?void 0:o.includes(n))){const e=await Se(n);ae.value.push({id:n,name:e})}}async function je(e){const{userId:o}=e,n=await Se(o);ae.value.push({id:o,name:n}),ve()}async function Se(e){const o=await R({userId:e});return(null==o?void 0:o.name)||""}function Le(e){console.log("event :>> 退房",e);const{userId:o}=e;ae.value=C(ae.value,[{id:o,name:""}],"id")}function $e(e){console.log("error :>> ",e),ce.showMultipleVideo=!1}return s((()=>{Ce()})),(e,o)=>(t(),i("div",L,[l("div",$,[a(l("span",{class:"title"},c(r(_e)),513),[[d,be.value]]),u(r(k),{quaternary:"",circle:"",color:"#ffffffcc",onClick:Ce},{icon:m((()=>[u(r(I),{component:r(y)},null,8,["component"])])),_:1})]),be.value?(t(),i("div",H,[l("div",U,[l("div",{ref_key:"selfVideoRef",ref:le,class:"video-view","data-name":r(ce).userInfo.name},null,8,z),l("div",N,[l("div",D,[l("div",O,[u(r(k),{text:"",color:r(ue)?"#fff":"#000",onClick:r(he)},{icon:m((()=>[u(r(I),{component:r(ue)?r(V):r(b)},null,8,["component"])])),_:1},8,["color","onClick"]),P]),l("div",Y,[u(r(k),{text:"",color:r(Ae)?"#fff":"#000",disabled:r(me),onClick:r(Ie)},{icon:m((()=>[u(r(I),{component:r(Ae)?r(w):r(_)},null,8,["component"])])),_:1},8,["color","disabled","onClick"]),q]),l("div",{class:"btn",onClick:Ce},[u(r(k),{circle:"",color:"#f17568",class:"btn--rotate"},{icon:m((()=>[u(r(I),{component:r(M)},null,8,["component"])])),_:1}),G]),u(A,{onComfirm:Me},{trigger:m((()=>[l("div",B,[u(r(k),{text:"",color:"#fff"},{icon:m((()=>[u(r(I),{component:r(x)},null,8,["component"])])),_:1}),F])])),_:1})])])]),l("div",J,[(t(!0),i(p,null,v(ae.value,(e=>(t(),i("div",{key:e.id,id:e.id,class:"video-view","data-name":e.name},null,8,K)))),128))])])):(t(),i(p,{key:1},[l("div",Q,[l("span",W,c(r(we))+"发起的"+c(r(ge))+"会议",1),r(pe)?f("v-if",!0):(t(),i("span",X,"邀请你加入"+c(r(ge))+"会议",1))]),r(pe)?(t(),i("div",Z,[u(A,{onComfirm:Me,disabledIds:r(ce).currentAVMsg.checkedIds},{trigger:m((()=>[u(r(k),{size:"large",circle:"",color:"#000"},{icon:m((()=>[u(r(I),{component:r(x)},null,8,["component"])])),_:1})])),_:1},8,["disabledIds"]),l("p",null,"已邀请共"+c(r(ce).currentAVMsg.checkedIds.length)+"人",1),u(r(k),{size:"large",strong:"",round:"",type:"primary",onClick:xe},{default:m((()=>[h("开始会诊")])),_:1}),l("div",ee,[u(r(k),{color:"#000",round:""},{icon:m((()=>[u(r(I),{component:r(V)},null,8,["component"])])),_:1}),u(r(k),{color:"#000",round:""},{icon:m((()=>[u(r(I),{component:r(w)},null,8,["component"])])),_:1})])])):(t(),i("div",oe,[l("div",ne,[u(r(k),{circle:"",color:"#f17568",class:"btn--rotate",onClick:o[0]||(o[0]=()=>r(ce).showMultipleVideo=!1)},{icon:m((()=>[u(r(I),{size:"30",component:r(M)},null,8,["component"])])),_:1}),se]),l("div",te,[u(r(k),{circle:"",color:"#2ac98b",onClick:Re},{icon:m((()=>[u(r(I),{size:"30",component:r(M)},null,8,["component"])])),_:1}),ie])]))],64))]))}});export{le as default};
|
@@ -23,7 +23,25 @@ declare const _default: import("vue").DefineComponent<{
|
|
23
23
|
onClose?: ((...args: any[]) => any) | undefined;
|
24
24
|
}>>;
|
25
25
|
emit: (event: "close", ...args: any[]) => void;
|
26
|
-
state:
|
26
|
+
state: {
|
27
|
+
orgId: string | number;
|
28
|
+
currentSessionItem: AnyObject;
|
29
|
+
id: string;
|
30
|
+
userInfo: AnyObject;
|
31
|
+
msgList: AnyObject[];
|
32
|
+
currentMsg: AnyObject;
|
33
|
+
isAppendMsg: boolean;
|
34
|
+
sessionList: AnyObject[];
|
35
|
+
isChangeSession: boolean;
|
36
|
+
updateSessionItem: AnyObject;
|
37
|
+
isUpdateSession: boolean;
|
38
|
+
currentReferenceMsg: AnyObject | null;
|
39
|
+
currentReEditMsg: AnyObject | null;
|
40
|
+
showVideo: boolean;
|
41
|
+
currentAVMsg: AnyObject;
|
42
|
+
currentGroupUser: AnyObject[];
|
43
|
+
showMultipleVideo: boolean;
|
44
|
+
};
|
27
45
|
openSession: (item: AnyObject) => Promise<void>;
|
28
46
|
showUserDetail: import("vue").Ref<boolean>;
|
29
47
|
showLargeAvatar: import("vue").Ref<boolean>;
|