cnhis-design-vue 3.2.13-release.0 → 3.2.14-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/ai-chat/index.d.ts +3 -4
- package/es/components/ai-chat/src/Index.vue.d.ts +3 -4
- package/es/components/ai-chat/src/Index.vue2.js +1 -1
- package/es/components/ai-chat/src/components/ChatBI.vue.d.ts +101 -0
- package/es/components/ai-chat/src/components/ChatBI.vue.js +1 -0
- package/es/components/ai-chat/src/components/ChatBI.vue2.js +1 -0
- package/es/components/ai-chat/src/components/ChatCard.d.ts +13 -0
- package/es/components/ai-chat/src/components/ChatCard.js +1 -1
- package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +2 -3
- package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
- package/es/components/ai-chat/src/components/ChatMain.d.ts +1 -1
- package/es/components/ai-chat/src/components/ChatMain.js +1 -1
- package/es/components/ai-chat/src/components/ChatPatient.vue2.js +1 -1
- package/es/components/ai-chat/src/utils/index.d.ts +1 -0
- package/es/components/ai-chat/src/utils/index.js +1 -0
- package/es/components/ai-chat/style/index.css +1 -1
- package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
- package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
- package/es/components/fabric-chart/src/hooks/electrocardiogram/useElectrocardiogram.js +1 -1
- package/es/components/fabric-chart/src/hooks/electrocardiogram/useElectrocardiogramChart.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
- package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
- package/es/components/fabric-chart/src/hooks/useCumputedPoint.js +1 -1
- package/es/components/fabric-chart/src/utils/index.d.ts +1 -0
- package/es/components/fabric-chart/src/utils/index.js +1 -1
- package/es/components/form-config/index.d.ts +9 -110
- package/es/components/form-config/index.js +1 -1
- package/es/components/form-config/src/FormConfig.vue.d.ts +9 -110
- package/es/components/form-config/src/FormConfig.vue2.js +1 -1
- package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +2 -0
- package/es/components/form-config/src/components/FormConfigCreator.vue2.js +1 -1
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +4 -2
- package/es/components/form-config/src/components/FormConfigEdit.vue2.js +1 -1
- package/es/components/form-config/src/components/renderer/ComplexNode.vue.d.ts +2 -1
- package/es/components/form-config/src/components/renderer/ComplexNode.vue2.js +1 -1
- package/es/components/form-config/src/components/renderer/DefaultNode.vue2.js +1 -1
- package/es/components/form-config/src/constants/index.d.ts +2 -11
- package/es/components/form-config/src/constants/index.js +1 -1
- package/es/components/form-config/src/hooks/useConfigurationField.js +1 -1
- package/es/components/form-config/src/hooks/useLocale.d.ts +52 -0
- package/es/components/form-config/src/hooks/useLocale.js +1 -0
- package/es/components/form-config/src/types/index.d.ts +1 -0
- package/es/components/form-config/src/utils/index.d.ts +1 -0
- package/es/components/form-config/src/utils/index.js +1 -1
- package/es/components/form-render/index.js +1 -1
- package/es/components/form-render/src/hooks/useComplexOptions.js +1 -1
- package/es/components/form-render/src/utils/index.d.ts +1 -0
- package/es/components/form-render/src/utils/index.js +1 -1
- package/es/components/iho-chat/index.d.ts +104 -1
- package/es/components/iho-chat/src/Index.vue.d.ts +104 -1
- package/es/components/iho-chat/src/Index.vue2.js +1 -1
- package/es/components/iho-chat/src/api/index.d.ts +1 -0
- package/es/components/iho-chat/src/api/index.js +1 -1
- package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +13 -0
- package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +13 -0
- package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +14 -0
- package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +48 -1
- package/es/components/iho-chat/src/components/ChatHeader.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +13 -0
- package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +14 -1
- package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
- package/es/components/iho-chat/src/components/ContextMenu.js +1 -1
- package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +13 -0
- package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +1 -1
- package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
- package/es/components/iho-chat/src/components/SiderList.vue.d.ts +2 -0
- package/es/components/iho-chat/src/components/SiderList.vue2.js +1 -1
- package/es/components/iho-chat/src/components/Video.vue2.js +1 -1
- package/es/components/iho-chat/src/constants/index.d.ts +11 -2
- package/es/components/iho-chat/src/constants/index.js +1 -1
- package/es/components/iho-chat/src/hooks/useSearchUserList.js +1 -1
- package/es/components/iho-chat/src/hooks/useSession.d.ts +2 -0
- package/es/components/iho-chat/src/hooks/useSession.js +1 -1
- package/es/components/iho-chat/src/utils/index.d.ts +1 -0
- package/es/components/iho-chat/src/utils/index.js +1 -1
- package/es/components/iho-chat/style/index.css +1 -1
- package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.d.ts +20 -0
- package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +1 -1
- package/es/components/iho-table/src/types/index.d.ts +4 -0
- package/es/components/iho-table/style/index.css +1 -1
- package/es/components/index.css +1 -1
- package/es/components/index.js +1 -1
- package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
- package/es/components/select-label/src/ihoLabel/IhoLabelFormContent.vue2.js +1 -1
- package/es/components/select-label/src/ihoLabel/IhoSelectLabel.vue2.js +1 -1
- package/es/components/table-filter/src/components/render-widget/components/SelectDynamic.vue.d.ts +4 -7
- package/es/components/table-filter/src/components/render-widget/components/SelectDynamic.vue2.js +1 -1
- package/es/components/table-filter/src/components/render-widget/components/index.d.ts +4 -7
- package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +4 -7
- package/es/env.d.ts +25 -25
- package/es/shared/package.json.js +1 -1
- package/es/shared/types/index.d.ts +3 -0
- package/es/shared/utils/index.d.ts +1 -0
- package/es/shared/utils/index.js +1 -1
- package/package.json +2 -2
- package/es/components/form-config/src/components/FormConfigEventSetting.vue.js +0 -1
- package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +0 -1
@@ -96,6 +96,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
96
96
|
setUpdateSessionItem: (item: AnyObject) => void;
|
97
97
|
setCurrentSessionItem: (item: AnyObject) => void;
|
98
98
|
updateSessionList: (sessionItem: AnyObject) => void;
|
99
|
+
isEnded: import("vue").ComputedRef<boolean>;
|
99
100
|
reConnention: number;
|
100
101
|
groupSessionList: AnyObject[];
|
101
102
|
init: () => Promise<void>;
|
@@ -118,6 +119,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
118
119
|
filterKey: {
|
119
120
|
all: string;
|
120
121
|
unread: string;
|
122
|
+
ended: string;
|
121
123
|
};
|
122
124
|
unreadSessionKeys: string[];
|
123
125
|
flexWidth: import("vue").Ref<number>;
|
@@ -133,6 +135,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
133
135
|
openSession: (item: AnyObject) => Promise<void>;
|
134
136
|
currentWidth: import("vue").ComputedRef<number>;
|
135
137
|
sessionList: import("vue").ComputedRef<AnyObject[]>;
|
138
|
+
getLabelNum: (session: AnyObject) => number;
|
136
139
|
changeWidth: ({ distance }: AnyObject) => void;
|
137
140
|
handleFilter: (key: string) => void;
|
138
141
|
showSession: (item: AnyObject, currentKey?: string) => boolean | undefined;
|
@@ -149,6 +152,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
149
152
|
ChatHeader: import("vue").DefineComponent<{}, {
|
150
153
|
state: IState;
|
151
154
|
isGroupChat: import("vue").ComputedRef<boolean>;
|
155
|
+
isGroupLeader: import("vue").ComputedRef<boolean>;
|
156
|
+
isEnded: import("vue").ComputedRef<boolean>;
|
157
|
+
setCurrentSessionItem: (item: AnyObject) => void;
|
152
158
|
showChatSet: import("vue").Ref<boolean>;
|
153
159
|
showChatFile: import("vue").Ref<boolean>;
|
154
160
|
chatFileType: import("vue").Ref<string>;
|
@@ -156,17 +162,21 @@ declare const _default: import("vue").DefineComponent<{
|
|
156
162
|
chatAddProps: import("vue").ComputedRef<{
|
157
163
|
mode: string;
|
158
164
|
disabledIds: any[];
|
165
|
+
disabled: boolean;
|
159
166
|
defaultValue?: undefined;
|
160
167
|
} | {
|
161
168
|
mode: string;
|
162
169
|
defaultValue: AnyObject[];
|
163
170
|
disabledIds?: undefined;
|
171
|
+
disabled?: undefined;
|
164
172
|
}>;
|
165
173
|
handleOpenChatFile: (type: string) => void;
|
174
|
+
handleClose: () => Promise<void>;
|
166
175
|
NAvatar: any;
|
167
176
|
NIcon: any;
|
168
177
|
NButton: any;
|
169
178
|
NTooltip: any;
|
179
|
+
NPopconfirm: any;
|
170
180
|
PersonProfile: import("vue").DefineComponent<{
|
171
181
|
userId: {
|
172
182
|
type: StringConstructor;
|
@@ -241,11 +251,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
241
251
|
state: IState;
|
242
252
|
setCurrentSessionItem: (item: AnyObject) => void;
|
243
253
|
isGroupChat: import("vue").ComputedRef<boolean>;
|
254
|
+
isGroupLeader: import("vue").ComputedRef<boolean>;
|
244
255
|
inputRef: import("vue").Ref<any>;
|
245
256
|
groupNameEditing: import("vue").Ref<boolean>;
|
246
257
|
groupName: import("vue").Ref<string>;
|
247
258
|
showGroupDetail: import("vue").Ref<boolean>;
|
248
|
-
isGroupLeader: import("vue").ComputedRef<boolean>;
|
249
259
|
currentGroupUserIds: import("vue").ComputedRef<any[]>;
|
250
260
|
currentGroupUser: import("vue").ComputedRef<AnyObject[]>;
|
251
261
|
handleTopping: (value: boolean) => Promise<void>;
|
@@ -358,6 +368,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
358
368
|
type: PropType<AnyObject[]>;
|
359
369
|
default: () => never[];
|
360
370
|
};
|
371
|
+
disabled: {
|
372
|
+
type: BooleanConstructor;
|
373
|
+
default: boolean;
|
374
|
+
};
|
361
375
|
}, {
|
362
376
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
363
377
|
title: {
|
@@ -379,6 +393,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
379
393
|
type: PropType<AnyObject[]>;
|
380
394
|
default: () => never[];
|
381
395
|
};
|
396
|
+
disabled: {
|
397
|
+
type: BooleanConstructor;
|
398
|
+
default: boolean;
|
399
|
+
};
|
382
400
|
}>> & {
|
383
401
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
384
402
|
}>>;
|
@@ -443,11 +461,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
443
461
|
type: PropType<AnyObject[]>;
|
444
462
|
default: () => never[];
|
445
463
|
};
|
464
|
+
disabled: {
|
465
|
+
type: BooleanConstructor;
|
466
|
+
default: boolean;
|
467
|
+
};
|
446
468
|
}>> & {
|
447
469
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
448
470
|
}, {
|
449
471
|
title: string;
|
450
472
|
defaultValue: AnyObject[];
|
473
|
+
disabled: boolean;
|
451
474
|
mode: string;
|
452
475
|
disabledIds: string[];
|
453
476
|
}>;
|
@@ -527,6 +550,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
527
550
|
type: PropType<AnyObject[]>;
|
528
551
|
default: () => never[];
|
529
552
|
};
|
553
|
+
disabled: {
|
554
|
+
type: BooleanConstructor;
|
555
|
+
default: boolean;
|
556
|
+
};
|
530
557
|
}, {
|
531
558
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
532
559
|
title: {
|
@@ -548,6 +575,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
548
575
|
type: PropType<AnyObject[]>;
|
549
576
|
default: () => never[];
|
550
577
|
};
|
578
|
+
disabled: {
|
579
|
+
type: BooleanConstructor;
|
580
|
+
default: boolean;
|
581
|
+
};
|
551
582
|
}>> & {
|
552
583
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
553
584
|
}>>;
|
@@ -612,11 +643,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
612
643
|
type: PropType<AnyObject[]>;
|
613
644
|
default: () => never[];
|
614
645
|
};
|
646
|
+
disabled: {
|
647
|
+
type: BooleanConstructor;
|
648
|
+
default: boolean;
|
649
|
+
};
|
615
650
|
}>> & {
|
616
651
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
617
652
|
}, {
|
618
653
|
title: string;
|
619
654
|
defaultValue: AnyObject[];
|
655
|
+
disabled: boolean;
|
620
656
|
mode: string;
|
621
657
|
disabledIds: string[];
|
622
658
|
}>;
|
@@ -827,6 +863,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
827
863
|
type: PropType<AnyObject[]>;
|
828
864
|
default: () => never[];
|
829
865
|
};
|
866
|
+
disabled: {
|
867
|
+
type: BooleanConstructor;
|
868
|
+
default: boolean;
|
869
|
+
};
|
830
870
|
}, {
|
831
871
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
832
872
|
title: {
|
@@ -848,6 +888,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
848
888
|
type: PropType<AnyObject[]>;
|
849
889
|
default: () => never[];
|
850
890
|
};
|
891
|
+
disabled: {
|
892
|
+
type: BooleanConstructor;
|
893
|
+
default: boolean;
|
894
|
+
};
|
851
895
|
}>> & {
|
852
896
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
853
897
|
}>>;
|
@@ -912,15 +956,21 @@ declare const _default: import("vue").DefineComponent<{
|
|
912
956
|
type: PropType<AnyObject[]>;
|
913
957
|
default: () => never[];
|
914
958
|
};
|
959
|
+
disabled: {
|
960
|
+
type: BooleanConstructor;
|
961
|
+
default: boolean;
|
962
|
+
};
|
915
963
|
}>> & {
|
916
964
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
917
965
|
}, {
|
918
966
|
title: string;
|
919
967
|
defaultValue: AnyObject[];
|
968
|
+
disabled: boolean;
|
920
969
|
mode: string;
|
921
970
|
disabledIds: string[];
|
922
971
|
}>;
|
923
972
|
PersonAddOutline: 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<{}>>, {}>;
|
973
|
+
CloseOutline: 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<{}>>, {}>;
|
924
974
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
925
975
|
ChatMain: import("vue").DefineComponent<{}, {
|
926
976
|
chatMainRef: import("vue").Ref<HTMLElement | undefined>;
|
@@ -1170,6 +1220,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
1170
1220
|
type: PropType<AnyObject[]>;
|
1171
1221
|
default: () => never[];
|
1172
1222
|
};
|
1223
|
+
disabled: {
|
1224
|
+
type: BooleanConstructor;
|
1225
|
+
default: boolean;
|
1226
|
+
};
|
1173
1227
|
}, {
|
1174
1228
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
1175
1229
|
title: {
|
@@ -1191,6 +1245,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
1191
1245
|
type: PropType<AnyObject[]>;
|
1192
1246
|
default: () => never[];
|
1193
1247
|
};
|
1248
|
+
disabled: {
|
1249
|
+
type: BooleanConstructor;
|
1250
|
+
default: boolean;
|
1251
|
+
};
|
1194
1252
|
}>> & {
|
1195
1253
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
1196
1254
|
}>>;
|
@@ -1255,11 +1313,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
1255
1313
|
type: PropType<AnyObject[]>;
|
1256
1314
|
default: () => never[];
|
1257
1315
|
};
|
1316
|
+
disabled: {
|
1317
|
+
type: BooleanConstructor;
|
1318
|
+
default: boolean;
|
1319
|
+
};
|
1258
1320
|
}>> & {
|
1259
1321
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
1260
1322
|
}, {
|
1261
1323
|
title: string;
|
1262
1324
|
defaultValue: AnyObject[];
|
1325
|
+
disabled: boolean;
|
1263
1326
|
mode: string;
|
1264
1327
|
disabledIds: string[];
|
1265
1328
|
}>;
|
@@ -1282,6 +1345,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
1282
1345
|
receiver?: string | undefined;
|
1283
1346
|
}) => Promise<void>;
|
1284
1347
|
isGroupChat: import("vue").ComputedRef<boolean>;
|
1348
|
+
isEnded: import("vue").ComputedRef<boolean>;
|
1285
1349
|
showEmoji: import("vue").Ref<boolean>;
|
1286
1350
|
content: import("vue").Ref<string>;
|
1287
1351
|
commonEmoticons: import("vue").Ref<string[]>;
|
@@ -1326,6 +1390,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
1326
1390
|
type: PropType<AnyObject[]>;
|
1327
1391
|
default: () => never[];
|
1328
1392
|
};
|
1393
|
+
disabled: {
|
1394
|
+
type: BooleanConstructor;
|
1395
|
+
default: boolean;
|
1396
|
+
};
|
1329
1397
|
}, {
|
1330
1398
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
1331
1399
|
title: {
|
@@ -1347,6 +1415,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
1347
1415
|
type: PropType<AnyObject[]>;
|
1348
1416
|
default: () => never[];
|
1349
1417
|
};
|
1418
|
+
disabled: {
|
1419
|
+
type: BooleanConstructor;
|
1420
|
+
default: boolean;
|
1421
|
+
};
|
1350
1422
|
}>> & {
|
1351
1423
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
1352
1424
|
}>>;
|
@@ -1411,11 +1483,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
1411
1483
|
type: PropType<AnyObject[]>;
|
1412
1484
|
default: () => never[];
|
1413
1485
|
};
|
1486
|
+
disabled: {
|
1487
|
+
type: BooleanConstructor;
|
1488
|
+
default: boolean;
|
1489
|
+
};
|
1414
1490
|
}>> & {
|
1415
1491
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
1416
1492
|
}, {
|
1417
1493
|
title: string;
|
1418
1494
|
defaultValue: AnyObject[];
|
1495
|
+
disabled: boolean;
|
1419
1496
|
mode: string;
|
1420
1497
|
disabledIds: string[];
|
1421
1498
|
}>;
|
@@ -1523,6 +1600,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
1523
1600
|
type: PropType<AnyObject[]>;
|
1524
1601
|
default: () => never[];
|
1525
1602
|
};
|
1603
|
+
disabled: {
|
1604
|
+
type: BooleanConstructor;
|
1605
|
+
default: boolean;
|
1606
|
+
};
|
1526
1607
|
}, {
|
1527
1608
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
1528
1609
|
title: {
|
@@ -1544,6 +1625,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
1544
1625
|
type: PropType<AnyObject[]>;
|
1545
1626
|
default: () => never[];
|
1546
1627
|
};
|
1628
|
+
disabled: {
|
1629
|
+
type: BooleanConstructor;
|
1630
|
+
default: boolean;
|
1631
|
+
};
|
1547
1632
|
}>> & {
|
1548
1633
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
1549
1634
|
}>>;
|
@@ -1608,11 +1693,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
1608
1693
|
type: PropType<AnyObject[]>;
|
1609
1694
|
default: () => never[];
|
1610
1695
|
};
|
1696
|
+
disabled: {
|
1697
|
+
type: BooleanConstructor;
|
1698
|
+
default: boolean;
|
1699
|
+
};
|
1611
1700
|
}>> & {
|
1612
1701
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
1613
1702
|
}, {
|
1614
1703
|
title: string;
|
1615
1704
|
defaultValue: AnyObject[];
|
1705
|
+
disabled: boolean;
|
1616
1706
|
mode: string;
|
1617
1707
|
disabledIds: string[];
|
1618
1708
|
}>;
|
@@ -1751,6 +1841,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
1751
1841
|
type: PropType<AnyObject[]>;
|
1752
1842
|
default: () => never[];
|
1753
1843
|
};
|
1844
|
+
disabled: {
|
1845
|
+
type: BooleanConstructor;
|
1846
|
+
default: boolean;
|
1847
|
+
};
|
1754
1848
|
}, {
|
1755
1849
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
1756
1850
|
title: {
|
@@ -1772,6 +1866,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
1772
1866
|
type: PropType<AnyObject[]>;
|
1773
1867
|
default: () => never[];
|
1774
1868
|
};
|
1869
|
+
disabled: {
|
1870
|
+
type: BooleanConstructor;
|
1871
|
+
default: boolean;
|
1872
|
+
};
|
1775
1873
|
}>> & {
|
1776
1874
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
1777
1875
|
}>>;
|
@@ -1836,11 +1934,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
1836
1934
|
type: PropType<AnyObject[]>;
|
1837
1935
|
default: () => never[];
|
1838
1936
|
};
|
1937
|
+
disabled: {
|
1938
|
+
type: BooleanConstructor;
|
1939
|
+
default: boolean;
|
1940
|
+
};
|
1839
1941
|
}>> & {
|
1840
1942
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
1841
1943
|
}, {
|
1842
1944
|
title: string;
|
1843
1945
|
defaultValue: AnyObject[];
|
1946
|
+
disabled: boolean;
|
1844
1947
|
mode: string;
|
1845
1948
|
disabledIds: string[];
|
1846
1949
|
}>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as s,reactive as t,computed as o,provide as n,onBeforeUnmount as i,watch as r,openBlock as a,createElementBlock as c,normalizeStyle as u,unref as d,createVNode as l,withCtx as p,createBlock as m,Fragment as h,createElementVNode as f,renderSlot as
|
1
|
+
import{defineComponent as e,ref as s,reactive as t,computed as o,provide as n,onBeforeUnmount as i,watch as r,openBlock as a,createElementBlock as c,normalizeStyle as u,unref as d,createVNode as l,withCtx as p,createBlock as m,Fragment as h,createElementVNode as f,renderSlot as y,createCommentVNode as S}from"vue";import{NConfigProvider as v,NSpin as g,NLayout as b,NLayoutContent as M}from"naive-ui";import I from"./components/SiderList.vue.js";import k from"./components/ChatHeader.vue.js";import L from"./components/ChatMain.vue.js";import T from"./components/ChatFooter.vue.js";import V from"./components/ChatSearch.vue.js";import j from"./components/ChatAdd.vue.js";import w from"./components/Video.vue.js";import U from"./components/MultipleVideo.vue.js";import{ChatSock as N}from"./utils/chatSock.js";import{instanceAxios as _,readMessageApi as A}from"./api/index.js";import{useTheme as C}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{remove as O,isNumber as E}from"lodash-es";import"@vue/shared";import"../../../shared/utils/index.js";import{promiseTimeout as R}from"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import"../../../shared/hooks/useScrollLoading.js";import{CHAT_TYPE as x,SUBSCRIBE_MESSAGE_TYPE as G,AV_STATUS as K}from"./constants/index.js";import{InjectionIChatState as P,InjectionIChatStompClient as B,InjectionIChatEmits as J,InjectionIChatUnreadTotal as $}from"./types/index.js";import{isAudioOrVideoMessage as q,listSort as F}from"./utils/index.js";import{useSession as H}from"./hooks/useSession.js";import"trtc-sdk-v5";const z={key:0,class:"iho-chat__header"},D={class:"toolbar"};var W=e({__name:"Index",props:{token:{type:String,required:!0},orgId:{type:[String,Number],required:!0},userId:{type:String,required:!0},baseURL:{type:String,default:"/fdp-chat"},chatBox:{type:Boolean,default:!1},defaultSessionKey:{type:String},show:{type:Boolean,default:!0}},emits:["template-click","unread-message-update"],setup(e,{expose:W,emit:Y}){const Q=e;_.defaults.baseURL=Q.baseURL,_.defaults.headers.Authorization="bearer "+Q.token;const X=C(),Z=s(!1),ee=s(),se=t({orgId:Q.orgId,currentSessionItem:{},id:"",userInfo:{id:Q.userId},msgList:[],currentMsg:{},isAppendMsg:!1,sessionList:[],isChangeSession:!1,updateSessionItem:{},isUpdateSession:!1,currentReferenceMsg:null,currentReEditMsg:null,showVideo:!1,currentAVMsg:{},currentGroupUser:[],showMultipleVideo:!1}),te=o((()=>se.sessionList.reduce(((e,s)=>e+ +s.unreadNum),0)));n(P,se),n(B,ee),n(J,Y),n($,te);const{openSession:oe,closeSession:ne,getCurrentSession:ie,setSessionList:re,setUpdateSessionItem:ae,setCurrentSessionItem:ce,updateSessionList:ue,isEnded:de}=H(se),le=[];function pe(){const e={headers:{AccessToken:Q.token,UserId:Q.userId},heartbeatFn(){try{ee.value.send("test")}catch(e){ee.value.disconnect(),pe()}},connectCb(){console.log("连接成功"),ee.value.subscribe("/user/topic/single",(({body:e})=>he({body:e,chatType:x.SINGLE}))),ee.value.subscribe("/app/sessionList",(({body:e})=>{try{const s=JSON.parse(e),{authentication:t,currentUser:o,sessionVos:n}=s;if(Object.assign(se.userInfo,o,t),!(null==n?void 0:n.length))return;re(n),le.splice(0,le.length),le.push(...n.filter((e=>e.chatType===x.GROUP))),le.forEach((e=>{ee.value.subscribe(`/topic/group/${e.receiver}`,(({body:e})=>he({body:e,chatType:x.GROUP})))})),function(){const e=se.sessionList.find((e=>e.sessionKey===Q.defaultSessionKey));e&&oe(e)}()}catch(e){console.log(e)}}))},errorCb(e,s){}};ee.value=new N("/fdp-chat/websocket",e)}async function me(e,s){if(se.currentMsg=e,e.sessionKey===se.currentSessionItem.sessionKey)return se.isAppendMsg=!0,e.sender!==se.userInfo.id&&await A({chatType:s,messageIdSet:[e.id],receiver:se.userInfo.id,sender:e.sender}),void ce({lastMessageSendTime:e.sendTime,lastMessage:e.content,sortTime:e.sendTime,unreadNum:0,lastSenderName:e.senderName});const t={lastMessageSendTime:e.sendTime,sortTime:e.sendTime,lastMessage:e.content,sessionKey:e.sessionKey,lastSenderName:e.senderName,sender:e.sender};ae(t)}async function he({body:e,chatType:s}){try{const t=JSON.parse(e),{messageVo:o,sessionVo:n,chatAvStatusVo:i}=t;switch(t.event){case G.MESSAGE:q(o.content)?!se.showVideo&&!se.showMultipleVideo||o.content.avStatus!==K.IN_CALL?(se.currentMsg=o,Object.assign(se.currentAVMsg,{strRoomId:o.sessionKey,chatMessageType:o.content.chatMessageType,callMode:o.sender===se.userInfo.id?"call":"invite",currentMsg:o}),se.showVideo||se.showMultipleVideo?me(o,s):se.showVideo=!0):(ee.value.send("/app/chat/send",{},JSON.stringify({chatType:x.SINGLE,receiver:o.sender,content:{chatMessageType:o.content.chatMessageType,avStatus:K.CALL_BUSY}})),console.log("用户忙!")):me(o,s);break;case G.RECALL_MESSAGE:break;case G.AV_STATUS:Object.assign(se.currentAVMsg,i,{callMode:i.sender===se.userInfo.id?"call":"invite",checkedIds:[]}),se.showVideo||se.showMultipleVideo?console.log("用户忙!"):se.showMultipleVideo=!0;break;case G.NEW_SESSION:if(s===x.GROUP)return;ae(n);break;case G.JOIN_GROUP:if(s===x.GROUP)return;ae(n),ee.value.subscribe(`/topic/group/${n.receiver}`,(({body:e})=>he({body:e,chatType:x.GROUP})));break;case G.LEAVE_GROUP:ne(),O(se.sessionList,(e=>e.sessionKey===n.sessionKey))}}catch(e){console.log(e)}}return async function(){pe()}(),i((()=>{var e;null==(e=ee.value)||e.disconnect()})),r((()=>te.value),(e=>{!async function s(t=0){const o=F(se.sessionList),n=o.every((e=>!!e.name));if(!(t>2))if(n){const s=o.filter((e=>{var s;return+(null!=(s=e.unreadNum)?s:0)>0}));Y("unread-message-update",e,s)}else await R(100),s(++t)}()})),r([()=>se.isChangeSession,()=>se.isUpdateSession],(([e,s])=>{e&&(ue(se.currentSessionItem),se.isChangeSession=!1),s&&(ue(se.updateSessionItem),se.isUpdateSession=!1)}),{immediate:!0}),W({getUnreadData:function(){return se.sessionList.filter((e=>E(e.unreadNum)&&e.unreadNum>0))},openSession:oe,closeSession:ne,getCurrentSession:ie}),(s,t)=>e.show?(a(),c("div",{key:0,class:"iho-chat",style:u(d(X))},[l(d(v),{abstract:"",namespace:"iho-chat__popover"},{default:p((()=>[Z.value?(a(),m(d(g),{key:0,stroke:"#5585f5"})):(a(),c(h,{key:1},[e.chatBox?S("v-if",!0):(a(),c("div",z,[l(V),l(j,{title:"发起群聊",mode:"create","default-value":[se.userInfo]},null,8,["default-value"]),f("div",D,[y(s.$slots,"toolbar")])])),l(d(b),{class:"iho-chat__body","has-sider":""},{default:p((()=>[e.chatBox?S("v-if",!0):(a(),m(I,{key:0})),l(d(M),{class:"chat-content",style:u({"--c-pointer-events":d(de)?"none":"unset","--c-cursor":d(de)?"not-allowed":"unset"})},{default:p((()=>[l(k),l(L),l(T)])),_:1},8,["style"]),y(s.$slots,"external")])),_:3}),se.showVideo?(a(),m(w,{key:1})):S("v-if",!0),se.showMultipleVideo?(a(),m(U,{key:2})):S("v-if",!0)],64))])),_:3})],4)):S("v-if",!0)}});export{W as default};
|
@@ -15,3 +15,4 @@ export declare function groupJoinApi(params: AnyObject): import("axios").AxiosPr
|
|
15
15
|
export declare function groupLeaveApi(params: AnyObject): import("axios").AxiosPromise<any>;
|
16
16
|
export declare function avFinishApi(params: AnyObject): import("axios").AxiosPromise<any>;
|
17
17
|
export declare function groupUpdateApi(params: FormData): import("axios").AxiosPromise<any>;
|
18
|
+
export declare function updateStatusApi(params: AnyObject): import("axios").AxiosPromise<any>;
|
@@ -1 +1 @@
|
|
1
|
-
import t from"axios";import{createDiscreteApi as e}from"naive-ui";const{message:o}=e(["message"]);function r(t){const e=[];for(const o in t){const r=t[o];Array.isArray(r)?r.forEach((t=>{e.push(`${encodeURIComponent(o)}=${encodeURIComponent(t)}`)})):e.push(`${encodeURIComponent(o)}=${encodeURIComponent(r)}`)}return e.join("&")}const n=t.create({withCredentials:!0,timeout:5e3});function a(t){return n({headers:{"Content-Type":"application/x-www-form-urlencoded"},method:"post",url:"/session/openSession",data:r(t)})}function u(t){return n({method:"get",url:"/chat/recordList",params:t})}function s(t){return n({headers:{"Content-Type":"application/x-www-form-urlencoded"},method:"post",url:"/session/toppingSession",data:r(t)})}function d(t){return n({headers:{"Content-Type":"multipart/form-data"},method:"post",url:"/chat/uploadFile",data:t})}function i(t){return n({method:"get",url:"/user/listUser",params:t})}function p(t){return n({method:"get",url:"/user/getUserDetail",params:t})}function c(t){return n({method:"post",url:"/chat/readMessage",data:t})}function m(t){return n({method:"post",url:"/chat/recallMessage",data:t})}function l(t){return n({method:"post",url:"/chat/searchChatRecord",data:t})}function h(t){return n({method:"post",url:"/group/create",data:t})}function f(t){return n({method:"get",url:"/group/user",params:t})}function g(t){return n({method:"post",url:"/group/join",data:t})}function C(t){return n({method:"post",url:"/group/leave",data:t})}function
|
1
|
+
import t from"axios";import{createDiscreteApi as e}from"naive-ui";const{message:o}=e(["message"]);function r(t){const e=[];for(const o in t){const r=t[o];Array.isArray(r)?r.forEach((t=>{e.push(`${encodeURIComponent(o)}=${encodeURIComponent(t)}`)})):e.push(`${encodeURIComponent(o)}=${encodeURIComponent(r)}`)}return e.join("&")}const n=t.create({withCredentials:!0,timeout:5e3});function a(t){return n({headers:{"Content-Type":"application/x-www-form-urlencoded"},method:"post",url:"/session/openSession",data:r(t)})}function u(t){return n({method:"get",url:"/chat/recordList",params:t})}function s(t){return n({headers:{"Content-Type":"application/x-www-form-urlencoded"},method:"post",url:"/session/toppingSession",data:r(t)})}function d(t){return n({headers:{"Content-Type":"multipart/form-data"},method:"post",url:"/chat/uploadFile",data:t})}function i(t){return n({method:"get",url:"/user/listUser",params:t})}function p(t){return n({method:"get",url:"/user/getUserDetail",params:t})}function c(t){return n({method:"post",url:"/chat/readMessage",data:t})}function m(t){return n({method:"post",url:"/chat/recallMessage",data:t})}function l(t){return n({method:"post",url:"/chat/searchChatRecord",data:t})}function h(t){return n({method:"post",url:"/group/create",data:t})}function f(t){return n({method:"get",url:"/group/user",params:t})}function g(t){return n({method:"post",url:"/group/join",data:t})}function C(t){return n({method:"post",url:"/group/leave",data:t})}function w(t){return n({method:"post",url:"/av/finish",data:t})}function v(t){return n({headers:{"Content-Type":"multipart/form-data"},method:"post",url:"/group/update",data:t})}function y(t){return n({headers:{"Content-Type":"application/x-www-form-urlencoded"},method:"put",url:"/session/updateStatus",data:r(t)})}n.interceptors.response.use((t=>{var e,r,n;if(null==(e=t.data)?void 0:e.result)return null==(r=t.data)?void 0:r.data;500==(null==(n=t.data)?void 0:n.code)&&t.data.msg&&o.error(t.data.msg)}));export{w as avFinishApi,u as getHistoryRecordApi,p as getUserDetailApi,h as groupCreateApi,g as groupJoinApi,C as groupLeaveApi,v as groupUpdateApi,f as groupUserApi,n as instanceAxios,i as listUserApi,a as openSessionApi,c as readMessageApi,m as recallMessageApi,l as searchChatRecordApi,s as toppingSessionApi,y as updateStatusApi,d as uploadFileApi};
|
@@ -20,6 +20,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
20
20
|
type: PropType<AnyObject[]>;
|
21
21
|
default: () => never[];
|
22
22
|
};
|
23
|
+
disabled: {
|
24
|
+
type: BooleanConstructor;
|
25
|
+
default: boolean;
|
26
|
+
};
|
23
27
|
}, {
|
24
28
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
25
29
|
title: {
|
@@ -41,6 +45,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
41
45
|
type: PropType<AnyObject[]>;
|
42
46
|
default: () => never[];
|
43
47
|
};
|
48
|
+
disabled: {
|
49
|
+
type: BooleanConstructor;
|
50
|
+
default: boolean;
|
51
|
+
};
|
44
52
|
}>> & {
|
45
53
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
46
54
|
}>>;
|
@@ -105,11 +113,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
105
113
|
type: PropType<AnyObject[]>;
|
106
114
|
default: () => never[];
|
107
115
|
};
|
116
|
+
disabled: {
|
117
|
+
type: BooleanConstructor;
|
118
|
+
default: boolean;
|
119
|
+
};
|
108
120
|
}>> & {
|
109
121
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
110
122
|
}, {
|
111
123
|
title: string;
|
112
124
|
defaultValue: AnyObject[];
|
125
|
+
disabled: boolean;
|
113
126
|
mode: string;
|
114
127
|
disabledIds: string[];
|
115
128
|
}>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as a,computed as l,watch as t,openBlock as i,createElementBlock as u,Fragment as o,createVNode as r,unref as s,withCtx as n,createElementVNode as d,createCommentVNode as v,isRef as c,renderList as p,createBlock as m,toDisplayString as f,createTextVNode as h,renderSlot as
|
1
|
+
import{defineComponent as e,ref as a,computed as l,watch as t,openBlock as i,createElementBlock as u,Fragment as o,createVNode as r,unref as s,withCtx as n,createElementVNode as d,createCommentVNode as v,isRef as c,renderList as p,createBlock as m,toDisplayString as f,createTextVNode as h,normalizeClass as b,renderSlot as g}from"vue";import{NModal as y,NInput as I,NIcon as k,NCheckbox as w,NCheckboxGroup as _,NSpace as x,NAvatar as S,NTag as U,NTooltip as j,NButton as C}from"naive-ui";import{SearchOutline as R,AddOutline as L}from"@vicons/ionicons5";import{useState as V}from"../hooks/useState.js";import{useSession as A}from"../hooks/useSession.js";import{CHAT_TYPE as E}from"../constants/index.js";import"trtc-sdk-v5";import{listSort as G}from"../utils/index.js";import{groupLeaveApi as N,groupJoinApi as $,groupCreateApi as z}from"../api/index.js";import{cloneDeep as M,union as T,intersection as B,unionBy as D,remove as P,isArray as q,uniqBy as F,trim as H}from"lodash-es";import{useSearchUserList as J}from"../hooks/useSearchUserList.js";const K={class:"iho-chat-dialog__content iho-chat-add-wrapper"},O={key:0,class:"input-box"},Q=d("span",null,"群名称:",-1),W={class:"transfer-box"},X={class:"transfer-box__left"},Y={class:"user-list-box"},Z={key:1,class:"no-data"},ee={class:"transfer-box__right"},ae={class:"checked-tag-box"},le={key:0,class:"input-wrapper"};var te=e({__name:"ChatAdd",props:{title:{type:String,default:"添加新成员"},mode:{type:String,default:"select"},options:{type:Array},disabledIds:{type:Array,default:()=>[]},defaultValue:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["comfirm"],setup(e,{emit:te}){const ie=e,{state:ue}=V(),{setCurrentSessionItem:oe}=A(ue),re=a(),se=a(""),ne=a(!1),de=a([]),ve=a([]),ce=a(""),pe=a([]),me=a(""),{userList:fe,handleInput:he}=J({wrapperRef:re,keywordRef:se,before:()=>{fe.value=M(ve.value),_e()},after:()=>{be.value.length&&fe.value.forEach((e=>{var a;e.disabled=null==(a=be.value)?void 0:a.includes(e.id)})),_e()}}),be=l((()=>"relay"===ie.mode?[]:T(ie.disabledIds,[ue.userInfo.id]))),ge=l((()=>{var e,a;if(!(null==(e=ue.sessionList)?void 0:e.length))return[];const l=G(ue.sessionList);return null==(a="relay"===ie.mode?l:l.filter((e=>e.chatType===E.SINGLE)))?void 0:a.map((e=>({id:e.receiver,name:e.name,avatar:e.avatar})))})),ye=l((()=>de.value.length?de.value.map((e=>e.id)):[])),Ie=l((()=>"create"===ie.mode?ye.value.length<3:ye.value.length<1)),ke=l({get:()=>pe.value.filter((e=>!be.value.includes(e))).length===fe.value.filter((e=>!e.disabled)).length,set(e){const a=ie.defaultValue.map((e=>e.id)),l=B(a,be.value,fe.value.map((e=>e.id))),t=fe.value.filter((e=>!e.disabled));pe.value=l.concat(e?t.map((e=>e.id)):[]),e?de.value=D(de.value,t,"id"):P(de.value,(e=>t.map((e=>e.id)).includes(e.id)))}});async function we(){switch(ie.mode){case"create":await z({creator:ue.userInfo.id,memberIdSet:ye.value,name:H(ce.value),orgId:ue.orgId});break;case"join":if(await $({groupId:ue.currentSessionItem.receiver,operator:ue.userInfo.id,memberIdSet:ye.value}),!ue.currentSessionItem.defaultName){const e=de.value.map((e=>e.name)).join(",");oe({name:`${ue.currentSessionItem.name},${e}`})}ue.currentGroupUser.push(...fe.value.filter((e=>ye.value.includes(e.id))));break;case"remove":if(await N({dissolution:!1,groupId:ue.currentSessionItem.receiver,operator:ue.userInfo.id,memberIdSet:ye.value}),!ue.currentSessionItem.defaultName){const e=de.value.map((e=>e.name)).join(","),a=new RegExp(e,"g");oe({name:ue.currentSessionItem.name.replace(a,"")})}P(ue.currentGroupUser,(e=>ye.value.includes(e.id)));break;default:te("comfirm",ye.value,me.value)}ne.value=!1}function _e(){var e,a;pe.value=null!=(a=null==(e=fe.value.filter((e=>ye.value.includes(e.id))))?void 0:e.map((e=>e.id)))?a:[]}function xe(e,a){if("check"===a.actionType){const e=fe.value.find((e=>e.id===a.value));de.value.push(e)}else P(de.value,(e=>e.id===a.value))}return t((()=>ne.value),(e=>{if(!e)return;se.value="",ce.value="";const a=q(ie.options)&&ie.options.length?ie.options:ge.value;ve.value=F(a,"id").map((e=>{var a;return{...e,disabled:null==(a=be.value)?void 0:a.includes(e.id)}})),fe.value=M(ve.value),q(ie.defaultValue)&&ie.defaultValue.length?(de.value=M(ie.defaultValue),_e()):(de.value=[],pe.value=[])})),(a,l)=>(i(),u(o,null,[r(s(y),{preset:"dialog",title:e.title,"show-icon":!1,"auto-focus":!1,"trap-focus":!1,class:"iho-chat-dialog",show:ne.value,"onUpdate:show":l[5]||(l[5]=e=>ne.value=e),"negative-text":"取消","positive-text":"确定","display-directive":"show","positive-button-props":{disabled:s(Ie)},onPositiveClick:we},{default:n((()=>[d("div",K,["create"===e.mode?(i(),u("div",O,[Q,r(s(I),{clearable:"",placeholder:"取个群名称方便后续搜索",value:ce.value,"onUpdate:value":l[0]||(l[0]=e=>ce.value=e),valueModifiers:{trim:!0}},null,8,["value"])])):v("v-if",!0),d("div",W,[d("div",X,[r(s(I),{placeholder:"搜索",clearable:"",value:se.value,"onUpdate:value":[l[1]||(l[1]=e=>se.value=e),s(he)],valueModifiers:{trim:!0}},{prefix:n((()=>[r(s(k),{component:s(R)},null,8,["component"])])),_:1},8,["value","onUpdate:value"]),d("div",Y,[s(fe).length>0?(i(),u(o,{key:0},[r(s(w),{label:"全选",checked:s(ke),"onUpdate:checked":l[2]||(l[2]=e=>c(ke)?ke.value=e:null)},null,8,["checked"]),r(s(_),{ref_key:"listRef",ref:re,value:pe.value,"onUpdate:value":[l[3]||(l[3]=e=>pe.value=e),xe]},{default:n((()=>[(i(!0),u(o,null,p(s(fe),(e=>(i(),m(s(w),{key:e.id,value:e.id,disabled:e.disabled},{default:n((()=>[r(s(x),{align:"center","wrap-item":!1},{default:n((()=>[r(s(S),{src:e.avatar,round:"",size:32},null,8,["src"]),d("span",null,f(e.name),1)])),_:2},1024)])),_:2},1032,["value","disabled"])))),128))])),_:1},8,["value"])],64)):(i(),u("div",Z,"找不到相关结果"))])]),d("div",ee,[d("span",null,"已选择 "+f(s(ye).length)+" 人",1),d("div",ae,[(i(!0),u(o,null,p(de.value,(a=>(i(),m(s(U),{key:a.id,bordered:!1,closable:"relay"===e.mode||a.id!==s(ue).userInfo.id,disabled:s(be).includes(a.id),onClose:()=>{return e=a.id,P(de.value,(a=>a.id===e)),void P(pe.value,(a=>a===e));var e}},{avatar:n((()=>[r(s(S),{round:"",src:a.avatar},null,8,["src"])])),default:n((()=>[h(" "+f(a.name),1)])),_:2},1032,["closable","disabled","onClose"])))),128))]),"relay"===e.mode?(i(),u("div",le,[r(s(I),{clearable:"",value:me.value,"onUpdate:value":l[4]||(l[4]=e=>me.value=e),type:"textarea",placeholder:"留言",autosize:{minRows:2,maxRows:2}},null,8,["value"])])):v("v-if",!0)])])])])),_:1},8,["title","show","positive-button-props"]),d("span",{class:b(["btn-wrapper",{disabled:e.disabled}]),onClick:l[6]||(l[6]=e=>ne.value=!0)},[g(a.$slots,"trigger",{},(()=>[r(s(j),{"show-arrow":!1,placement:"bottom"},{trigger:n((()=>[r(s(C),{color:"#ffffff4D",class:"add-btn"},{icon:n((()=>[r(s(k),{component:s(L),color:"#fff"},null,8,["component"])])),_:1})])),default:n((()=>[h(" "+f(e.title),1)])),_:1})]))],2)],64))}});export{te as default};
|
@@ -76,6 +76,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
76
76
|
type: PropType<AnyObject[]>;
|
77
77
|
default: () => never[];
|
78
78
|
};
|
79
|
+
disabled: {
|
80
|
+
type: BooleanConstructor;
|
81
|
+
default: boolean;
|
82
|
+
};
|
79
83
|
}, {
|
80
84
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
81
85
|
title: {
|
@@ -97,6 +101,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
97
101
|
type: PropType<AnyObject[]>;
|
98
102
|
default: () => never[];
|
99
103
|
};
|
104
|
+
disabled: {
|
105
|
+
type: BooleanConstructor;
|
106
|
+
default: boolean;
|
107
|
+
};
|
100
108
|
}>> & {
|
101
109
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
102
110
|
}>>;
|
@@ -161,11 +169,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
161
169
|
type: PropType<AnyObject[]>;
|
162
170
|
default: () => never[];
|
163
171
|
};
|
172
|
+
disabled: {
|
173
|
+
type: BooleanConstructor;
|
174
|
+
default: boolean;
|
175
|
+
};
|
164
176
|
}>> & {
|
165
177
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
166
178
|
}, {
|
167
179
|
title: string;
|
168
180
|
defaultValue: AnyObject[];
|
181
|
+
disabled: boolean;
|
169
182
|
mode: string;
|
170
183
|
disabledIds: string[];
|
171
184
|
}>;
|
@@ -12,6 +12,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
12
12
|
receiver?: string | undefined;
|
13
13
|
}) => Promise<void>;
|
14
14
|
isGroupChat: import("vue").ComputedRef<boolean>;
|
15
|
+
isEnded: import("vue").ComputedRef<boolean>;
|
15
16
|
showEmoji: Ref<boolean>;
|
16
17
|
content: Ref<string>;
|
17
18
|
commonEmoticons: Ref<string[]>;
|
@@ -56,6 +57,10 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
56
57
|
type: import("vue").PropType<AnyObject[]>;
|
57
58
|
default: () => never[];
|
58
59
|
};
|
60
|
+
disabled: {
|
61
|
+
type: BooleanConstructor;
|
62
|
+
default: boolean;
|
63
|
+
};
|
59
64
|
}, {
|
60
65
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
61
66
|
title: {
|
@@ -77,6 +82,10 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
77
82
|
type: import("vue").PropType<AnyObject[]>;
|
78
83
|
default: () => never[];
|
79
84
|
};
|
85
|
+
disabled: {
|
86
|
+
type: BooleanConstructor;
|
87
|
+
default: boolean;
|
88
|
+
};
|
80
89
|
}>> & {
|
81
90
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
82
91
|
}>>;
|
@@ -141,11 +150,16 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
141
150
|
type: import("vue").PropType<AnyObject[]>;
|
142
151
|
default: () => never[];
|
143
152
|
};
|
153
|
+
disabled: {
|
154
|
+
type: BooleanConstructor;
|
155
|
+
default: boolean;
|
156
|
+
};
|
144
157
|
}>> & {
|
145
158
|
onComfirm?: ((...args: any[]) => any) | undefined;
|
146
159
|
}, {
|
147
160
|
title: string;
|
148
161
|
defaultValue: AnyObject[];
|
162
|
+
disabled: boolean;
|
149
163
|
mode: string;
|
150
164
|
disabledIds: string[];
|
151
165
|
}>;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as n,computed as t,watch as o,withDirectives as i,openBlock as s,createElementBlock as r,normalizeStyle as a,unref as c,createElementVNode as l,toDisplayString as u,createVNode as
|
1
|
+
import{defineComponent as e,ref as n,computed as t,watch as o,withDirectives as i,openBlock as s,createElementBlock as r,normalizeStyle as a,unref as c,createElementVNode as l,toDisplayString as u,createVNode as d,createCommentVNode as f,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 E,NUpload as C,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 R}from"../utils/emoji.js";import{uploadFileApi as q}from"../api/index.js";import{CloseCircleOutline as D,CallOutline as A,VideocamOutline as $}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),ie=["contenteditable"],se={class:"btn-box"},re=l("span",{class:"tip"},"Enter 发送, Ctrl + Enter 换行",-1);var ae=e({__name:"ChatFooter",setup(e){const ae=n(),{state:ce,sendMessage:le}=b(),{isGroupChat:ue,isEnded:de}=x(ce),fe=n(!1),me=n(""),ge=U("commonEmoticons",[]),pe=t((()=>({options:ce.currentGroupUser,defaultValue:[ce.userInfo]}))),he=t((()=>!me.value.replace(/( |\s|<br>)+/g,"")));function ye(e,n=[]){const t=F(),o=[],i=n.length>0;ce.showVideo||ce.showMultipleVideo||(i?(o.push(...H(n,[ce.userInfo.id])),Object.assign(ce.currentAVMsg,{callMode:"call",checkedIds:o,strRoomId:t,chatMessageType:e}),ce.showMultipleVideo=!0):le({content:{chatMessageType:e,msg:"",avStatus:z.IN_CALL}}))}function ve(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(),Ee()))}function we(){var e;me.value=(null==(e=ae.value)?void 0:e.innerHTML)||""}function Me(e){var n;ge.value.unshift(e),ge.value=J(ge.value).slice(0,26),null==(n=ae.value)||n.focus(),document.execCommand("insertHTML",!1,`<img data-msg=${e} data-type=${j.EMOJI} class="emoji--min" src=${R.findEmoji(e)} />`)}async function _e(e){const n=new FormData;return n.append("sender",ce.userInfo.id),n.append("file",e),await q(n)}async function ke(e,n){const{file:t,name:o}=e.file,i=await _e(t);if(!i)return console.log("上传失败");Ce({chatMessageType:n,msg:n===j.FILE?o:i,url:i})}async function Ee(){const{innerHTML:e="",innerText:n="",outerText:t=""}=ae.value||{};if(he.value)return console.log("请输入内容");let o=j.TEXT,i="";if(e){const t=e.match(/<img[^>]*>/gi),s=(t||[]).length;if(n&&0===s)i=n;else if(n||1!==s){if(o=j.BLEND,i=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&&(i=i.replace(t[e],`[${n[1]}]`))}else{const n=t[e].match(/src\s*=\s*"([^"]*)"/);if(n&&n.length>1){const e=await O(n[1]);if(e){const t=await _e(e);i=i.replace(n[1],t||"")}}}}else if(e.includes(j.EMOJI)){o=j.EMOJI;const n=e.match(/data-msg\s*=\s*"([^"]*)"/);n&&(i=n[1])}else{o=j.IMAGE;const n=e.match(/src\s*=\s*"([^"]*)"/);if(n){const e=await O(n[1]);if(e){const n=await _e(e);n&&(i=n)}}}}else i=V(n);i&&Ce({msg:i,chatMessageType:o,origin:"btn"})}async function Ce(e){const{chatMessageType:n=j.TEXT,msg:t,url:o,origin:i=""}=e,s={msg:t,chatMessageType:n};n===j.FILE&&(s.fileUrl=o),"btn"===i&&Ie(),ce.currentReferenceMsg&&([j.TEXT,j.EMOJI,j.BLEND].includes(n)&&(s.referenceContent=K(ce.currentReferenceMsg)),ce.currentReferenceMsg=null),le({content:s})}function Ie(){ae.value.innerHTML="",me.value=""}return o((()=>[ce.currentReferenceMsg,ce.currentReEditMsg]),(([e,n])=>{var t;if((e||n)&&(null==(t=ae.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),ce.currentReEditMsg=null}})),o((()=>ce.id),(e=>{e&&Ie()})),(e,n)=>i((s(),r("section",{class:"chat-footer",style:a({cursor:c(ce).id?"default":"not-allowed"})},[c(ce).currentReferenceMsg?(s(),r("div",G,[l("div",N,[l("span",null,u(c(ce).currentReferenceMsg.senderName)+":",1),l("pre",{innerHTML:c(L)(c(ce).currentReferenceMsg.content)},null,8,X)]),d(c(M),{component:c(D),onClick:n[0]||(n[0]=()=>c(ce).currentReferenceMsg=null)},null,8,["component"])])):f("v-if",!0),l("div",B,[d(c(_),{"show-arrow":!1},{trigger:m((()=>[d(c(k),{"content-class":"emoji-content",class:"emoji-wrapper",show:fe.value,"onUpdate:show":n[1]||(n[1]=e=>fe.value=e),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:m((()=>[d(c(E),{quaternary:"",size:"tiny"},{icon:m((()=>[S])),_:1})])),default:m((()=>[c(ge).length>0?(s(),r(g,{key:0},[P,l("div",Q,[(s(!0),r(g,null,p(c(ge),(e=>(s(),h(c(_),{key:e,"show-arrow":!1},{trigger:m((()=>[d(c(E),{quaternary:"",size:"tiny",onClick:()=>Me(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)):f("v-if",!0),Y,l("div",Z,[(s(!0),r(g,null,p(c(R).default,(([e,n])=>(s(),h(c(_),{key:e,"show-arrow":!1},{trigger:m((()=>[d(c(E),{quaternary:"",size:"tiny",onClick:()=>Me(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}),d(c(_),{"show-arrow":!1},{trigger:m((()=>[d(c(E),{quaternary:"",size:"tiny",onClick:n[2]||(n[2]=()=>Ce({chatMessageType:c(j).EMOJI,msg:0}))},{icon:m((()=>[ne])),_:1})])),default:m((()=>[y(" 点赞 ")])),_:1}),d(c(C),{abstract:"",multiple:"",accept:"image/*",onChange:n[3]||(n[3]=e=>ke(e,c(j).IMAGE))},{default:m((()=>[d(c(I),{abstract:""},{default:m((({handleClick:e})=>[d(c(_),{"show-arrow":!1},{trigger:m((()=>[d(c(E),{quaternary:"",size:"tiny",onClick:e},{icon:m((()=>[te])),_:2},1032,["onClick"])])),default:m((()=>[y(" 上传图片 ")])),_:2},1024)])),_:1})])),_:1}),d(c(C),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:n[4]||(n[4]=e=>ke(e,c(j).FILE))},{default:m((()=>[d(c(I),{abstract:""},{default:m((({handleClick:e})=>[d(c(_),{"show-arrow":!1},{trigger:m((()=>[d(c(E),{quaternary:"",size:"tiny",onClick:e},{icon:m((()=>[oe])),_:2},1032,["onClick"])])),default:m((()=>[y(" 上传文件 ")])),_:2},1024)])),_:1})])),_:1}),c(ce).userInfo.sdkAppID?(s(),r(g,{key:0},[c(ue)?(s(),r(g,{key:0},[d(T,v(c(pe),{onComfirm:n[5]||(n[5]=e=>ye(c(j).AUDIO,e))}),{trigger:m((()=>[d(c(_),{"show-arrow":!1},{trigger:m((()=>[d(c(E),{quaternary:"",size:"tiny"},{icon:m((()=>[d(c(M),{size:"18",component:c(A)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 语音通话 ")])),_:1})])),_:1},16),d(T,v(c(pe),{onComfirm:n[6]||(n[6]=e=>ye(c(j).VIDEO,e))}),{trigger:m((()=>[d(c(_),{"show-arrow":!1},{trigger:m((()=>[d(c(E),{quaternary:"",size:"tiny"},{icon:m((()=>[d(c(M),{size:"20",component:c($)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 视频会议 ")])),_:1})])),_:1},16)],64)):(s(),r(g,{key:1},[d(c(_),{"show-arrow":!1},{trigger:m((()=>[d(c(E),{quaternary:"",size:"tiny",onClick:n[7]||(n[7]=()=>ye(c(j).AUDIO))},{icon:m((()=>[d(c(M),{size:"18",component:c(A)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 语音通话 ")])),_:1}),d(c(_),{"show-arrow":!1},{trigger:m((()=>[d(c(E),{quaternary:"",size:"tiny",onClick:n[8]||(n[8]=()=>ye(c(j).VIDEO))},{icon:m((()=>[d(c(M),{size:"20",component:c($)},null,8,["component"])])),_:1})])),default:m((()=>[y(" 视频通话 ")])),_:1})],64))],64)):f("v-if",!0)]),i(l("div",{ref_key:"inputRef",ref:ae,class:"input-box",contenteditable:!c(de),onKeydown:ve,onInput:we},null,40,ie),[[w,c(ce).id]]),l("div",se,[re,d(c(E),{type:"primary",round:"",disabled:c(he),onClick:Ee},{default:m((()=>[y("发送")])),_:1},8,["disabled"])])],4)),[[w,c(ce).id]])}});export{ae as default};
|