diff --git a/src/components/search/searchByCondition.vue b/src/components/search/searchByCondition.vue index a31f302..98d8aba 100644 --- a/src/components/search/searchByCondition.vue +++ b/src/components/search/searchByCondition.vue @@ -686,13 +686,18 @@ const fileTypeAvatar = (fileType) => { const previewPDF = (item) => { console.log(item) - if (typeof plus !== 'undefined') { - downloadAndOpenFile(item) - } else { - document.addEventListener('plusready', () => { - downloadAndOpenFile(item) - }) - } + // if (typeof plus !== 'undefined') { + // downloadAndOpenFile(item) + // } else { + // document.addEventListener('plusready', () => { + // downloadAndOpenFile(item) + // }) + // } + window.open( + `${import.meta.env.VITE_PAGE_URL}/office?url=${item.extra.path}`, + '_blank', + 'width=1200,height=900,left=200,top=200,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no' + ) } const downloadAndOpenFile = (item) => { @@ -926,7 +931,6 @@ body:deep(.round-3) { } .condition-each-resultList { .condition-each-resultList-each { - border-bottom: 1px solid #f8f8f8; .condition-each-result-main { display: flex; flex-direction: row; @@ -942,9 +946,16 @@ body:deep(.round-3) { flex-direction: row; align-items: center; justify-content: flex-start; - padding: 14px 0; + padding: 14px 20px; // background-color: #f3f3f3; border-radius: 4px; + cursor: pointer; + border-bottom: 1px solid #f8f8f8; + + &:hover { + background-color: rgba(70, 41, 157, 0.1) + } + .attachment-avatar { display: flex; flex-direction: row; @@ -1126,6 +1137,10 @@ body:deep(.round-3) { .image-container { width: 100% !important; height: 100% !important; + &:hover { + cursor: pointer; + border: 1px solid #46299d; + } } :deep(.n-image) { diff --git a/src/components/search/searchItem.vue b/src/components/search/searchItem.vue index 0398579..964a6f3 100644 --- a/src/components/search/searchItem.vue +++ b/src/components/search/searchItem.vue @@ -69,7 +69,43 @@ class="text-[12px] font-regular" :text="resultDetail" :searchText="props.searchText" + v-if="props.searchItem?.msg_type !== 3 && props.searchItem?.msg_type !== 6" /> +
+ +
+
+
+
+ +
+
+
+ + {{ resultDetail?.name }} + + + {{ resultDetail?.dateTime }} + +
+
+ + {{ resultDetail?.typeText }} + + + {{ resultDetail?.fileSize }} + +
+
+
+
定位到聊天位置
@@ -85,7 +121,7 @@ import avatarModule from '@/components/avatar-module/index.vue' import { ref, watch, computed, onMounted, onUnmounted, reactive, defineProps } from 'vue' import HighlightText from './highLightText.vue' import { beautifyTime } from '@/utils/datetime' -import { ChatMsgTypeMapping } from '@/constant/message' +import { ChatMsgTypeMapping, MessageComponents } from '@/constant/message' const props = defineProps({ searchItem: Object | Number, searchResultKey: { @@ -255,6 +291,8 @@ const resultDetail = computed(() => { result_detail = props.searchItem?.msg_type === 1 ? props.searchItem?.extra?.content + : props.searchItem?.msg_type === 3 || props.searchItem?.msg_type === 6 + ? props.searchItem?.extra : ChatMsgTypeMapping[props.searchItem?.msg_type] break default: @@ -262,6 +300,22 @@ const resultDetail = computed(() => { } return result_detail }) + +const previewPDF = (item) => { + console.log(item) + // if (typeof plus !== 'undefined') { + // downloadAndOpenFile(item) + // } else { + // document.addEventListener('plusready', () => { + // downloadAndOpenFile(item) + // }) + // } + window.open( + `${import.meta.env.VITE_PAGE_URL}/office?url=${item}`, + '_blank', + 'width=1200,height=900,left=200,top=200,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no' + ) +} diff --git a/src/components/talk/ForwardRecord.vue b/src/components/talk/ForwardRecord.vue index ae41bf7..ceeba60 100644 --- a/src/components/talk/ForwardRecord.vue +++ b/src/components/talk/ForwardRecord.vue @@ -16,12 +16,16 @@ const props = defineProps({ createdAt: { type: String, required: false - } + }, + modalTitle: { + type: String, + required: true + }, }) const isShow=defineModel('show') const { showUserInfoModal } = useInject() const items = ref([]) -const title = ref('会话记录') +const title = ref(props?.modalTitle || '会话记录') const onMaskClick = () => { isShow.value=false @@ -30,7 +34,7 @@ const onMaskClick = () => { const onLoadData = () => { ServeGetForwardRecords({ msg_id: props.msgId, - biz_date: parseTime(new Date(props.createdAt), '{y}{m}') + biz_date: parseTime(new Date(props.createdAt || ''), '{y}{m}') }).then((res) => { if (res.code == 200) { items.value = res.data.items || [] diff --git a/src/components/talk/message/ForwardMessage.vue b/src/components/talk/message/ForwardMessage.vue index 5249025..25daf3e 100644 --- a/src/components/talk/message/ForwardMessage.vue +++ b/src/components/talk/message/ForwardMessage.vue @@ -12,7 +12,13 @@ const props = defineProps<{ const isShowRecord = ref(false) const title = computed(() => { - return [...new Set(props.extra.records.map((v) => v.nickname))].join('、') + const uniqueNames = [...new Set(props.extra.records.map(v => v.nickname))]; + if (uniqueNames.length <= 2) { + return uniqueNames.join('和'); + } else { + return uniqueNames.slice(0, 2).join('和') + '等'; + } + // return [...new Set(props.extra.records.map((v) => v.nickname))].join('和') }) const onClick = () => { @@ -21,7 +27,7 @@ const onClick = () => { @@ -41,19 +47,21 @@ const onClick = () => { .im-message-forward { width: 250px; min-height: 95px; - max-height: 150px; + max-height: 190px; border-radius: 10px; padding: 8px 10px; border: 1px solid var(--im-message-border-color); user-select: none; .title { - height: 30px; + max-height: 60px; line-height: 30px; font-size: 15px; overflow: hidden; text-overflow: ellipsis; - white-space: nowrap; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; font-weight: 400; margin-bottom: 5px; } diff --git a/src/components/talk/message/GroupNoticeMessage.vue b/src/components/talk/message/GroupNoticeMessage.vue index 520c2f2..1b64932 100644 --- a/src/components/talk/message/GroupNoticeMessage.vue +++ b/src/components/talk/message/GroupNoticeMessage.vue @@ -11,12 +11,20 @@ defineProps<{ let show = ref(false)