cnhis-design-vue 3.2.9-beta.2 → 3.2.9-beta.22

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 (75) hide show
  1. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  2. package/es/components/ai-chat/src/types/index.d.ts +8 -7
  3. package/es/components/base-search/index.d.ts +2 -0
  4. package/es/components/base-search/src/index.vue.d.ts +2 -0
  5. package/es/components/button-print/index.d.ts +7 -45
  6. package/es/components/button-print/src/ButtonPrint.vue.d.ts +7 -45
  7. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  8. package/es/components/button-print/src/components/NewPrintComponent.vue.d.ts +6 -35
  9. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  10. package/es/components/button-print/src/components/OldPrintComponent.vue.d.ts +1 -5
  11. package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
  12. package/es/components/button-print/src/utils/print.d.ts +5 -4
  13. package/es/components/button-print/src/utils/print.js +1 -1
  14. package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
  15. package/es/components/expand-field/index.d.ts +1 -1
  16. package/es/components/expand-field/src/components/form.vue.d.ts +1 -1
  17. package/es/components/expand-field/src/index.vue.d.ts +1 -1
  18. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  19. package/es/components/fabric-chart/src/hooks/temperature/useTemperatureChart.js +1 -1
  20. package/es/components/field-set/src/FieldColor.vue.d.ts +29 -6
  21. package/es/components/field-set/src/FieldFilter.vue.d.ts +29 -6
  22. package/es/components/field-set/src/FieldSet.vue.d.ts +68 -28
  23. package/es/components/field-set/src/FieldSet.vue2.js +1 -1
  24. package/es/components/field-set/src/components/table-row.vue.d.ts +28 -1
  25. package/es/components/field-set/src/components/table-row.vue2.js +1 -1
  26. package/es/components/field-set/src/types/index.d.ts +3 -3
  27. package/es/components/field-set/src/utils/index.js +1 -1
  28. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  29. package/es/components/iho-chat/index.d.ts +269 -1
  30. package/es/components/iho-chat/src/Index.vue.d.ts +269 -1
  31. package/es/components/iho-chat/src/Index.vue2.js +1 -1
  32. package/es/components/iho-chat/src/api/index.js +1 -1
  33. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +5 -0
  34. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  35. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +121 -1
  36. package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
  37. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +6 -0
  38. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  39. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +130 -1
  40. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +122 -0
  41. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  42. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
  43. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +5 -0
  44. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  45. package/es/components/iho-chat/src/components/ContextMenu.js +1 -1
  46. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +5 -0
  47. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  48. package/es/components/iho-chat/src/components/SiderList.vue2.js +1 -1
  49. package/es/components/iho-chat/src/constants/index.d.ts +2 -1
  50. package/es/components/iho-chat/src/constants/index.js +1 -1
  51. package/es/components/iho-chat/src/hooks/useSearchUserList.js +1 -1
  52. package/es/components/iho-chat/src/hooks/useSession.js +1 -1
  53. package/es/components/iho-chat/src/hooks/useState.d.ts +5 -0
  54. package/es/components/iho-chat/src/hooks/useState.js +1 -1
  55. package/es/components/iho-chat/src/types/index.d.ts +1 -0
  56. package/es/components/iho-chat/src/utils/chatSock.js +1 -1
  57. package/es/components/iho-chat/style/index.css +1 -1
  58. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index.js +1 -1
  59. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useRowHeight.d.ts +2 -0
  60. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useRowHeight.js +1 -0
  61. package/es/components/iho-table/src/types/index.d.ts +3 -0
  62. package/es/components/iho-table/style/index.css +1 -1
  63. package/es/components/index.css +1 -1
  64. package/es/components/quick-search/index.d.ts +3 -0
  65. package/es/components/quick-search/src/index.vue.d.ts +3 -0
  66. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  67. package/es/components/table-filter/src/hooks/useAdvanced.d.ts +1 -0
  68. package/es/components/table-filter/src/hooks/useAdvanced.js +1 -1
  69. package/es/components/table-filter/src/hooks/useRenderWidget.js +1 -1
  70. package/es/components/table-filter/src/types/index.d.ts +2 -0
  71. package/es/env.d.ts +25 -25
  72. package/es/shared/package.json.js +1 -1
  73. package/es/shared/utils/index.d.ts +1 -0
  74. package/es/shared/utils/index.js +1 -1
  75. package/package.json +2 -2
@@ -1,3 +1,4 @@
1
+ import { PropType } from 'vue';
1
2
  import { AnyObject } from '../../../../shared/types';
2
3
  import { downloadFile } from '../utils';
3
4
  declare const _default: import("vue").DefineComponent<{
@@ -20,6 +21,11 @@ declare const _default: import("vue").DefineComponent<{
20
21
  };
21
22
  }>> & {}>>;
22
23
  state: import("../types").IState;
24
+ relayMessage: (param: {
25
+ checkedIds: string[];
26
+ remark: string;
27
+ content: AnyObject;
28
+ }) => Promise<void>;
23
29
  imageList: import("vue").Ref<AnyObject[]>;
24
30
  fileList: import("vue").Ref<AnyObject[]>;
25
31
  imageRef: import("vue").Ref<any>;
@@ -34,7 +40,7 @@ declare const _default: import("vue").DefineComponent<{
34
40
  handleSearch: () => Promise<void>;
35
41
  formatImageList: (data: AnyObject[]) => {
36
42
  label: string;
37
- list: unknown;
43
+ list: any;
38
44
  }[];
39
45
  resetAndSearch: () => void;
40
46
  title: import("vue").ComputedRef<"聊天图片" | "聊天文件">;
@@ -47,8 +53,122 @@ declare const _default: import("vue").DefineComponent<{
47
53
  NIcon: any;
48
54
  NTooltip: any;
49
55
  SearchOutline: 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
+ OpenOutline: 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<{}>>, {}>;
50
57
  DownloadOutline: 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<{}>>, {}>;
51
58
  downloadFile: typeof downloadFile;
59
+ ChatAdd: import("vue").DefineComponent<{
60
+ title: {
61
+ type: StringConstructor;
62
+ default: string;
63
+ };
64
+ mode: {
65
+ type: StringConstructor;
66
+ default: string;
67
+ };
68
+ options: {
69
+ type: PropType<AnyObject[]>;
70
+ };
71
+ disabledIds: {
72
+ type: PropType<string[]>;
73
+ default: () => never[];
74
+ };
75
+ defaultValue: {
76
+ type: PropType<AnyObject[]>;
77
+ default: () => never[];
78
+ };
79
+ }, {
80
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
81
+ title: {
82
+ type: StringConstructor;
83
+ default: string;
84
+ };
85
+ mode: {
86
+ type: StringConstructor;
87
+ default: string;
88
+ };
89
+ options: {
90
+ type: PropType<AnyObject[]>;
91
+ };
92
+ disabledIds: {
93
+ type: PropType<string[]>;
94
+ default: () => never[];
95
+ };
96
+ defaultValue: {
97
+ type: PropType<AnyObject[]>;
98
+ default: () => never[];
99
+ };
100
+ }>> & {
101
+ onComfirm?: ((...args: any[]) => any) | undefined;
102
+ }>>;
103
+ emit: (event: "comfirm", ...args: any[]) => void;
104
+ state: import("../types").IState;
105
+ setCurrentSessionItem: (item: AnyObject) => void;
106
+ listRef: import("vue").Ref<any>;
107
+ keyword: import("vue").Ref<string>;
108
+ showModal: import("vue").Ref<boolean>;
109
+ checkedOptions: import("vue").Ref<AnyObject[]>;
110
+ options: import("vue").Ref<AnyObject[]>;
111
+ groupName: import("vue").Ref<string>;
112
+ checkedSourceIds: import("vue").Ref<(string | number)[]>;
113
+ remark: import("vue").Ref<string>;
114
+ userList: import("vue").Ref<AnyObject[]>;
115
+ handleInput: () => void;
116
+ _disabledIds: import("vue").ComputedRef<any[]>;
117
+ defaultOptions: import("vue").ComputedRef<{
118
+ id: any;
119
+ name: any;
120
+ avatar: any;
121
+ }[]>;
122
+ checkedIds: import("vue").ComputedRef<any[]>;
123
+ btnDisabled: import("vue").ComputedRef<boolean>;
124
+ allChecked: import("vue").WritableComputedRef<boolean>;
125
+ handlePositiveClick: () => Promise<void>;
126
+ updateCheckedSourceIds: () => void;
127
+ handleSourceIdsUpdate: (value: (string | number)[], meta: {
128
+ actionType: "check" | "uncheck";
129
+ value: string | number;
130
+ }) => void;
131
+ closeTag: (id: string) => void;
132
+ NModal: any;
133
+ NButton: any;
134
+ NSpace: any;
135
+ NAvatar: any;
136
+ NIcon: any;
137
+ NTag: any;
138
+ NInput: any;
139
+ NCheckbox: any;
140
+ NCheckboxGroup: any;
141
+ NTooltip: any;
142
+ SearchOutline: 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<{}>>, {}>;
143
+ 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<{}>>, {}>;
144
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "comfirm"[], "comfirm", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
145
+ title: {
146
+ type: StringConstructor;
147
+ default: string;
148
+ };
149
+ mode: {
150
+ type: StringConstructor;
151
+ default: string;
152
+ };
153
+ options: {
154
+ type: PropType<AnyObject[]>;
155
+ };
156
+ disabledIds: {
157
+ type: PropType<string[]>;
158
+ default: () => never[];
159
+ };
160
+ defaultValue: {
161
+ type: PropType<AnyObject[]>;
162
+ default: () => never[];
163
+ };
164
+ }>> & {
165
+ onComfirm?: ((...args: any[]) => any) | undefined;
166
+ }, {
167
+ defaultValue: AnyObject[];
168
+ mode: string;
169
+ title: string;
170
+ disabledIds: string[];
171
+ }>;
52
172
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
53
173
  type: {
54
174
  type: StringConstructor;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as o,watch as a,openBlock as s,createBlock as i,unref as n,withCtx as r,withDirectives as l,createElementVNode as c,createVNode as m,createElementBlock as p,Fragment as d,renderList as u,toDisplayString as f,vShow as h,normalizeStyle as y,createCommentVNode as g,createTextVNode as v}from"vue";import{NModal as w,NImageGroup as b,NImage as k,NInput as M,NIcon as T,NTooltip as _}from"naive-ui";import{SearchOutline as I,DownloadOutline as S}from"@vicons/ionicons5";import{searchChatRecordApi as x}from"../api/index.js";import{useTheme as j}from"../../../../shared/hooks/useTheme.js";import{useDebounceFn as A}from"@vueuse/core";import{format as H,isSameWeek as D,isSameMonth as C}from"date-fns";import{last as O}from"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{useScrollLoading as z}from"../../../../shared/hooks/useScrollLoading.js";import{useState as L}from"../hooks/useState.js";import{getFileSize as U,downloadFile as E}from"../utils/index.js";import"trtc-sdk-v5";const $={class:"label"},F={class:"image-box"},P={class:"file-type"},R={class:"text"},B={class:"name"},G={class:"detail"},N={class:"opt-box"};var q=e({__name:"ChatFile",props:{type:{type:String,default:"image"},visible:{type:Boolean}},setup(e){const q=e,J=j(),{state:K}=L(),Q=t([]),V=t([]),W=t(),X=t(),Y=t(),Z=A(oe,500),ee={page:0,hasMore:!0,lastSendTime:H(new Date,"yyyy-MM-dd HH:mm:ss")};async function te(){var e;try{if(!ee.hasMore)return;ee.page++;const t=await x({orgId:K.orgId,keyword:Y.value,endTime:"",startTime:"",lastSendTime:ee.lastSendTime,memberIdSet:[],page:ee.page,recordType:"image"===q.type?"IMAGE":"FILE",receiver:K.currentSessionItem.receiver,userId:K.userInfo.id});Array.isArray(t)&&0!==t.length&&Array.isArray(t[0].recordList)||(ee.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了"));let o=t||[];if(Array.isArray(t)&&t.length>0&&(o=t[0].recordList),ee.lastSendTime=null==(e=O(o))?void 0:e.sendTime,"image"===q.type){const e=function(e){const t={};e.forEach((e=>{const o=new Date(e.sendTime);let a=H(o,"yyyy年MM月");D(o,new Date)?a="本周":C(o,new Date)&&(a="本月"),t[a]||(t[a]=[]),t[a].push(e.content.msg)}));return Object.entries(t).map((([e,t])=>({label:e,list:t})))}(o);Q.value=ee.page>1?Q.value.concat(e):e}else{const e=o.map((e=>new Promise((async t=>{const o=await U(e.content.fileUrl);t({...e,size:o})})))),t=await Promise.all(e);V.value=ee.page>1?V.value.concat(t):t}}catch(e){console.log(e)}}function oe(){Object.assign(ee,{page:0,hasMore:!0,lastSendTime:H(new Date,"yyyy-MM-dd HH:mm:ss")}),te()}z(W,(()=>{te()})),z(X,(()=>{te()}));const ae=o((()=>"image"===q.type?"聊天图片":"聊天文件"));function se(e){const{size:t,sendTime:o,senderName:a}=e;return`${t} · ${H(new Date(o),"yyyy/MM/dd HH:mm")} ${a}`}function ie(e){var t;const o=(null==(t=e.content)?void 0:t.msg)||"",a=o.lastIndexOf(".");if(-1!==a){return o.charAt(a+1).toUpperCase()}return"?"}return a((()=>q.visible),(e=>{e?oe():Y.value=""})),(t,o)=>(s(),i(n(w),{preset:"dialog",title:n(ae),"show-icon":!1,"auto-focus":!1,class:"iho-chat-dialog"},{default:r((()=>[l(c("div",{class:"iho-chat-dialog__content iho-chat-image-wrapper",ref_key:"imageRef",ref:W},[m(n(b),{"show-toolbar-tooltip":""},{default:r((()=>[(s(!0),p(d,null,u(Q.value,(e=>(s(),p("div",{class:"image-item",key:e.label},[c("span",$,f(e.label),1),c("div",F,[(s(!0),p(d,null,u(e.list,(e=>(s(),i(n(k),{key:e,width:"80",height:"80",src:e},null,8,["src"])))),128))])])))),128))])),_:1})],512),[[h,"image"===e.type]]),l(c("div",{class:"iho-chat-dialog__content iho-chat-file-wrapper",style:y(n(J))},[m(n(M),{clearable:"",placeholder:"搜索文件",value:Y.value,"onUpdate:value":o[0]||(o[0]=e=>Y.value=e),valueModifiers:{trim:!0},onInput:n(Z)},{prefix:r((()=>[m(n(T),{component:n(I)},null,8,["component"])])),_:1},8,["value","onInput"]),c("div",{class:"file-list-box",ref_key:"fileRef",ref:X},[(s(!0),p(d,null,u(V.value,((e,t)=>(s(),p("div",{class:"file-item",key:t},[c("span",P,f(ie(e)),1),c("div",R,[c("span",B,f(e.content.msg),1),c("span",G,f(se(e)),1)]),c("div",N,[g(' <n-tooltip :show-arrow="false">\n\t\t\t\t\t\t\t<template #trigger>\n\t\t\t\t\t\t\t\t<n-icon :size="16" :component="OpenOutline" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t转发\n\t\t\t\t\t\t</n-tooltip> '),m(n(_),{"show-arrow":!1},{trigger:r((()=>[m(n(T),{size:16,component:n(S),onClick:()=>n(E)(e.content.fileUr,e.content.msg)},null,8,["component","onClick"])])),default:r((()=>[v(" 下载 ")])),_:2},1024)])])))),128))],512)],4),[[h,"image"!==e.type]])])),_:1},8,["title"]))}});export{q as default};
1
+ import{defineComponent as e,ref as t,computed as a,watch as o,openBlock as s,createBlock as r,unref as i,withCtx as n,withDirectives as l,createElementVNode as c,createVNode as m,createElementBlock as d,Fragment as p,renderList as u,toDisplayString as f,vShow as h,normalizeStyle as y,createTextVNode as g}from"vue";import{NModal as v,NImageGroup as w,NImage as k,NInput as M,NIcon as b,NTooltip as _}from"naive-ui";import{SearchOutline as I,OpenOutline as T,DownloadOutline as S}from"@vicons/ionicons5";import{searchChatRecordApi as j}from"../api/index.js";import{useTheme as x}from"../../../../shared/hooks/useTheme.js";import{useDebounceFn as A}from"@vueuse/core";import{format as C,isSameWeek as H,isSameMonth as D}from"date-fns";import{last as z}from"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{useScrollLoading as L}from"../../../../shared/hooks/useScrollLoading.js";import{useState as U}from"../hooks/useState.js";import{getFileSize as E,downloadFile as O}from"../utils/index.js";import"trtc-sdk-v5";import $ from"./ChatAdd.vue.js";const F={class:"label"},P={class:"image-box"},R={class:"file-type"},B={class:"text"},G={class:"name"},N={class:"detail"},q={class:"opt-box"};var J=e({__name:"ChatFile",props:{type:{type:String,default:"image"},visible:{type:Boolean}},setup(e){const J=e,K=x(),{state:Q,relayMessage:V}=U(),W=t([]),X=t([]),Y=t(),Z=t(),ee=t(),te=A(se,500),ae={page:0,hasMore:!0,lastSendTime:C(new Date,"yyyy-MM-dd HH:mm:ss")};async function oe(){var e;try{if(!ae.hasMore)return;ae.page++;const t=await j({orgId:Q.orgId,keyword:ee.value,endTime:"",startTime:"",lastSendTime:ae.lastSendTime,memberIdSet:[],page:ae.page,recordType:"image"===J.type?"IMAGE":"FILE",receiver:Q.currentSessionItem.receiver,userId:Q.userInfo.id});Array.isArray(t)&&0!==t.length&&Array.isArray(t[0].recordList)||(ae.hasMore=!1);let a=t||[];if(Array.isArray(t)&&t.length>0&&(a=t[0].recordList),ae.lastSendTime=null==(e=z(a))?void 0:e.sendTime,"image"===J.type){const e=function(e){const t={};e.forEach((e=>{const a=new Date(e.sendTime);let o=C(a,"yyyy年MM月");H(a,new Date)?o="本周":D(a,new Date)&&(o="本月"),t[o]||(t[o]=[]),t[o].push(e.content.msg)}));return Object.entries(t).map((([e,t])=>({label:e,list:t})))}(a);W.value=ae.page>1?W.value.concat(e):e}else{const e=a.map((e=>new Promise((async t=>{const a=await E(e.content.fileUrl);t({...e,size:a})})))),t=await Promise.all(e);X.value=ae.page>1?X.value.concat(t):t}}catch(e){}}function se(){Object.assign(ae,{page:0,hasMore:!0,lastSendTime:C(new Date,"yyyy-MM-dd HH:mm:ss")}),oe()}L(Y,(()=>{oe()})),L(Z,(()=>{oe()}));const re=a((()=>"image"===J.type?"聊天图片":"聊天文件"));function ie(e){const{size:t,sendTime:a,senderName:o}=e;return`${t} · ${C(new Date(a),"yyyy/MM/dd HH:mm")} ${o}`}function ne(e){var t;const a=(null==(t=e.content)?void 0:t.msg)||"",o=a.lastIndexOf(".");if(-1!==o){return a.charAt(o+1).toUpperCase()}return"?"}return o((()=>J.visible),(e=>{e?se():ee.value=""})),(t,a)=>(s(),r(i(v),{preset:"dialog",title:i(re),"show-icon":!1,"auto-focus":!1,"trap-focus":!1,class:"iho-chat-dialog"},{default:n((()=>[l(c("div",{class:"iho-chat-dialog__content iho-chat-image-wrapper",ref_key:"imageRef",ref:Y},[m(i(w),{"show-toolbar-tooltip":""},{default:n((()=>[(s(!0),d(p,null,u(W.value,(e=>(s(),d("div",{class:"image-item",key:e.label},[c("span",F,f(e.label),1),c("div",P,[(s(!0),d(p,null,u(e.list,(e=>(s(),r(i(k),{key:e,width:"80",height:"80",src:e},null,8,["src"])))),128))])])))),128))])),_:1})],512),[[h,"image"===e.type]]),l(c("div",{class:"iho-chat-dialog__content iho-chat-file-wrapper",style:y(i(K))},[m(i(M),{clearable:"",placeholder:"搜索文件",value:ee.value,"onUpdate:value":a[0]||(a[0]=e=>ee.value=e),valueModifiers:{trim:!0},onInput:i(te)},{prefix:n((()=>[m(i(b),{component:i(I)},null,8,["component"])])),_:1},8,["value","onInput"]),c("div",{class:"file-list-box",ref_key:"fileRef",ref:Z},[(s(!0),d(p,null,u(X.value,((e,t)=>(s(),d("div",{class:"file-item",key:t},[c("span",R,f(ne(e)),1),c("div",B,[c("span",G,f(e.content.msg),1),c("span",N,f(ie(e)),1)]),c("div",q,[m($,{title:"转发消息",mode:"relay",onComfirm:(t,a)=>i(V)({content:e.content,checkedIds:t,remark:a})},{trigger:n((()=>[m(i(_),{"show-arrow":!1},{trigger:n((()=>[m(i(b),{size:16,component:i(T)},null,8,["component"])])),default:n((()=>[g(" 转发 ")])),_:1})])),_:2},1032,["onComfirm"]),m(i(_),{"show-arrow":!1},{trigger:n((()=>[m(i(b),{size:16,component:i(S),onClick:()=>i(O)(e.content.fileUr,e.content.msg)},null,8,["component","onClick"])])),default:n((()=>[g(" 下载 ")])),_:2},1024)])])))),128))],512)],4),[[h,"image"!==e.type]])])),_:1},8,["title"]))}});export{J as default};
@@ -29,6 +29,7 @@ declare const _default: import("vue").DefineComponent<{}, {
29
29
  fileChange: (options: FileOptions, chatMessageType: MESSAGE_TYPE) => Promise<void>;
30
30
  handleMsgSend: () => Promise<void>;
31
31
  doSendMessage: (contentInfo: AnyObject) => Promise<void>;
32
+ clearInput: () => void;
32
33
  NButton: any;
33
34
  NPopover: any;
34
35
  NTooltip: any;
@@ -53,6 +54,7 @@ declare const _default: import("vue").DefineComponent<{}, {
53
54
  };
54
55
  defaultValue: {
55
56
  type: import("vue").PropType<AnyObject[]>;
57
+ default: () => never[];
56
58
  };
57
59
  }, {
58
60
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
@@ -73,6 +75,7 @@ declare const _default: import("vue").DefineComponent<{}, {
73
75
  };
74
76
  defaultValue: {
75
77
  type: import("vue").PropType<AnyObject[]>;
78
+ default: () => never[];
76
79
  };
77
80
  }>> & {
78
81
  onComfirm?: ((...args: any[]) => any) | undefined;
@@ -87,6 +90,7 @@ declare const _default: import("vue").DefineComponent<{}, {
87
90
  options: Ref<AnyObject[]>;
88
91
  groupName: Ref<string>;
89
92
  checkedSourceIds: Ref<(string | number)[]>;
93
+ remark: Ref<string>;
90
94
  userList: Ref<AnyObject[]>;
91
95
  handleInput: () => void;
92
96
  _disabledIds: import("vue").ComputedRef<any[]>;
@@ -135,10 +139,12 @@ declare const _default: import("vue").DefineComponent<{}, {
135
139
  };
136
140
  defaultValue: {
137
141
  type: import("vue").PropType<AnyObject[]>;
142
+ default: () => never[];
138
143
  };
139
144
  }>> & {
140
145
  onComfirm?: ((...args: any[]) => any) | undefined;
141
146
  }, {
147
+ defaultValue: AnyObject[];
142
148
  mode: string;
143
149
  title: string;
144
150
  disabledIds: string[];
@@ -1 +1 @@
1
- import{defineComponent as e,ref as n,computed as t,watch as o,withDirectives as r,openBlock as s,createElementBlock as i,normalizeStyle as a,unref as c,createElementVNode as l,toDisplayString as u,createVNode as f,createCommentVNode as d,withCtx as m,Fragment as g,renderList as p,createBlock as h,createTextVNode as y,mergeProps as v,vShow as w}from"vue";import{NIcon as M,NTooltip as _,NPopover as k,NButton as C,NUpload as E,NUploadTrigger as I}from"naive-ui";import T from"./ChatAdd.vue.js";import{useState as b}from"../hooks/useState.js";import{useSession as x}from"../hooks/useSession.js";import{MESSAGE_TYPE as j,AV_STATUS as z}from"../constants/index.js";import"trtc-sdk-v5";import{simplifyMessage as L,base64ToFile as O}from"../utils/index.js";import{emojis as q}from"../utils/emoji.js";import{uploadFileApi as R}from"../api/index.js";import{CloseCircleOutline as D,CallOutline as A,VideocamOutline as V}from"@vicons/ionicons5";import{xor as H,uniq as J,trim as K,cloneDeep as F}from"lodash-es";import{uuidGenerator as U}from"../../../../shared/utils/index.js";import{useStorage as $}from"@vueuse/core";const G={key:0,class:"reference-content-box"},N={class:"reference-content"},B=["innerHTML"],S={class:"tool-box"},X=l("i",{class:"chat--iconfont chat--icon-face"},null,-1),P=l("span",null,"最近使用",-1),Q={class:"list-box",style:{"margin-bottom":"8px"}},W=["src"],Y=l("span",null,"默认表情",-1),Z={class:"list-box"},ee=["src"],ne=l("i",{class:"chat--iconfont chat--icon-good"},null,-1),te=l("i",{class:"chat--iconfont chat--icon-image"},null,-1),oe=l("i",{class:"chat--iconfont chat--icon-folder"},null,-1),re={class:"btn-box"},se=l("span",{class:"tip"},"Enter 发送, Ctrl + Enter 换行",-1);var ie=e({__name:"ChatFooter",setup(e){const ie=n(),{state:ae,sendMessage:ce}=b(),{isGroupChat:le}=x(ae),ue=n(!1),fe=n(""),de=$("commonEmoticons",[]),me=t((()=>({options:ae.currentGroupUser,defaultValue:[ae.userInfo]}))),ge=t((()=>!fe.value.replace(/(&nbsp;|\s|<br>)+/g,"")));function pe(e,n=[]){const t=U(),o=[],r=n.length>0;ae.showVideo||ae.showMultipleVideo||(r?(o.push(...H(n,[ae.userInfo.id])),Object.assign(ae.currentAVMsg,{callMode:"call",checkedIds:o,strRoomId:t,chatMessageType:e}),ae.showMultipleVideo=!0):ce({content:{chatMessageType:e,msg:"",avStatus:z.IN_CALL}}))}function he(e){["Enter"].includes(e.key)&&(e.ctrlKey&&(e.preventDefault(),document.execCommand("InsertLineBreak")),function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)||(e.preventDefault(),Me()))}function ye(){var e;fe.value=(null==(e=ie.value)?void 0:e.innerHTML)||""}async function ve(e){const n=new FormData;return n.append("sender",ae.userInfo.id),n.append("file",e),await R(n)}async function we(e,n){const{file:t,name:o}=e.file,r=await ve(t);if(!r)return console.log("上传失败");_e({chatMessageType:n,msg:n===j.FILE?o:r,url:r})}async function Me(){const{innerHTML:e="",innerText:n="",outerText:t=""}=ie.value||{};if(ge.value)return console.log("请输入内容");let o=j.TEXT,r="";if(e){const t=e.match(/<img[^>]*>/gi),s=(t||[]).length;if(n&&0===s)r=n;else if(n||1!==s){if(o=j.BLEND,r=e,null==t?void 0:t.length)for(let e=0;e<s;e++)if(t[e].includes(`data-type="${j.EMOJI}"`)){const n=t[e].match(/data-msg="(.*?)"/);n&&n.length>1&&(r=r.replace(t[e],`[${n[1]}]`))}else{const n=t[e].match(/src\s*=\s*"([^"]*)"/);if(n&&n.length>1){const e=O(n[1]);if(e){const t=await ve(e);r=r.replace(n[1],t||"")}}}}else if(e.includes(j.EMOJI)){o=j.EMOJI;const n=e.match(/data-msg\s*=\s*"([^"]*)"/);n&&(r=n[1])}else{o=j.IMAGE;const n=e.match(/src\s*=\s*"([^"]*)"/);if(n){const e=O(n[1]);if(e){const n=await ve(e);n&&(r=n)}}}}else r=K(n);r&&_e({msg:r,chatMessageType:o,origin:"btn"})}async function _e(e){const{chatMessageType:n=j.TEXT,msg:t,url:o,origin:r=""}=e,s={msg:t,chatMessageType:n};n===j.FILE&&(s.fileUrl=o),"btn"===r&&(ie.value.innerHTML="",fe.value=""),ae.currentReferenceMsg&&([j.TEXT,j.EMOJI,j.BLEND].includes(n)&&(s.referenceContent=F(ae.currentReferenceMsg)),ae.currentReferenceMsg=null),ce({content:s})}return o((()=>ae.currentReferenceMsg),(e=>{var n;e&&(null==(n=ie.value)||n.focus())})),(e,n)=>r((s(),i("section",{class:"chat-footer",style:a({cursor:c(ae).id?"default":"not-allowed"})},[c(ae).currentReferenceMsg?(s(),i("div",G,[l("div",N,[l("span",null,u(c(ae).currentReferenceMsg.senderName)+":",1),l("pre",{innerHTML:c(L)(c(ae).currentReferenceMsg.content)},null,8,B)]),f(c(M),{component:c(D),onClick:n[0]||(n[0]=()=>c(ae).currentReferenceMsg=null)},null,8,["component"])])):d("v-if",!0),l("div",S,[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(k),{"content-class":"emoji-content",class:"emoji-wrapper",show:ue.value,"onUpdate:show":n[1]||(n[1]=e=>ue.value=e),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:m((()=>[f(c(C),{quaternary:"",size:"tiny"},{icon:m((()=>[X])),_:1})])),default:m((()=>[c(de).length>0?(s(),i(g,{key:0},[P,l("div",Q,[(s(!0),i(g,null,p(c(de),(e=>(s(),h(c(_),{key:e,"show-arrow":!1},{trigger:m((()=>[f(c(C),{quaternary:"",size:"tiny"},{icon:m((()=>[l("img",{src:c(q).findEmoji(e)},null,8,W)])),_:2},1024)])),default:m((()=>[y(" "+u(e),1)])),_:2},1024)))),128))])],64)):d("v-if",!0),Y,l("div",Z,[(s(!0),i(g,null,p(c(q).default,(([e,n])=>(s(),h(c(_),{key:e,"show-arrow":!1},{trigger:m((()=>[f(c(C),{quaternary:"",size:"tiny",onClick:()=>function(e){var n;de.value.unshift(e),de.value=J(de.value).slice(0,26),null==(n=ie.value)||n.focus(),document.execCommand("insertHTML",!1,`<img data-msg=${e} data-type=${j.EMOJI} class="emoji--min" src=${q.findEmoji(e)} />`)}(e)},{icon:m((()=>[l("img",{src:n},null,8,ee)])),_:2},1032,["onClick"])])),default:m((()=>[y(" "+u(e),1)])),_:2},1024)))),128))])])),_:1},8,["show"])])),default:m((()=>[y(" 表情 ")])),_:1}),f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(C),{quaternary:"",size:"tiny",onClick:n[2]||(n[2]=()=>_e({chatMessageType:c(j).EMOJI,msg:0}))},{icon:m((()=>[ne])),_:1})])),default:m((()=>[y(" 点赞 ")])),_:1}),f(c(E),{abstract:"",multiple:"",accept:"image/*",onChange:n[3]||(n[3]=e=>we(e,c(j).IMAGE))},{default:m((()=>[f(c(I),{abstract:""},{default:m((({handleClick:e})=>[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(C),{quaternary:"",size:"tiny",onClick:e},{icon:m((()=>[te])),_:2},1032,["onClick"])])),default:m((()=>[y(" 上传图片 ")])),_:2},1024)])),_:1})])),_:1}),f(c(E),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:n[4]||(n[4]=e=>we(e,c(j).FILE))},{default:m((()=>[f(c(I),{abstract:""},{default:m((({handleClick:e})=>[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(C),{quaternary:"",size:"tiny",onClick:e},{icon:m((()=>[oe])),_:2},1032,["onClick"])])),default:m((()=>[y(" 上传文件 ")])),_:2},1024)])),_:1})])),_:1}),c(le)?(s(),i(g,{key:0},[f(T,v(c(me),{onComfirm:n[5]||(n[5]=e=>pe(c(j).AUDIO,e))}),{trigger:m((()=>[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(C),{quaternary:"",size:"tiny"},{icon:m((()=>[f(c(M),{size:"18",component:c(A)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 语音通话 ")])),_:1})])),_:1},16),f(T,v(c(me),{onComfirm:n[6]||(n[6]=e=>pe(c(j).VIDEO,e))}),{trigger:m((()=>[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(C),{quaternary:"",size:"tiny"},{icon:m((()=>[f(c(M),{size:"20",component:c(V)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 视频会议 ")])),_:1})])),_:1},16)],64)):(s(),i(g,{key:1},[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(C),{quaternary:"",size:"tiny",onClick:n[7]||(n[7]=()=>pe(c(j).AUDIO))},{icon:m((()=>[f(c(M),{size:"18",component:c(A)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 语音通话 ")])),_:1}),f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(C),{quaternary:"",size:"tiny",onClick:n[8]||(n[8]=()=>pe(c(j).VIDEO))},{icon:m((()=>[f(c(M),{size:"20",component:c(V)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 视频通话 ")])),_:1})],64))]),r(l("div",{ref_key:"inputRef",ref:ie,class:"input-box",contenteditable:"",onKeydown:he,onInput:ye},null,544),[[w,c(ae).id]]),l("div",re,[se,f(c(C),{type:"primary",round:"",disabled:c(ge),onClick:Me},{default:m((()=>[y("发送")])),_:1},8,["disabled"])])],4)),[[w,c(ae).id]])}});export{ie as default};
1
+ import{defineComponent as e,ref as n,computed as t,watch as o,withDirectives as s,openBlock as i,createElementBlock as r,normalizeStyle as a,unref as c,createElementVNode as l,toDisplayString as u,createVNode as f,createCommentVNode as d,withCtx as m,Fragment as g,renderList as p,createBlock as h,createTextVNode as y,mergeProps as v,vShow as M}from"vue";import{NIcon as w,NTooltip as _,NPopover as k,NButton as E,NUpload as C,NUploadTrigger as T}from"naive-ui";import I from"./ChatAdd.vue.js";import{useState as x}from"../hooks/useState.js";import{useSession as b}from"../hooks/useSession.js";import{MESSAGE_TYPE as j,AV_STATUS as z}from"../constants/index.js";import"trtc-sdk-v5";import{simplifyMessage as L,base64ToFile as O}from"../utils/index.js";import{emojis as R}from"../utils/emoji.js";import{uploadFileApi as q}from"../api/index.js";import{CloseCircleOutline as D,CallOutline as $,VideocamOutline as A}from"@vicons/ionicons5";import{xor as H,uniq as J,trim as V,cloneDeep as K}from"lodash-es";import{uuidGenerator as F}from"../../../../shared/utils/index.js";import{useStorage as U}from"@vueuse/core";const G={key:0,class:"reference-content-box"},N={class:"reference-content"},X=["innerHTML"],B={class:"tool-box"},S=l("i",{class:"chat--iconfont chat--icon-face"},null,-1),P=l("span",null,"最近使用",-1),Q={class:"list-box",style:{"margin-bottom":"8px"}},W=["src"],Y=l("span",null,"默认表情",-1),Z={class:"list-box"},ee=["src"],ne=l("i",{class:"chat--iconfont chat--icon-good"},null,-1),te=l("i",{class:"chat--iconfont chat--icon-image"},null,-1),oe=l("i",{class:"chat--iconfont chat--icon-folder"},null,-1),se={class:"btn-box"},ie=l("span",{class:"tip"},"Enter 发送, Ctrl + Enter 换行",-1);var re=e({__name:"ChatFooter",setup(e){const re=n(),{state:ae,sendMessage:ce}=x(),{isGroupChat:le}=b(ae),ue=n(!1),fe=n(""),de=U("commonEmoticons",[]),me=t((()=>({options:ae.currentGroupUser,defaultValue:[ae.userInfo]}))),ge=t((()=>!fe.value.replace(/(&nbsp;|\s|<br>)+/g,"")));function pe(e,n=[]){const t=F(),o=[],s=n.length>0;ae.showVideo||ae.showMultipleVideo||(s?(o.push(...H(n,[ae.userInfo.id])),Object.assign(ae.currentAVMsg,{callMode:"call",checkedIds:o,strRoomId:t,chatMessageType:e}),ae.showMultipleVideo=!0):ce({content:{chatMessageType:e,msg:"",avStatus:z.IN_CALL}}))}function he(e){["Enter"].includes(e.key)&&(e.ctrlKey&&(e.preventDefault(),document.execCommand("InsertLineBreak")),function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)||(e.preventDefault(),_e()))}function ye(){var e;fe.value=(null==(e=re.value)?void 0:e.innerHTML)||""}function ve(e){var n;de.value.unshift(e),de.value=J(de.value).slice(0,26),null==(n=re.value)||n.focus(),document.execCommand("insertHTML",!1,`<img data-msg=${e} data-type=${j.EMOJI} class="emoji--min" src=${R.findEmoji(e)} />`)}async function Me(e){const n=new FormData;return n.append("sender",ae.userInfo.id),n.append("file",e),await q(n)}async function we(e,n){const{file:t,name:o}=e.file,s=await Me(t);if(!s)return console.log("上传失败");ke({chatMessageType:n,msg:n===j.FILE?o:s,url:s})}async function _e(){const{innerHTML:e="",innerText:n="",outerText:t=""}=re.value||{};if(ge.value)return console.log("请输入内容");let o=j.TEXT,s="";if(e){const t=e.match(/<img[^>]*>/gi),i=(t||[]).length;if(n&&0===i)s=n;else if(n||1!==i){if(o=j.BLEND,s=e,null==t?void 0:t.length)for(let e=0;e<i;e++)if(t[e].includes(`data-type="${j.EMOJI}"`)){const n=t[e].match(/data-msg="(.*?)"/);n&&n.length>1&&(s=s.replace(t[e],`[${n[1]}]`))}else{const n=t[e].match(/src\s*=\s*"([^"]*)"/);if(n&&n.length>1){const e=O(n[1]);if(e){const t=await Me(e);s=s.replace(n[1],t||"")}}}}else if(e.includes(j.EMOJI)){o=j.EMOJI;const n=e.match(/data-msg\s*=\s*"([^"]*)"/);n&&(s=n[1])}else{o=j.IMAGE;const n=e.match(/src\s*=\s*"([^"]*)"/);if(n){const e=O(n[1]);if(e){const n=await Me(e);n&&(s=n)}}}}else s=V(n);s&&ke({msg:s,chatMessageType:o,origin:"btn"})}async function ke(e){const{chatMessageType:n=j.TEXT,msg:t,url:o,origin:s=""}=e,i={msg:t,chatMessageType:n};n===j.FILE&&(i.fileUrl=o),"btn"===s&&Ee(),ae.currentReferenceMsg&&([j.TEXT,j.EMOJI,j.BLEND].includes(n)&&(i.referenceContent=K(ae.currentReferenceMsg)),ae.currentReferenceMsg=null),ce({content:i})}function Ee(){re.value.innerHTML="",fe.value=""}return o((()=>[ae.currentReferenceMsg,ae.currentReEditMsg]),(([e,n])=>{var t;if((e||n)&&(null==(t=re.value)||t.focus()),n){const{chatMessageType:e,msg:t}=n.content||{},o=e===j.TEXT?t:`<img data-msg=${t} data-type=${j.EMOJI} class="emoji--min" src=${R.findEmoji(t)} />`;document.execCommand("insertHTML",!1,o),ae.currentReEditMsg=null}})),o((()=>ae.id),(e=>{e&&Ee()})),(e,n)=>s((i(),r("section",{class:"chat-footer",style:a({cursor:c(ae).id?"default":"not-allowed"})},[c(ae).currentReferenceMsg?(i(),r("div",G,[l("div",N,[l("span",null,u(c(ae).currentReferenceMsg.senderName)+":",1),l("pre",{innerHTML:c(L)(c(ae).currentReferenceMsg.content)},null,8,X)]),f(c(w),{component:c(D),onClick:n[0]||(n[0]=()=>c(ae).currentReferenceMsg=null)},null,8,["component"])])):d("v-if",!0),l("div",B,[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(k),{"content-class":"emoji-content",class:"emoji-wrapper",show:ue.value,"onUpdate:show":n[1]||(n[1]=e=>ue.value=e),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:m((()=>[f(c(E),{quaternary:"",size:"tiny"},{icon:m((()=>[S])),_:1})])),default:m((()=>[c(de).length>0?(i(),r(g,{key:0},[P,l("div",Q,[(i(!0),r(g,null,p(c(de),(e=>(i(),h(c(_),{key:e,"show-arrow":!1},{trigger:m((()=>[f(c(E),{quaternary:"",size:"tiny",onClick:()=>ve(e)},{icon:m((()=>[l("img",{src:c(R).findEmoji(e)},null,8,W)])),_:2},1032,["onClick"])])),default:m((()=>[y(" "+u(e),1)])),_:2},1024)))),128))])],64)):d("v-if",!0),Y,l("div",Z,[(i(!0),r(g,null,p(c(R).default,(([e,n])=>(i(),h(c(_),{key:e,"show-arrow":!1},{trigger:m((()=>[f(c(E),{quaternary:"",size:"tiny",onClick:()=>ve(e)},{icon:m((()=>[l("img",{src:n},null,8,ee)])),_:2},1032,["onClick"])])),default:m((()=>[y(" "+u(e),1)])),_:2},1024)))),128))])])),_:1},8,["show"])])),default:m((()=>[y(" 表情 ")])),_:1}),f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(E),{quaternary:"",size:"tiny",onClick:n[2]||(n[2]=()=>ke({chatMessageType:c(j).EMOJI,msg:0}))},{icon:m((()=>[ne])),_:1})])),default:m((()=>[y(" 点赞 ")])),_:1}),f(c(C),{abstract:"",multiple:"",accept:"image/*",onChange:n[3]||(n[3]=e=>we(e,c(j).IMAGE))},{default:m((()=>[f(c(T),{abstract:""},{default:m((({handleClick:e})=>[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(E),{quaternary:"",size:"tiny",onClick:e},{icon:m((()=>[te])),_:2},1032,["onClick"])])),default:m((()=>[y(" 上传图片 ")])),_:2},1024)])),_:1})])),_:1}),f(c(C),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:n[4]||(n[4]=e=>we(e,c(j).FILE))},{default:m((()=>[f(c(T),{abstract:""},{default:m((({handleClick:e})=>[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(E),{quaternary:"",size:"tiny",onClick:e},{icon:m((()=>[oe])),_:2},1032,["onClick"])])),default:m((()=>[y(" 上传文件 ")])),_:2},1024)])),_:1})])),_:1}),c(le)?(i(),r(g,{key:0},[f(I,v(c(me),{onComfirm:n[5]||(n[5]=e=>pe(c(j).AUDIO,e))}),{trigger:m((()=>[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(E),{quaternary:"",size:"tiny"},{icon:m((()=>[f(c(w),{size:"18",component:c($)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 语音通话 ")])),_:1})])),_:1},16),f(I,v(c(me),{onComfirm:n[6]||(n[6]=e=>pe(c(j).VIDEO,e))}),{trigger:m((()=>[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(E),{quaternary:"",size:"tiny"},{icon:m((()=>[f(c(w),{size:"20",component:c(A)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 视频会议 ")])),_:1})])),_:1},16)],64)):(i(),r(g,{key:1},[f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(E),{quaternary:"",size:"tiny",onClick:n[7]||(n[7]=()=>pe(c(j).AUDIO))},{icon:m((()=>[f(c(w),{size:"18",component:c($)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 语音通话 ")])),_:1}),f(c(_),{"show-arrow":!1},{trigger:m((()=>[f(c(E),{quaternary:"",size:"tiny",onClick:n[8]||(n[8]=()=>pe(c(j).VIDEO))},{icon:m((()=>[f(c(w),{size:"20",component:c(A)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 视频通话 ")])),_:1})],64))]),s(l("div",{ref_key:"inputRef",ref:re,class:"input-box",contenteditable:"",onKeydown:he,onInput:ye},null,544),[[M,c(ae).id]]),l("div",se,[ie,f(c(E),{type:"primary",round:"",disabled:c(ge),onClick:_e},{default:m((()=>[y("发送")])),_:1},8,["disabled"])])],4)),[[M,c(ae).id]])}});export{re as default};
@@ -209,6 +209,7 @@ declare const _default: import("vue").DefineComponent<{}, {
209
209
  };
210
210
  defaultValue: {
211
211
  type: import("vue").PropType<AnyObject[]>;
212
+ default: () => never[];
212
213
  };
213
214
  }, {
214
215
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
@@ -229,6 +230,7 @@ declare const _default: import("vue").DefineComponent<{}, {
229
230
  };
230
231
  defaultValue: {
231
232
  type: import("vue").PropType<AnyObject[]>;
233
+ default: () => never[];
232
234
  };
233
235
  }>> & {
234
236
  onComfirm?: ((...args: any[]) => any) | undefined;
@@ -243,6 +245,7 @@ declare const _default: import("vue").DefineComponent<{}, {
243
245
  options: import("vue").Ref<AnyObject[]>;
244
246
  groupName: import("vue").Ref<string>;
245
247
  checkedSourceIds: import("vue").Ref<(string | number)[]>;
248
+ remark: import("vue").Ref<string>;
246
249
  userList: import("vue").Ref<AnyObject[]>;
247
250
  handleInput: () => void;
248
251
  _disabledIds: import("vue").ComputedRef<any[]>;
@@ -291,10 +294,12 @@ declare const _default: import("vue").DefineComponent<{}, {
291
294
  };
292
295
  defaultValue: {
293
296
  type: import("vue").PropType<AnyObject[]>;
297
+ default: () => never[];
294
298
  };
295
299
  }>> & {
296
300
  onComfirm?: ((...args: any[]) => any) | undefined;
297
301
  }, {
302
+ defaultValue: AnyObject[];
298
303
  mode: string;
299
304
  title: string;
300
305
  disabledIds: string[];
@@ -320,6 +325,11 @@ declare const _default: import("vue").DefineComponent<{}, {
320
325
  };
321
326
  }>> & {}>>;
322
327
  state: import("../types").IState;
328
+ relayMessage: (param: {
329
+ checkedIds: string[];
330
+ remark: string;
331
+ content: AnyObject;
332
+ }) => Promise<void>;
323
333
  imageList: import("vue").Ref<AnyObject[]>;
324
334
  fileList: import("vue").Ref<AnyObject[]>;
325
335
  imageRef: import("vue").Ref<any>;
@@ -334,7 +344,7 @@ declare const _default: import("vue").DefineComponent<{}, {
334
344
  handleSearch: () => Promise<void>;
335
345
  formatImageList: (data: AnyObject[]) => {
336
346
  label: string;
337
- list: unknown;
347
+ list: any;
338
348
  }[];
339
349
  resetAndSearch: () => void;
340
350
  title: import("vue").ComputedRef<"聊天图片" | "聊天文件">;
@@ -347,8 +357,122 @@ declare const _default: import("vue").DefineComponent<{}, {
347
357
  NIcon: any;
348
358
  NTooltip: any;
349
359
  SearchOutline: 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<{}>>, {}>;
360
+ OpenOutline: 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<{}>>, {}>;
350
361
  DownloadOutline: 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<{}>>, {}>;
351
362
  downloadFile: typeof import("../utils").downloadFile;
363
+ ChatAdd: import("vue").DefineComponent<{
364
+ title: {
365
+ type: StringConstructor;
366
+ default: string;
367
+ };
368
+ mode: {
369
+ type: StringConstructor;
370
+ default: string;
371
+ };
372
+ options: {
373
+ type: import("vue").PropType<AnyObject[]>;
374
+ };
375
+ disabledIds: {
376
+ type: import("vue").PropType<string[]>;
377
+ default: () => never[];
378
+ };
379
+ defaultValue: {
380
+ type: import("vue").PropType<AnyObject[]>;
381
+ default: () => never[];
382
+ };
383
+ }, {
384
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
385
+ title: {
386
+ type: StringConstructor;
387
+ default: string;
388
+ };
389
+ mode: {
390
+ type: StringConstructor;
391
+ default: string;
392
+ };
393
+ options: {
394
+ type: import("vue").PropType<AnyObject[]>;
395
+ };
396
+ disabledIds: {
397
+ type: import("vue").PropType<string[]>;
398
+ default: () => never[];
399
+ };
400
+ defaultValue: {
401
+ type: import("vue").PropType<AnyObject[]>;
402
+ default: () => never[];
403
+ };
404
+ }>> & {
405
+ onComfirm?: ((...args: any[]) => any) | undefined;
406
+ }>>;
407
+ emit: (event: "comfirm", ...args: any[]) => void;
408
+ state: import("../types").IState;
409
+ setCurrentSessionItem: (item: AnyObject) => void;
410
+ listRef: import("vue").Ref<any>;
411
+ keyword: import("vue").Ref<string>;
412
+ showModal: import("vue").Ref<boolean>;
413
+ checkedOptions: import("vue").Ref<AnyObject[]>;
414
+ options: import("vue").Ref<AnyObject[]>;
415
+ groupName: import("vue").Ref<string>;
416
+ checkedSourceIds: import("vue").Ref<(string | number)[]>;
417
+ remark: import("vue").Ref<string>;
418
+ userList: import("vue").Ref<AnyObject[]>;
419
+ handleInput: () => void;
420
+ _disabledIds: import("vue").ComputedRef<any[]>;
421
+ defaultOptions: import("vue").ComputedRef<{
422
+ id: any;
423
+ name: any;
424
+ avatar: any;
425
+ }[]>;
426
+ checkedIds: import("vue").ComputedRef<any[]>;
427
+ btnDisabled: import("vue").ComputedRef<boolean>;
428
+ allChecked: import("vue").WritableComputedRef<boolean>;
429
+ handlePositiveClick: () => Promise<void>;
430
+ updateCheckedSourceIds: () => void;
431
+ handleSourceIdsUpdate: (value: (string | number)[], meta: {
432
+ actionType: "check" | "uncheck";
433
+ value: string | number;
434
+ }) => void;
435
+ closeTag: (id: string) => void;
436
+ NModal: any;
437
+ NButton: any;
438
+ NSpace: any;
439
+ NAvatar: any;
440
+ NIcon: any;
441
+ NTag: any;
442
+ NInput: any;
443
+ NCheckbox: any;
444
+ NCheckboxGroup: any;
445
+ NTooltip: any;
446
+ SearchOutline: 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<{}>>, {}>;
447
+ 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<{}>>, {}>;
448
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "comfirm"[], "comfirm", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
449
+ title: {
450
+ type: StringConstructor;
451
+ default: string;
452
+ };
453
+ mode: {
454
+ type: StringConstructor;
455
+ default: string;
456
+ };
457
+ options: {
458
+ type: import("vue").PropType<AnyObject[]>;
459
+ };
460
+ disabledIds: {
461
+ type: import("vue").PropType<string[]>;
462
+ default: () => never[];
463
+ };
464
+ defaultValue: {
465
+ type: import("vue").PropType<AnyObject[]>;
466
+ default: () => never[];
467
+ };
468
+ }>> & {
469
+ onComfirm?: ((...args: any[]) => any) | undefined;
470
+ }, {
471
+ defaultValue: AnyObject[];
472
+ mode: string;
473
+ title: string;
474
+ disabledIds: string[];
475
+ }>;
352
476
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
353
477
  type: {
354
478
  type: StringConstructor;
@@ -525,6 +649,7 @@ declare const _default: import("vue").DefineComponent<{}, {
525
649
  };
526
650
  defaultValue: {
527
651
  type: import("vue").PropType<AnyObject[]>;
652
+ default: () => never[];
528
653
  };
529
654
  }, {
530
655
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
@@ -545,6 +670,7 @@ declare const _default: import("vue").DefineComponent<{}, {
545
670
  };
546
671
  defaultValue: {
547
672
  type: import("vue").PropType<AnyObject[]>;
673
+ default: () => never[];
548
674
  };
549
675
  }>> & {
550
676
  onComfirm?: ((...args: any[]) => any) | undefined;
@@ -559,6 +685,7 @@ declare const _default: import("vue").DefineComponent<{}, {
559
685
  options: import("vue").Ref<AnyObject[]>;
560
686
  groupName: import("vue").Ref<string>;
561
687
  checkedSourceIds: import("vue").Ref<(string | number)[]>;
688
+ remark: import("vue").Ref<string>;
562
689
  userList: import("vue").Ref<AnyObject[]>;
563
690
  handleInput: () => void;
564
691
  _disabledIds: import("vue").ComputedRef<any[]>;
@@ -607,10 +734,12 @@ declare const _default: import("vue").DefineComponent<{}, {
607
734
  };
608
735
  defaultValue: {
609
736
  type: import("vue").PropType<AnyObject[]>;
737
+ default: () => never[];
610
738
  };
611
739
  }>> & {
612
740
  onComfirm?: ((...args: any[]) => any) | undefined;
613
741
  }, {
742
+ defaultValue: AnyObject[];
614
743
  mode: string;
615
744
  title: string;
616
745
  disabledIds: string[];
@@ -7,12 +7,18 @@ declare const _default: import("vue").DefineComponent<{}, {
7
7
  chatMainRef: import("vue").Ref<HTMLElement | undefined>;
8
8
  state: import("../types").IState;
9
9
  setMsgList: (list?: AnyObject[]) => void;
10
+ relayMessage: (param: {
11
+ checkedIds: string[];
12
+ remark: string;
13
+ content: AnyObject;
14
+ }) => Promise<void>;
10
15
  setCurrentSessionItem: (item: AnyObject) => void;
11
16
  isGroupChat: import("vue").ComputedRef<boolean>;
12
17
  contextmenuRef: import("vue").Ref<any>;
13
18
  showMenu: import("vue").Ref<boolean>;
14
19
  menuPosition: any;
15
20
  menuMsgId: import("vue").Ref<any>;
21
+ relayTriggerRef: import("vue").Ref<any>;
16
22
  pageInfo: {
17
23
  page: number;
18
24
  hasMore: boolean;
@@ -29,6 +35,7 @@ declare const _default: import("vue").DefineComponent<{}, {
29
35
  handleContextmenu: (event: MouseEvent, msgId: string) => Promise<void>;
30
36
  setMenuPosition: (event: MouseEvent) => Promise<void>;
31
37
  showMessage: (item: AnyObject) => boolean;
38
+ showReEdit: (item: AnyObject) => boolean;
32
39
  showReferenceMsg: (item: AnyObject) => any;
33
40
  showBlendMsg: (item: AnyObject) => any;
34
41
  showTemplateMsg: (item: AnyObject, type: 'system' | 'template') => boolean | undefined;
@@ -38,6 +45,8 @@ declare const _default: import("vue").DefineComponent<{}, {
38
45
  resetInfo: () => void;
39
46
  setReferenceMsg: (msgItem: AnyObject) => void;
40
47
  handleSelect: (key: string, msgItem: AnyObject) => void;
48
+ handleRelay: (checkedIds: string[], remark: string) => void;
49
+ reEdit: (item: AnyObject) => void;
41
50
  NAvatar: any;
42
51
  NImageGroup: any;
43
52
  NImage: any;
@@ -222,6 +231,119 @@ declare const _default: import("vue").DefineComponent<{}, {
222
231
  }, {
223
232
  show: boolean;
224
233
  }>;
234
+ ChatAdd: import("vue").DefineComponent<{
235
+ title: {
236
+ type: StringConstructor;
237
+ default: string;
238
+ };
239
+ mode: {
240
+ type: StringConstructor;
241
+ default: string;
242
+ };
243
+ options: {
244
+ type: import("vue").PropType<AnyObject[]>;
245
+ };
246
+ disabledIds: {
247
+ type: import("vue").PropType<string[]>;
248
+ default: () => never[];
249
+ };
250
+ defaultValue: {
251
+ type: import("vue").PropType<AnyObject[]>;
252
+ default: () => never[];
253
+ };
254
+ }, {
255
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
256
+ title: {
257
+ type: StringConstructor;
258
+ default: string;
259
+ };
260
+ mode: {
261
+ type: StringConstructor;
262
+ default: string;
263
+ };
264
+ options: {
265
+ type: import("vue").PropType<AnyObject[]>;
266
+ };
267
+ disabledIds: {
268
+ type: import("vue").PropType<string[]>;
269
+ default: () => never[];
270
+ };
271
+ defaultValue: {
272
+ type: import("vue").PropType<AnyObject[]>;
273
+ default: () => never[];
274
+ };
275
+ }>> & {
276
+ onComfirm?: ((...args: any[]) => any) | undefined;
277
+ }>>;
278
+ emit: (event: "comfirm", ...args: any[]) => void;
279
+ state: import("../types").IState;
280
+ setCurrentSessionItem: (item: AnyObject) => void;
281
+ listRef: import("vue").Ref<any>;
282
+ keyword: import("vue").Ref<string>;
283
+ showModal: import("vue").Ref<boolean>;
284
+ checkedOptions: import("vue").Ref<AnyObject[]>;
285
+ options: import("vue").Ref<AnyObject[]>;
286
+ groupName: import("vue").Ref<string>;
287
+ checkedSourceIds: import("vue").Ref<(string | number)[]>;
288
+ remark: import("vue").Ref<string>;
289
+ userList: import("vue").Ref<AnyObject[]>;
290
+ handleInput: () => void;
291
+ _disabledIds: import("vue").ComputedRef<any[]>;
292
+ defaultOptions: import("vue").ComputedRef<{
293
+ id: any;
294
+ name: any;
295
+ avatar: any;
296
+ }[]>;
297
+ checkedIds: import("vue").ComputedRef<any[]>;
298
+ btnDisabled: import("vue").ComputedRef<boolean>;
299
+ allChecked: import("vue").WritableComputedRef<boolean>;
300
+ handlePositiveClick: () => Promise<void>;
301
+ updateCheckedSourceIds: () => void;
302
+ handleSourceIdsUpdate: (value: (string | number)[], meta: {
303
+ actionType: "check" | "uncheck";
304
+ value: string | number;
305
+ }) => void;
306
+ closeTag: (id: string) => void;
307
+ NModal: any;
308
+ NButton: any;
309
+ NSpace: any;
310
+ NAvatar: any;
311
+ NIcon: any;
312
+ NTag: any;
313
+ NInput: any;
314
+ NCheckbox: any;
315
+ NCheckboxGroup: any;
316
+ NTooltip: any;
317
+ SearchOutline: 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<{}>>, {}>;
318
+ 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<{}>>, {}>;
319
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "comfirm"[], "comfirm", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
320
+ title: {
321
+ type: StringConstructor;
322
+ default: string;
323
+ };
324
+ mode: {
325
+ type: StringConstructor;
326
+ default: string;
327
+ };
328
+ options: {
329
+ type: import("vue").PropType<AnyObject[]>;
330
+ };
331
+ disabledIds: {
332
+ type: import("vue").PropType<string[]>;
333
+ default: () => never[];
334
+ };
335
+ defaultValue: {
336
+ type: import("vue").PropType<AnyObject[]>;
337
+ default: () => never[];
338
+ };
339
+ }>> & {
340
+ onComfirm?: ((...args: any[]) => any) | undefined;
341
+ }, {
342
+ defaultValue: AnyObject[];
343
+ mode: string;
344
+ title: string;
345
+ disabledIds: string[];
346
+ }>;
225
347
  simplifyMessage: typeof simplifyMessage;
226
348
  isAudioOrVideoMessage: typeof isAudioOrVideoMessage;
227
349
  getAVTime: typeof getAVTime;