From b19b9a0af8f796120f7478a2b94ecc6690eb5b3c Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 07 九月 2026 12:13:53 +0800
Subject: [PATCH] feat: 销售发货新增自送选择

---
 src/views/salesManagement/salesLedger/index.vue |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 6 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 8dab3ca..5328607 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -133,6 +133,21 @@
                   </el-tag>
                 </template>
               </el-table-column>
+              <el-table-column label="鍙戣揣绫诲瀷"
+                               width="100"
+                               align="center">
+                <template #default="scope">
+                  <el-tag v-if="getShippingTypeText(scope.row)"
+                          :type="getShippingTypeTag(scope.row)"
+                          size="small">
+                    {{ getShippingTypeText(scope.row) }}
+                  </el-tag>
+                  <el-tag v-else
+                          type="info"
+                          size="small">-
+                  </el-tag>
+                </template>
+              </el-table-column>
               <el-table-column label="蹇�掑叕鍙�"
                                prop="expressCompany"
                                show-overflow-tooltip />
@@ -941,6 +956,8 @@
                            value="璐ц溅" />
                 <el-option label="蹇��"
                            value="蹇��" />
+                <el-option label="鑷��"
+                           value="鑷��" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -957,9 +974,9 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row :gutter="30">
-          <el-col :span="24"
-                  v-if="deliveryForm.type === '璐ц溅'">
+        <el-row :gutter="30"
+                v-if="deliveryForm.type === '璐ц溅'">
+          <el-col :span="24">
             <el-form-item label="鍙戣揣杞︾墝鍙凤細"
                           prop="shippingCarNumber">
               <el-input v-model="deliveryForm.shippingCarNumber"
@@ -967,8 +984,10 @@
                         clearable />
             </el-form-item>
           </el-col>
-          <el-col :span="24"
-                  v-else>
+        </el-row>
+        <el-row :gutter="30"
+                v-else-if="deliveryForm.type === '蹇��'">
+          <el-col :span="24">
             <el-form-item label="蹇�掑叕鍙革細"
                           prop="expressCompany">
               <el-input v-model="deliveryForm.expressCompany"
@@ -1358,7 +1377,7 @@
       shippingCarNumber: "",
       expressCompany: "",
       expressNumber: "",
-      type: "璐ц溅", // 璐ц溅, 蹇��
+      type: "璐ц溅", // 璐ц溅, 蹇��, 鑷��
     },
     deliveryRules: {
       shippingCarNumber: [
@@ -2443,6 +2462,29 @@
   };
 
   /**
+   * 鑾峰彇鍙戣揣绫诲瀷鏂囨湰锛堣揣杞�/蹇��/鑷�侊級
+   * 瀛愯〃琛屾湭杩斿洖鍙戣揣绫诲瀷瀛楁锛屼緷鎹簰鏂ョ殑鍙戣揣淇℃伅鎺ㄦ柇锛�
+   * 鏈夎溅鐗屼负璐ц溅锛屾湁蹇�掑叕鍙�/鍗曞彿涓哄揩閫掞紝宸插彂璐т絾涓よ�呯殕鏃犱负鑷��
+   */
+  const getShippingTypeText = row => {
+    if (!row) return "";
+    if (row.shippingCarNumber) return "璐ц溅";
+    if (row.expressCompany || row.expressNumber) return "蹇��";
+    if (row.shippingDate) return "鑷��";
+    return "";
+  };
+
+  const getShippingTypeTag = row => {
+    const type = getShippingTypeText(row);
+    const typeTagMap = {
+      璐ц溅: "warning",
+      蹇��: "primary",
+      鑷��: "success",
+    };
+    return typeTagMap[type] || "info";
+  };
+
+  /**
    * 鍒ゆ柇鏄惁鍙互鍙戣揣
    * 鍙湁鍦ㄤ骇鍝佺姸鎬佹槸鍏呰冻锛屽彂璐х姸鎬佹槸寰呭彂璐у拰瀹℃牳鎷掔粷鐨勬椂鍊欐墠鍙互鍙戣揣
    * @param row 琛屾暟鎹�
@@ -2624,8 +2666,12 @@
     if (val === "璐ц溅") {
       deliveryForm.value.expressCompany = "";
       deliveryForm.value.expressNumber = "";
+    } else if (val === "蹇��") {
+      deliveryForm.value.shippingCarNumber = "";
     } else {
       deliveryForm.value.shippingCarNumber = "";
+      deliveryForm.value.expressCompany = "";
+      deliveryForm.value.expressNumber = "";
     }
   };
 

--
Gitblit v1.9.3