From 27cd042df9aca0383a49f3514bc21958dd890912 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 29 六月 2026 15:42:23 +0800
Subject: [PATCH] 银川 1.联调产品维护页面 2.添加IM即时通讯模块
---
src/views/im/manager/message/private/modules/detail.vue | 75 +++++++++++++++++++++++++++++++++++++
1 files changed, 75 insertions(+), 0 deletions(-)
diff --git a/src/views/im/manager/message/private/modules/detail.vue b/src/views/im/manager/message/private/modules/detail.vue
new file mode 100644
index 0000000..ec08242
--- /dev/null
+++ b/src/views/im/manager/message/private/modules/detail.vue
@@ -0,0 +1,75 @@
+<script lang="ts" setup>
+import type { ImManagerPrivateMessageApi } from '#/api/im/manager/message/private';
+
+import { ref } from 'vue';
+
+import { DICT_TYPE } from '#/packages/constants/src';
+
+import { Descriptions, DescriptionsItem, Modal } from 'ant-design-vue';
+
+import { DictTag } from '#/components/dict-tag';
+import {
+ formatDateTimeText,
+ formatJsonText,
+ formatUserLabel,
+} from '#/views/im/manager/utils/format';
+import { MESSAGE_PRIVATE_READ_ENABLED } from '#/views/im/utils/config';
+
+import { MessageContentPreview } from '../..';
+
+const visible = ref(false);
+const detail = ref<ImManagerPrivateMessageApi.PrivateMessage>(
+ {} as ImManagerPrivateMessageApi.PrivateMessage,
+);
+
+/** 鎵撳紑璇︽儏 */
+function open(row: ImManagerPrivateMessageApi.PrivateMessage) {
+ detail.value = row;
+ visible.value = true;
+}
+
+defineExpose({ open });
+</script>
+
+<template>
+ <Modal v-model:open="visible" :footer="null" title="绉佽亰娑堟伅璇︽儏" width="700px">
+ <Descriptions bordered :column="2">
+ <DescriptionsItem label="缂栧彿">{{ detail.id }}</DescriptionsItem>
+ <DescriptionsItem label="瀹㈡埛绔紪鍙�">
+ {{ detail.clientMessageId || '-' }}
+ </DescriptionsItem>
+ <DescriptionsItem label="鍙戦�佷汉">
+ {{ formatUserLabel(detail.senderNickname, detail.senderId) }}
+ </DescriptionsItem>
+ <DescriptionsItem label="鎺ユ敹浜�">
+ {{ formatUserLabel(detail.receiverNickname, detail.receiverId) }}
+ </DescriptionsItem>
+ <DescriptionsItem label="绫诲瀷">
+ <DictTag :type="DICT_TYPE.IM_CONTENT_TYPE" :value="detail.type" />
+ </DescriptionsItem>
+ <DescriptionsItem label="鐘舵��">
+ <DictTag :type="DICT_TYPE.IM_MESSAGE_STATUS" :value="detail.status" />
+ </DescriptionsItem>
+ <DescriptionsItem v-if="MESSAGE_PRIVATE_READ_ENABLED" label="鍥炴墽">
+ <!-- 鍥炴墽鐘舵�侊紙绉佽亰 / 缇よ亰鍏辩敤 im_message_receipt_status锛夛紝涓庢簮绔鑱婅鎯呫�屽洖鎵с�嶅榻� -->
+ <DictTag
+ :type="DICT_TYPE.IM_MESSAGE_RECEIPT_STATUS"
+ :value="detail.receiptStatus"
+ />
+ </DescriptionsItem>
+ <DescriptionsItem label="鍙戦�佹椂闂�" :span="2">
+ {{ formatDateTimeText(detail.sendTime) }}
+ </DescriptionsItem>
+ <DescriptionsItem label="娑堟伅鍐呭" :span="2">
+ <MessageContentPreview
+ :content="detail.content"
+ :sender-nickname="detail.senderNickname"
+ :type="detail.type"
+ />
+ </DescriptionsItem>
+ <DescriptionsItem label="鍘熷 JSON" :span="2">
+ <pre class="m-0 whitespace-pre-wrap break-all rounded bg-gray-100 p-2 font-mono text-xs">{{ formatJsonText(detail.content) }}</pre>
+ </DescriptionsItem>
+ </Descriptions>
+ </Modal>
+</template>
--
Gitblit v1.9.3