From 916db3cbe7e29eeaf5d294037640d90ae0424ed6 Mon Sep 17 00:00:00 2001 From: Codewoc <947380458@qq.com> Date: Fri, 10 Apr 2026 15:38:46 +0800 Subject: [PATCH] =?UTF-8?q?feat(review-meeting):=20=E8=AE=AE=E7=A8=8B?= =?UTF-8?q?=E9=99=84=E4=BB=B6=E5=92=8C=E4=BC=9A=E8=AE=AE=E7=BA=AA=E8=A6=81?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=9C=A8=E7=BA=BF=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- src/views/review/meeting/MeetingEdit.vue | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/views/review/meeting/MeetingEdit.vue b/src/views/review/meeting/MeetingEdit.vue index 239c28865..d5fe62ee2 100644 --- a/src/views/review/meeting/MeetingEdit.vue +++ b/src/views/review/meeting/MeetingEdit.vue @@ -244,6 +244,15 @@ + + + @@ -269,6 +278,7 @@ import { getReviewProjectPage, updateReviewProjectTimeBatch } from '@/api/review import { getExpertUserList } from '@/api/system/user/index' import download from '@/utils/download' import ExpertSelectTable from './components/ExpertSelectTable.vue' +import FilePreviewDialog from './components/FilePreviewDialog.vue' import { applyDefaultReviewDate } from './projectReviewDate' import { buildScheduledProjectItems, @@ -297,6 +307,10 @@ const isSubmitting = ref(false) // 防止重复提交 const agendaDialogVisible = ref(false) const agendaDialogLoading = ref(false) +// 预览对话框 +const previewDialogVisible = ref(false) +const previewAttachmentType = ref<'agenda' | 'minutes'>('agenda') + // 从路由参数判断模式 const meetingId = computed(() => { const id = route.params.id @@ -537,13 +551,15 @@ const clearAgendaAttachment = () => { const previewAgendaAttachment = () => { if (formData.agendaAttachmentUrl) { - window.open(formData.agendaAttachmentUrl, '_blank') + previewAttachmentType.value = 'agenda' + previewDialogVisible.value = true } } const previewMinutesAttachment = () => { if (formData.minutesAttachmentUrl) { - window.open(formData.minutesAttachmentUrl, '_blank') + previewAttachmentType.value = 'minutes' + previewDialogVisible.value = true } }