From 9d2f568a86ab9ab212965de5c18681cc2bd21bb7 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期一, 08 六月 2026 15:39:27 +0800
Subject: [PATCH] feat(采购管理,审批管理): 新增采购运费功能并完善审批详情展示
---
src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue | 110 ++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 80 insertions(+), 30 deletions(-)
diff --git a/src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue b/src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue
index b9eb42f..ecff3a4 100644
--- a/src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue
+++ b/src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue
@@ -40,12 +40,13 @@
:fields="formResolved.fields"
:form-payload="formResolved.formPayload"
readonly />
-
<!-- 鍙戣揣瀹℃壒璇︽儏 -->
<template v-else-if="row.businessType === 7">
- <div v-if="detailData.shippingInfo" class="shipment-detail">
+ <div v-if="detailData.shippingInfo"
+ class="shipment-detail">
<el-divider content-position="left">鍙戣揣璇︽儏</el-divider>
- <el-descriptions :column="2" border>
+ <el-descriptions :column="2"
+ border>
<el-descriptions-item label="閿�鍞鍗�">{{ detailData.shippingInfo.salesContractNo || "--" }}</el-descriptions-item>
<el-descriptions-item label="鍙戣揣璁㈠崟鍙�">{{ detailData.shippingInfo.shippingNo || "--" }}</el-descriptions-item>
<el-descriptions-item label="瀹㈡埛鍚嶇О">{{ detailData.shippingInfo.customerName || "--" }}</el-descriptions-item>
@@ -54,28 +55,43 @@
<el-descriptions-item label="瀹℃牳鐘舵��">{{ detailData.shippingInfo.status || "--" }}</el-descriptions-item>
<el-descriptions-item label="鍙戣揣杞︾墝鍙�">{{ detailData.shippingInfo.shippingCarNumber || "--" }}</el-descriptions-item>
<el-descriptions-item label="蹇�掑叕鍙�">{{ detailData.shippingInfo.expressCompany || "--" }}</el-descriptions-item>
- <el-descriptions-item label="蹇�掑崟鍙�" :span="2">{{ detailData.shippingInfo.expressNumber || "--" }}</el-descriptions-item>
+ <el-descriptions-item label="蹇�掑崟鍙�"
+ :span="2">{{ detailData.shippingInfo.expressNumber || "--" }}</el-descriptions-item>
</el-descriptions>
- <div v-if="detailData.shippingProductDetailDtoList.length" style="margin-top: 20px;">
+ <div v-if="detailData.shippingProductDetailDtoList.length"
+ style="margin-top: 20px;">
<h4>浜у搧鏄庣粏</h4>
<el-table :data="detailData.shippingProductDetailDtoList"
border
size="small"
style="width: 100%">
- <el-table-column label="鎵瑰彿" prop="batchNo" min-width="160" show-overflow-tooltip />
- <el-table-column label="浜у搧鍚嶇О" prop="productName" min-width="160" show-overflow-tooltip />
- <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" min-width="160" show-overflow-tooltip />
- <el-table-column label="鍙戣揣鏁伴噺" prop="deliveryQuantity" min-width="120" align="center" />
+ <el-table-column label="鎵瑰彿"
+ prop="batchNo"
+ min-width="160"
+ show-overflow-tooltip />
+ <el-table-column label="浜у搧鍚嶇О"
+ prop="productName"
+ min-width="160"
+ show-overflow-tooltip />
+ <el-table-column label="瑙勬牸鍨嬪彿"
+ prop="specificationModel"
+ min-width="160"
+ show-overflow-tooltip />
+ <el-table-column label="鍙戣揣鏁伴噺"
+ prop="deliveryQuantity"
+ min-width="120"
+ align="center" />
</el-table>
</div>
</div>
</template>
-
<!-- 閲囪喘瀹℃壒璇︽儏 -->
<template v-else-if="row.businessType === 5">
- <div v-if="detailData" class="procurement-detail">
+ <div v-if="detailData"
+ class="procurement-detail">
<el-divider content-position="left">閲囪喘璇︽儏</el-divider>
- <el-descriptions :column="2" border>
+ <el-descriptions :column="2"
+ border>
<el-descriptions-item label="閲囪喘鍚堝悓鍙�">{{ detailData.purchaseContractNumber || "--" }}</el-descriptions-item>
<el-descriptions-item label="渚涘簲鍟嗗悕绉�">{{ detailData.supplierName || "--" }}</el-descriptions-item>
<el-descriptions-item label="椤圭洰鍚嶇О">{{ detailData.projectName || "--" }}</el-descriptions-item>
@@ -83,63 +99,98 @@
<el-descriptions-item label="绛捐鏃ユ湡">{{ detailData.executionDate || "--" }}</el-descriptions-item>
<el-descriptions-item label="褰曞叆鏃ユ湡">{{ detailData.entryDate || "--" }}</el-descriptions-item>
<el-descriptions-item label="浠樻鏂瑰紡">{{ detailData.paymentMethod || "--" }}</el-descriptions-item>
+ <el-descriptions-item label="杞︾墝鍙�">{{ detailData.carPlateNumber || "--" }}</el-descriptions-item>
+ <el-descriptions-item label="杩愯緭鍗曚綅/涓汉">{{ detailData.transportUnitOrPerson || "--" }}</el-descriptions-item>
<el-descriptions-item label="鍚堝悓閲戦" :span="2">
<span style="font-size: 18px; color: #e6a23c; font-weight: bold;">
楼{{ Number(detailData.contractAmount ?? 0).toFixed(2) }}
</span>
</el-descriptions-item>
</el-descriptions>
- <div v-if="detailData.productData.length" style="margin-top: 20px;">
+ <div v-if="detailData.productData.length"
+ style="margin-top: 20px;">
<h4>浜у搧鏄庣粏</h4>
<el-table :data="detailData.productData"
border
style="width: 100%">
- <el-table-column prop="productCategory" label="浜у搧鍚嶇О" />
- <el-table-column prop="specificationModel" label="瑙勬牸鍨嬪彿" />
- <el-table-column prop="unit" label="鍗曚綅" />
- <el-table-column prop="quantity" label="鏁伴噺" />
- <el-table-column prop="taxInclusiveUnitPrice" label="鍚◣鍗曚环">
+ <el-table-column prop="productCategory"
+ label="浜у搧鍚嶇О" />
+ <el-table-column prop="specificationModel"
+ label="瑙勬牸鍨嬪彿" />
+ <el-table-column prop="unit"
+ label="鍗曚綅" />
+ <el-table-column prop="quantity"
+ label="鏁伴噺" />
+ <el-table-column prop="freightUnitPrice"
+ label="杩愯垂鍗曚环">
+ <template #default="scope">楼{{ Number(scope.row.freightUnitPrice ?? 0).toFixed(2) }}</template>
+ </el-table-column>
+ <el-table-column prop="totalFreight"
+ label="杩愯垂鎬讳环">
+ <template #default="scope">楼{{ Number(scope.row.totalFreight ?? 0).toFixed(2) }}</template>
+ </el-table-column>
+ <el-table-column prop="taxInclusiveUnitPrice"
+ label="鍚◣鍗曚环">
<template #default="scope">楼{{ Number(scope.row.taxInclusiveUnitPrice ?? 0).toFixed(2) }}</template>
</el-table-column>
- <el-table-column prop="taxInclusiveTotalPrice" label="鍚◣鎬讳环">
+ <el-table-column prop="taxInclusiveTotalPrice"
+ label="鍚◣鎬讳环">
<template #default="scope">楼{{ Number(scope.row.taxInclusiveTotalPrice ?? 0).toFixed(2) }}</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
-
<!-- 鎶ヤ环瀹℃壒璇︽儏 -->
<template v-else-if="row.businessType === 6">
- <div v-if="detailData" class="quotation-detail">
+ <div v-if="detailData"
+ class="quotation-detail">
<el-divider content-position="left">鎶ヤ环璇︽儏</el-divider>
- <el-descriptions :column="2" border>
+ <el-descriptions :column="2"
+ border>
<el-descriptions-item label="鎶ヤ环鍗曞彿">{{ detailData.quotationNo || "--" }}</el-descriptions-item>
<el-descriptions-item label="瀹㈡埛鍚嶇О">{{ detailData.customer || "--" }}</el-descriptions-item>
<el-descriptions-item label="涓氬姟鍛�">{{ detailData.salesperson || "--" }}</el-descriptions-item>
<el-descriptions-item label="鎶ヤ环鏃ユ湡">{{ detailData.quotationDate || "--" }}</el-descriptions-item>
<el-descriptions-item label="鏈夋晥鏈熻嚦">{{ detailData.validDate || "--" }}</el-descriptions-item>
<el-descriptions-item label="浠樻鏂瑰紡">{{ detailData.paymentMethod || "--" }}</el-descriptions-item>
- <el-descriptions-item label="鎶ヤ环鎬婚" :span="2">
+ <el-descriptions-item label="鎶ヤ环鎬婚"
+ :span="2">
<span style="font-size: 18px; color: #e6a23c; font-weight: bold;">
楼{{ Number(detailData.totalAmount ?? 0).toFixed(2) }}
</span>
</el-descriptions-item>
</el-descriptions>
- <div v-if="detailData.products.length" style="margin-top: 20px;">
+ <div v-if="detailData.products.length"
+ style="margin-top: 20px;">
<h4>浜у搧鏄庣粏</h4>
<el-table :data="detailData.products"
border
style="width: 100%">
- <el-table-column prop="product" label="浜у搧鍚嶇О" />
- <el-table-column prop="specification" label="瑙勬牸鍨嬪彿" />
- <el-table-column prop="unit" label="鍗曚綅" />
- <el-table-column prop="unitPrice" label="鍗曚环">
+ <el-table-column prop="product"
+ label="浜у搧鍚嶇О" />
+ <el-table-column prop="specification"
+ label="瑙勬牸鍨嬪彿" />
+ <el-table-column prop="unit"
+ label="鍗曚綅" />
+ <el-table-column prop="quantity"
+ label="鏁伴噺" />
+ <el-table-column prop="freightUnitPrice"
+ label="杩愯垂鍗曚环">
+ <template #default="scope">楼{{ Number(scope.row.freightUnitPrice ?? 0).toFixed(2) }}</template>
+ </el-table-column>
+ <el-table-column prop="totalFreight"
+ label="杩愯垂鎬讳环">
+ <template #default="scope">楼{{ Number(scope.row.totalFreight ?? 0).toFixed(2) }}</template>
+ </el-table-column>
+ <el-table-column prop="unitPrice"
+ label="鍗曚环">
<template #default="scope">楼{{ Number(scope.row.unitPrice ?? 0).toFixed(2) }}</template>
</el-table-column>
</el-table>
</div>
- <div v-if="detailData.remark" style="margin-top: 20px;">
+ <div v-if="detailData.remark"
+ style="margin-top: 20px;">
<h4>澶囨敞</h4>
<p>{{ detailData.remark }}</p>
</div>
@@ -197,7 +248,6 @@
});
const formResolved = computed(() => resolveInstanceFormFields(props.row));
-
// 鏄惁涓虹壒娈婂鎵圭被鍨嬶紙閲囪喘銆佸彂璐с�佹姤浠凤級
const isSpecialApprovalType = computed(() => {
--
Gitblit v1.9.3