From c7ac44a1004dcf791fe7282368f1f657e035c961 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 13 五月 2026 11:37:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_NEW_pro' into dev_NEW_pro

---
 src/views/procurementManagement/purchaseReturnOrder/ProductList.vue |   84 ++++++++++++++++++++++++++++-------------
 1 files changed, 57 insertions(+), 27 deletions(-)

diff --git a/src/views/procurementManagement/purchaseReturnOrder/ProductList.vue b/src/views/procurementManagement/purchaseReturnOrder/ProductList.vue
index 3eeb167..24d64c6 100644
--- a/src/views/procurementManagement/purchaseReturnOrder/ProductList.vue
+++ b/src/views/procurementManagement/purchaseReturnOrder/ProductList.vue
@@ -6,9 +6,10 @@
         width="1200"
         @close="closeModal"
     >
-      <div class="table_list">
+      <div class="table_list" v-loading="tableLoading">
         <el-table :data="tableData"
                   border
+                  row-key="id"
                   @selection-change="handleChangeSelection">
           <el-table-column align="center"
                            type="selection"
@@ -17,6 +18,12 @@
                            label="搴忓彿"
                            type="index"
                            width="60" />
+                           <el-table-column label="鍏ュ簱鍗曞彿"
+                               prop="inboundBatches"
+                               width="150" />
+              <el-table-column label="鎵规鍙�"
+                               prop="batchNo"
+                               width="150" />
           <el-table-column label="浜у搧澶х被"
                            prop="productCategory" />
           <el-table-column label="瑙勬牸鍨嬪彿"
@@ -25,27 +32,33 @@
                            prop="unit"
                            width="70" />
           <el-table-column label="鏁伴噺"
-                           prop="quantity"
+                           prop="stockInNum"
                            width="70" />
-          <el-table-column label="搴撳瓨棰勮鏁伴噺"
+          <el-table-column label="鍙��璐ф暟閲�"
+                           prop="unQuantity"
+                           width="130" />
+          <el-table-column label="宸查��璐ф暟閲�"
+                           prop="totalReturnNum"
+                           width="130" />
+          <!-- <el-table-column label="搴撳瓨棰勮鏁伴噺"
                            prop="warnNum"
                            width="120"
                            show-overflow-tooltip />
           <el-table-column label="绋庣巼(%)"
                            prop="taxRate"
-                           width="80" />
+                           width="80" /> -->
           <el-table-column label="鍚◣鍗曚环(鍏�)"
                            prop="taxInclusiveUnitPrice"
                            :formatter="formattedNumber"
                            width="150" />
-          <el-table-column label="鍚◣鎬讳环(鍏�)"
+          <!-- <el-table-column label="鍚◣鎬讳环(鍏�)"
                            prop="taxInclusiveTotalPrice"
                            :formatter="formattedNumber"
                            width="150" />
           <el-table-column label="涓嶅惈绋庢�讳环(鍏�)"
                            prop="taxExclusiveTotalPrice"
                            :formatter="formattedNumber"
-                           width="150" />
+                           width="150" /> -->
           <el-table-column label="鏄惁璐ㄦ"
                            prop="isChecked"
                            width="150">
@@ -56,8 +69,6 @@
             </template>
           </el-table-column>
         </el-table>
-        <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"
-                    :page="page.current" :limit="page.size" @pagination="paginationChange" />
       </div>
 
       <template #footer>
@@ -71,8 +82,8 @@
 </template>
 
 <script setup>
-import {computed, reactive, ref, onMounted} from "vue";
-import {productList} from "@/api/procurementManagement/procurementLedger.js";
+import {computed, ref, onMounted} from "vue";
+import {getPurchaseReturnOrderByPurchaseLedgerId} from "@/api/procurementManagement/purchase_return_order.js";
 import {ElMessage} from "element-plus";
 
 const props = defineProps({
@@ -82,7 +93,7 @@
   },
 
   purchaseLedgerId: {
-    type: Number,
+    type: [Number, String],
     required: true,
   }
 });
@@ -101,32 +112,51 @@
 const tableData = ref([])
 const selectedRows = ref([])
 const tableLoading = ref(false)
-const page = reactive({
-  current: 1,
-  size: 100,
-})
-const total = ref(0)
 const formattedNumber = (row, column, cellValue) => {
   return parseFloat(cellValue).toFixed(2);
 };
-
-const paginationChange = (obj) => {
-  page.current = obj.page;
-  page.size = obj.limit;
-  getList()
-}
 
 const handleChangeSelection = (val) => {
   selectedRows.value = val;
 }
 
+/** 涓� New.vue 涓噰璐彴璐﹀彉鏇存椂瑙f瀽 getByPurchaseLedgerId 鐨勮鍒欎竴鑷� */
+const parseProductRowsFromLedgerResponse = (res) => {
+  const payload = res?.data
+  let list = []
+  if (Array.isArray(payload)) {
+    list = payload
+  } else if (payload && typeof payload === 'object') {
+    const nested =
+      payload.purchaseReturnOrderProductsDtos ||
+      payload.purchaseReturnOrderProductsDetailVoList
+    list = Array.isArray(nested) ? nested : []
+    if (list.length && list[0]?.salesLedgerProduct) {
+      list = list.map((item) => ({ ...item, ...item.salesLedgerProduct }))
+    }
+  }
+  return list
+}
+
 const fetchData = () => {
-  tableLoading.value = true;
-  productList({salesLedgerId: props.purchaseLedgerId, type: 2}).then((res) => {
-    tableData.value = res.data;
-  }).finally(() => {
-    tableLoading.value = false;
+  if (props.purchaseLedgerId === undefined || props.purchaseLedgerId === null || props.purchaseLedgerId === '') {
+    tableData.value = []
+    return
+  }
+  tableLoading.value = true
+  getPurchaseReturnOrderByPurchaseLedgerId({
+    purchaseLedgerId: props.purchaseLedgerId,
   })
+    .then((res) => {
+      const list = parseProductRowsFromLedgerResponse(res)
+      tableData.value = list
+    })
+    .catch(() => {
+      tableData.value = []
+    })
+    .finally(() => {
+      tableLoading.value = false
+    })
 }
 
 const handleSubmit = () => {

--
Gitblit v1.9.3