From 9ea5ff67655241271bdf04bb50ca3a8d60c4e22a Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期二, 11 八月 2026 15:07:02 +0800
Subject: [PATCH] fix: 用河南鹤壁代码覆盖山西长治

---
 src/views/financialManagement/receivable/receipt.vue |  103 +++------------------------------------------------
 1 files changed, 7 insertions(+), 96 deletions(-)

diff --git a/src/views/financialManagement/receivable/receipt.vue b/src/views/financialManagement/receivable/receipt.vue
index 29194e7..6ddb3fe 100644
--- a/src/views/financialManagement/receivable/receipt.vue
+++ b/src/views/financialManagement/receivable/receipt.vue
@@ -111,7 +111,7 @@
             <el-form-item label="鏀舵鍗曞彿"
                           prop="receiptCode">
               <el-input v-model="form.receiptCode"
-                        placeholder="淇濆瓨鍚庤嚜鍔ㄧ敓鎴�"
+                        placeholder="绯荤粺鑷姩鐢熸垚"
                         disabled />
             </el-form-item>
           </el-col>
@@ -171,10 +171,10 @@
                           prop="amount">
               <el-input-number v-model="form.amount"
                                :min="0"
-                               :max="collectionAmountInputMax"
                                :precision="2"
                                style="width: 100%;"
-                               :disabled="isView" />
+                               :disabled="isView"
+                               placeholder="鏍规嵁鍏宠仈鍗曟嵁鑷姩姹囨�伙紝鍙慨鏀�" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -191,17 +191,6 @@
                            :label="item.label"
                            :value="item.value" />
               </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鍒涘缓鏃堕棿"
-                          prop="createTime">
-              <el-date-picker v-model="formCreateTimeDate"
-                              type="date"
-                              placeholder="閫夋嫨鏃ユ湡"
-                              value-format="YYYY-MM-DD"
-                              style="width: 100%;"
-                              :disabled="isView" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -274,12 +263,6 @@
                          align="right">
           <template #default="{ row }">楼{{ formatMoney(row.outboundAmount) }}</template>
         </el-table-column>
-        <el-table-column prop="amountReceived"
-                         label="宸叉敹娆鹃噾棰�"
-                         width="110"
-                         align="right">
-          <template #default="{ row }">楼{{ formatMoney(row.amountReceived) }}</template>
-        </el-table-column>
         <el-table-column prop="taxRate"
                          label="绋庣巼"
                          width="80"
@@ -305,7 +288,6 @@
     nextTick,
     getCurrentInstance,
   } from "vue";
-  import dayjs from "dayjs";
   import { ElMessage, ElMessageBox } from "element-plus";
   import FormDialog from "@/components/Dialog/FormDialog.vue";
   import { listCustomer } from "@/api/basicData/customer.js";
@@ -368,7 +350,6 @@
   const isEdit = ref(false);
   const isView = ref(false);
   const currentId = ref(null);
-  const originalReceiptAmount = ref(0);
   const submitLoading = ref(false);
 
   const customerList = ref([]);
@@ -398,54 +379,7 @@
     stockOutRecordIds: [],
     outboundBatches: "",
     remark: "",
-    createTime: "",
   });
-  const formCreateTimeDate = computed({
-    get: () => (form.createTime ? String(form.createTime).split(" ")[0] : ""),
-    set: (value) => {
-      form.createTime = value ? `${value} ${dayjs().format("HH:mm:ss")}` : "";
-    },
-  });
-
-  const maxCollectionAmount = computed(() => {
-    const selected = form.stockOutRecordIds || [];
-    const editAmount = isEdit.value ? Number(originalReceiptAmount.value) || 0 : 0;
-    if (!selected.length) return isEdit.value ? editAmount : undefined;
-    const selectedValueSet = new Set(selected.map(id => String(id)));
-    const selectedOptions = outboundBatchOptions.value.filter(
-      opt => opt.amountLimitAvailable && selectedValueSet.has(String(opt.value))
-    );
-    if (selectedOptions.length !== selectedValueSet.size) {
-      return isEdit.value ? Number(editAmount.toFixed(2)) : undefined;
-    }
-    const sum = selectedOptions.reduce(
-      (acc, opt) => acc + (Number(opt.outboundAmount) || 0),
-      0
-    );
-    return Number((sum + editAmount).toFixed(2));
-  });
-
-  const collectionAmountInputMax = computed(
-    () => maxCollectionAmount.value ?? Number.MAX_SAFE_INTEGER
-  );
-
-  const validateCollectionAmount = (rule, value, callback) => {
-    if (value === undefined || value === null || value === "") {
-      callback();
-      return;
-    }
-    const amount = Number(value);
-    if (Number.isNaN(amount)) {
-      callback(new Error("璇疯緭鍏ユ敹娆鹃噾棰�"));
-      return;
-    }
-    const max = maxCollectionAmount.value;
-    if (max !== undefined && amount - max > 0.000001) {
-      callback(new Error(`鏀舵閲戦涓嶈兘瓒呰繃${max.toFixed(2)}`));
-      return;
-    }
-    callback();
-  };
 
   const rules = {
     customerId: [{ required: true, message: "璇烽�夋嫨瀹㈡埛", trigger: "change" }],
@@ -461,10 +395,7 @@
     receiptDate: [
       { required: true, message: "璇烽�夋嫨鏀舵鏃ユ湡", trigger: "change" },
     ],
-    amount: [
-      { required: true, message: "璇疯緭鍏ユ敹娆鹃噾棰�", trigger: "blur" },
-      { validator: validateCollectionAmount, trigger: ["blur", "change"] },
-    ],
+    amount: [{ required: true, message: "璇疯緭鍏ユ敹娆鹃噾棰�", trigger: "blur" }],
     receiptMethod: [
       { required: true, message: "璇烽�夋嫨鏀舵鏂瑰紡", trigger: "change" },
     ],
@@ -524,12 +455,7 @@
     return list.map((item, index) => {
       if (typeof item === "string" || typeof item === "number") {
         const text = String(item);
-        return {
-          label: text,
-          value: text,
-          outboundAmount: 0,
-          amountLimitAvailable: false,
-        };
+        return { label: text, value: text, outboundAmount: 0 };
       }
       const label =
         item.outboundBatches ??
@@ -539,15 +465,10 @@
         item.label ??
         `鍑哄簱鍗�${index + 1}`;
       const value = item.id ?? item.stockOutRecordId ?? label;
-      const outboundAmount = Number(item.outboundAmount) || 0;
-      const amountReceived = Number(item.amountReceived) || 0;
-      const availableAmount = outboundAmount - amountReceived;
       return {
         label: String(label),
         value,
-        outboundAmount:
-          availableAmount > 0 ? Number(availableAmount.toFixed(2)) : 0,
-        amountLimitAvailable: true,
+        outboundAmount: Number(item.outboundAmount) || 0,
       };
     });
   };
@@ -595,7 +516,6 @@
         label: String(id),
         value: id,
         outboundAmount: 0,
-        amountLimitAvailable: false,
       });
     });
   };
@@ -698,7 +618,6 @@
     outboundSelectVisible.value = false;
     syncCollectionAmount();
     formRef.value?.validateField("stockOutRecordIds");
-    formRef.value?.validateField("amount");
   };
 
   const handleOutboundDialogClosed = () => {
@@ -739,7 +658,6 @@
       collectionNumber: form.receiptCode || "",
       remark: form.remark || "",
       stockOutRecordIds: (form.stockOutRecordIds || []).join(","),
-      createTime: form.createTime,
     };
     if (forUpdate) {
       payload.id = currentId.value;
@@ -760,7 +678,6 @@
       stockOutRecordIds,
       outboundBatches: formatOutboundBatches(row.outboundBatches),
       remark: row.remark ?? "",
-      createTime: row.createTime ?? "",
     });
   };
 
@@ -769,7 +686,6 @@
     outboundSelectVisible.value = false;
     isView.value = false;
     isEdit.value = false;
-    originalReceiptAmount.value = 0;
   };
 
   const handleExport = () => {
@@ -829,9 +745,8 @@
     isEdit.value = false;
     isView.value = false;
     dialogTitle.value = "鏂板鏀舵";
-    originalReceiptAmount.value = 0;
     Object.assign(form, {
-      receiptCode: "",
+      receiptCode: "SK" + Date.now().toString().slice(-8),
       customerId: "",
       receiptDate: new Date().toISOString().split("T")[0],
       amount: 0,
@@ -839,7 +754,6 @@
       stockOutRecordIds: [],
       outboundBatches: "",
       remark: "",
-      createTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
     });
     outboundBatchList.value = [];
     outboundBatchOptions.value = [];
@@ -852,16 +766,13 @@
     currentId.value = row.id;
     dialogTitle.value = "缂栬緫鏀舵";
     fillFormFromRow(row);
-    originalReceiptAmount.value = Number(form.amount || 0);
     dialogVisible.value = true;
-    loadOutboundBatches(form.customerId, true);
   };
 
   const view = row => {
     isView.value = true;
     isEdit.value = false;
     dialogTitle.value = "鏌ョ湅鏀舵";
-    originalReceiptAmount.value = 0;
     fillFormFromRow(row);
     dialogVisible.value = true;
   };

--
Gitblit v1.9.3