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

---
 src/views/procurementManagement/purchaseReturnOrder/New.vue |   97 ++++++------------------------------------------
 1 files changed, 12 insertions(+), 85 deletions(-)

diff --git a/src/views/procurementManagement/purchaseReturnOrder/New.vue b/src/views/procurementManagement/purchaseReturnOrder/New.vue
index 186a552..9474b11 100644
--- a/src/views/procurementManagement/purchaseReturnOrder/New.vue
+++ b/src/views/procurementManagement/purchaseReturnOrder/New.vue
@@ -58,63 +58,6 @@
         </el-form-item>
 
         <el-form-item
-            label="鍙戣揣绫诲瀷"
-            prop="shippingType"
-            :rules="[
-                {
-                  required: true,
-                  message: '璇烽�夋嫨鍙戣揣绫诲瀷',
-                  trigger: 'change',
-                }
-              ]"
-        >
-          <el-select
-              v-model="formState.shippingType"
-              placeholder="璇烽�夋嫨鍙戣揣绫诲瀷"
-              style="width: 240px"
-              @change="handleShippingTypeChange"
-          >
-            <el-option label="璐ц溅" :value="1" />
-            <el-option label="蹇��" :value="2" />
-          </el-select>
-        </el-form-item>
-
-        <el-form-item
-            v-if="formState.shippingType === 1"
-            label="鍙戣揣杞︾墝鍙�"
-            prop="truckPlateNo"
-        >
-          <el-input
-              v-model="formState.truckPlateNo"
-              placeholder="璇疯緭鍏ュ彂璐ц溅鐗屽彿"
-              style="width: 240px"
-          />
-        </el-form-item>
-
-        <template v-else-if="formState.shippingType === 2">
-          <el-form-item
-              label="蹇�掑叕鍙�"
-              prop="expressCompany"
-          >
-            <el-input
-                v-model="formState.expressCompany"
-                placeholder="璇疯緭鍏ュ揩閫掑叕鍙�"
-                style="width: 240px"
-            />
-          </el-form-item>
-          <el-form-item
-              label="蹇�掑崟鍙�"
-              prop="expressNo"
-          >
-            <el-input
-                v-model="formState.expressNo"
-                placeholder="璇疯緭鍏ュ揩閫掑崟鍙�"
-                style="width: 240px"
-            />
-          </el-form-item>
-        </template>
-
-        <el-form-item
             label="渚涘簲鍟嗗悕绉�"
             prop="supplierId"
             :rules="[
@@ -316,16 +259,13 @@
               <el-table-column label="鏁伴噺"
                                prop="stockInNum"
                                width="100" />
-              <el-table-column label="閿�鍞彂璐ф暟閲�"
-                               prop="saleOutQuantity"
-                               width="120" />
                                <el-table-column label="鍙��璐ф暟閲�"
                                prop="unQuantity"
                                width="130" />
               <el-table-column label="宸查��璐ф暟閲�"
                                width="130">
                 <template #default="scope">
-                  {{ formattedNumber(scope.row, null, scope.row.totalReturnNum || 0) }}
+                  {{ calcAlreadyReturned(scope.row) }}
                 </template>
               </el-table-column>
               <el-table-column label="閫�璐ф暟閲�"
@@ -480,7 +420,7 @@
 <script setup>
 import {ref, computed, getCurrentInstance, watch, defineAsyncComponent} from "vue";
 import {createPurchaseReturnOrder} from "@/api/procurementManagement/purchase_return_order.js";
-import {getOptions, purchaseReturnableList} from "@/api/procurementManagement/procurementLedger.js";
+import {getOptions, purchaseList} from "@/api/procurementManagement/procurementLedger.js";
 import {userListNoPageByTenantId} from "@/api/system/user.js";
 const ProductList = defineAsyncComponent(() => import("@/views/procurementManagement/purchaseReturnOrder/ProductList.vue"));
 const props = defineProps({
@@ -515,10 +455,6 @@
   no: '',
   isDefaultNo: true,
   returnType: 0,
-  shippingType: undefined,
-  truckPlateNo: '',
-  expressCompany: '',
-  expressNo: '',
   incomeType: undefined,
   remark: '',
   supplierId: undefined,
@@ -565,19 +501,6 @@
 // 鏄惁灞曠ず浜у搧鍒楄〃鏁版嵁
 const isShowProductsModal = ref(false)
 
-const handleShippingTypeChange = (val) => {
-  if (val === 1) {
-    formState.value.expressCompany = '';
-    formState.value.expressNo = '';
-  } else if (val === 2) {
-    formState.value.truckPlateNo = '';
-  } else {
-    formState.value.truckPlateNo = '';
-    formState.value.expressCompany = '';
-    formState.value.expressNo = '';
-  }
-};
-
 const isShow = computed({
   get() {
     return props.visible;
@@ -605,6 +528,14 @@
 const toNumber = (val) => {
   const num = Number(val)
   return Number.isNaN(num) ? 0 : num
+}
+
+/** 宸查��璐ф暟閲� = 鍏ュ簱琛屾�绘暟閲� 鈭� 褰撳墠鍙��璐ф暟閲忥紙鍓╀綑锛� */
+const calcAlreadyReturned = (row) => {
+  const total = Number(row?.stockInNum ?? row?.totalQuantity ?? row?.quantity ?? 0)
+  const un = Number(row?.unQuantity ?? 0)
+  if (!Number.isFinite(total) || !Number.isFinite(un)) return 0
+  return Math.max(total - un, 0)
 }
 
 const getReturnTotal = (row) => {
@@ -650,10 +581,6 @@
 }
 
 const closeModal = () => {
-  formState.value.shippingType = undefined;
-  formState.value.truckPlateNo = '';
-  formState.value.expressCompany = '';
-  formState.value.expressNo = '';
   isShow.value = false;
 };
 
@@ -747,7 +674,7 @@
 const fetchPurchaseLedgerOptions = () => {
   purchaseLedgerOptions.value = []
   if (formState.value.supplierId) {
-    purchaseReturnableList({ supplierId: formState.value.supplierId }).then((res) => {
+    purchaseList({supplierId: formState.value.supplierId,approvalStatus:3}).then((res) => {
       purchaseLedgerOptions.value = res.rows;
     });
   }
@@ -878,4 +805,4 @@
 }
 
 
-</style>
+</style>
\ No newline at end of file

--
Gitblit v1.9.3