From da57fbd8e7fa021614fb32502fb1520ea4e34e1e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 18 五月 2026 11:35:16 +0800
Subject: [PATCH] 浪潮 1.样式修改

---
 src/views/salesManagement/salesLedger/index.vue |  111 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 85 insertions(+), 26 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 8d25f53..27ab2c3 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -451,15 +451,6 @@
           <el-table-column label="涓嶅惈绋庢�讳环(鍏�)"
                            prop="taxExclusiveTotalPrice"
                            :formatter="formattedNumber" />
-          <el-table-column label="鏄惁鐢熶骇"
-                           prop="isProduction"
-                           width="150">
-            <template #default="scope">
-              <el-tag :type="scope.row.isProduction ? 'success' : 'info'">
-                {{ scope.row.isProduction ? '鏄�' : '鍚�' }}
-              </el-tag>
-            </template>
-          </el-table-column>
           <el-table-column fixed="right"
                            label="鎿嶄綔"
                            min-width="60"
@@ -708,17 +699,6 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="鏄惁鐢熶骇锛�"
-                          prop="isProduction">
-              <el-radio-group v-model="productForm.isProduction">
-                <el-radio label="鏄�"
-                          :value="true" />
-                <el-radio label="鍚�"
-                          :value="false" />
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
         </el-row>
       </el-form>
     </FormDialog>
@@ -898,7 +878,8 @@
                           prop="type">
               <el-select v-model="deliveryForm.type"
                          placeholder="璇烽�夋嫨鍙戣揣绫诲瀷"
-                         style="width: 100%">
+                         style="width: 100%"
+                         @change="handleDeliveryTypeChange">
                 <el-option label="璐ц溅"
                            value="璐ц溅" />
                 <el-option label="蹇��"
@@ -910,6 +891,41 @@
             <el-form-item label="寰呭彂璐ф暟閲忥細">
               <el-input :model-value="currentDeliveryRow?.noQuantity"
                         disabled />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="30">
+          <el-col :span="24" v-if="deliveryForm.type === '璐ц溅'">
+            <el-form-item label="鍙戣揣杞︾墝鍙凤細"
+                          prop="shippingCarNumber">
+              <el-input v-model="deliveryForm.shippingCarNumber"
+                        placeholder="璇疯緭鍏ュ彂璐ц溅鐗屽彿"
+                        clearable />
+            </el-form-item>
+          </el-col>
+          <el-col :span="24" v-else>
+            <el-form-item label="蹇�掑叕鍙革細"
+                          prop="expressCompany">
+              <el-input v-model="deliveryForm.expressCompany"
+                        placeholder="璇疯緭鍏ュ揩閫掑叕鍙�"
+                        clearable />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="30" v-if="deliveryForm.type === '蹇��'">
+          <el-col :span="24">
+            <el-form-item label="蹇�掑崟鍙凤細"
+                          prop="expressNumber">
+              <el-input v-model="deliveryForm.expressNumber"
+                        placeholder="璇疯緭鍏ュ揩閫掑崟鍙�"
+                        clearable />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="30">
+          <el-col :span="24">
+            <el-form-item label="鍙戣揣鍥剧墖锛�">
+              <ImageUpload v-model:file-list="deliveryFileList" :limit="9" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -990,6 +1006,7 @@
   import useFormData from "@/hooks/useFormData.js";
   import dayjs from "dayjs";
   import FileUpload from "@/components/AttachmentUpload/file/index.vue";
+  import ImageUpload from "@/components/AttachmentUpload/image/index.vue";
   import { getCurrentDate } from "@/utils/index.js";
   import { listCustomer } from "@/api/basicData/customer.js";
 
@@ -1017,6 +1034,7 @@
   });
   const total = ref(0);
   const fileList = ref([]);
+  const deliveryFileList = ref([]);
 
   // 鐢ㄦ埛淇℃伅琛ㄥ崟寮规鏁版嵁
   const operationType = ref("");
@@ -1067,7 +1085,6 @@
       taxInclusiveTotalPrice: "",
       taxExclusiveTotalPrice: "",
       invoiceType: "",
-      isProduction: false,
     },
     productRules: {
       productCategory: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
@@ -1088,7 +1105,6 @@
         { required: true, message: "璇疯緭鍏�", trigger: "blur" },
       ],
       invoiceType: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
-      isProduction: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
     },
   });
   const { productForm, productRules } = toRefs(productFormData);
@@ -1195,11 +1211,30 @@
         deliveryQuantity: 0,
       }));
   };
+  const validateDeliveryShippingCarNumber = (_rule, value, callback) => {
+    if (deliveryForm.value.type === "璐ц溅" && !value) {
+      return callback(new Error("璇疯緭鍏ュ彂璐ц溅鐗屽彿"));
+    }
+    callback();
+  };
+  const validateDeliveryExpressCompany = (_rule, value, callback) => {
+    if (deliveryForm.value.type === "蹇��" && !value) {
+      return callback(new Error("璇疯緭鍏ュ揩閫掑叕鍙�"));
+    }
+    callback();
+  };
   const deliveryFormData = reactive({
     deliveryForm: {
+      shippingCarNumber: "",
+      expressCompany: "",
+      expressNumber: "",
       type: "璐ц溅", // 璐ц溅, 蹇��
     },
     deliveryRules: {
+      shippingCarNumber: [
+        { validator: validateDeliveryShippingCarNumber, trigger: "blur" },
+      ],
+      expressCompany: [{ validator: validateDeliveryExpressCompany, trigger: "blur" }],
       type: [{ required: true, message: "璇烽�夋嫨鍙戣揣绫诲瀷", trigger: "change" }],
     },
   });
@@ -1697,9 +1732,6 @@
 
     productOperationType.value = type;
     productForm.value = {};
-    if (type === "add") {
-      productForm.value.isProduction = true;
-    }
     proxy.resetForm("productFormRef");
     if (type === "edit") {
       productForm.value = { ...row };
@@ -2621,10 +2653,14 @@
       row.productModelId || row.modelId
     );
     deliveryForm.value = {
+      shippingCarNumber: "",
+      expressCompany: "",
+      expressNumber: "",
       type: "璐ц溅",
       batchNo: [],
       batchNoList,
     };
+    deliveryFileList.value = [];
     deliveryFormVisible.value = true;
   };
 
@@ -2662,6 +2698,19 @@
           salesLedgerId: salesLedgerId,
           salesLedgerProductId: currentDeliveryRow.value.id,
           type: deliveryForm.value.type,
+          shippingCarNumber:
+            deliveryForm.value.type === "璐ц溅"
+              ? deliveryForm.value.shippingCarNumber
+              : "",
+          expressCompany:
+            deliveryForm.value.type === "蹇��"
+              ? deliveryForm.value.expressCompany
+              : "",
+          expressNumber:
+            deliveryForm.value.type === "蹇��"
+              ? deliveryForm.value.expressNumber
+              : "",
+          storageBlobDTOs: deliveryFileList.value || [],
           batchNo: deliveryForm.value.batchNo,
           batchNoDetailList: selectedBatchRows.map(item => ({
             stockInventoryId: item.id,
@@ -2701,8 +2750,18 @@
   };
 
   // 鍏抽棴鍙戣揣寮规
+  const handleDeliveryTypeChange = val => {
+    if (val === "璐ц溅") {
+      deliveryForm.value.expressCompany = "";
+      deliveryForm.value.expressNumber = "";
+    } else {
+      deliveryForm.value.shippingCarNumber = "";
+    }
+  };
+
   const closeDeliveryDia = () => {
     proxy.resetForm("deliveryFormRef");
+    deliveryFileList.value = [];
     deliveryFormVisible.value = false;
     currentDeliveryRow.value = null;
   };

--
Gitblit v1.9.3