cnhis-design-vue 3.3.3-beta.3 → 3.3.3-beta.30
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/audio-sdk/index.d.ts +18 -16
- package/es/components/audio-sdk/src/Index.vue.d.ts +18 -16
- package/es/components/audio-sdk/src/Index.vue2.js +47 -12
- package/es/components/audio-sdk/src/audioSDK.js +1 -1
- package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +6 -6
- package/es/components/audio-sdk/src/components/recording.vue.d.ts +6 -6
- package/es/components/audio-sdk/src/components/recording.vue2.js +17 -3
- package/es/components/base-search/index.d.ts +3 -0
- package/es/components/base-search/src/index.vue.d.ts +3 -0
- package/es/components/big-table/src/components/NoData.vue2.js +8 -1
- package/es/components/big-table/src/hooks/useTableParse.js +8 -1
- package/es/components/button-print/src/components/NewPrintComponent.vue2.js +3 -0
- package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
- package/es/components/callback/src/components/render/popupMaps.d.ts +13 -0
- package/es/components/card-reader-sdk-cn/src/henan/index.js +8 -1
- package/es/components/classification/index.d.ts +56 -6
- package/es/components/classification/src/components/search-filter/index.vue.d.ts +56 -6
- package/es/components/classification/src/components/set-classification/index.vue.d.ts +56 -6
- package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
- package/es/components/classification/src/index.vue.d.ts +56 -6
- package/es/components/date-picker/src/DatePicker.vue2.js +8 -1
- package/es/components/expand-field/index.d.ts +792 -1
- package/es/components/expand-field/src/components/FormItemPerson.vue.d.ts +792 -1
- package/es/components/expand-field/src/components/PersonModal.vue.d.ts +792 -1
- package/es/components/expand-field/src/components/form.vue.d.ts +792 -1
- package/es/components/expand-field/src/components/form.vue2.js +8 -1
- package/es/components/expand-field/src/index.vue.d.ts +792 -1
- package/es/components/field-editor/index.d.ts +13 -0
- package/es/components/field-editor/src/FieldEditor.vue.d.ts +13 -0
- package/es/components/field-editor/src/FieldEditor.vue2.js +2 -1
- package/es/components/field-editor/src/fields.d.ts +1 -0
- package/es/components/field-editor/src/fields.js +6 -0
- package/es/components/field-set/src/FieldColor.vue.d.ts +2 -0
- package/es/components/field-set/src/FieldFilter.vue.d.ts +2 -0
- package/es/components/field-set/src/FieldSet.vue.d.ts +34 -0
- package/es/components/field-set/src/FieldSet.vue2.js +118 -69
- package/es/components/field-set/src/Index.vue2.js +8 -3
- package/es/components/field-set/src/TableStyle.vue2.js +2 -2
- package/es/components/field-set/src/constants/index.d.ts +1 -1
- package/es/components/field-set/src/types/index.d.ts +1 -0
- package/es/components/field-set/style/index.css +1 -1
- package/es/components/form-config/index.d.ts +39 -0
- package/es/components/form-config/src/FormConfig.vue.d.ts +39 -0
- package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +13 -0
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +13 -0
- package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +13 -0
- package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +9 -2
- package/es/components/form-render/index.d.ts +13 -0
- package/es/components/form-render/src/FormRender.vue.d.ts +13 -0
- package/es/components/form-render/src/FormRender.vue2.js +4 -0
- package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +13 -0
- package/es/components/form-render/src/components/renderer/formItem.js +8 -1
- package/es/components/form-render/src/hooks/useBusinessBinding.d.ts +12 -3
- package/es/components/form-render/src/hooks/useBusinessBinding.js +7 -7
- package/es/components/form-render/src/hooks/useFormContext.js +1 -1
- package/es/components/form-render/src/hooks/useFormValidator.js +8 -1
- package/es/components/form-render/src/hooks/useLowCodeReactions.js +2 -1
- package/es/components/form-render/src/utils/business.d.ts +3 -1
- package/es/components/form-render/src/utils/business.js +7 -1
- package/es/components/iho-chat/index.d.ts +25 -5
- package/es/components/iho-chat/src/Index.vue.d.ts +25 -5
- package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/ChatFile.vue2.js +5 -15
- package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +5 -1
- package/es/components/iho-chat/src/components/ChatFooter.vue2.js +53 -14
- package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/ChatHeader.vue2.js +3 -2
- package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +3 -3
- package/es/components/iho-chat/src/components/ChatMain.vue2.js +7 -15
- package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/ChatRecord.vue2.js +3 -3
- package/es/components/iho-chat/src/components/ContextMenu.js +3 -11
- package/es/components/iho-chat/src/components/MessageMergeForward.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/MessageMergeForward.vue2.js +3 -3
- package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +16 -0
- package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +112 -53
- package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
- package/es/components/iho-chat/src/hooks/index.d.ts +1 -0
- package/es/components/iho-chat/src/hooks/index.js +1 -0
- package/es/components/iho-chat/src/hooks/useData.js +2 -7
- package/es/components/iho-chat/src/hooks/useDraggable.d.ts +25 -0
- package/es/components/iho-chat/src/hooks/useDraggable.js +160 -0
- package/es/components/iho-chat/src/utils/index.d.ts +2 -3
- package/es/components/iho-chat/src/utils/index.js +20 -39
- package/es/components/iho-chat/style/index.css +1 -1
- package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +8 -1
- package/es/components/iho-table/src/plugins/headerPlugin/index.js +5 -2
- package/es/components/index.css +1 -1
- package/es/components/info-header/index.d.ts +26 -0
- package/es/components/info-header/src/InfoHeader.vue.d.ts +26 -0
- package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +13 -0
- package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +13 -0
- package/es/components/info-header/src/components/patientInfo/index.vue2.js +16 -2
- package/es/components/quick-search/index.d.ts +2 -0
- package/es/components/quick-search/src/index.vue.d.ts +2 -0
- package/es/components/scale-view/index.d.ts +53 -3
- package/es/components/scale-view/src/ScaleView.vue.d.ts +56 -5
- package/es/components/scale-view/src/ScaleView.vue2.js +79 -4
- package/es/components/scale-view/src/components/AnswerParse.vue.d.ts +5 -0
- package/es/components/scale-view/src/components/AnswerParse.vue2.js +74 -8
- package/es/components/scale-view/src/components/EvaluateCountdown.vue.d.ts +3 -0
- package/es/components/scale-view/src/components/EvaluateCountdown.vue2.js +26 -2
- package/es/components/scale-view/src/components/EvaluatePage.vue.d.ts +3 -0
- package/es/components/scale-view/src/components/EvaluatePage.vue2.js +27 -6
- package/es/components/scale-view/src/components/NoData.vue2.js +9 -3
- package/es/components/scale-view/src/components/ScaleScore.d.ts +1 -1
- package/es/components/scale-view/src/components/ScaleScore.js +45 -3
- package/es/components/scale-view/src/components/formitem/r-checkbox.js +16 -2
- package/es/components/scale-view/src/components/formitem/r-sign.js +32 -4
- package/es/components/scale-view/src/components/formitem/r-upload.js +65 -7
- package/es/components/scale-view/src/components/formitem/sign-com.js +8 -1
- package/es/components/scale-view/src/hooks/scaleview-computed.js +18 -3
- package/es/components/scale-view/src/hooks/scaleview-init.js +24 -3
- package/es/components/scale-view/src/hooks/scaleview-methods.js +40 -5
- package/es/components/scale-view/src/hooks/scaleview-props.d.ts +8 -0
- package/es/components/scale-view/src/hooks/scaleview-props.js +8 -0
- package/es/components/scale-view/src/hooks/scaleview-submit.d.ts +2 -1
- package/es/components/scale-view/src/hooks/scaleview-submit.js +64 -8
- package/es/components/scale-view/src/hooks/scaleview-validate.d.ts +1 -1
- package/es/components/scale-view/src/hooks/scaleview-validate.js +157 -24
- package/es/components/scale-view/src/hooks/use-evaluate.js +16 -2
- package/es/components/scale-view/src/hooks/use-noData.js +33 -5
- package/es/components/scale-view/src/utils/judge-types.d.ts +2 -1
- package/es/components/scale-view/src/utils/judge-types.js +10 -10
- package/es/components/scale-view/src/utils/watch-form-change.d.ts +13 -0
- package/es/components/scale-view/src/utils/watch-form-change.js +71 -0
- package/es/components/select-person/index.d.ts +792 -1
- package/es/components/select-person/src/SelectPerson.vue.d.ts +434 -341
- package/es/components/select-person/src/SelectPerson.vue2.js +521 -675
- package/es/components/select-person/src/SelectPersonRole.vue.d.ts +630 -0
- package/es/components/select-person/src/SelectPersonRole.vue.js +6 -0
- package/es/components/select-person/src/SelectPersonRole.vue2.js +942 -0
- package/es/components/select-person/src/components/GroupItem.vue.d.ts +19 -0
- package/es/components/select-person/src/components/GroupItem.vue.js +6 -0
- package/es/components/select-person/src/components/GroupItem.vue2.js +37 -0
- package/es/components/select-person/src/components/SearchGroupList.vue.d.ts +214 -0
- package/es/components/select-person/src/components/SearchGroupList.vue.js +6 -0
- package/es/components/select-person/src/components/SearchGroupList.vue2.js +145 -0
- package/es/components/select-person/src/components/SearchMultiple.vue2.js +1 -1
- package/es/components/select-person/src/components/SearchOrgAndStaff.vue2.js +21 -12
- package/es/components/select-person/src/components/TagItem.vue.d.ts +43 -0
- package/es/components/select-person/src/components/TagItem.vue.js +6 -0
- package/es/components/select-person/src/components/TagItem.vue2.js +40 -0
- package/es/components/select-person/src/index.vue.d.ts +793 -1
- package/es/components/select-person/src/index.vue2.js +21 -4
- package/es/components/select-person/src/types/index.d.ts +35 -0
- package/es/components/select-person/src/types/index.js +1 -0
- package/es/components/select-person/src/utils/index.d.ts +3 -0
- package/es/components/select-person/src/utils/index.js +29 -8
- package/es/components/select-person/style/index.css +1 -1
- package/es/components/shortcut-setter/index.d.ts +13 -0
- package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +13 -0
- package/es/components/table-filter/src/components/bi-filter/ValueCfg.vue.d.ts +1 -0
- package/es/components/table-filter/src/components/bi-filter/components/SelectFilter.vue.d.ts +1 -0
- package/es/components/table-filter/src/components/bi-filter/components/index.d.ts +1 -0
- package/es/components/table-filter/src/components/bi-filter/index.vue.d.ts +1 -0
- package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue.d.ts +54 -6
- package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue2.js +26 -10
- package/es/components/table-filter/src/components/classify-filter/components/Date.vue.d.ts +17 -2
- package/es/components/table-filter/src/components/classify-filter/components/Date.vue2.js +37 -2
- package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue.d.ts +18 -2
- package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue2.js +44 -1
- package/es/components/table-filter/src/components/classify-filter/components/SelectFilter.vue.d.ts +1 -0
- package/es/components/table-filter/src/components/classify-filter/components/index.d.ts +36 -4
- package/es/components/table-filter/src/components/classify-filter/hooks/useFilterConditions.js +2 -1
- package/es/components/table-filter/src/components/classify-filter/index.vue.d.ts +55 -6
- package/es/components/table-filter/src/components/classify-filter/index.vue2.js +6 -3
- package/es/components/table-filter/src/components/render-widget/components/DateInner.vue.d.ts +1 -1
- package/es/components/table-filter/src/components/render-widget/components/DateOut.vue2.js +12 -1
- package/es/components/table-filter/src/components/render-widget/components/DateQuickBtn/index.vue.d.ts +1 -1
- package/es/components/table-filter/src/components/render-widget/components/DateQuickBtn/index.vue2.js +25 -6
- package/es/components/table-filter/src/components/render-widget/components/DateRangeInner.vue.d.ts +1 -1
- package/es/components/table-filter/src/components/render-widget/components/DateRangeOut.vue2.js +12 -1
- package/es/components/table-filter/src/components/render-widget/components/index.d.ts +2 -2
- package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +2 -2
- package/es/components/table-filter/src/hooks/useAdvanced.d.ts +2 -0
- package/es/components/table-filter/src/hooks/useAdvanced.js +20 -3
- package/es/components/table-filter/src/hooks/useRenderWidget.js +4 -0
- package/es/components/table-filter/src/tool/date.d.ts +3 -0
- package/es/components/table-filter/src/tool/date.js +139 -0
- package/es/components/table-filter/src/tool/transformData.d.ts +1 -0
- package/es/components/table-filter/src/tool/transformData.js +11 -8
- package/es/components/table-filter/src/types/enums.d.ts +1 -0
- package/es/components/table-filter/src/types/enums.js +2 -1
- package/es/components/table-filter/src/types/index.d.ts +12 -0
- package/es/components/vod-chunk-upload/index.d.ts +3 -0
- package/es/components/vod-chunk-upload/src/chunk-upload-new.vue.d.ts +1 -29
- package/es/components/vod-chunk-upload/src/chunk-upload-new.vue2.js +109 -11
- package/es/components/vod-chunk-upload/src/hooks/upload-computed.js +15 -1
- package/es/components/vod-chunk-upload/src/hooks/upload-data.js +72 -9
- package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue.d.ts +3 -0
- package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue2.js +75 -9
- package/es/env.d.ts +25 -25
- package/es/shared/hooks/selectHooks/useSearchContent.js +1 -1
- package/es/shared/package.json.js +1 -1
- package/package.json +3 -3
@@ -6,7 +6,7 @@ import { useData } from '../hooks/useData.js';
|
|
6
6
|
import 'stompjs';
|
7
7
|
import 'sockjs-client/dist/sockjs.min.js';
|
8
8
|
import { MESSAGE_TYPE } from '../constants/index.js';
|
9
|
-
import { isAudioOrVideoMessage, simplifyMessage, getForwardTitle, getAVTime, downloadFile } from '../utils/index.js';
|
9
|
+
import { isAudioOrVideoMessage, simplifyMessage, getForwardTitle, formatJsonstr, getAVTime, downloadFile } from '../utils/index.js';
|
10
10
|
import { first, last, isArray, toString } from 'lodash-es';
|
11
11
|
import 'trtc-sdk-v5';
|
12
12
|
import MessageTemplate from './MessageTemplate.vue.js';
|
@@ -130,7 +130,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
130
130
|
"color": "rgba(255, 255, 255, 0.75",
|
131
131
|
"size": 24,
|
132
132
|
"component": ArrowDownSharp,
|
133
|
-
"onClick": () => src && downloadFile(
|
133
|
+
"onClick": () => src && downloadFile(JSON.stringify({
|
134
|
+
fileUrl: src,
|
135
|
+
fileName: "image"
|
136
|
+
}))
|
134
137
|
}, null),
|
135
138
|
default: () => function() {
|
136
139
|
var _a2, _b2, _c;
|
@@ -142,17 +145,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
142
145
|
}()
|
143
146
|
}), nodes.close];
|
144
147
|
}
|
145
|
-
function formatImage(obj, type) {
|
146
|
-
try {
|
147
|
-
if (typeof obj === "string") {
|
148
|
-
const objParse = JSON.parse(obj);
|
149
|
-
return objParse[type];
|
150
|
-
}
|
151
|
-
return obj[type];
|
152
|
-
} catch (error) {
|
153
|
-
return obj;
|
154
|
-
}
|
155
|
-
}
|
156
148
|
async function getHistoryRecord() {
|
157
149
|
try {
|
158
150
|
if (!pageInfo.hasMore)
|
@@ -490,7 +482,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
490
482
|
}), 128))])], 8, _hoisted_14)) : createCommentVNode("v-if", true), item.content.chatMessageType === unref(MESSAGE_TYPE).IMAGE ? (openBlock(), createBlock(unref(NImage), {
|
491
483
|
key: 4,
|
492
484
|
width: "240",
|
493
|
-
src:
|
485
|
+
src: unref(formatJsonstr)(item.__content, "fileUrl"),
|
494
486
|
onClick: _cache[0] || (_cache[0] = (event) => event.stopPropagation())
|
495
487
|
}, null, 8, ["src"])) : createCommentVNode("v-if", true), unref(isAudioOrVideoMessage)(item.content) ? (openBlock(), createElementBlock(Fragment, {
|
496
488
|
key: 5
|
@@ -515,7 +507,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
515
507
|
"row-gap": "0"
|
516
508
|
}
|
517
509
|
}, {
|
518
|
-
default: withCtx(() => [createElementVNode("span", null, toDisplayString(
|
510
|
+
default: withCtx(() => [createElementVNode("span", null, toDisplayString(unref(formatJsonstr)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_19, toDisplayString(unref(formatJsonstr)(item.__content, "fileSize")), 1)]),
|
519
511
|
_: 2
|
520
512
|
}, 1024)]),
|
521
513
|
_: 2
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { PropType } from 'vue';
|
2
2
|
import { AnyObject } from '../../../../shared/types';
|
3
|
-
import { formatTime, isDoctorRole, getRoleName,
|
3
|
+
import { formatTime, isDoctorRole, getRoleName, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, getForwardTitle, simplifyMessage } from '../utils';
|
4
4
|
import { MESSAGE_TYPE } from '../constants';
|
5
5
|
declare const _default: import("vue").DefineComponent<{
|
6
6
|
visible: {
|
@@ -213,7 +213,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
213
213
|
formatTime: typeof formatTime;
|
214
214
|
isDoctorRole: typeof isDoctorRole;
|
215
215
|
getRoleName: typeof getRoleName;
|
216
|
-
|
216
|
+
formatJsonstr: typeof formatJsonstr;
|
217
217
|
getFileType: typeof getFileType;
|
218
218
|
getDetail: typeof getDetail;
|
219
219
|
showAudioAndVideoRecord: typeof showAudioAndVideoRecord;
|
@@ -6,7 +6,7 @@ import 'stompjs';
|
|
6
6
|
import 'sockjs-client/dist/sockjs.min.js';
|
7
7
|
import { MESSAGE_TYPE } from '../constants/index.js';
|
8
8
|
import { searchChatRecordApi } from '../api/index.js';
|
9
|
-
import { transformMessage, isDoctorRole, getRoleName, formatTime,
|
9
|
+
import { transformMessage, isDoctorRole, getRoleName, formatTime, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, getForwardTitle, simplifyMessage } from '../utils/index.js';
|
10
10
|
import { last, isArray } from 'lodash-es';
|
11
11
|
import 'trtc-sdk-v5';
|
12
12
|
import DatePicker from '../../../date-picker/index.js';
|
@@ -369,10 +369,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
369
369
|
class: normalizeClass(["iho-chatRole", unref(isDoctorRole)(item.roleInfo) ? "isDoctor" : ""])
|
370
370
|
}, toDisplayString(unref(getRoleName)(item.roleInfo)), 3), [[vShow, unref(getRoleName)(item.roleInfo)]])]), createElementVNode("span", _hoisted_9, toDisplayString(unref(formatTime)(item.sendTime).recordTime), 1)]), createElementVNode("div", _hoisted_10, [item.content.chatMessageType === unref(MESSAGE_TYPE).IMAGE ? (openBlock(), createElementBlock("img", {
|
371
371
|
key: 0,
|
372
|
-
src: unref(
|
372
|
+
src: unref(formatJsonstr)(item.__content, "fileUrl")
|
373
373
|
}, null, 8, _hoisted_11)) : item.content.chatMessageType === unref(MESSAGE_TYPE).FILE ? (openBlock(), createElementBlock(Fragment, {
|
374
374
|
key: 1
|
375
|
-
}, [createElementVNode("span", _hoisted_12, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_13, [createElementVNode("span", _hoisted_14, toDisplayString(unref(
|
375
|
+
}, [createElementVNode("span", _hoisted_12, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_13, [createElementVNode("span", _hoisted_14, toDisplayString(unref(formatJsonstr)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_15, toDisplayString(unref(getDetail)(item)), 1)])], 64)) : item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI ? (openBlock(), createElementBlock("img", {
|
376
376
|
key: 2,
|
377
377
|
class: "emoji",
|
378
378
|
src: unref(emojis).findEmoji(item.__content)
|
@@ -7,7 +7,7 @@ import 'stompjs';
|
|
7
7
|
import 'sockjs-client/dist/sockjs.min.js';
|
8
8
|
import { STATUS, MESSAGE_TYPE } from '../constants/index.js';
|
9
9
|
import { recallMessageApi } from '../api/index.js';
|
10
|
-
import { isAudioOrVideoMessage, $message, downloadFile,
|
10
|
+
import { isAudioOrVideoMessage, $message, downloadFile, formatJsonstr } from '../utils/index.js';
|
11
11
|
import 'lodash-es';
|
12
12
|
import 'trtc-sdk-v5';
|
13
13
|
import { emojis } from '../utils/emoji.js';
|
@@ -192,7 +192,7 @@ var ContextMenu = /* @__PURE__ */ defineComponent({
|
|
192
192
|
} else {
|
193
193
|
let data;
|
194
194
|
if ([MESSAGE_TYPE.EMOJI, MESSAGE_TYPE.IMAGE].includes(chatMessageType)) {
|
195
|
-
const url = chatMessageType === MESSAGE_TYPE.EMOJI ? emojis.findEmoji(content.msg) :
|
195
|
+
const url = chatMessageType === MESSAGE_TYPE.EMOJI ? emojis.findEmoji(content.msg) : formatJsonstr(content.msg, "fileUrl");
|
196
196
|
data = `<img data-msg=${chatMessageType === MESSAGE_TYPE.EMOJI ? content.msg : ""} data-type=${chatMessageType} class=${chatMessageType === MESSAGE_TYPE.EMOJI ? "emoji--min" : "chat-image-copy"} src=${url} />`;
|
197
197
|
} else if (chatMessageType === MESSAGE_TYPE.BLEND) {
|
198
198
|
data = __content;
|
@@ -211,15 +211,7 @@ var ContextMenu = /* @__PURE__ */ defineComponent({
|
|
211
211
|
}
|
212
212
|
return;
|
213
213
|
case "download": {
|
214
|
-
|
215
|
-
fileUrl: url,
|
216
|
-
msg: fileName
|
217
|
-
} = content;
|
218
|
-
if (chatMessageType === MESSAGE_TYPE.IMAGE) {
|
219
|
-
url = fileName;
|
220
|
-
fileName = fileName.match(/\/([^\/?#]+)$/)[1];
|
221
|
-
}
|
222
|
-
downloadFile(url, fileName);
|
214
|
+
downloadFile(__content);
|
223
215
|
return;
|
224
216
|
}
|
225
217
|
case "withdraw": {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { AnyObject } from '../../../../shared/types';
|
2
|
-
import { formatTime, getForwardTitle, isDoctorRole, getRoleName,
|
2
|
+
import { formatTime, getForwardTitle, isDoctorRole, getRoleName, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, simplifyMessage } from '../utils';
|
3
3
|
import { MESSAGE_TYPE } from '../constants';
|
4
4
|
declare const _default: import("vue").DefineComponent<{
|
5
5
|
id: {
|
@@ -54,7 +54,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
54
54
|
getForwardTitle: typeof getForwardTitle;
|
55
55
|
isDoctorRole: typeof isDoctorRole;
|
56
56
|
getRoleName: typeof getRoleName;
|
57
|
-
|
57
|
+
formatJsonstr: typeof formatJsonstr;
|
58
58
|
getFileType: typeof getFileType;
|
59
59
|
getDetail: typeof getDetail;
|
60
60
|
showAudioAndVideoRecord: typeof showAudioAndVideoRecord;
|
@@ -5,7 +5,7 @@ import 'stompjs';
|
|
5
5
|
import 'sockjs-client/dist/sockjs.min.js';
|
6
6
|
import { MESSAGE_TYPE } from '../constants/index.js';
|
7
7
|
import '../api/index.js';
|
8
|
-
import { transformMessage, getForwardTitle, isDoctorRole, getRoleName, formatTime,
|
8
|
+
import { transformMessage, getForwardTitle, isDoctorRole, getRoleName, formatTime, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, simplifyMessage } from '../utils/index.js';
|
9
9
|
import { isArray } from 'lodash-es';
|
10
10
|
import 'trtc-sdk-v5';
|
11
11
|
import { emojis } from '../utils/emoji.js';
|
@@ -116,10 +116,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
116
116
|
}
|
117
117
|
}, toDisplayString(unref(getRoleName)(item.roleInfo)), 3), [[vShow, unref(getRoleName)(item.roleInfo)]])]), createElementVNode("span", null, toDisplayString(unref(formatTime)(item.sendTime).recordTime), 1)]), createElementVNode("div", _hoisted_5, [item.content.chatMessageType === unref(MESSAGE_TYPE).IMAGE ? (openBlock(), createElementBlock("img", {
|
118
118
|
key: 0,
|
119
|
-
src: unref(
|
119
|
+
src: unref(formatJsonstr)(item.__content, "fileUrl")
|
120
120
|
}, null, 8, _hoisted_6)) : item.content.chatMessageType === unref(MESSAGE_TYPE).FILE ? (openBlock(), createElementBlock(Fragment, {
|
121
121
|
key: 1
|
122
|
-
}, [createElementVNode("span", _hoisted_7, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_8, [createElementVNode("span", _hoisted_9, toDisplayString(unref(
|
122
|
+
}, [createElementVNode("span", _hoisted_7, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_8, [createElementVNode("span", _hoisted_9, toDisplayString(unref(formatJsonstr)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_10, toDisplayString(unref(getDetail)(item)), 1)])], 64)) : item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI ? (openBlock(), createElementBlock("img", {
|
123
123
|
key: 2,
|
124
124
|
class: "emoji",
|
125
125
|
src: unref(emojis).findEmoji(item.__content)
|
@@ -67,8 +67,22 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
67
67
|
handleRemoteVideoAvailable: import("../../../../shared/types").AnyFn;
|
68
68
|
}) => void;
|
69
69
|
isConnect: import("vue").Ref<boolean>;
|
70
|
+
wrapperRef: import("vue").Ref<HTMLElement | null>;
|
71
|
+
handleRef: import("vue").Ref<HTMLElement | null>;
|
72
|
+
isMaxSize: import("vue").Ref<boolean>;
|
73
|
+
miniWrapperRef: import("vue").Ref<HTMLElement | null>;
|
70
74
|
callUser: import("vue").ComputedRef<any>;
|
71
75
|
title: import("vue").ComputedRef<string>;
|
76
|
+
style: import("vue").Ref<{
|
77
|
+
left: string;
|
78
|
+
top: string;
|
79
|
+
}>;
|
80
|
+
changePosition: (position?: ("center" | "top-right") | undefined) => void;
|
81
|
+
miniStyle: import("vue").Ref<{
|
82
|
+
left: string;
|
83
|
+
top: string;
|
84
|
+
}>;
|
85
|
+
changeMiniPosition: (position?: ("center" | "top-right") | undefined) => void;
|
72
86
|
handleAddPerson: ({ checkedIds, checkedOptions }: {
|
73
87
|
checkedIds: string[];
|
74
88
|
checkedOptions: AnyObject[];
|
@@ -83,6 +97,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
83
97
|
handleRemoteUserExit: (event: any) => void;
|
84
98
|
handleError: (error: any) => void;
|
85
99
|
NButton: any;
|
100
|
+
NAvatar: any;
|
86
101
|
NIcon: any;
|
87
102
|
ChatAdd: import("vue").DefineComponent<{
|
88
103
|
title: {
|
@@ -285,5 +300,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
285
300
|
PersonAdd: 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<{}>>, {}>;
|
286
301
|
MicOff: 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<{}>>, {}>;
|
287
302
|
Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
303
|
+
ResizeOutline: 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<{}>>, {}>;
|
288
304
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
289
305
|
export default _default;
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import { createElementVNode, defineComponent, ref, computed, onBeforeUnmount, openBlock, createElementBlock, withDirectives,
|
2
|
-
import { NButton, NIcon } from 'naive-ui';
|
1
|
+
import { createElementVNode, defineComponent, ref, computed, watch, onBeforeUnmount, openBlock, createElementBlock, Fragment, withDirectives, normalizeStyle, unref, toDisplayString, vShow, createVNode, withCtx, renderList, createCommentVNode, createTextVNode, nextTick } from 'vue';
|
2
|
+
import { NButton, NIcon, NAvatar } from 'naive-ui';
|
3
3
|
import ChatAdd from './ChatAdd.vue.js';
|
4
|
-
import { Close, Mic, MicOff, Videocam, VideocamOff, Call, PersonAdd } from '@vicons/ionicons5';
|
4
|
+
import { Close, Mic, MicOff, Videocam, VideocamOff, Call, PersonAdd, ResizeOutline } from '@vicons/ionicons5';
|
5
5
|
import { getUserDetailApi } from '../api/index.js';
|
6
6
|
import '@vueuse/core';
|
7
7
|
import { $message } from '../utils/index.js';
|
@@ -16,32 +16,30 @@ import '../../../../shared/hooks/useScrollLoading.js';
|
|
16
16
|
import 'stompjs';
|
17
17
|
import 'sockjs-client/dist/sockjs.min.js';
|
18
18
|
import { useVideo } from '../hooks/useVideo.js';
|
19
|
+
import { useDraggable } from '../hooks/useDraggable.js';
|
19
20
|
import TRTC from 'trtc-sdk-v5';
|
20
21
|
|
21
22
|
const _hoisted_1 = {
|
22
|
-
class: "
|
23
|
+
class: "top-right-btns"
|
23
24
|
};
|
24
25
|
const _hoisted_2 = {
|
25
|
-
class: "video-header"
|
26
|
-
};
|
27
|
-
const _hoisted_3 = {
|
28
26
|
key: 0,
|
29
27
|
class: "video-main"
|
30
28
|
};
|
31
|
-
const
|
29
|
+
const _hoisted_3 = {
|
32
30
|
class: "video-main__left"
|
33
31
|
};
|
34
|
-
const
|
35
|
-
const
|
32
|
+
const _hoisted_4 = ["data-name"];
|
33
|
+
const _hoisted_5 = {
|
36
34
|
class: "video-bottom"
|
37
35
|
};
|
38
|
-
const
|
36
|
+
const _hoisted_6 = {
|
39
37
|
class: "btn-group"
|
40
38
|
};
|
41
|
-
const
|
39
|
+
const _hoisted_7 = {
|
42
40
|
class: "btn"
|
43
41
|
};
|
44
|
-
const
|
42
|
+
const _hoisted_8 = /* @__PURE__ */ createElementVNode("span", {
|
45
43
|
class: "text"
|
46
44
|
}, function() {
|
47
45
|
var _a, _b, _c;
|
@@ -51,10 +49,10 @@ const _hoisted_9 = /* @__PURE__ */ createElementVNode("span", {
|
|
51
49
|
return "\u9759\u97F3";
|
52
50
|
}
|
53
51
|
}(), -1);
|
54
|
-
const
|
52
|
+
const _hoisted_9 = {
|
55
53
|
class: "btn"
|
56
54
|
};
|
57
|
-
const
|
55
|
+
const _hoisted_10 = /* @__PURE__ */ createElementVNode("span", {
|
58
56
|
class: "text"
|
59
57
|
}, function() {
|
60
58
|
var _a, _b, _c;
|
@@ -64,7 +62,7 @@ const _hoisted_11 = /* @__PURE__ */ createElementVNode("span", {
|
|
64
62
|
return "\u6444\u50CF\u5934";
|
65
63
|
}
|
66
64
|
}(), -1);
|
67
|
-
const
|
65
|
+
const _hoisted_11 = /* @__PURE__ */ createElementVNode("span", {
|
68
66
|
class: "text"
|
69
67
|
}, function() {
|
70
68
|
var _a, _b, _c;
|
@@ -74,10 +72,10 @@ const _hoisted_12 = /* @__PURE__ */ createElementVNode("span", {
|
|
74
72
|
return "\u7ED3\u675F\u4F1A\u8BCA";
|
75
73
|
}
|
76
74
|
}(), -1);
|
77
|
-
const
|
75
|
+
const _hoisted_12 = {
|
78
76
|
class: "btn"
|
79
77
|
};
|
80
|
-
const
|
78
|
+
const _hoisted_13 = /* @__PURE__ */ createElementVNode("span", {
|
81
79
|
class: "text"
|
82
80
|
}, function() {
|
83
81
|
var _a, _b, _c;
|
@@ -87,35 +85,35 @@ const _hoisted_14 = /* @__PURE__ */ createElementVNode("span", {
|
|
87
85
|
return "\u6DFB\u52A0\u53C2\u4F1A\u4EBA";
|
88
86
|
}
|
89
87
|
}(), -1);
|
90
|
-
const
|
88
|
+
const _hoisted_14 = {
|
91
89
|
class: "video-main__right"
|
92
90
|
};
|
93
|
-
const
|
94
|
-
const
|
91
|
+
const _hoisted_15 = ["id", "data-name"];
|
92
|
+
const _hoisted_16 = {
|
95
93
|
class: "user"
|
96
94
|
};
|
97
|
-
const
|
95
|
+
const _hoisted_17 = {
|
98
96
|
class: "name"
|
99
97
|
};
|
100
|
-
const
|
98
|
+
const _hoisted_18 = {
|
101
99
|
key: 0,
|
102
100
|
class: "tip"
|
103
101
|
};
|
104
|
-
const
|
102
|
+
const _hoisted_19 = {
|
105
103
|
key: 0,
|
106
104
|
class: "calling-box"
|
107
105
|
};
|
108
|
-
const
|
106
|
+
const _hoisted_20 = {
|
109
107
|
class: "btn-box"
|
110
108
|
};
|
111
|
-
const
|
109
|
+
const _hoisted_21 = {
|
112
110
|
key: 1,
|
113
111
|
class: "opt-btn"
|
114
112
|
};
|
115
|
-
const
|
113
|
+
const _hoisted_22 = {
|
116
114
|
class: "btn"
|
117
115
|
};
|
118
|
-
const
|
116
|
+
const _hoisted_23 = /* @__PURE__ */ createElementVNode("span", null, function() {
|
119
117
|
var _a, _b, _c;
|
120
118
|
try {
|
121
119
|
return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.113")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.113")) || "\u62D2\u63A5";
|
@@ -123,10 +121,10 @@ const _hoisted_24 = /* @__PURE__ */ createElementVNode("span", null, function()
|
|
123
121
|
return "\u62D2\u63A5";
|
124
122
|
}
|
125
123
|
}(), -1);
|
126
|
-
const
|
124
|
+
const _hoisted_24 = {
|
127
125
|
class: "btn"
|
128
126
|
};
|
129
|
-
const
|
127
|
+
const _hoisted_25 = /* @__PURE__ */ createElementVNode("span", null, function() {
|
130
128
|
var _a, _b, _c;
|
131
129
|
try {
|
132
130
|
return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.114")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.114")) || "\u63A5\u542C";
|
@@ -134,6 +132,12 @@ const _hoisted_26 = /* @__PURE__ */ createElementVNode("span", null, function()
|
|
134
132
|
return "\u63A5\u542C";
|
135
133
|
}
|
136
134
|
}(), -1);
|
135
|
+
const _hoisted_26 = {
|
136
|
+
class: "header"
|
137
|
+
};
|
138
|
+
const _hoisted_27 = {
|
139
|
+
class: "content"
|
140
|
+
};
|
137
141
|
var _sfc_main = /* @__PURE__ */ defineComponent({
|
138
142
|
__name: "MultipleVideo",
|
139
143
|
setup(__props) {
|
@@ -158,6 +162,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
158
162
|
uninstallEventHandlers
|
159
163
|
} = useVideo();
|
160
164
|
const isConnect = ref(false);
|
165
|
+
const wrapperRef = ref(null);
|
166
|
+
const handleRef = ref(null);
|
167
|
+
const isMaxSize = ref(true);
|
168
|
+
const miniWrapperRef = ref(null);
|
161
169
|
const callUser = computed(() => isCall.value ? state.userInfo.name : state.currentAVMsg.sendName);
|
162
170
|
const title = computed(() => {
|
163
171
|
if (!isConnect.value)
|
@@ -165,6 +173,24 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
165
173
|
const count = isCall.value ? `\uFF08${remoteUsers.value.length + 1}/${state.currentAVMsg.checkedIds.length + 1}\uFF09` : "";
|
166
174
|
return `${callUser.value}\u53D1\u8D77\u7684${messageTypeText.value}\u4F1A\u8BCA${count} ${timing.value}`;
|
167
175
|
});
|
176
|
+
const {
|
177
|
+
style,
|
178
|
+
changePosition
|
179
|
+
} = useDraggable(wrapperRef, {
|
180
|
+
initialPosition: "center",
|
181
|
+
handle: handleRef
|
182
|
+
});
|
183
|
+
const {
|
184
|
+
style: miniStyle,
|
185
|
+
changePosition: changeMiniPosition
|
186
|
+
} = useDraggable(miniWrapperRef);
|
187
|
+
watch(() => isMaxSize.value, (val) => {
|
188
|
+
if (val) {
|
189
|
+
changePosition("center");
|
190
|
+
} else {
|
191
|
+
changeMiniPosition("top-right");
|
192
|
+
}
|
193
|
+
});
|
168
194
|
function handleAddPerson({
|
169
195
|
checkedIds,
|
170
196
|
checkedOptions
|
@@ -315,24 +341,38 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
315
341
|
handleExit();
|
316
342
|
});
|
317
343
|
return (_ctx, _cache) => {
|
318
|
-
return openBlock(), createElementBlock(
|
344
|
+
return openBlock(), createElementBlock(Fragment, null, [withDirectives(createElementVNode("div", {
|
345
|
+
class: "video-wrapper video-wrapper--multiple",
|
346
|
+
ref_key: "wrapperRef",
|
347
|
+
ref: wrapperRef,
|
348
|
+
style: normalizeStyle(unref(style))
|
349
|
+
}, [createElementVNode("div", {
|
350
|
+
class: "video-header",
|
351
|
+
ref_key: "handleRef",
|
352
|
+
ref: handleRef
|
353
|
+
}, [withDirectives(createElementVNode("span", {
|
319
354
|
class: "title"
|
320
|
-
}, toDisplayString(unref(title)), 513), [[vShow, isConnect.value]]), createVNode(unref(NButton), {
|
355
|
+
}, toDisplayString(unref(title)), 513), [[vShow, isConnect.value]]), createElementVNode("div", _hoisted_1, [createVNode(unref(NButton), {
|
321
356
|
quaternary: "",
|
322
|
-
|
357
|
+
size: "tiny",
|
358
|
+
class: "custom-btn",
|
359
|
+
onClick: _cache[0] || (_cache[0] = () => isMaxSize.value = false)
|
360
|
+
}), createVNode(unref(NButton), {
|
361
|
+
text: "",
|
323
362
|
color: "#ffffffcc",
|
324
363
|
onClick: handleExit
|
325
364
|
}, {
|
326
|
-
|
365
|
+
default: withCtx(() => [createVNode(unref(NIcon), {
|
366
|
+
size: "18",
|
327
367
|
component: unref(Close)
|
328
368
|
}, null, 8, ["component"])]),
|
329
369
|
_: 1
|
330
|
-
})]), isConnect.value ? (openBlock(), createElementBlock("div",
|
370
|
+
})])], 512), isConnect.value ? (openBlock(), createElementBlock("div", _hoisted_2, [createElementVNode("div", _hoisted_3, [createElementVNode("div", {
|
331
371
|
ref_key: "selfVideoRef",
|
332
372
|
ref: selfVideoRef,
|
333
373
|
class: "video-view",
|
334
374
|
"data-name": unref(state).userInfo.name
|
335
|
-
}, null, 8,
|
375
|
+
}, null, 8, _hoisted_4), createElementVNode("div", _hoisted_5, [createElementVNode("div", _hoisted_6, [createElementVNode("div", _hoisted_7, [createVNode(unref(NButton), {
|
336
376
|
text: "",
|
337
377
|
color: !unref(voiceClose) ? "#fff" : "#000",
|
338
378
|
onClick: unref(toggleAudio)
|
@@ -341,7 +381,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
341
381
|
component: !unref(voiceClose) ? unref(Mic) : unref(MicOff)
|
342
382
|
}, null, 8, ["component"])]),
|
343
383
|
_: 1
|
344
|
-
}, 8, ["color", "onClick"]),
|
384
|
+
}, 8, ["color", "onClick"]), _hoisted_8]), createElementVNode("div", _hoisted_9, [createVNode(unref(NButton), {
|
345
385
|
text: "",
|
346
386
|
color: !unref(videocamClose) ? "#fff" : "#000",
|
347
387
|
disabled: unref(isAudio),
|
@@ -351,7 +391,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
351
391
|
component: !unref(videocamClose) ? unref(Videocam) : unref(VideocamOff)
|
352
392
|
}, null, 8, ["component"])]),
|
353
393
|
_: 1
|
354
|
-
}, 8, ["color", "disabled", "onClick"]),
|
394
|
+
}, 8, ["color", "disabled", "onClick"]), _hoisted_10]), createElementVNode("div", {
|
355
395
|
class: "btn",
|
356
396
|
onClick: handleExit
|
357
397
|
}, [createVNode(unref(NButton), {
|
@@ -363,11 +403,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
363
403
|
component: unref(Call)
|
364
404
|
}, null, 8, ["component"])]),
|
365
405
|
_: 1
|
366
|
-
}),
|
406
|
+
}), _hoisted_11]), createVNode(ChatAdd, {
|
367
407
|
onComfirm: handleAddPerson,
|
368
408
|
disabledIds: unref(state).currentAVMsg.checkedIds
|
369
409
|
}, {
|
370
|
-
trigger: withCtx(() => [createElementVNode("div",
|
410
|
+
trigger: withCtx(() => [createElementVNode("div", _hoisted_12, [createVNode(unref(NButton), {
|
371
411
|
text: "",
|
372
412
|
color: "#fff"
|
373
413
|
}, {
|
@@ -375,18 +415,18 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
375
415
|
component: unref(PersonAdd)
|
376
416
|
}, null, 8, ["component"])]),
|
377
417
|
_: 1
|
378
|
-
}),
|
418
|
+
}), _hoisted_13])]),
|
379
419
|
_: 1
|
380
|
-
}, 8, ["disabledIds"])])])]), createElementVNode("div",
|
420
|
+
}, 8, ["disabledIds"])])])]), createElementVNode("div", _hoisted_14, [(openBlock(true), createElementBlock(Fragment, null, renderList(remoteUsers.value, (user) => {
|
381
421
|
return openBlock(), createElementBlock("div", {
|
382
422
|
key: user.id,
|
383
423
|
id: user.id,
|
384
424
|
class: "video-view",
|
385
425
|
"data-name": user.name
|
386
|
-
}, null, 8,
|
426
|
+
}, null, 8, _hoisted_15);
|
387
427
|
}), 128))])])) : (openBlock(), createElementBlock(Fragment, {
|
388
428
|
key: 1
|
389
|
-
}, [createElementVNode("div",
|
429
|
+
}, [createElementVNode("div", _hoisted_16, [createElementVNode("span", _hoisted_17, toDisplayString(unref(callUser)) + function() {
|
390
430
|
var _a, _b, _c;
|
391
431
|
try {
|
392
432
|
return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.108")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.108")) || "\u53D1\u8D77\u7684";
|
@@ -400,7 +440,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
400
440
|
} catch (e) {
|
401
441
|
return "\u4F1A\u8BAE";
|
402
442
|
}
|
403
|
-
}(), 1), !unref(isCall) ? (openBlock(), createElementBlock("span",
|
443
|
+
}(), 1), !unref(isCall) ? (openBlock(), createElementBlock("span", _hoisted_18, function() {
|
404
444
|
var _a, _b, _c;
|
405
445
|
try {
|
406
446
|
return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.110")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.110")) || "\u9080\u8BF7\u4F60\u52A0\u5165";
|
@@ -414,7 +454,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
414
454
|
} catch (e) {
|
415
455
|
return "\u4F1A\u8BAE";
|
416
456
|
}
|
417
|
-
}(), 1)) : createCommentVNode("v-if", true)]), unref(isCall) ? (openBlock(), createElementBlock("div",
|
457
|
+
}(), 1)) : createCommentVNode("v-if", true)]), unref(isCall) ? (openBlock(), createElementBlock("div", _hoisted_19, [createVNode(ChatAdd, {
|
418
458
|
onComfirm: handleAddPerson,
|
419
459
|
disabledIds: unref(state).currentAVMsg.checkedIds
|
420
460
|
}, {
|
@@ -459,10 +499,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
459
499
|
}
|
460
500
|
}())]),
|
461
501
|
_: 1
|
462
|
-
}), createElementVNode("div",
|
502
|
+
}), createElementVNode("div", _hoisted_20, [createVNode(unref(NButton), {
|
463
503
|
color: "#000",
|
464
504
|
round: "",
|
465
|
-
onClick: _cache[
|
505
|
+
onClick: _cache[1] || (_cache[1] = ($event) => voiceClose.value = !unref(voiceClose))
|
466
506
|
}, {
|
467
507
|
icon: withCtx(() => [createVNode(unref(NIcon), {
|
468
508
|
component: unref(voiceClose) ? unref(MicOff) : unref(Mic)
|
@@ -471,25 +511,25 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
471
511
|
}), createVNode(unref(NButton), {
|
472
512
|
color: "#000",
|
473
513
|
round: "",
|
474
|
-
onClick: _cache[
|
514
|
+
onClick: _cache[2] || (_cache[2] = ($event) => videocamClose.value = !unref(videocamClose)),
|
475
515
|
disabled: unref(isAudio)
|
476
516
|
}, {
|
477
517
|
icon: withCtx(() => [createVNode(unref(NIcon), {
|
478
518
|
component: unref(videocamClose) ? unref(VideocamOff) : unref(Videocam)
|
479
519
|
}, null, 8, ["component"])]),
|
480
520
|
_: 1
|
481
|
-
}, 8, ["disabled"])])])) : (openBlock(), createElementBlock("div",
|
521
|
+
}, 8, ["disabled"])])])) : (openBlock(), createElementBlock("div", _hoisted_21, [createElementVNode("div", _hoisted_22, [createVNode(unref(NButton), {
|
482
522
|
circle: "",
|
483
523
|
color: "#f17568",
|
484
524
|
class: "btn--rotate",
|
485
|
-
onClick: _cache[
|
525
|
+
onClick: _cache[3] || (_cache[3] = () => unref(state).showMultipleVideo = false)
|
486
526
|
}, {
|
487
527
|
icon: withCtx(() => [createVNode(unref(NIcon), {
|
488
528
|
size: "30",
|
489
529
|
component: unref(Call)
|
490
530
|
}, null, 8, ["component"])]),
|
491
531
|
_: 1
|
492
|
-
}),
|
532
|
+
}), _hoisted_23]), createElementVNode("div", _hoisted_24, [createVNode(unref(NButton), {
|
493
533
|
circle: "",
|
494
534
|
color: "#2ac98b",
|
495
535
|
onClick: handleEnter
|
@@ -499,7 +539,26 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
499
539
|
component: unref(Call)
|
500
540
|
}, null, 8, ["component"])]),
|
501
541
|
_: 1
|
502
|
-
}),
|
542
|
+
}), _hoisted_25])]))], 64))], 4), [[vShow, isMaxSize.value]]), withDirectives(createElementVNode("div", {
|
543
|
+
class: "video-wrapper video-wrapper--mini",
|
544
|
+
ref_key: "miniWrapperRef",
|
545
|
+
ref: miniWrapperRef,
|
546
|
+
style: normalizeStyle(unref(miniStyle))
|
547
|
+
}, [createElementVNode("div", _hoisted_26, [createVNode(unref(NButton), {
|
548
|
+
text: "",
|
549
|
+
color: "#ffffffcc",
|
550
|
+
onClick: _cache[4] || (_cache[4] = () => isMaxSize.value = true)
|
551
|
+
}, {
|
552
|
+
default: withCtx(() => [createVNode(unref(NIcon), {
|
553
|
+
size: "18",
|
554
|
+
component: unref(ResizeOutline)
|
555
|
+
}, null, 8, ["component"])]),
|
556
|
+
_: 1
|
557
|
+
})]), createElementVNode("div", _hoisted_27, [createVNode(unref(NAvatar), {
|
558
|
+
round: "",
|
559
|
+
size: 48,
|
560
|
+
src: unref(state).userInfo.avatar
|
561
|
+
}, null, 8, ["src"])])], 4), [[vShow, !isMaxSize.value]])], 64);
|
503
562
|
};
|
504
563
|
}
|
505
564
|
});
|
@@ -225,7 +225,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
225
225
|
round: "",
|
226
226
|
size: 100,
|
227
227
|
onClickCapture: _cache[0] || (_cache[0] = ($event) => showLargeAvatar.value = true)
|
228
|
-
}, null, 8, ["src"]), createCommentVNode(' <n-upload abstract accept="image/*" @change="onChange">\n <n-upload-trigger #="{ handleClick }" abstract>\n <n-button\n circle\n secondary\n class="edit-avatar"\n v-show="userDetail.id === state.userInfo.id"\n @click="handleClick"\n >\n <template #icon>\n <n-icon size="16" color="#666666" :component="Camera" />\n </template>\n </n-button>\n </n-upload-trigger>\n </n-upload> '), createElementVNode("div", _hoisted_4, [createElementVNode("h4", null, [createElementVNode("label", _hoisted_5, toDisplayString(userDetail.name), 1), withDirectives(createElementVNode("label", {
|
228
|
+
}, null, 8, ["src"]), createCommentVNode(' <n-upload abstract accept="image/*" @change="onChange">\r\n <n-upload-trigger #="{ handleClick }" abstract>\r\n <n-button\r\n circle\r\n secondary\r\n class="edit-avatar"\r\n v-show="userDetail.id === state.userInfo.id"\r\n @click="handleClick"\r\n >\r\n <template #icon>\r\n <n-icon size="16" color="#666666" :component="Camera" />\r\n </template>\r\n </n-button>\r\n </n-upload-trigger>\r\n </n-upload> '), createElementVNode("div", _hoisted_4, [createElementVNode("h4", null, [createElementVNode("label", _hoisted_5, toDisplayString(userDetail.name), 1), withDirectives(createElementVNode("label", {
|
229
229
|
class: normalizeClass(["iho-chatRole", unref(isDoctorRole)(userDetail.roleInfo) ? "isDoctor" : ""])
|
230
230
|
}, toDisplayString(unref(getRoleName)(userDetail.roleInfo)), 3), [[vShow, unref(getRoleName)(userDetail.roleInfo)]])]), createElementVNode("p", null, toDisplayString(userDetail.orgName), 1)]), createVNode(unref(NButton), {
|
231
231
|
strong: "",
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { ref, reactive, computed, watch, toRef, inject, toRaw } from 'vue';
|
2
2
|
import { openSessionApi, updateStatusApi, groupUserApi } from '../api/index.js';
|
3
3
|
import { promiseTimeout, useIntervalFn } from '@vueuse/core';
|
4
|
-
import { isGroup, listSort, formatTime, transformMessage,
|
4
|
+
import { isGroup, listSort, formatTime, transformMessage, $message, simplifyMessage } from '../utils/index.js';
|
5
5
|
import { cloneDeep, remove, isArray, uniqBy } from 'lodash-es';
|
6
|
-
import { STATUS,
|
6
|
+
import { STATUS, CHAT_TYPE, MESSAGE_TYPE } from '../constants/index.js';
|
7
7
|
import { useTheme } from '../../../../shared/hooks/useTheme.js';
|
8
8
|
import 'date-fns';
|
9
9
|
import '@vue/shared';
|
@@ -139,11 +139,6 @@ function initData(props, emit) {
|
|
139
139
|
__content: transformMessage(item.content),
|
140
140
|
__sendTime: formatTime(item.sendTime).recordTime
|
141
141
|
});
|
142
|
-
if (item.content.chatMessageType === MESSAGE_TYPE.FILE && !item.__size) {
|
143
|
-
getFileSize(item.content.fileUrl).then((size) => {
|
144
|
-
item.__size = size;
|
145
|
-
});
|
146
|
-
}
|
147
142
|
});
|
148
143
|
if (needUpdateTime()) {
|
149
144
|
resume();
|