cnhis-design-vue 3.2.16-beta.8 → 3.2.17-release.0

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 (97) hide show
  1. package/es/components/base-search/style/index.css +1 -1
  2. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  3. package/es/components/card-reader-sdk-cn/index.d.ts +18 -0
  4. package/es/components/card-reader-sdk-cn/index.js +1 -0
  5. package/es/components/card-reader-sdk-cn/src/henan/index.d.ts +17 -0
  6. package/es/components/card-reader-sdk-cn/src/henan/index.js +1 -0
  7. package/es/components/classification/index.d.ts +9 -0
  8. package/es/components/classification/src/components/search-filter/index.vue.d.ts +9 -0
  9. package/es/components/classification/src/components/set-classification/index.vue.d.ts +9 -0
  10. package/es/components/classification/src/index.vue.d.ts +9 -0
  11. package/es/components/expand-field/index.d.ts +28 -1
  12. package/es/components/expand-field/src/components/FormItemPerson.vue.d.ts +28 -1
  13. package/es/components/expand-field/src/components/PersonModal.vue.d.ts +28 -1
  14. package/es/components/expand-field/src/components/form.vue.d.ts +28 -1
  15. package/es/components/expand-field/src/index.vue.d.ts +28 -1
  16. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +1 -1
  17. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  18. package/es/components/fabric-chart/src/hooks/temperature/useTemperatureChart.js +1 -1
  19. package/es/components/fabric-chart/src/hooks/useGrid.js +1 -1
  20. package/es/components/fabric-chart/src/interface.d.ts +1 -0
  21. package/es/components/form-config/index.d.ts +147 -24
  22. package/es/components/form-config/src/FormConfig.vue.d.ts +147 -24
  23. package/es/components/form-config/src/FormConfig.vue2.js +1 -1
  24. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +8 -0
  25. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +210 -95
  26. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +1 -1
  27. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  28. package/es/components/form-render/src/components/renderer/text.js +1 -1
  29. package/es/components/form-render/src/hooks/useFieldNormalize.js +1 -1
  30. package/es/components/form-render/src/types/fieldItem.d.ts +3 -1
  31. package/es/components/iho-chat/index.d.ts +321 -365
  32. package/es/components/iho-chat/src/Index.vue.d.ts +321 -365
  33. package/es/components/iho-chat/src/Index.vue2.js +1 -1
  34. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +9 -0
  35. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +18 -0
  36. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +18 -0
  37. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +65 -182
  38. package/es/components/iho-chat/src/components/ChatHeader.vue2.js +1 -1
  39. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +94 -182
  40. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  41. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +9 -0
  42. package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +37 -20
  43. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  44. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +19 -91
  45. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  46. package/es/components/iho-chat/src/components/MessageEvent.vue.d.ts +10 -91
  47. package/es/components/iho-chat/src/components/MessageEvent.vue2.js +1 -1
  48. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +18 -0
  49. package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +12 -46
  50. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  51. package/es/components/iho-chat/src/components/SelectLabel.vue.d.ts +54 -0
  52. package/es/components/iho-chat/src/components/SelectLabel.vue.js +1 -0
  53. package/es/components/iho-chat/src/components/SelectLabel.vue2.js +1 -0
  54. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +9 -0
  55. package/es/components/iho-chat/src/components/Video.vue.d.ts +9 -0
  56. package/es/components/iho-chat/src/hooks/useData.d.ts +30 -0
  57. package/es/components/iho-chat/src/hooks/useData.js +1 -1
  58. package/es/components/iho-chat/src/hooks/useVideo.d.ts +9 -0
  59. package/es/components/iho-chat/src/types/index.d.ts +9 -0
  60. package/es/components/iho-chat/style/index.css +1 -1
  61. package/es/components/iho-table/src/plugins/filterTextPlugin/filter.vue.d.ts +1 -0
  62. package/es/components/iho-table/src/plugins/filterTextPlugin/filter.vue2.js +1 -1
  63. package/es/components/iho-table/src/types/index.d.ts +3 -0
  64. package/es/components/index.css +1 -1
  65. package/es/components/quick-search/style/index.css +1 -1
  66. package/es/components/scale-view/src/hooks/use-component.d.ts +7 -7
  67. package/es/components/select-label/index.d.ts +7 -7
  68. package/es/components/select-label/src/ihoLabel/IhoLabelFormContent.vue.d.ts +5 -1
  69. package/es/components/select-label/src/ihoLabel/IhoLabelFormContent.vue2.js +1 -1
  70. package/es/components/select-label/src/ihoLabel/IhoSelectLabel.vue.d.ts +7 -7
  71. package/es/components/select-label/src/ihoLabel/IhoSelectLabel.vue2.js +1 -1
  72. package/es/components/select-label/src/ihoLabel/iho-label-classify.vue.d.ts +5 -1
  73. package/es/components/select-label/src/ihoLabel/iho-label-classify.vue2.js +1 -1
  74. package/es/components/select-label/src/index.vue.d.ts +7 -7
  75. package/es/components/select-label/src/types/index.d.ts +4 -1
  76. package/es/components/select-label/style/index.css +1 -1
  77. package/es/components/select-person/index.d.ts +28 -1
  78. package/es/components/select-person/src/SelectPerson.vue.d.ts +15 -1
  79. package/es/components/select-person/src/SelectPerson.vue2.js +1 -1
  80. package/es/components/select-person/src/index.vue.d.ts +28 -1
  81. package/es/components/select-person/src/index.vue2.js +1 -1
  82. package/es/components/shortcut-setter/index.d.ts +2 -0
  83. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +2 -0
  84. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue.d.ts +9 -0
  85. package/es/components/table-filter/src/components/classify-filter/components/SelectLabel.vue.d.ts +8 -0
  86. package/es/components/table-filter/src/components/classify-filter/components/SelectLabel.vue2.js +1 -1
  87. package/es/components/table-filter/src/components/classify-filter/components/index.d.ts +9 -0
  88. package/es/components/table-filter/src/components/classify-filter/index.vue.d.ts +9 -0
  89. package/es/components/table-filter/src/components/render-widget/components/LabelInner.vue.d.ts +2 -7
  90. package/es/components/table-filter/src/components/render-widget/components/LabelInner.vue2.js +1 -1
  91. package/es/components/table-filter/src/components/render-widget/components/LabelOut.vue.d.ts +8 -0
  92. package/es/components/table-filter/src/components/render-widget/components/LabelOut.vue2.js +1 -1
  93. package/es/components/table-filter/src/components/render-widget/components/index.d.ts +11 -7
  94. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +11 -7
  95. package/es/components/table-filter/src/types/index.d.ts +3 -0
  96. package/es/shared/package.json.js +1 -1
  97. package/package.json +2 -2
@@ -22,8 +22,18 @@ declare const _default: import("vue").DefineComponent<{}, {
22
22
  currentAVMsg: AnyObject;
23
23
  currentGroupUser: AnyObject[];
24
24
  showMultipleVideo: boolean;
25
+ userDetail: {
26
+ show: boolean;
27
+ position: {
28
+ x: number;
29
+ y: number;
30
+ };
31
+ userId: string;
32
+ info: AnyObject | null;
33
+ };
25
34
  };
26
35
  setCurrentSessionItem: (item: AnyObject) => void;
36
+ setUserDetail: (event: MouseEvent, userDetail: AnyObject) => void;
27
37
  isGroupChat: import("vue").ComputedRef<boolean>;
28
38
  isGroupLeader: import("vue").ComputedRef<boolean>;
29
39
  inputRef: import("vue").Ref<any>;
@@ -55,97 +65,6 @@ declare const _default: import("vue").DefineComponent<{}, {
55
65
  AddOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
56
66
  RemoveOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
57
67
  ChevronBackOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
58
- PersonProfile: import("vue").DefineComponent<{
59
- userId: {
60
- type: (NumberConstructor | StringConstructor)[];
61
- };
62
- disabled: {
63
- type: BooleanConstructor;
64
- default: boolean;
65
- };
66
- userInfo: {
67
- type: import("vue").PropType<AnyObject>;
68
- };
69
- }, {
70
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
71
- userId: {
72
- type: (NumberConstructor | StringConstructor)[];
73
- };
74
- disabled: {
75
- type: BooleanConstructor;
76
- default: boolean;
77
- };
78
- userInfo: {
79
- type: import("vue").PropType<AnyObject>;
80
- };
81
- }>> & {
82
- onClose?: ((...args: any[]) => any) | undefined;
83
- }>>;
84
- emit: (event: "close", ...args: any[]) => void;
85
- state: {
86
- orgId: string | number;
87
- currentSessionItem: AnyObject;
88
- id: string;
89
- userInfo: AnyObject;
90
- msgList: AnyObject[];
91
- currentMsg: AnyObject;
92
- isAppendMsg: boolean;
93
- sessionList: AnyObject[];
94
- isChangeSession: boolean;
95
- updateSessionItem: AnyObject;
96
- isUpdateSession: boolean;
97
- currentReferenceMsg: AnyObject | null;
98
- currentReEditMsg: AnyObject | null;
99
- showVideo: boolean;
100
- currentAVMsg: AnyObject;
101
- currentGroupUser: AnyObject[];
102
- showMultipleVideo: boolean;
103
- };
104
- openSession: (session: string | AnyObject) => Promise<void>;
105
- showUserDetail: import("vue").Ref<boolean>;
106
- showLargeAvatar: import("vue").Ref<boolean>;
107
- showPhone: import("vue").Ref<boolean>;
108
- userDetail: AnyObject;
109
- info: {
110
- label: string;
111
- value: string;
112
- key: string;
113
- }[];
114
- personInfo: import("vue").ComputedRef<{
115
- label: string;
116
- value: string;
117
- key: string;
118
- }[]>;
119
- toOpenSession: () => Promise<void>;
120
- updateShow: (value: boolean) => Promise<void>;
121
- getContent: (info: AnyObject) => any;
122
- onChange: (options: {
123
- file: import("naive-ui").UploadFileInfo;
124
- }) => Promise<void>;
125
- NAvatar: any;
126
- NPopover: any;
127
- NButton: any;
128
- NIcon: any;
129
- ChatbubbleEllipses: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
130
- Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
131
- EyeOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
132
- EyeOffOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
133
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
134
- userId: {
135
- type: (NumberConstructor | StringConstructor)[];
136
- };
137
- disabled: {
138
- type: BooleanConstructor;
139
- default: boolean;
140
- };
141
- userInfo: {
142
- type: import("vue").PropType<AnyObject>;
143
- };
144
- }>> & {
145
- onClose?: ((...args: any[]) => any) | undefined;
146
- }, {
147
- disabled: boolean;
148
- }>;
149
68
  ChatAdd: import("vue").DefineComponent<{
150
69
  title: {
151
70
  type: StringConstructor;
@@ -222,6 +141,15 @@ declare const _default: import("vue").DefineComponent<{}, {
222
141
  currentAVMsg: AnyObject;
223
142
  currentGroupUser: AnyObject[];
224
143
  showMultipleVideo: boolean;
144
+ userDetail: {
145
+ show: boolean;
146
+ position: {
147
+ x: number;
148
+ y: number;
149
+ };
150
+ userId: string;
151
+ info: AnyObject | null;
152
+ };
225
153
  };
226
154
  setCurrentSessionItem: (item: AnyObject) => void;
227
155
  listRef: import("vue").Ref<any>;
@@ -1 +1 @@
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
+ import{createElementVNode as e,defineComponent as n,useAttrs as o,ref as a,computed as t,watch as i,openBlock as l,createBlock as s,unref as r,withCtx as c,createVNode as u,createTextVNode as d,createElementBlock as m,Fragment as p,renderList as v,toDisplayString as w,createCommentVNode as g,withKeys as f,nextTick as y}from"vue";import{NDrawer as _,NDrawerContent as k,NButton as C,NIcon as h,NAvatar as I,NUpload as L,NUploadTrigger as b,NInput as B,NSpace as x,NSwitch as S,NPopconfirm as U}from"naive-ui";import{ChevronBackOutline as z,ChevronForwardOutline as j,AddOutline as G,RemoveOutline as D,Pencil as A}from"@vicons/ionicons5";import{useData as R}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{toppingSessionApi as F,groupLeaveApi as P,groupUpdateApi as K}from"../api/index.js";import"../utils/index.js";import{trim as N,isFunction as O}from"lodash-es";import"trtc-sdk-v5";import q from"./ChatAdd.vue.js";var E,H,J,M,Q,T,V,W,X,Y;const Z={key:0,class:"chat-set-wrapper"},$=["onClick"],ee={class:"name"},ne={key:0,class:"item__right",style:{color:"var(--c-primary-color)"}},oe={class:"name"},ae={class:"item item-column"},te=e("span",{class:"label"},(null==(E=window.getLanguageByCode)?void 0:E.call(window,"10010.1.85"))||"群成员",-1),ie={class:"group-box"},le=["onClick"],se={class:"name"},re={class:"group-box__item"},ce=e("span",{class:"name"},(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.86"))||"添加",-1),ue={class:"group-box__item"},de=e("span",{class:"name"},(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.88"))||"移除",-1),me=["onClick"],pe=e("span",{class:"label"},(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.90"))||"群头像",-1),ve={class:"item"},we=e("span",{class:"label"},(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.91"))||"群名称",-1),ge={class:"item__right"},fe={class:"txt"},ye={class:"item"},_e=e("span",{class:"label"},(null==(T=window.getLanguageByCode)?void 0:T.call(window,"10010.1.92"))||"置顶聊天",-1),ke={class:"item item--red"},Ce=e("span",{class:"label"},(null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.93"))||"退出群聊",-1),he=e("p",{style:{width:"230px"}},(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.94"))||"是否确认退出群聊?",-1),Ie={class:"item item--red"},Le=e("span",{class:"label"},(null==(X=window.getLanguageByCode)?void 0:X.call(window,"10010.1.95"))||"解散该群",-1),be=e("p",{style:{width:"230px"}},(null==(Y=window.getLanguageByCode)?void 0:Y.call(window,"10010.1.96"))||"是否确认解散群聊?",-1);var Be=n({__name:"ChatSet",setup(n){const E=o(),{state:H,setCurrentSessionItem:J,setUserDetail:M,isGroupChat:Q,isGroupLeader:T}=R(),V=a(),W=a(!1),X=a(""),Y=a(!1),Be=t((()=>H.currentGroupUser.map((e=>e.id)))),xe=t((()=>H.currentGroupUser?T.value?H.currentGroupUser.slice(0,6):H.currentGroupUser.slice(0,7):[]));async function Se(e){try{await F({id:H.currentSessionItem.id,topping:e}),J({topping:e})}catch(e){}}async function Ue(e){await P({dissolution:!!e,groupId:H.currentSessionItem.receiver,operator:H.userInfo.id,memberIdSet:e?Be.value:[H.userInfo.id]})}async function ze(){var e;X.value=H.currentSessionItem.name,W.value=!0,await y(),null==(e=V.value)||e.select()}async function je(e){const n=new FormData,o=Object.assign({id:H.currentSessionItem.receiver},e);for(const e in o)n.append(e,o[e]);await K(n)}async function Ge(){W.value=!1;const e=N(X.value);e&&e!==H.currentSessionItem.name&&(await je({name:e}),J({name:e,defaultName:e}))}async function De(e){const{file:n}=e.file,o=new FileReader;o.onload=function(e){var n;(null==(n=e.target)?void 0:n.result)&&J({avatar:e.target.result})},o.readAsDataURL(e.file.file),await je({file:n})}return i((()=>H.id),(e=>{O(E["onUpdate:show"])&&E["onUpdate:show"](!1)})),(n,o)=>(l(),s(r(_),{width:320,"trap-focus":!1,"block-scroll":!1,to:".iho-chat",onAfterLeave:o[8]||(o[8]=e=>Y.value=!1)},{default:c((()=>[u(r(k),null,{header:c((()=>{var e,n;return[r(Q)&&Y.value?(l(),s(r(C),{key:0,text:"",color:"#666",onClick:o[0]||(o[0]=e=>Y.value=!1),style:{"font-size":"var(--n-title-font-size)"}},{icon:c((()=>[u(r(h),{size:20,component:r(z)},null,8,["component"])])),default:c((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.82"))||"返回")]})),_:1})):r(Q)?(l(),m(p,{key:1},[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.83"))||"群设置")],64)):(l(),m(p,{key:2},[d((null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.66"))||"聊天设置")],64))]})),default:c((()=>{var n;return[r(H).id?(l(),m("div",Z,[r(Q)&&Y.value?(l(!0),m(p,{key:0},v(r(H).currentGroupUser,((n,o)=>{var a;return l(),m("div",{key:n.id,class:"item",onClick:e=>r(M)(e,{show:!0,userId:n.id})},[u(r(I),{round:"",size:40,src:n.avatar},null,8,["src"]),e("span",ee,w(n.name),1),0===o?(l(),m("span",ne,(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.84"))||"群主")):g("v-if",!0)],8,$)})),128)):(l(),m(p,{key:1},[e("div",{class:"item user-info",onClick:o[1]||(o[1]=e=>!r(Q)&&r(M)(e,{show:!0,userId:r(H).currentSessionItem.receiver}))},[u(r(I),{round:"",size:40,src:r(H).currentSessionItem.avatar},null,8,["src"]),e("span",oe,w(r(H).currentSessionItem.name),1),r(Q)?g("v-if",!0):(l(),s(r(h),{key:0,size:24,component:r(j),class:"item__right"},null,8,["component"]))]),r(Q)?(l(),m(p,{key:0},[e("div",ae,[te,e("div",ie,[(l(!0),m(p,null,v(r(xe),(n=>(l(),m("div",{key:n.id,class:"group-box__item",onClick:e=>r(M)(e,{show:!0,userId:n.id})},[u(r(I),{round:"",size:40,src:n.avatar},null,8,["src"]),e("span",se,w(n.name),1)],8,le)))),128)),u(q,{mode:"join",disabledIds:r(Be)},{trigger:c((()=>[e("div",re,[u(r(C),{strong:"",secondary:"",circle:""},{icon:c((()=>[u(r(h),{component:r(G)},null,8,["component"])])),_:1}),ce])])),_:1},8,["disabledIds"]),r(T)?(l(),s(q,{key:0,title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.87"))||"移除成员",mode:"remove",options:r(H).currentGroupUser},{trigger:c((()=>[e("div",ue,[u(r(C),{strong:"",secondary:"",circle:""},{icon:c((()=>[u(r(h),{component:r(D)},null,8,["component"])])),_:1}),de])])),_:1},8,["options"])):g("v-if",!0)]),u(r(C),{text:"","icon-placement":"right",color:"#999",onClick:o[2]||(o[2]=e=>Y.value=!0)},{icon:c((()=>[u(r(h),{component:r(j)},null,8,["component"])])),default:c((()=>{var e;return[d((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.89"))||"查看全部群成员")]})),_:1})]),u(r(L),{abstract:"",multiple:"",accept:"image/*",onChange:De},{default:c((()=>[u(r(b),{abstract:""},{default:c((({handleClick:n})=>[e("div",{class:"item",onClick:n},[pe,u(r(h),{size:20,component:r(j),class:"item__right"},null,8,["component"])],8,me)])),_:1})])),_:1}),e("div",ve,[we,e("div",ge,[W.value?(l(),s(r(B),{key:0,ref_key:"inputRef",ref:V,value:X.value,"onUpdate:value":o[3]||(o[3]=e=>X.value=e),onBlur:Ge,onKeydown:o[4]||(o[4]=f((e=>e.target.blur()),["enter"]))},null,8,["value"])):(l(),s(r(x),{key:1,"wrap-item":!1,onClick:ze,align:"center"},{default:c((()=>[e("span",fe,w(r(H).currentSessionItem.name),1),u(r(C),{text:"",style:{"font-size":"14px","--n-text-color":"#999"}},{default:c((()=>[u(r(h),{component:r(A)},null,8,["component"])])),_:1})])),_:1}))])])],64)):g("v-if",!0),e("div",ye,[_e,u(r(S),{value:r(H).currentSessionItem.topping,"onUpdate:value":[o[5]||(o[5]=e=>r(H).currentSessionItem.topping=e),Se],class:"item__right"},null,8,["value"])]),r(Q)?(l(),m(p,{key:1},[u(r(U),{onPositiveClick:o[6]||(o[6]=()=>Ue(!1))},{trigger:c((()=>[e("div",ke,[Ce,u(r(h),{size:20,component:r(j),class:"item__right"},null,8,["component"])])])),default:c((()=>[he])),_:1}),r(T)?(l(),s(r(U),{key:0,onPositiveClick:o[7]||(o[7]=()=>Ue(!0))},{trigger:c((()=>[e("div",Ie,[Le,u(r(h),{size:20,component:r(j),class:"item__right"},null,8,["component"])])])),default:c((()=>[be])),_:1})):g("v-if",!0)],64)):g("v-if",!0)],64))])):g("v-if",!0)]})),_:1})])),_:1}))}});export{Be as default};
@@ -30,104 +30,23 @@ declare const _default: import("vue").DefineComponent<{
30
30
  currentAVMsg: AnyObject;
31
31
  currentGroupUser: AnyObject[];
32
32
  showMultipleVideo: boolean;
33
+ userDetail: {
34
+ show: boolean;
35
+ position: {
36
+ x: number;
37
+ y: number;
38
+ };
39
+ userId: string;
40
+ info: AnyObject | null;
41
+ };
33
42
  };
43
+ setUserDetail: (event: MouseEvent, userDetail: AnyObject) => void;
34
44
  inviter: import("vue").Ref<any>;
35
45
  invitee: import("vue").Ref<any[]>;
36
46
  isValidJSON: (str: string) => boolean;
37
47
  getTask: (_id: number | string, arrRes: AnyObject[]) => () => Promise<unknown>;
38
48
  getEventContent: (data: AnyObject) => Promise<void>;
39
49
  NButton: any;
40
- PersonProfile: import("vue").DefineComponent<{
41
- userId: {
42
- type: (NumberConstructor | StringConstructor)[];
43
- };
44
- disabled: {
45
- type: BooleanConstructor;
46
- default: boolean;
47
- };
48
- userInfo: {
49
- type: PropType<AnyObject>;
50
- };
51
- }, {
52
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
53
- userId: {
54
- type: (NumberConstructor | StringConstructor)[];
55
- };
56
- disabled: {
57
- type: BooleanConstructor;
58
- default: boolean;
59
- };
60
- userInfo: {
61
- type: PropType<AnyObject>;
62
- };
63
- }>> & {
64
- onClose?: ((...args: any[]) => any) | undefined;
65
- }>>;
66
- emit: (event: "close", ...args: any[]) => void;
67
- state: {
68
- orgId: string | number;
69
- currentSessionItem: AnyObject;
70
- id: string;
71
- userInfo: AnyObject;
72
- msgList: AnyObject[];
73
- currentMsg: AnyObject;
74
- isAppendMsg: boolean;
75
- sessionList: AnyObject[];
76
- isChangeSession: boolean;
77
- updateSessionItem: AnyObject;
78
- isUpdateSession: boolean;
79
- currentReferenceMsg: AnyObject | null;
80
- currentReEditMsg: AnyObject | null;
81
- showVideo: boolean;
82
- currentAVMsg: AnyObject;
83
- currentGroupUser: AnyObject[];
84
- showMultipleVideo: boolean;
85
- };
86
- openSession: (session: string | AnyObject) => Promise<void>;
87
- showUserDetail: import("vue").Ref<boolean>;
88
- showLargeAvatar: import("vue").Ref<boolean>;
89
- showPhone: import("vue").Ref<boolean>;
90
- userDetail: AnyObject;
91
- info: {
92
- label: string;
93
- value: string;
94
- key: string;
95
- }[];
96
- personInfo: import("vue").ComputedRef<{
97
- label: string;
98
- value: string;
99
- key: string;
100
- }[]>;
101
- toOpenSession: () => Promise<void>;
102
- updateShow: (value: boolean) => Promise<void>;
103
- getContent: (info: AnyObject) => any;
104
- onChange: (options: {
105
- file: import("naive-ui").UploadFileInfo;
106
- }) => Promise<void>;
107
- NAvatar: any;
108
- NPopover: any;
109
- NButton: any;
110
- NIcon: any;
111
- ChatbubbleEllipses: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
112
- Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
113
- EyeOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
114
- EyeOffOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
115
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
116
- userId: {
117
- type: (NumberConstructor | StringConstructor)[];
118
- };
119
- disabled: {
120
- type: BooleanConstructor;
121
- default: boolean;
122
- };
123
- userInfo: {
124
- type: PropType<AnyObject>;
125
- };
126
- }>> & {
127
- onClose?: ((...args: any[]) => any) | undefined;
128
- }, {
129
- disabled: boolean;
130
- }>;
131
50
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
132
51
  data: {
133
52
  type: PropType<AnyObject>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,openBlock as r,createElementBlock as n,unref as o,createBlock as i,withCtx as s,createVNode as a,createTextVNode as u,toDisplayString as l,Fragment as c,renderList as p,createCommentVNode as d,createElementVNode as m}from"vue";import{NButton as f}from"naive-ui";import v from"./PersonProfile.vue.js";import{useData as g}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{getUserDetailApi as y}from"../api/index.js";import"../utils/index.js";import{toString as h}from"lodash-es";import"trtc-sdk-v5";import{AsyncScheduler as w}from"../utils/asyncQueue.js";const k={key:0,class:"tip-text"},j={key:0},x=m("span",{style:{"margin-right":"5px"}},"邀请",-1),I={key:0},_={key:2},b=m("span",null,"加入群聊",-1);var O=e({__name:"MessageEvent",props:{data:{type:Object,required:!0}},setup(e){const m=e,{state:O}=g(),P=t(),z=t([]);function B(e,t){return()=>new Promise(((r,n)=>{y({userId:h(e)}).then((e=>{t.push(e),r(e)})).catch((e=>n(e)))}))}return async function(e){var t;const r=null==(t=null==e?void 0:e.content)?void 0:t.msg;if(!function(e){try{return JSON.parse(e),!0}catch(e){return!1}}(r))return;const{inviter:n,invitee:o=[]}=JSON.parse(r);if(!n||!o)return;try{if(n==O.userInfo.id)P.value=O.userInfo;else{const e=await y({userId:h(n)});(null==e?void 0:e.id)&&(P.value=e)}const e=new w,t=[];for(const r of o)r==O.userInfo.id?t.push(O.userInfo):e.add(B(r,t));e.waitForAll().then((()=>{z.value=t}))}catch(e){console.log("error ==>",e)}}(m.data),(e,t)=>{var m;return P.value&&z.value.length>0?(r(),n("p",k,[P.value.id==o(O).userInfo.id?(r(),n("span",j,(null==(m=window.getLanguageByCode)?void 0:m.call(window,"10010.1.67"))||"你")):(r(),i(v,{key:1,placement:"buttom","user-info":P.value},{trigger:s((()=>[a(o(f),{size:"tiny",text:"",style:{color:"var(--c-primary-color)","margin-right":"5px"}},{default:s((()=>[u(l(P.value.name),1)])),_:1})])),_:1},8,["user-info"])),x,(r(!0),n(c,null,p(z.value,((e,t)=>{var p;return r(),n(c,{key:e.id},[e.id==o(O).userInfo.id?(r(),n("span",I,(null==(p=window.getLanguageByCode)?void 0:p.call(window,"10010.1.67"))||"你")):(r(),i(v,{key:1,placement:"buttom","user-info":e},{trigger:s((()=>[a(o(f),{size:"tiny",text:"",style:{color:"var(--c-primary-color)","margin-right":"5px"}},{default:s((()=>[u(l(e.name),1)])),_:2},1024)])),_:2},1032,["user-info"])),t<=z.value.length-2?(r(),n("span",_,"、")):d("v-if",!0)],64)})),128)),b])):d("v-if",!0)}}});export{O as default};
1
+ import{defineComponent as e,ref as t,openBlock as n,createElementBlock as r,unref as o,createBlock as i,withCtx as s,createTextVNode as a,toDisplayString as l,Fragment as u,renderList as c,createCommentVNode as d,createElementVNode as p}from"vue";import{NButton as v}from"naive-ui";import{useData as m}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{getUserDetailApi as f}from"../api/index.js";import"../utils/index.js";import{toString as y}from"lodash-es";import"trtc-sdk-v5";import{AsyncScheduler as g}from"../utils/asyncQueue.js";const h={key:0,class:"tip-text"},k={key:0},w=p("span",{style:{"margin-right":"5px"}},"邀请",-1),j={key:0},x={key:2},I=p("span",null,"加入群聊",-1);var C=e({__name:"MessageEvent",props:{data:{type:Object,required:!0}},setup(e){const p=e,{state:C,setUserDetail:_}=m(),O=t(),z=t([]);function B(e,t){return()=>new Promise(((n,r)=>{f({userId:y(e)}).then((e=>{t.push(e),n(e)})).catch((e=>r(e)))}))}return async function(e){var t;const n=null==(t=null==e?void 0:e.content)?void 0:t.msg;if(!function(e){try{return JSON.parse(e),!0}catch(e){return!1}}(n))return;const{inviter:r,invitee:o=[]}=JSON.parse(n);if(!r||!o)return;try{if(r==C.userInfo.id)O.value=C.userInfo;else{const e=await f({userId:y(r)});(null==e?void 0:e.id)&&(O.value=e)}const e=new g,t=[];for(const n of o)n==C.userInfo.id?t.push(C.userInfo):e.add(B(n,t));e.waitForAll().then((()=>{z.value=t}))}catch(e){console.log("error ==>",e)}}(p.data),(e,t)=>{var p;return O.value&&z.value.length>0?(n(),r("p",h,[O.value.id==o(C).userInfo.id?(n(),r("span",k,(null==(p=window.getLanguageByCode)?void 0:p.call(window,"10010.1.67"))||"你")):(n(),i(o(v),{key:1,size:"tiny",text:"",style:{color:"var(--c-primary-color)","margin-right":"5px"},onClick:t[0]||(t[0]=e=>o(_)(e,{show:!0,info:O.value}))},{default:s((()=>[a(l(O.value.name),1)])),_:1})),w,(n(!0),r(u,null,c(z.value,((e,t)=>{var c;return n(),r(u,{key:e.id},[e.id==o(C).userInfo.id?(n(),r("span",j,(null==(c=window.getLanguageByCode)?void 0:c.call(window,"10010.1.67"))||"你")):(n(),i(o(v),{key:1,size:"tiny",text:"",style:{color:"var(--c-primary-color)","margin-right":"5px"},onClick:t=>o(_)(t,{show:!0,info:e})},{default:s((()=>[a(l(e.name),1)])),_:2},1032,["onClick"])),t<=z.value.length-2?(n(),r("span",x,"、")):d("v-if",!0)],64)})),128)),I])):d("v-if",!0)}}});export{C as default};
@@ -24,6 +24,15 @@ declare const _default: import("vue").DefineComponent<{}, {
24
24
  currentAVMsg: AnyObject;
25
25
  currentGroupUser: AnyObject[];
26
26
  showMultipleVideo: boolean;
27
+ userDetail: {
28
+ show: boolean;
29
+ position: {
30
+ x: number;
31
+ y: number;
32
+ };
33
+ userId: string;
34
+ info: AnyObject | null;
35
+ };
27
36
  };
28
37
  sendMessage: (message: {
29
38
  chatType?: string | undefined;
@@ -150,6 +159,15 @@ declare const _default: import("vue").DefineComponent<{}, {
150
159
  currentAVMsg: AnyObject;
151
160
  currentGroupUser: AnyObject[];
152
161
  showMultipleVideo: boolean;
162
+ userDetail: {
163
+ show: boolean;
164
+ position: {
165
+ x: number;
166
+ y: number;
167
+ };
168
+ userId: string;
169
+ info: AnyObject | null;
170
+ };
153
171
  };
154
172
  setCurrentSessionItem: (item: AnyObject) => void;
155
173
  listRef: import("vue").Ref<any>;
@@ -1,33 +1,6 @@
1
- import { PropType } from 'vue';
2
1
  import { UploadFileInfo } from 'naive-ui';
3
2
  import { AnyObject } from '../../../../shared/types';
4
- declare const _default: import("vue").DefineComponent<{
5
- userId: {
6
- type: (NumberConstructor | StringConstructor)[];
7
- };
8
- disabled: {
9
- type: BooleanConstructor;
10
- default: boolean;
11
- };
12
- userInfo: {
13
- type: PropType<AnyObject>;
14
- };
15
- }, {
16
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
17
- userId: {
18
- type: (NumberConstructor | StringConstructor)[];
19
- };
20
- disabled: {
21
- type: BooleanConstructor;
22
- default: boolean;
23
- };
24
- userInfo: {
25
- type: PropType<AnyObject>;
26
- };
27
- }>> & {
28
- onClose?: ((...args: any[]) => any) | undefined;
29
- }>>;
30
- emit: (event: "close", ...args: any[]) => void;
3
+ declare const _default: import("vue").DefineComponent<{}, {
31
4
  state: {
32
5
  orgId: string | number;
33
6
  currentSessionItem: AnyObject;
@@ -46,9 +19,17 @@ declare const _default: import("vue").DefineComponent<{
46
19
  currentAVMsg: AnyObject;
47
20
  currentGroupUser: AnyObject[];
48
21
  showMultipleVideo: boolean;
22
+ userDetail: {
23
+ show: boolean;
24
+ position: {
25
+ x: number;
26
+ y: number;
27
+ };
28
+ userId: string;
29
+ info: AnyObject | null;
30
+ };
49
31
  };
50
32
  openSession: (session: string | AnyObject) => Promise<void>;
51
- showUserDetail: import("vue").Ref<boolean>;
52
33
  showLargeAvatar: import("vue").Ref<boolean>;
53
34
  showPhone: import("vue").Ref<boolean>;
54
35
  userDetail: AnyObject;
@@ -63,7 +44,7 @@ declare const _default: import("vue").DefineComponent<{
63
44
  key: string;
64
45
  }[]>;
65
46
  toOpenSession: () => Promise<void>;
66
- updateShow: (value: boolean) => Promise<void>;
47
+ updateShow: () => Promise<void>;
67
48
  getContent: (info: AnyObject) => any;
68
49
  onChange: (options: {
69
50
  file: UploadFileInfo;
@@ -76,20 +57,5 @@ declare const _default: import("vue").DefineComponent<{
76
57
  Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
77
58
  EyeOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
78
59
  EyeOffOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
79
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
80
- userId: {
81
- type: (NumberConstructor | StringConstructor)[];
82
- };
83
- disabled: {
84
- type: BooleanConstructor;
85
- default: boolean;
86
- };
87
- userInfo: {
88
- type: PropType<AnyObject>;
89
- };
90
- }>> & {
91
- onClose?: ((...args: any[]) => any) | undefined;
92
- }, {
93
- disabled: boolean;
94
- }>;
60
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
95
61
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as t,ref as e,reactive as n,computed as l,openBlock as o,createBlock as a,unref as i,withCtx as r,renderSlot as s,createElementBlock as d,Fragment as u,withDirectives as c,createElementVNode as p,createVNode as v,createCommentVNode as g,toDisplayString as m,createTextVNode as w,renderList as f,vShow as y}from"vue";import{NPopover as k,NAvatar as b,NButton as h,NIcon as C}from"naive-ui";import{ChatbubbleEllipses as I,EyeOffOutline as j,EyeOutline as L,Close as B}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"},O={class:"right"},P={class:"right__content"},G={class:"label"},T={class:"content"};var U=t({__name:"PersonProfile",props:{userId:{type:[String,Number]},disabled:{type:Boolean,default:!1},userInfo:{type:Object}},emits:["close"],setup(t,{emit:U}){var q,A,F,H,J,K,M,Q;const R=t,{state:V,openSession:W}=_(),X=e(!1),Y=e(!1),Z=e(!1),tt=n({}),et=[{label:(null==(q=window.getLanguageByCode)?void 0:q.call(window,"10010.1.115"))||"机构",value:"",key:"orgName"},{label:(null==(A=window.getLanguageByCode)?void 0:A.call(window,"10010.1.116"))||"姓名",value:"",key:"name"},{label:(null==(F=window.getLanguageByCode)?void 0:F.call(window,"10010.1.117"))||"归属科室",value:"",key:"deptName"},{label:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.118"))||"业务科室",value:"",key:"businessDeptNames"},{label:(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.119"))||"手机号",value:"",key:"phone"},{label:(null==(K=window.getLanguageByCode)?void 0:K.call(window,"10010.1.120"))||"岗位",value:"",key:"post"},{label:(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.121"))||"工号",value:"",key:"jobId"},{label:(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.122"))||"性别",value:"",key:"orgName"}],nt=l((()=>(tt.id&&et.forEach((t=>{const{key:e}=t;t.value=tt[e]})),et)));async function lt(){var t;X.value=!1;let e=V.sessionList.find((t=>t.receiver===R.userId));if(!e)try{e=await z({chatType:x.SINGLE,receiver:R.userId||(null==(t=R.userInfo)?void 0:t.id),sender:V.userInfo.id})}catch(t){console.log("error :>> ",t)}e&&W(e),U("close")}async function ot(t){if(!t)return;if(!R.userId&&!R.userInfo)return;let e={};R.userId?e=await N({userId:R.userId}):R.userInfo&&(e=R.userInfo),(null==e?void 0:e.id)?Object.assign(tt,e):tt.id=""}function at(t){const{key:e,value:n}=t;return"phone"!==e||Z.value?n:(n||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}return(e,n)=>(o(),a(i(k),{raw:"",class:"person-profile-wrapper",show:X.value,"onUpdate:show":[n[3]||(n[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(u,{key:0},[c(p("div",D,[p("div",S,[p("div",$,[v(i(b),{src:tt.avatar,bordered:"",round:"",size:100,onClickCapture:n[0]||(n[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(h),{strong:"",secondary:"",onClick:lt},{default:r((()=>[v(i(C),{size:"13",color:"#666666",component:i(I),style:{"margin-right":"6px"}},null,8,["component"]),w(" 发消息 ")])),_:1})])]),p("div",O,[p("div",P,[(o(!0),d(u,null,f(i(nt),((t,e)=>(o(),d("div",{class:"info-item",key:e},[p("span",G,m(t.label),1),p("div",T,[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(j):i(L),style:{"margin-left":"10px"},onClick:n[1]||(n[1]=t=>Z.value=!Z.value)},null,8,["component"])):g("v-if",!0)])])))),128))])])],512),[[y,!Y.value]]),c(p("div",{class:"large-avatar",onClick:n[2]||(n[2]=t=>Y.value=!1)},[v(i(h),{circle:"",size:"small",secondary:""},{icon:r((()=>[v(i(C),{size:24,component:i(B),color:"#fff"},null,8,["component"])])),_:1}),v(i(b),{size:310,round:"",src:tt.avatar},null,8,["src"])],512),[[y,Y.value]])],64)):g("v-if",!0)])),_:3},8,["show","trigger"]))}});export{U as default};
1
+ import{defineComponent as t,ref as e,reactive as l,computed as o,watch as n,openBlock as a,createBlock as i,unref as s,withCtx as r,createElementBlock as u,Fragment as d,withDirectives as c,createElementVNode as p,createVNode as v,createCommentVNode as w,toDisplayString as g,createTextVNode as m,renderList as f,vShow as y}from"vue";import{NPopover as h,NAvatar as k,NButton as b,NIcon as C}from"naive-ui";import{ChatbubbleEllipses as D,EyeOffOutline as j,EyeOutline as x,Close as L}from"@vicons/ionicons5";import{useData as _}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as B}from"../constants/index.js";import{openSessionApi as I,getUserDetailApi as z}from"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const N={class:"person-profile-main"},E={class:"left"},P={class:"profile"},S={class:"profile__text"},$={class:"right"},G={class:"right__content"},O={class:"label"},T={class:"content"};var q=t({__name:"PersonProfile",setup(t){var q,A,F,H,J,K,M,Q;const{state:R,openSession:U}=_(),V=e(!1),W=e(!1),X=l({}),Y=[{label:(null==(q=window.getLanguageByCode)?void 0:q.call(window,"10010.1.115"))||"机构",value:"",key:"orgName"},{label:(null==(A=window.getLanguageByCode)?void 0:A.call(window,"10010.1.116"))||"姓名",value:"",key:"name"},{label:(null==(F=window.getLanguageByCode)?void 0:F.call(window,"10010.1.117"))||"归属科室",value:"",key:"deptName"},{label:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.118"))||"业务科室",value:"",key:"businessDeptNames"},{label:(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.119"))||"手机号",value:"",key:"phone"},{label:(null==(K=window.getLanguageByCode)?void 0:K.call(window,"10010.1.120"))||"岗位",value:"",key:"post"},{label:(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.121"))||"工号",value:"",key:"jobId"},{label:(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.122"))||"性别",value:"",key:"orgName"}],Z=o((()=>(X.id&&Y.forEach((t=>{const{key:e}=t;t.value=X[e]})),Y)));async function tt(){var t;R.userDetail.show=!1;const e=R.userDetail.userId||(null==(t=R.userDetail.info)?void 0:t.id);let l=R.sessionList.find((t=>t.receiver===e));if(!l)try{l=await I({chatType:B.SINGLE,receiver:e,sender:R.userInfo.id})}catch(t){console.log("error :>> ",t)}l&&U(l)}function et(t){const{key:e,value:l}=t;return"phone"!==e||W.value?l:(l||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}return n((()=>R.userDetail.show),(t=>{if(!t)return R.userDetail.userId="",void(R.userDetail.info=null);!async function(){const{userId:t,info:e}=R.userDetail;if(!t&&!e)return;let l={};t?l=await z({userId:t}):e&&(l=e),(null==l?void 0:l.id)?Object.assign(X,l):X.id=""}()})),(t,e)=>(a(),i(s(h),{raw:"",class:"person-profile-wrapper",show:s(R).userDetail.show,x:s(R).userDetail.position.x,y:s(R).userDetail.position.y,trigger:"manual","show-arrow":!1,"display-directive":"show",to:"body",shift:"",onClickoutside:e[3]||(e[3]=()=>s(R).userDetail.show=!1)},{default:r((()=>[X.id?(a(),u(d,{key:0},[c(p("div",N,[p("div",E,[p("div",P,[v(s(k),{src:X.avatar,bordered:"",round:"",size:100,onClickCapture:e[0]||(e[0]=t=>V.value=!0)},null,8,["src"]),w(' <n-upload abstract accept="image/*" @change="onChange">\r\n\t\t\t\t\t\t\t<n-upload-trigger #="{ handleClick }" abstract>\r\n\t\t\t\t\t\t\t\t<n-button\r\n\t\t\t\t\t\t\t\t\tcircle\r\n\t\t\t\t\t\t\t\t\tsecondary\r\n\t\t\t\t\t\t\t\t\tclass="edit-avatar"\r\n\t\t\t\t\t\t\t\t\tv-show="userDetail.id === state.userInfo.id"\r\n\t\t\t\t\t\t\t\t\t@click="handleClick"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t\t\t<n-icon size="16" color="#666666" :component="Camera" />\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</n-button>\r\n\t\t\t\t\t\t\t</n-upload-trigger>\r\n\t\t\t\t\t\t</n-upload> '),p("div",S,[p("h4",null,g(X.name),1),p("p",null,g(X.orgName),1)]),v(s(b),{strong:"",secondary:"",onClick:tt},{default:r((()=>[v(s(C),{size:"13",color:"#666666",component:s(D),style:{"margin-right":"6px"}},null,8,["component"]),m(" 发消息 ")])),_:1})])]),p("div",$,[p("div",G,[(a(!0),u(d,null,f(s(Z),((t,l)=>(a(),u("div",{class:"info-item",key:l},[p("span",O,g(t.label),1),p("div",T,[p("span",null,g(et(t)),1),"phone"===t.key&&et(t)?(a(),i(s(C),{key:0,size:"16",color:"#666666",component:W.value?s(j):s(x),style:{"margin-left":"10px"},onClick:e[1]||(e[1]=t=>W.value=!W.value)},null,8,["component"])):w("v-if",!0)])])))),128))])])],512),[[y,!V.value]]),c(p("div",{class:"large-avatar",onClick:e[2]||(e[2]=t=>V.value=!1)},[v(s(b),{circle:"",size:"small",secondary:""},{icon:r((()=>[v(s(C),{size:24,component:s(L),color:"#fff"},null,8,["component"])])),_:1}),v(s(k),{size:310,round:"",src:X.avatar},null,8,["src"])],512),[[y,V.value]])],64)):w("v-if",!0)])),_:1},8,["show","x","y"]))}});export{q as default};
@@ -0,0 +1,54 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ id: {
3
+ type: StringConstructor;
4
+ required: true;
5
+ };
6
+ show: {
7
+ type: BooleanConstructor;
8
+ };
9
+ }, {
10
+ labelList: {
11
+ type: string;
12
+ label: string;
13
+ }[];
14
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
15
+ id: {
16
+ type: StringConstructor;
17
+ required: true;
18
+ };
19
+ show: {
20
+ type: BooleanConstructor;
21
+ };
22
+ }>> & {
23
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
24
+ }>>;
25
+ emit: (event: "update:show", ...args: any[]) => void;
26
+ setMessageLabel: (params: {
27
+ type: "text" | "emoji";
28
+ labelItem: string | import("../../../../shared/types").AnyObject;
29
+ msgId: string;
30
+ }) => void;
31
+ handleMessageLabel: (type: 'emoji' | 'text', item: any) => void;
32
+ NButton: any;
33
+ NPopover: any;
34
+ NTabs: any;
35
+ NTabPane: any;
36
+ NTooltip: any;
37
+ emojis: {
38
+ default: string[][];
39
+ findEmoji(name: string): any;
40
+ };
41
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:show"[], "update:show", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
42
+ id: {
43
+ type: StringConstructor;
44
+ required: true;
45
+ };
46
+ show: {
47
+ type: BooleanConstructor;
48
+ };
49
+ }>> & {
50
+ "onUpdate:show"?: ((...args: any[]) => any) | undefined;
51
+ }, {
52
+ show: boolean;
53
+ }>;
54
+ export default _default;
@@ -0,0 +1 @@
1
+ import e from"./SelectLabel.vue2.js";import l from"../../../../_virtual/_plugin-vue_export-helper.js";var r=l(e,[["__file","SelectLabel.vue"]]);export{r as default};
@@ -0,0 +1 @@
1
+ import{defineComponent as e,openBlock as t,createBlock as s,unref as l,withCtx as o,createVNode as a,createElementVNode as i,createElementBlock as r,Fragment as n,renderList as p,createTextVNode as d,toDisplayString as m}from"vue";import{NPopover as u,NTabs as c,NTabPane as y,NTooltip as b,NButton as w}from"naive-ui";import{emojis as f}from"../utils/emoji.js";import{useData as g}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 h={class:"list-box"},j=["src"],k={class:"list-box list-box__text"};var _=e({__name:"SelectLabel",props:{id:{type:String,required:!0},show:{type:Boolean}},emits:["update:show"],setup(e,{emit:_}){const x=e,v=[{type:"primary",label:"收到"},{type:"info",label:"加油"},{type:"success",label:"因吹斯听"},{type:"warning",label:"热烈鼓掌"},{type:"error",label:"辛苦了"}],{setMessageLabel:C}=g();function L(e,t){_("update:show",!1),C({type:e,labelItem:t,msgId:x.id})}return(g,x)=>(t(),s(l(u),{class:"label-wrapper",trigger:"manual","show-arrow":!1,"display-directive":"show",show:e.show,onClickoutside:x[0]||(x[0]=()=>_("update:show",!1))},{default:o((()=>[a(l(c),{type:"card","tab-class":"tab-box"},{default:o((()=>{var e;return[a(l(y),{name:"emoji",tab:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.53"))||"表情"},{default:o((()=>[i("div",h,[(t(!0),r(n,null,p(l(f).default,(([e,r])=>(t(),s(l(b),{key:e,"show-arrow":!1},{trigger:o((()=>[a(l(w),{quaternary:"",size:"tiny",onClick:()=>L("emoji",e)},{icon:o((()=>[i("img",{src:r},null,8,j)])),_:2},1032,["onClick"])])),default:o((()=>[d(" "+m(e),1)])),_:2},1024)))),128))])])),_:1}),a(l(y),{name:"text",tab:"文字"},{default:o((()=>[i("div",k,[(t(),r(n,null,p(v,(e=>a(l(w),{type:e.type,secondary:"",size:"small",key:e.label,onClick:()=>L("text",e)},{default:o((()=>[d(m(e.label),1)])),_:2},1032,["type","onClick"]))),64))])])),_:1})]})),_:1})])),_:1},8,["show"]))}});export{_ as default};
@@ -45,6 +45,15 @@ declare const _default: import("vue").DefineComponent<{}, {
45
45
  currentAVMsg: AnyObject;
46
46
  currentGroupUser: AnyObject[];
47
47
  showMultipleVideo: boolean;
48
+ userDetail: {
49
+ show: boolean;
50
+ position: {
51
+ x: number;
52
+ y: number;
53
+ };
54
+ userId: string;
55
+ info: AnyObject | null;
56
+ };
48
57
  };
49
58
  unreadTotal: import("vue").ComputedRef<number>;
50
59
  filterable: import("vue").Ref<any>;
@@ -24,6 +24,15 @@ declare const _default: import("vue").DefineComponent<{}, {
24
24
  currentAVMsg: import("../../../../shared/types").AnyObject;
25
25
  currentGroupUser: import("../../../../shared/types").AnyObject[];
26
26
  showMultipleVideo: boolean;
27
+ userDetail: {
28
+ show: boolean;
29
+ position: {
30
+ x: number;
31
+ y: number;
32
+ };
33
+ userId: string;
34
+ info: import("../../../../shared/types").AnyObject | null;
35
+ };
27
36
  };
28
37
  trtcProxy: import("vue").Ref<any>;
29
38
  trtc: TRTC;