diff --git a/oms_web/oms_vue/src/views/approve/order/index.vue b/oms_web/oms_vue/src/views/approve/order/index.vue index 635c5f8d..7fdcbc59 100644 --- a/oms_web/oms_vue/src/views/approve/order/index.vue +++ b/oms_web/oms_vue/src/views/approve/order/index.vue @@ -106,6 +106,7 @@ @@ -143,8 +146,11 @@ @@ -157,6 +163,14 @@ + + + + + + + + @@ -171,6 +185,7 @@ import PaymentPlan from './PaymentPlan.vue'; import ReceivingTicketPlan from './ReceivingTicketPlan.vue'; import { getPayable } from "@/api/finance/payable"; import ReceiptPlan from "@/views/finance/receivable/components/ReceiptPlan.vue"; +import request from '@/utils/request'; export default { name: "EditForm", @@ -194,7 +209,11 @@ export default { return { internalVisible: this.visible, // Local copy of the visible prop activeTab: 'details', - formData: {} + formData: {}, + pdfPreviewVisible: false, + currentPdfUrl: '', + imagePreviewVisible: false, + currentImageUrl: '' }; }, watch: { @@ -220,6 +239,30 @@ export default { this.formData = res.data; }); }, + isPdf(filePath) { + return filePath && filePath.toLowerCase().endsWith('.pdf'); + }, + getImageUrl(resource) { + return process.env.VUE_APP_BASE_API + "/common/download/resource?resource=" + resource; + }, + handlePreview(attachment) { + if (!attachment) return; + if (this.isPdf(attachment.filePath)) { + request({ + url: '/common/download/resource', + method: 'get', + params: { resource: attachment.filePath }, + responseType: 'blob' + }).then(res => { + const blob = new Blob([res.data], { type: 'application/pdf' }); + this.currentPdfUrl = URL.createObjectURL(blob); + this.pdfPreviewVisible = true; + }); + } else { + this.currentImageUrl = this.getImageUrl(attachment.filePath); + this.imagePreviewVisible = true; + } + }, downloadFile(attachment){ if (attachment){ const link = document.createElement('a'); diff --git a/oms_web/oms_vue/src/views/finance/payable/components/MergePaymentDialog.vue b/oms_web/oms_vue/src/views/finance/payable/components/MergePaymentDialog.vue index 1c6791f9..2d46cb73 100644 --- a/oms_web/oms_vue/src/views/finance/payable/components/MergePaymentDialog.vue +++ b/oms_web/oms_vue/src/views/finance/payable/components/MergePaymentDialog.vue @@ -1,5 +1,5 @@