cnhis-design-vue 3.3.3-beta.31 → 3.3.3-beta.41
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/README.md +87 -87
- package/es/components/button-print/src/components/NewPrintComponent.vue2.js +2 -0
- package/es/components/card-render/src/components/index.d.ts +23 -23
- package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
- package/es/components/form-config/index.d.ts +10 -0
- package/es/components/form-config/src/FormConfig.vue.d.ts +10 -0
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +10 -0
- package/es/components/form-config/src/components/FormConfigEdit.vue2.js +4 -4
- package/es/components/form-config/src/constants/index.d.ts +3 -1
- package/es/components/form-config/src/constants/index.js +2 -0
- package/es/components/form-config/src/hooks/useConfigurationField.js +24 -4
- package/es/components/form-config/src/hooks/useLocale.d.ts +2 -0
- package/es/components/form-config/src/hooks/useLocale.js +2 -0
- package/es/components/form-config/src/types/index.d.ts +5 -0
- package/es/components/form-render/src/components/renderer/formItem.d.ts +2 -0
- package/es/components/form-render/src/components/renderer/formItem.js +9 -2
- package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +4 -2
- package/es/components/form-render/src/components/renderer/searchCascade.js +3 -0
- package/es/components/form-render/src/hooks/useFieldListAdaptor.js +5 -2
- package/es/components/iho-chat/index.d.ts +836 -44
- package/es/components/iho-chat/src/Index.vue.d.ts +836 -44
- package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +24 -1
- package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +179 -6
- package/es/components/iho-chat/src/components/ChatFile.vue2.js +48 -28
- package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +61 -5
- package/es/components/iho-chat/src/components/ChatFooter.vue2.js +83 -38
- package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +327 -13
- package/es/components/iho-chat/src/components/ChatHeader.vue2.js +18 -17
- package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +232 -17
- package/es/components/iho-chat/src/components/ChatMain.vue2.js +299 -272
- package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +49 -3
- package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +24 -1
- package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +48 -2
- package/es/components/iho-chat/src/components/ImageLightbox.vue.d.ts +104 -0
- package/es/components/iho-chat/src/components/ImageLightbox.vue.js +6 -0
- package/es/components/iho-chat/src/components/ImageLightbox.vue2.js +307 -0
- package/es/components/iho-chat/src/components/MessageEvent.vue.d.ts +24 -1
- package/es/components/iho-chat/src/components/MessageMergeForward.vue.d.ts +51 -4
- package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +48 -2
- package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +24 -1
- package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
- package/es/components/iho-chat/src/components/SelectLabel.vue.d.ts +1 -1
- package/es/components/iho-chat/src/components/SiderList.vue.d.ts +24 -1
- package/es/components/iho-chat/src/components/Video.vue.d.ts +24 -1
- package/es/components/iho-chat/src/hooks/useData.d.ts +51 -4
- package/es/components/iho-chat/src/hooks/useVideo.d.ts +24 -1
- package/es/components/iho-chat/src/types/index.d.ts +37 -1
- package/es/components/iho-chat/src/utils/emoji.d.ts +1 -1
- package/es/components/iho-chat/src/utils/emoji.js +1 -1
- package/es/components/iho-chat/src/utils/index.d.ts +1 -0
- package/es/components/iho-chat/src/utils/index.js +8 -1
- package/es/components/iho-chat/style/index.css +1 -1
- package/es/components/index.css +1 -1
- package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue2.js +20 -15
- package/es/env.d.ts +25 -25
- package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
- package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
- package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
- package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
- package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
- package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
- package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
- package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
- package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
- package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
- package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
- package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
- package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
- package/es/shared/assets/img/failure.png.js +1 -1
- package/es/shared/assets/img/no-permission.png.js +1 -1
- package/es/shared/assets/img/nodata.png.js +1 -1
- package/es/shared/assets/img/notfound.png.js +1 -1
- package/es/shared/assets/img/qr.png.js +1 -1
- package/es/shared/assets/img/success.png.js +1 -1
- package/es/shared/assets/img/table_style_2.png.js +1 -1
- package/es/shared/assets/img/video.png.js +1 -1
- package/es/shared/assets/img/video_default_cover.png.js +1 -1
- package/es/shared/assets/img/xb_big.png.js +1 -1
- package/es/shared/assets/img/xb_small.png.js +1 -1
- package/es/shared/hooks/useLevelSearchCascader.js +3 -3
- package/es/shared/package.json.js +1 -1
- package/package.json +3 -2
- package/es/components/audio-sdk/src/utils/recorder/fft.d.ts +0 -4
- package/es/components/audio-sdk/src/utils/recorder/mp3-engine.d.ts +0 -4
- package/es/components/audio-sdk/src/utils/recorder/mp3.d.ts +0 -4
- package/es/components/audio-sdk/src/utils/recorder/recorder.d.ts +0 -4
- package/es/components/audio-sdk/src/utils/recorder/wave.d.ts +0 -4
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
- package/es/shared/utils/fabricjs/index.d.ts +0 -6823
- package/es/shared/utils/tapable/index.d.ts +0 -139
@@ -1,13 +1,14 @@
|
|
1
|
-
import { defineComponent, ref, reactive, computed, watch, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle,
|
2
|
-
import {
|
1
|
+
import { defineComponent, ref, reactive, computed, watch, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, Fragment, renderList, toDisplayString, createCommentVNode, createBlock, createElementVNode, withCtx, createTextVNode, createVNode, withModifiers, nextTick } from 'vue';
|
2
|
+
import { NButton, NCheckbox, NAvatar, NIcon, NSpace, NButtonGroup } from 'naive-ui';
|
3
|
+
import { useEventListener } from '@vueuse/core';
|
3
4
|
import { format } from 'date-fns';
|
4
5
|
import { getHistoryRecordApi, readMessageApi } from '../api/index.js';
|
5
6
|
import { useData } from '../hooks/useData.js';
|
6
7
|
import 'stompjs';
|
7
8
|
import 'sockjs-client/dist/sockjs.min.js';
|
8
9
|
import { MESSAGE_TYPE } from '../constants/index.js';
|
9
|
-
import { isAudioOrVideoMessage, simplifyMessage, getForwardTitle,
|
10
|
-
import { first, last, isArray, toString } from 'lodash-es';
|
10
|
+
import { formatJsonstr, isAudioOrVideoMessage, simplifyMessage, getForwardTitle, getAVTime } from '../utils/index.js';
|
11
|
+
import { sortBy, uniqBy, first, last, isArray, toString } from 'lodash-es';
|
11
12
|
import 'trtc-sdk-v5';
|
12
13
|
import MessageTemplate from './MessageTemplate.vue.js';
|
13
14
|
import MessageEvent from './MessageEvent.vue.js';
|
@@ -17,12 +18,12 @@ import { emojis } from '../utils/emoji.js';
|
|
17
18
|
import ContextMenu from './ContextMenu.js';
|
18
19
|
import ChatAdd from './ChatAdd.vue.js';
|
19
20
|
import '../../../../shared/utils/index.js';
|
20
|
-
import '@vueuse/core';
|
21
21
|
import '@vue/shared';
|
22
22
|
import '@vueuse/shared';
|
23
23
|
import '../../../../shared/hooks/selectHooks/useSearchContent.js';
|
24
|
-
import { CallOutline, VideocamOutline, DocumentSharp,
|
24
|
+
import { CallOutline, VideocamOutline, DocumentSharp, ChatbubbleEllipsesOutline, EllipsisHorizontal } from '@vicons/ionicons5';
|
25
25
|
import { useScrollLoading } from '../../../../shared/hooks/useScrollLoading.js';
|
26
|
+
import ImageLightbox from './ImageLightbox.vue.js';
|
26
27
|
|
27
28
|
const _hoisted_1 = {
|
28
29
|
key: 0,
|
@@ -61,16 +62,17 @@ const _hoisted_16 = {
|
|
61
62
|
class: "label-name"
|
62
63
|
};
|
63
64
|
const _hoisted_17 = ["innerHTML"];
|
64
|
-
const _hoisted_18 =
|
65
|
+
const _hoisted_18 = ["src", "data-msg"];
|
66
|
+
const _hoisted_19 = {
|
65
67
|
style: {
|
66
68
|
"margin-left": "8px"
|
67
69
|
}
|
68
70
|
};
|
69
|
-
const
|
71
|
+
const _hoisted_20 = {
|
70
72
|
class: "size"
|
71
73
|
};
|
72
|
-
const
|
73
|
-
const
|
74
|
+
const _hoisted_21 = ["src"];
|
75
|
+
const _hoisted_22 = {
|
74
76
|
key: 0
|
75
77
|
};
|
76
78
|
var _sfc_main = /* @__PURE__ */ defineComponent({
|
@@ -100,6 +102,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
100
102
|
y: 0
|
101
103
|
});
|
102
104
|
const showForwardDetail = ref(false);
|
105
|
+
const currentImgId = ref();
|
106
|
+
const showLightbox = ref(false);
|
103
107
|
const pageInfo = {
|
104
108
|
page: 0,
|
105
109
|
hasMore: true,
|
@@ -111,40 +115,78 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
111
115
|
"--c-tip-gap": isGroupChat.value ? "10px" : "0px"
|
112
116
|
};
|
113
117
|
});
|
118
|
+
const images = computed(() => {
|
119
|
+
const list = [];
|
120
|
+
state.msgList.forEach((item) => {
|
121
|
+
const {
|
122
|
+
content
|
123
|
+
} = item;
|
124
|
+
if (!content)
|
125
|
+
return;
|
126
|
+
if (content.chatMessageType === MESSAGE_TYPE.IMAGE) {
|
127
|
+
addImageItem(list, item);
|
128
|
+
} else if (content.chatMessageType === MESSAGE_TYPE.BLEND) {
|
129
|
+
processBlendContent(list, item);
|
130
|
+
}
|
131
|
+
});
|
132
|
+
return sortBy(uniqBy(list, "id"), (item) => new Date(item.sendTime));
|
133
|
+
});
|
134
|
+
function addImageItem(list, item) {
|
135
|
+
const fileUrl = formatJsonstr(item.__content, "fileUrl");
|
136
|
+
list.push({
|
137
|
+
id: fileUrl,
|
138
|
+
fileUrl,
|
139
|
+
fileSize: formatJsonstr(item.__content, "fileSize"),
|
140
|
+
senderName: item.senderName,
|
141
|
+
sendTime: item.sendTime,
|
142
|
+
fileName: formatJsonstr(item.__content, "fileName")
|
143
|
+
});
|
144
|
+
}
|
145
|
+
function processBlendContent(list, item) {
|
146
|
+
const imgList = item.__content.match(/<img[^>]*data-clicked=['"]1['"][^>]*>/gi);
|
147
|
+
if (!imgList)
|
148
|
+
return;
|
149
|
+
imgList.forEach((img) => {
|
150
|
+
var _a;
|
151
|
+
const objstr = (_a = img.match(/data-msg=[']([^']+)[']/i)) == null ? void 0 : _a[1];
|
152
|
+
if (objstr) {
|
153
|
+
addImageItem(list, {
|
154
|
+
...item,
|
155
|
+
__content: objstr
|
156
|
+
});
|
157
|
+
}
|
158
|
+
});
|
159
|
+
}
|
160
|
+
useEventListener(chatMainRef, "click", (event) => {
|
161
|
+
const target = event.target;
|
162
|
+
if ((target == null ? void 0 : target.tagName) === "IMG") {
|
163
|
+
const {
|
164
|
+
clicked = "0",
|
165
|
+
msg
|
166
|
+
} = target.dataset || {};
|
167
|
+
if (clicked == "1") {
|
168
|
+
let msgData;
|
169
|
+
try {
|
170
|
+
msgData = JSON.parse(JSON.parse(msg || "{}"));
|
171
|
+
} catch (e) {
|
172
|
+
try {
|
173
|
+
msgData = JSON.parse(msg || "{}");
|
174
|
+
} catch (e2) {
|
175
|
+
msgData = {};
|
176
|
+
}
|
177
|
+
}
|
178
|
+
if (msgData.fileUrl) {
|
179
|
+
currentImgId.value = msgData.fileUrl;
|
180
|
+
showLightbox.value = true;
|
181
|
+
}
|
182
|
+
}
|
183
|
+
}
|
184
|
+
});
|
114
185
|
useScrollLoading(chatMainRef, () => {
|
115
186
|
getHistoryRecord();
|
116
187
|
}, "top", () => {
|
117
188
|
showLabel.value = showMenu.value = false;
|
118
189
|
});
|
119
|
-
function renderToolbar({
|
120
|
-
nodes
|
121
|
-
}) {
|
122
|
-
var _a, _b;
|
123
|
-
const {
|
124
|
-
_ctx
|
125
|
-
} = (_a = nodes.download) == null ? void 0 : _a.children;
|
126
|
-
const src = _ctx ? (_b = _ctx == null ? void 0 : _ctx.proxy) == null ? void 0 : _b.previewSrc : "";
|
127
|
-
return [nodes.prev, nodes.next, nodes.rotateCounterclockwise, nodes.rotateClockwise, nodes.resizeToOriginalSize, nodes.zoomOut, nodes.zoomIn, createVNode(NTooltip, null, {
|
128
|
-
trigger: () => createVNode(NIcon, {
|
129
|
-
"style": "cursor: pointer",
|
130
|
-
"color": "rgba(255, 255, 255, 0.75",
|
131
|
-
"size": 24,
|
132
|
-
"component": ArrowDownSharp,
|
133
|
-
"onClick": () => src && downloadFile(JSON.stringify({
|
134
|
-
fileUrl: src,
|
135
|
-
fileName: "image"
|
136
|
-
}))
|
137
|
-
}, null),
|
138
|
-
default: () => function() {
|
139
|
-
var _a2, _b2, _c;
|
140
|
-
try {
|
141
|
-
return ((_a2 = window.getLanguageByCode) == null ? void 0 : _a2.call(window, "10010.1.102")) || ((_c = (_b2 = window.top) == null ? void 0 : _b2.getLanguageByCode) == null ? void 0 : _c.call(_b2, "10010.1.102")) || "\u4E0B\u8F7D";
|
142
|
-
} catch (e) {
|
143
|
-
return "\u4E0B\u8F7D";
|
144
|
-
}
|
145
|
-
}()
|
146
|
-
}), nodes.close];
|
147
|
-
}
|
148
190
|
async function getHistoryRecord() {
|
149
191
|
try {
|
150
192
|
if (!pageInfo.hasMore)
|
@@ -178,12 +220,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
178
220
|
} finally {
|
179
221
|
}
|
180
222
|
}
|
181
|
-
function handleSelectLabel(event, msgId) {
|
182
|
-
showLabel.value = true;
|
183
|
-
labelPosition.x = event.clientX;
|
184
|
-
labelPosition.y = event.clientY;
|
185
|
-
menuMsgId.value = msgId;
|
186
|
-
}
|
187
223
|
async function handleContextmenu(event, msgId) {
|
188
224
|
menuMsgId.value = msgId;
|
189
225
|
setMenuPosition(event);
|
@@ -365,251 +401,236 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
365
401
|
ref_key: "chatMainRef",
|
366
402
|
ref: chatMainRef,
|
367
403
|
style: normalizeStyle(unref(styleProps))
|
368
|
-
}, [
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
}
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
}
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
}
|
404
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(state).msgList, (item, index) => {
|
405
|
+
var _a;
|
406
|
+
return openBlock(), createElementBlock(Fragment, {
|
407
|
+
key: item.id
|
408
|
+
}, [showMessage(item) ? (openBlock(), createElementBlock("div", {
|
409
|
+
key: 0,
|
410
|
+
class: normalizeClass(["message-item", {
|
411
|
+
"message-item--mine": item.sender == unref(state).userInfo.id
|
412
|
+
}])
|
413
|
+
}, [needShowTime(item, index) ? (openBlock(), createElementBlock("p", _hoisted_1, toDisplayString(item.__sendTime), 1)) : createCommentVNode("v-if", true), showTemplateMsg(item, "system") || item.status === "WITHDRAWN" || ((_a = item.content) == null ? void 0 : _a.chatMessageType) === unref(MESSAGE_TYPE).EVENT ? (openBlock(), createElementBlock(Fragment, {
|
414
|
+
key: 1
|
415
|
+
}, [showTemplateMsg(item, "system") ? (openBlock(), createBlock(MessageTemplate, {
|
416
|
+
key: 0,
|
417
|
+
data: item
|
418
|
+
}, null, 8, ["data"])) : createCommentVNode("v-if", true), item.status === "WITHDRAWN" ? (openBlock(), createElementBlock("p", _hoisted_2, [createElementVNode("span", null, toDisplayString(item.sender == unref(state).userInfo.id ? function() {
|
419
|
+
var _a2, _b, _c;
|
420
|
+
try {
|
421
|
+
return ((_a2 = window.getLanguageByCode) == null ? void 0 : _a2.call(window, "10010.1.67")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.67")) || "\u4F60";
|
422
|
+
} catch (e) {
|
423
|
+
return "\u4F60";
|
424
|
+
}
|
425
|
+
}() : item.senderName) + function() {
|
426
|
+
var _a2, _b, _c;
|
427
|
+
try {
|
428
|
+
return ((_a2 = window.getLanguageByCode) == null ? void 0 : _a2.call(window, "10010.1.68")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.68")) || "\u64A4\u56DE\u4E86\u4E00\u6761\u6D88\u606F";
|
429
|
+
} catch (e) {
|
430
|
+
return "\u64A4\u56DE\u4E86\u4E00\u6761\u6D88\u606F";
|
431
|
+
}
|
432
|
+
}(), 1), showReEdit(item) ? (openBlock(), createBlock(unref(NButton), {
|
433
|
+
key: 0,
|
434
|
+
size: "tiny",
|
435
|
+
style: {
|
436
|
+
"color": "var(--c-primary-color)",
|
437
|
+
"margin-left": "5px"
|
438
|
+
},
|
439
|
+
text: "",
|
440
|
+
onClick: () => reEdit(item)
|
441
|
+
}, {
|
442
|
+
default: withCtx(() => [createTextVNode(function() {
|
394
443
|
var _a2, _b, _c;
|
395
444
|
try {
|
396
|
-
return ((_a2 = window.getLanguageByCode) == null ? void 0 : _a2.call(window, "10010.1.
|
445
|
+
return ((_a2 = window.getLanguageByCode) == null ? void 0 : _a2.call(window, "10010.1.69")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.69")) || "\u91CD\u65B0\u7F16\u8F91";
|
397
446
|
} catch (e) {
|
398
|
-
return "\
|
447
|
+
return "\u91CD\u65B0\u7F16\u8F91";
|
399
448
|
}
|
400
|
-
}()
|
401
|
-
|
402
|
-
|
449
|
+
}())]),
|
450
|
+
_: 2
|
451
|
+
}, 1032, ["onClick"])) : createCommentVNode("v-if", true)])) : (openBlock(), createBlock(MessageEvent, {
|
452
|
+
key: 2,
|
453
|
+
data: item
|
454
|
+
}, null, 8, ["data"]))], 64)) : (openBlock(), createElementBlock("div", {
|
455
|
+
key: 2,
|
456
|
+
class: normalizeClass(["message-wrapper", {
|
457
|
+
checked: item.checked
|
458
|
+
}]),
|
459
|
+
onClick: () => item.checked = !item.checked
|
460
|
+
}, [createVNode(unref(NCheckbox), {
|
461
|
+
checked: item.checked,
|
462
|
+
"onUpdate:checked": ($event) => item.checked = $event,
|
463
|
+
size: "large"
|
464
|
+
}, null, 8, ["checked", "onUpdate:checked"]), createElementVNode("div", _hoisted_4, [createVNode(unref(NAvatar), {
|
465
|
+
round: "",
|
466
|
+
size: 38,
|
467
|
+
src: item.senderAvatar,
|
468
|
+
onClick: withModifiers((event) => unref(setUserDetail)(event, {
|
469
|
+
show: true,
|
470
|
+
userId: item.sender
|
471
|
+
}), ["stop"])
|
472
|
+
}, null, 8, ["src", "onClick"]), item.content ? (openBlock(), createElementBlock("div", _hoisted_5, [createElementVNode("div", _hoisted_6, [createElementVNode("span", {
|
473
|
+
class: "name",
|
474
|
+
"data-time": item.__time
|
475
|
+
}, toDisplayString(unref(isGroupChat) ? item.senderName : ""), 9, _hoisted_7)]), createElementVNode("div", {
|
476
|
+
class: normalizeClass(["content", {
|
477
|
+
emoji: item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI && !item.content.referenceContent,
|
478
|
+
template: item.content.chatMessageType === unref(MESSAGE_TYPE).TEMPLATE,
|
479
|
+
"template--3": isTemplate3(item.content),
|
480
|
+
"audio-video": unref(isAudioOrVideoMessage)(item.content),
|
481
|
+
file: item.content.chatMessageType === unref(MESSAGE_TYPE).FILE,
|
482
|
+
"merge-msg": item.content.chatMessageType === unref(MESSAGE_TYPE).FORWARD && unref(isArray)(item.content.forwardMessageList),
|
483
|
+
"reference-info": showReferenceMsg(item)
|
484
|
+
}]),
|
485
|
+
onContextmenu: withModifiers((event) => !unref(state).isForward && handleContextmenu(event, item.id), ["prevent"])
|
486
|
+
}, [showReferenceMsg(item) ? (openBlock(), createElementBlock(Fragment, {
|
487
|
+
key: 0
|
488
|
+
}, [item.content.referenceContent ? (openBlock(), createElementBlock("div", _hoisted_9, [createElementVNode("span", null, toDisplayString(item.content.referenceContent.senderName) + "\uFF1A", 1), createElementVNode("pre", {
|
489
|
+
innerHTML: unref(simplifyMessage)(item.content.referenceContent.content)
|
490
|
+
}, null, 8, _hoisted_10)])) : createCommentVNode("v-if", true), item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI ? (openBlock(), createElementBlock("img", {
|
491
|
+
key: 1,
|
492
|
+
class: normalizeClass([item.content.referenceContent ? "emoji--min" : "emoji--big"]),
|
493
|
+
src: unref(emojis).findEmoji(item.__content)
|
494
|
+
}, null, 10, _hoisted_11)) : (openBlock(), createElementBlock("pre", {
|
495
|
+
key: 2,
|
496
|
+
innerHTML: item.__content
|
497
|
+
}, null, 8, _hoisted_12))], 64)) : createCommentVNode("v-if", true), showBlendMsg(item) ? (openBlock(), createElementBlock("pre", {
|
498
|
+
key: 1,
|
499
|
+
innerHTML: item.__content
|
500
|
+
}, null, 8, _hoisted_13)) : createCommentVNode("v-if", true), showTemplateMsg(item, "template") ? (openBlock(), createBlock(MessageTemplate, {
|
501
|
+
key: 2,
|
502
|
+
data: item
|
503
|
+
}, null, 8, ["data"])) : createCommentVNode("v-if", true), item.content.chatMessageType === unref(MESSAGE_TYPE).FORWARD && unref(isArray)(item.content.forwardMessageList) ? (openBlock(), createElementBlock("div", {
|
504
|
+
key: 3,
|
505
|
+
class: "merge-msg-box",
|
506
|
+
onClick: () => clickMergeMsg(item)
|
507
|
+
}, [createElementVNode("h4", null, toDisplayString(unref(getForwardTitle)(item.content)), 1), createElementVNode("div", _hoisted_15, [(openBlock(true), createElementBlock(Fragment, null, renderList(item.content.forwardMessageList, (msg) => {
|
508
|
+
return openBlock(), createElementBlock("div", {
|
509
|
+
key: msg.id,
|
510
|
+
class: "merge-msg-contents-item"
|
511
|
+
}, [createElementVNode("span", _hoisted_16, toDisplayString(msg.senderName) + "\uFF1A", 1), createElementVNode("pre", {
|
512
|
+
innerHTML: unref(simplifyMessage)(msg.content)
|
513
|
+
}, null, 8, _hoisted_17)]);
|
514
|
+
}), 128))])], 8, _hoisted_14)) : createCommentVNode("v-if", true), item.content.chatMessageType === unref(MESSAGE_TYPE).IMAGE ? (openBlock(), createElementBlock("img", {
|
515
|
+
key: 4,
|
516
|
+
styele: "max-width: 240px; max-height: 240px",
|
517
|
+
src: unref(formatJsonstr)(item.__content, "fileUrl"),
|
518
|
+
"data-msg": JSON.stringify(item.__content),
|
519
|
+
"data-clicked": "1"
|
520
|
+
}, null, 8, _hoisted_18)) : createCommentVNode("v-if", true), unref(isAudioOrVideoMessage)(item.content) ? (openBlock(), createElementBlock(Fragment, {
|
521
|
+
key: 5
|
522
|
+
}, [createVNode(unref(NIcon), {
|
523
|
+
class: normalizeClass({
|
524
|
+
"is-audio": item.content.chatMessageType === unref(MESSAGE_TYPE).AUDIO
|
525
|
+
}),
|
526
|
+
component: item.content.chatMessageType === unref(MESSAGE_TYPE).AUDIO ? unref(CallOutline) : unref(VideocamOutline)
|
527
|
+
}, null, 8, ["class", "component"]), createElementVNode("span", _hoisted_19, toDisplayString(unref(getAVTime)(item.__content)), 1)], 64)) : createCommentVNode("v-if", true), item.content.chatMessageType === unref(MESSAGE_TYPE).FILE ? (openBlock(), createBlock(unref(NSpace), {
|
528
|
+
key: 6,
|
529
|
+
"wrap-item": false
|
530
|
+
}, {
|
531
|
+
default: withCtx(() => [createVNode(unref(NIcon), {
|
532
|
+
class: "icon-file",
|
533
|
+
size: "40",
|
534
|
+
component: unref(DocumentSharp)
|
535
|
+
}, null, 8, ["component"]), createVNode(unref(NSpace), {
|
536
|
+
"wrap-item": false,
|
537
|
+
vertical: "",
|
538
|
+
justify: "space-between",
|
403
539
|
style: {
|
404
|
-
"
|
405
|
-
|
406
|
-
},
|
407
|
-
text: "",
|
408
|
-
onClick: () => reEdit(item)
|
540
|
+
"row-gap": "0"
|
541
|
+
}
|
409
542
|
}, {
|
410
|
-
default: withCtx(() => [
|
411
|
-
var _a2, _b, _c;
|
412
|
-
try {
|
413
|
-
return ((_a2 = window.getLanguageByCode) == null ? void 0 : _a2.call(window, "10010.1.69")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.69")) || "\u91CD\u65B0\u7F16\u8F91";
|
414
|
-
} catch (e) {
|
415
|
-
return "\u91CD\u65B0\u7F16\u8F91";
|
416
|
-
}
|
417
|
-
}())]),
|
543
|
+
default: withCtx(() => [createElementVNode("span", null, toDisplayString(unref(formatJsonstr)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_20, toDisplayString(unref(formatJsonstr)(item.__content, "fileSize")), 1)]),
|
418
544
|
_: 2
|
419
|
-
},
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
}]),
|
427
|
-
onClick: () => item.checked = !item.checked
|
428
|
-
}, [createVNode(unref(NCheckbox), {
|
429
|
-
checked: item.checked,
|
430
|
-
"onUpdate:checked": ($event) => item.checked = $event,
|
431
|
-
size: "large"
|
432
|
-
}, null, 8, ["checked", "onUpdate:checked"]), createElementVNode("div", _hoisted_4, [createVNode(unref(NAvatar), {
|
433
|
-
round: "",
|
434
|
-
size: 38,
|
435
|
-
src: item.senderAvatar,
|
436
|
-
onClick: withModifiers((event) => unref(setUserDetail)(event, {
|
437
|
-
show: true,
|
438
|
-
userId: item.sender
|
439
|
-
}), ["stop"])
|
440
|
-
}, null, 8, ["src", "onClick"]), item.content ? (openBlock(), createElementBlock("div", _hoisted_5, [createElementVNode("div", _hoisted_6, [createElementVNode("span", {
|
441
|
-
class: "name",
|
442
|
-
"data-time": item.__time
|
443
|
-
}, toDisplayString(unref(isGroupChat) ? item.senderName : ""), 9, _hoisted_7)]), createElementVNode("div", {
|
444
|
-
class: normalizeClass(["content", {
|
445
|
-
emoji: item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI && !item.content.referenceContent,
|
446
|
-
template: item.content.chatMessageType === unref(MESSAGE_TYPE).TEMPLATE,
|
447
|
-
"template--3": isTemplate3(item.content),
|
448
|
-
"audio-video": unref(isAudioOrVideoMessage)(item.content),
|
449
|
-
file: item.content.chatMessageType === unref(MESSAGE_TYPE).FILE,
|
450
|
-
"merge-msg": item.content.chatMessageType === unref(MESSAGE_TYPE).FORWARD && unref(isArray)(item.content.forwardMessageList),
|
451
|
-
"reference-info": showReferenceMsg(item)
|
452
|
-
}]),
|
453
|
-
onContextmenu: withModifiers((event) => !unref(state).isForward && handleContextmenu(event, item.id), ["prevent"])
|
454
|
-
}, [showReferenceMsg(item) ? (openBlock(), createElementBlock(Fragment, {
|
455
|
-
key: 0
|
456
|
-
}, [item.content.referenceContent ? (openBlock(), createElementBlock("div", _hoisted_9, [createElementVNode("span", null, toDisplayString(item.content.referenceContent.senderName) + "\uFF1A", 1), createElementVNode("pre", {
|
457
|
-
innerHTML: unref(simplifyMessage)(item.content.referenceContent.content)
|
458
|
-
}, null, 8, _hoisted_10)])) : createCommentVNode("v-if", true), item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI ? (openBlock(), createElementBlock("img", {
|
459
|
-
key: 1,
|
460
|
-
class: normalizeClass([item.content.referenceContent ? "emoji--min" : "emoji--big"]),
|
461
|
-
src: unref(emojis).findEmoji(item.__content)
|
462
|
-
}, null, 10, _hoisted_11)) : (openBlock(), createElementBlock("pre", {
|
463
|
-
key: 2,
|
464
|
-
innerHTML: item.__content
|
465
|
-
}, null, 8, _hoisted_12))], 64)) : createCommentVNode("v-if", true), showBlendMsg(item) ? (openBlock(), createElementBlock("pre", {
|
466
|
-
key: 1,
|
467
|
-
innerHTML: item.__content
|
468
|
-
}, null, 8, _hoisted_13)) : createCommentVNode("v-if", true), showTemplateMsg(item, "template") ? (openBlock(), createBlock(MessageTemplate, {
|
469
|
-
key: 2,
|
470
|
-
data: item
|
471
|
-
}, null, 8, ["data"])) : createCommentVNode("v-if", true), item.content.chatMessageType === unref(MESSAGE_TYPE).FORWARD && unref(isArray)(item.content.forwardMessageList) ? (openBlock(), createElementBlock("div", {
|
472
|
-
key: 3,
|
473
|
-
class: "merge-msg-box",
|
474
|
-
onClick: () => clickMergeMsg(item)
|
475
|
-
}, [createElementVNode("h4", null, toDisplayString(unref(getForwardTitle)(item.content)), 1), createElementVNode("div", _hoisted_15, [(openBlock(true), createElementBlock(Fragment, null, renderList(item.content.forwardMessageList, (msg) => {
|
545
|
+
}, 1024)]),
|
546
|
+
_: 2
|
547
|
+
}, 1024)) : createCommentVNode("v-if", true), !unref(isAudioOrVideoMessage)(item.content) && item.content.labelList ? (openBlock(), createBlock(unref(NSpace), {
|
548
|
+
key: 7,
|
549
|
+
"wrap-item": false
|
550
|
+
}, {
|
551
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(item.content.labelList, (labelItem, i) => {
|
476
552
|
return openBlock(), createElementBlock("div", {
|
477
|
-
key:
|
478
|
-
class: "
|
479
|
-
}, [
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
}, [createVNode(unref(NIcon), {
|
490
|
-
class: normalizeClass({
|
491
|
-
"is-audio": item.content.chatMessageType === unref(MESSAGE_TYPE).AUDIO
|
492
|
-
}),
|
493
|
-
component: item.content.chatMessageType === unref(MESSAGE_TYPE).AUDIO ? unref(CallOutline) : unref(VideocamOutline)
|
494
|
-
}, null, 8, ["class", "component"]), createElementVNode("span", _hoisted_18, toDisplayString(unref(getAVTime)(item.__content)), 1)], 64)) : createCommentVNode("v-if", true), item.content.chatMessageType === unref(MESSAGE_TYPE).FILE ? (openBlock(), createBlock(unref(NSpace), {
|
495
|
-
key: 6,
|
496
|
-
"wrap-item": false
|
497
|
-
}, {
|
498
|
-
default: withCtx(() => [createVNode(unref(NIcon), {
|
499
|
-
class: "icon-file",
|
500
|
-
size: "40",
|
501
|
-
component: unref(DocumentSharp)
|
502
|
-
}, null, 8, ["component"]), createVNode(unref(NSpace), {
|
503
|
-
"wrap-item": false,
|
504
|
-
vertical: "",
|
505
|
-
justify: "space-between",
|
506
|
-
style: {
|
507
|
-
"row-gap": "0"
|
508
|
-
}
|
553
|
+
key: i,
|
554
|
+
class: "label-item"
|
555
|
+
}, [labelItem.type === "text" ? (openBlock(), createBlock(unref(NButton), {
|
556
|
+
key: 0,
|
557
|
+
type: labelItem.label.type,
|
558
|
+
secondary: "",
|
559
|
+
size: "tiny",
|
560
|
+
onClick: () => unref(setMessageLabel)({
|
561
|
+
type: labelItem.type,
|
562
|
+
labelItem: labelItem.label,
|
563
|
+
msgId: item.id
|
564
|
+
})
|
509
565
|
}, {
|
510
|
-
default: withCtx(() => [
|
566
|
+
default: withCtx(() => [createTextVNode(toDisplayString(labelItem.label.label), 1)]),
|
511
567
|
_: 2
|
512
|
-
},
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
})
|
532
|
-
}, {
|
533
|
-
default: withCtx(() => [createTextVNode(toDisplayString(labelItem.label.label), 1)]),
|
534
|
-
_: 2
|
535
|
-
}, 1032, ["type", "onClick"])) : (openBlock(), createBlock(unref(NButton), {
|
536
|
-
key: 1,
|
568
|
+
}, 1032, ["type", "onClick"])) : (openBlock(), createBlock(unref(NButton), {
|
569
|
+
key: 1,
|
570
|
+
quaternary: "",
|
571
|
+
size: "tiny",
|
572
|
+
onClick: () => unref(setMessageLabel)({
|
573
|
+
type: labelItem.type,
|
574
|
+
labelItem: labelItem.label,
|
575
|
+
msgId: item.id
|
576
|
+
})
|
577
|
+
}, {
|
578
|
+
icon: withCtx(() => [createElementVNode("img", {
|
579
|
+
class: "emoji--min",
|
580
|
+
src: unref(emojis).findEmoji(labelItem.label)
|
581
|
+
}, null, 8, _hoisted_21)]),
|
582
|
+
_: 2
|
583
|
+
}, 1032, ["onClick"])), (openBlock(true), createElementBlock(Fragment, null, renderList(labelItem.userList, (user, i2) => {
|
584
|
+
return openBlock(), createElementBlock(Fragment, {
|
585
|
+
key: user.id
|
586
|
+
}, [createVNode(unref(NButton), {
|
537
587
|
quaternary: "",
|
588
|
+
type: "tertiary",
|
538
589
|
size: "tiny",
|
539
|
-
onClick: () => unref(
|
540
|
-
|
541
|
-
|
542
|
-
msgId: item.id
|
590
|
+
onClick: (event) => unref(setUserDetail)(event, {
|
591
|
+
show: true,
|
592
|
+
info: user
|
543
593
|
})
|
544
594
|
}, {
|
545
|
-
|
546
|
-
class: "emoji--min",
|
547
|
-
src: unref(emojis).findEmoji(labelItem.label)
|
548
|
-
}, null, 8, _hoisted_20)]),
|
595
|
+
default: withCtx(() => [createTextVNode(toDisplayString(user.name), 1)]),
|
549
596
|
_: 2
|
550
|
-
}, 1032, ["onClick"])
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
597
|
+
}, 1032, ["onClick"]), i2 < labelItem.userList.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_22, "\uFF0C")) : createCommentVNode("v-if", true)], 64);
|
598
|
+
}), 128))]);
|
599
|
+
}), 128))]),
|
600
|
+
_: 2
|
601
|
+
}, 1024)) : createCommentVNode("v-if", true), createVNode(unref(NButtonGroup), {
|
602
|
+
class: "quick-menu"
|
603
|
+
}, {
|
604
|
+
default: withCtx(() => [!unref(isAudioOrVideoMessage)(item.content) ? (openBlock(), createElementBlock(Fragment, {
|
605
|
+
key: 0
|
606
|
+
}, [createCommentVNode(' <n-button\r\n quaternary\r\n size="tiny"\r\n @click="(event: MouseEvent) => handleSelectLabel(event, item.id)"\r\n >\r\n <template #icon>\r\n <n-icon size="17" :component="HappyOutline" />\r\n </template>\r\n </n-button> '), createVNode(unref(NButton), {
|
607
|
+
quaternary: "",
|
608
|
+
size: "tiny",
|
609
|
+
onClick: () => setReferenceMsg(item)
|
610
|
+
}, {
|
611
|
+
icon: withCtx(() => [createVNode(unref(NIcon), {
|
612
|
+
size: "17",
|
613
|
+
component: unref(ChatbubbleEllipsesOutline)
|
614
|
+
}, null, 8, ["component"])]),
|
567
615
|
_: 2
|
568
|
-
},
|
569
|
-
|
616
|
+
}, 1032, ["onClick"])], 64)) : createCommentVNode("v-if", true), createVNode(unref(NButton), {
|
617
|
+
quaternary: "",
|
618
|
+
size: "tiny",
|
619
|
+
onClick: (event) => handleContextmenu(event, item.id)
|
570
620
|
}, {
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
size: "tiny",
|
576
|
-
onClick: (event) => handleSelectLabel(event, item.id)
|
577
|
-
}, {
|
578
|
-
icon: withCtx(() => [createVNode(unref(NIcon), {
|
579
|
-
size: "17",
|
580
|
-
component: unref(HappyOutline)
|
581
|
-
}, null, 8, ["component"])]),
|
582
|
-
_: 2
|
583
|
-
}, 1032, ["onClick"]), createVNode(unref(NButton), {
|
584
|
-
quaternary: "",
|
585
|
-
size: "tiny",
|
586
|
-
onClick: () => setReferenceMsg(item)
|
587
|
-
}, {
|
588
|
-
icon: withCtx(() => [createVNode(unref(NIcon), {
|
589
|
-
size: "17",
|
590
|
-
component: unref(ChatbubbleEllipsesOutline)
|
591
|
-
}, null, 8, ["component"])]),
|
592
|
-
_: 2
|
593
|
-
}, 1032, ["onClick"])], 64)) : createCommentVNode("v-if", true), createVNode(unref(NButton), {
|
594
|
-
quaternary: "",
|
595
|
-
size: "tiny",
|
596
|
-
onClick: (event) => handleContextmenu(event, item.id)
|
597
|
-
}, {
|
598
|
-
icon: withCtx(() => [createVNode(unref(NIcon), {
|
599
|
-
size: "14",
|
600
|
-
component: unref(EllipsisHorizontal)
|
601
|
-
}, null, 8, ["component"])]),
|
602
|
-
_: 2
|
603
|
-
}, 1032, ["onClick"])]),
|
621
|
+
icon: withCtx(() => [createVNode(unref(NIcon), {
|
622
|
+
size: "14",
|
623
|
+
component: unref(EllipsisHorizontal)
|
624
|
+
}, null, 8, ["component"])]),
|
604
625
|
_: 2
|
605
|
-
},
|
606
|
-
|
607
|
-
|
608
|
-
}), createVNode(unref(ContextMenu), {
|
626
|
+
}, 1032, ["onClick"])]),
|
627
|
+
_: 2
|
628
|
+
}, 1024)], 42, _hoisted_8)])) : createCommentVNode("v-if", true)])], 10, _hoisted_3))], 2)) : createCommentVNode("v-if", true)], 64);
|
629
|
+
}), 128)), createVNode(unref(ContextMenu), {
|
609
630
|
ref_key: "contextmenuRef",
|
610
631
|
ref: contextmenuRef,
|
611
632
|
show: showMenu.value,
|
612
|
-
"onUpdate:show": _cache[
|
633
|
+
"onUpdate:show": _cache[0] || (_cache[0] = ($event) => showMenu.value = $event),
|
613
634
|
position: menuPosition.value,
|
614
635
|
id: menuMsgId.value,
|
615
636
|
onSelect: handleSelect
|
@@ -643,15 +664,21 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
643
664
|
}), menuMsgId.value ? (openBlock(), createBlock(SelectLabel, {
|
644
665
|
key: 0,
|
645
666
|
show: showLabel.value,
|
646
|
-
"onUpdate:show": _cache[
|
667
|
+
"onUpdate:show": _cache[1] || (_cache[1] = ($event) => showLabel.value = $event),
|
647
668
|
x: labelPosition.x,
|
648
669
|
y: labelPosition.y,
|
649
670
|
id: menuMsgId.value
|
650
671
|
}, null, 8, ["show", "x", "y", "id"])) : createCommentVNode("v-if", true), createVNode(MessageMergeForward, {
|
651
672
|
show: showForwardDetail.value,
|
652
|
-
"onUpdate:show": _cache[
|
673
|
+
"onUpdate:show": _cache[2] || (_cache[2] = ($event) => showForwardDetail.value = $event),
|
653
674
|
id: menuMsgId.value
|
654
|
-
}, null, 8, ["show", "id"])
|
675
|
+
}, null, 8, ["show", "id"]), createVNode(ImageLightbox, {
|
676
|
+
images: unref(images),
|
677
|
+
"current-id": currentImgId.value,
|
678
|
+
"onUpdate:current-id": _cache[3] || (_cache[3] = ($event) => currentImgId.value = $event),
|
679
|
+
visible: showLightbox.value,
|
680
|
+
"onUpdate:visible": _cache[4] || (_cache[4] = ($event) => showLightbox.value = $event)
|
681
|
+
}, null, 8, ["images", "current-id", "visible"])], 6);
|
655
682
|
};
|
656
683
|
}
|
657
684
|
});
|