From dd000053a2002d62fffb2a83b3b44a0b31a5a35b Mon Sep 17 00:00:00 2001 From: zou Date: Sat, 5 Sep 2026 12:20:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(inquiry):=20=E5=90=8E=E5=8F=B0=E8=AF=A2?= =?UTF-8?q?=E4=BB=B7=E9=99=84=E4=BB=B6=E6=9D=A1=E7=9B=AE=E5=8A=A0=E9=A2=84?= =?UTF-8?q?=E8=A7=88(=E8=B5=B0=E4=BB=A3=E7=90=86)+=E7=9C=9F=E5=AE=9E?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD;=20=E6=8A=A5=E4=BB=B7=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E7=BB=B4=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/inquiry/InquiryDetailView.vue | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/modules/inquiry/InquiryDetailView.vue b/src/modules/inquiry/InquiryDetailView.vue index 0b9bda3..01970f7 100644 --- a/src/modules/inquiry/InquiryDetailView.vue +++ b/src/modules/inquiry/InquiryDetailView.vue @@ -268,7 +268,18 @@ function quotationInfo(s: number) { return QUOTATION_STATUS_MAP[s] || { label: ` function inquiryInfo(s: number) { return INQUIRY_STATUS_MAP[s] || { label: `状态${s}`, type: 'info' } } function onBack() { router.push('/inquiry') } -function onDownloadFile(url: string, name: string) { if (url) ElMessage.info(`下载: ${name || url}`) } +function onDownloadFile(url: string, name: string) { + if (!url) return + const a = document.createElement('a') + a.href = url + a.download = name || '' + a.target = '_blank' + a.click() +} +function onPreviewFile(url: string) { + // 走预览代理(inline 输出,浏览器原生预览图片/PDF) + window.open('/other/file/preview?url=' + encodeURIComponent(url), '_blank') +} function onExportPriceComparison() { ElMessage.info('导出功能开发中') } function onViewQuotation(row: Quotation) { ElMessage.info(`查看报价: ${row.quotationEnterpriseName} (请前往询价管理)`) } function onQuote(row: Quotation) { ElMessage.info('请前往前台发起报价') } @@ -352,7 +363,8 @@ watch(inquiryId, load)
{{ f.imagesName }} - 下载 + 预览 + 下载