From de26a68bb2cf0caa9a35e8eb6dce852435143b25 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 21 八月 2026 19:42:12 +0800
Subject: [PATCH] feat: 发货新增自提选择

---
 src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue |    3 +
 src/views/salesManagement/deliveryLedger/index.vue                         |   60 +++++++++++++++++++++++++-----
 src/views/salesManagement/salesLedger/index.vue                            |    9 ++++
 3 files changed, 60 insertions(+), 12 deletions(-)

diff --git a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
index e4cc4c0..ba3641b 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -200,7 +200,8 @@
                 <el-descriptions-item label="鍙戣揣绫诲瀷">{{ currentDelivery.shippingInfo.type || '--' }}</el-descriptions-item>
                 <el-descriptions-item label="鍙戣揣鏃ユ湡">{{ currentDelivery.shippingInfo.shippingDate || '--' }}</el-descriptions-item>
                 <el-descriptions-item label="瀹℃牳鐘舵��">{{ currentDelivery.shippingInfo.status || '--' }}</el-descriptions-item>
-                <el-descriptions-item label="鍙戣揣杞︾墝鍙�">{{ currentDelivery.shippingInfo.shippingCarNumber || '--' }}</el-descriptions-item>
+                <el-descriptions-item label="鍙戣揣杞︾墝鍙�"
+                                      v-if="currentDelivery.shippingInfo.type !== '鑷彁'">{{ currentDelivery.shippingInfo.shippingCarNumber || '--' }}</el-descriptions-item>
                 <el-descriptions-item label="蹇�掑叕鍙�" v-if="false">{{ currentDelivery.shippingInfo.expressCompany || '--' }}</el-descriptions-item>
                 <el-descriptions-item label="蹇�掑崟鍙�"
                                       :span="2" v-if="false">{{ currentDelivery.shippingInfo.expressNumber || '--' }}</el-descriptions-item>
diff --git a/src/views/salesManagement/deliveryLedger/index.vue b/src/views/salesManagement/deliveryLedger/index.vue
index b7c6dba..2720140 100644
--- a/src/views/salesManagement/deliveryLedger/index.vue
+++ b/src/views/salesManagement/deliveryLedger/index.vue
@@ -54,66 +54,91 @@
         style="width: 100%"
         height="calc(100vh - 21.5em)"
       >
-        <el-table-column align="center" type="selection" width="55" />
-        <el-table-column align="center" label="搴忓彿" type="index" width="60" />
+        <el-table-column align="center" type="selection" width="45" />
+        <el-table-column align="center" label="搴忓彿" type="index" width="55" />
         <el-table-column
           label="閿�鍞鍗�"
           prop="salesContractNo"
+          min-width="140"
           show-overflow-tooltip
         />
         <el-table-column
           label="鍙戣揣璁㈠崟鍙�"
           prop="shippingNo"
+          min-width="150"
           show-overflow-tooltip
         />
         <el-table-column
           label="瀹㈡埛鍚嶇О"
           prop="customerName"
+          min-width="130"
           show-overflow-tooltip
         />
         <el-table-column
           label="浜у搧鍚嶇О"
           prop="productName"
+          min-width="120"
           show-overflow-tooltip
         />
         <el-table-column
           label="瑙勬牸鍨嬪彿"
           prop="specificationModel"
+          min-width="110"
           show-overflow-tooltip
         />
         <el-table-column
           label="鍙戣揣鏃堕棿"
           prop="shippingDate"
+          width="105"
+          align="center"
           show-overflow-tooltip
         />
         <el-table-column
           label="鍙戣揣鏁伴噺"
           prop="totalQuantity"
+          width="90"
+          align="center"
           show-overflow-tooltip
         />
         <el-table-column
+          label="鍙戣揣绫诲瀷"
+          prop="type"
+          align="center"
+          width="90"
+          show-overflow-tooltip
+        >
+          <template #default="scope">
+            <el-tag :type="getDeliveryTypeTagType(scope.row.type)" size="small">
+              {{ scope.row.type || "--" }}
+            </el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column
           label="鍙戣揣杞︾墝鍙�"
           prop="shippingCarNumber"
+          min-width="110"
           show-overflow-tooltip
         />
         <el-table-column
           label="蹇�掑叕鍙�"
           prop="expressCompany"
+          min-width="100"
           show-overflow-tooltip
         />
         <el-table-column
           label="蹇�掑崟鍙�"
           prop="expressNumber"
+          min-width="130"
           show-overflow-tooltip
         />
         <el-table-column
           label="瀹℃牳鐘舵��"
           prop="status"
           align="center"
-          width="100"
+          width="90"
         >
           <template #default="scope">
-            <el-tag :type="getApprovalStatusType(scope.row.status)">
+            <el-tag :type="getApprovalStatusType(scope.row.status)" size="small">
               {{ getApprovalStatusText(scope.row.status) }}
             </el-tag>
           </template>
@@ -122,9 +147,9 @@
           label="鍑哄簱鍗曞彿"
           prop="outboundBatches"
           show-overflow-tooltip
-          width="130"
+          min-width="120"
         />
-        <el-table-column fixed="right" label="鎿嶄綔" width="220" align="center">
+        <el-table-column fixed="right" label="鎿嶄綔" width="130" align="center">
           <template #default="scope">
             <!--            <el-button-->
             <!--                link-->
@@ -182,6 +207,7 @@
               >
                 <el-option label="璐ц溅" value="璐ц溅" />
                 <el-option label="蹇��" value="蹇��" />
+                <el-option label="鑷彁" value="鑷彁" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -222,7 +248,7 @@
           </el-col>
         </el-row>
         <el-row :gutter="30" >
-          <el-col :span="24">
+          <el-col :span="24" v-if="form.type !== '鑷彁'">
             <el-form-item label="蹇�掑崟鍙凤細" prop="expressNumber">
               <el-input
                 v-model="form.expressNumber"
@@ -281,13 +307,13 @@
           <el-descriptions-item label="瀹℃牳鐘舵��">{{
             getApprovalStatusText(detailRow.status)
           }}</el-descriptions-item>
-          <el-descriptions-item label="鍙戣揣杞︾墝鍙�">{{
+          <el-descriptions-item label="鍙戣揣杞︾墝鍙�" v-if="detailRow.type !== '鑷彁'">{{
             detailRow.shippingCarNumber || "--"
           }}</el-descriptions-item>
-          <el-descriptions-item label="蹇�掑叕鍙�" >{{
+          <el-descriptions-item label="蹇�掑叕鍙�" v-if="detailRow.type !== '鑷彁'">{{
             detailRow.expressCompany || "--"
           }}</el-descriptions-item>
-          <el-descriptions-item label="蹇�掑崟鍙�" :span="2" >{{
+          <el-descriptions-item label="蹇�掑崟鍙�" :span="2" v-if="detailRow.type !== '鑷彁'">{{
             detailRow.expressNumber || "--"
           }}</el-descriptions-item>
           <el-descriptions-item label="鍑哄簱鍗曞彿" :span="2">{{
@@ -770,11 +796,25 @@
   if (val === "璐ц溅") {
     form.value.expressCompany = "";
     form.value.expressNumber = "";
+  } else if (val === "鑷彁") {
+    form.value.shippingCarNumber = "";
+    form.value.expressCompany = "";
+    form.value.expressNumber = "";
   } else {
     form.value.shippingCarNumber = "";
   }
 };
 
+// 鍙戣揣绫诲瀷鏍囩棰滆壊
+const getDeliveryTypeTagType = (type) => {
+  const typeMap = {
+    蹇��: "primary",
+    璐ц溅: "warning",
+    鑷彁: "success",
+  };
+  return typeMap[String(type || "").trim()] || "info";
+};
+
 // 鑾峰彇瀹℃牳鐘舵�佹枃鏈�
 const getApprovalStatusText = (status) => {
   if (status === null || status === undefined || status === "") {
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 97ffd39..1057d97 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -952,6 +952,8 @@
                            value="蹇��" />
                 <el-option label="璐ц溅"
                            value="璐ц溅" />
+                <el-option label="鑷彁"
+                           value="鑷彁" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -984,7 +986,8 @@
         </el-row>
         <el-row :gutter="30"
                 >
-          <el-col :span="24">
+          <el-col :span="24"
+                  v-if="deliveryForm.type !== '鑷彁'">
             <el-form-item label="蹇�掑崟鍙凤細"
                           prop="expressNumber">
               <el-input v-model="deliveryForm.expressNumber"
@@ -2603,6 +2606,10 @@
     if (val === "璐ц溅") {
       deliveryForm.value.expressCompany = "";
       deliveryForm.value.expressNumber = "";
+    } else if (val === "鑷彁") {
+      deliveryForm.value.shippingCarNumber = "";
+      deliveryForm.value.expressCompany = "";
+      deliveryForm.value.expressNumber = "";
     } else {
       deliveryForm.value.shippingCarNumber = "";
     }

--
Gitblit v1.9.3