From b02312bc17dcfd15f4852efc5145c3551e69b9aa Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期二, 23 十二月 2025 10:31:44 +0800
Subject: [PATCH] 发货前校验产品库存修改
---
src/api/salesManagement/salesLedger.js | 8 ++++
src/views/salesManagement/salesLedger/index.vue | 58 +++++++----------------------
2 files changed, 22 insertions(+), 44 deletions(-)
diff --git a/src/api/salesManagement/salesLedger.js b/src/api/salesManagement/salesLedger.js
index 3a2fa22..6548927 100644
--- a/src/api/salesManagement/salesLedger.js
+++ b/src/api/salesManagement/salesLedger.js
@@ -109,3 +109,11 @@
params: query,
});
}
+// 閿�鍞彴璐﹂〉闈㈠彂璐э紝鏌ヨ搴撳瓨鏄惁鍏呰冻
+export function getProductInventory(query) {
+ return request({
+ url: "/sales/ledger/getProductInventory",
+ method: "get",
+ params: query,
+ });
+}
\ No newline at end of file
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 351cefd..d4fbe20 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -56,11 +56,11 @@
<el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" width="160" />
<el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" width="180" />
<el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" width="180" />
- <el-table-column fixed="right" label="鎿嶄綔" width="150" align="center">
- <template #default="scope">
- <el-button link type="primary" size="small" @click="openDeliveryForm(props.row, scope.row)">鍙戣揣</el-button>
- </template>
- </el-table-column>
+<!-- <el-table-column fixed="right" label="鎿嶄綔" width="150" align="center">-->
+<!-- <template #default="scope">-->
+<!-- <el-button link type="primary" size="small" @click="openDeliveryForm(props.row, scope.row)">鍙戣揣</el-button>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
</el-table>
</template>
</el-table-column>
@@ -81,6 +81,7 @@
<el-button link type="primary" size="small" @click="openForm('edit', scope.row)">缂栬緫</el-button>
<!-- <el-button link type="primary" size="small" @click="openForm('view', scope.row)">璇︽儏</el-button>-->
<el-button link type="primary" size="small" @click="downLoadFile(scope.row)">闄勪欢</el-button>
+ <el-button link type="primary" size="small" @click="openDeliveryForm(scope.row)">鍙戣揣</el-button>
</template>
</el-table-column>
</el-table>
@@ -464,7 +465,7 @@
import pagination from "@/components/PIMTable/Pagination.vue";
import {onMounted, ref} from "vue";
import { addShippingInfo } from "@/api/salesManagement/deliveryLedger.js";
-import { ElMessageBox } from "element-plus";
+import {ElMessage, ElMessageBox} from "element-plus";
import useUserStore from "@/store/modules/user";
import { userListNoPage } from "@/api/system/user.js";
import FileList from "./fileList.vue";
@@ -477,7 +478,7 @@
delLedger,
addOrUpdateSalesLedgerProduct,
delProduct,
- delLedgerFile,
+ delLedgerFile, getProductInventory,
} from "@/api/salesManagement/salesLedger.js";
import { modelList, productTreeList } from "@/api/basicData/product.js";
import useFormData from "@/hooks/useFormData.js";
@@ -1532,48 +1533,17 @@
}
// 鎵撳紑鍙戣揣寮规
-const openDeliveryForm = async (parentRow, productRow) => {
- // productRow鐨刴inStock鍜宷uantity
- console.log('22222', productRow)
-
- // 妫�鏌ヤ骇鍝佸簱瀛樻槸鍚﹁冻澶�
- const requiredQuantity = productRow.quantity || 0; // 闇�瑕佸彂璐х殑鏁伴噺
-
- try {
- // 绛夊緟鑾峰彇搴撳瓨淇℃伅
- const res = await getStockInPage({
- current: 1,
- size: 100
- });
- // console.log('res33333', res.data.records)
- // 閫氳繃 productRow.id 杩囨护鍑哄搴旂殑搴撳瓨璁板綍
- const matchingStockRecords = res.data?.records?.filter(record =>
- record.salesLedgerProductId === productRow.id
- ) || [];
-
- // 璁$畻鍖归厤璁板綍鐨勬�诲簱瀛樻暟閲�
- const currentStock = matchingStockRecords.reduce((total, record) => {
- return total + (record.inboundNum0 || 0);
- }, 0);
- // 妫�鏌ュ簱瀛樻槸鍚﹀厖瓒�
- if (currentStock < requiredQuantity) {
- // 搴撳瓨涓嶈冻鎻愮ず
- proxy.$modal.msgWarning(`浜у搧搴撳瓨涓嶈冻`);
- return;
- }
-
- // 搴撳瓨鍏呰冻锛岀户缁墦寮�鍙戣揣寮规
- currentDeliveryContext.value = { parentRow, productRow };
+const openDeliveryForm = (row) => {
+ getProductInventory({ salesLedgerId: row.id, type:1 }).then((res) => {
+ currentDeliveryRow.value = row;
deliveryForm.value = {
shippingDate: getCurrentDate(),
shippingCarNumber: "",
};
deliveryFormVisible.value = true;
-
- } catch (error) {
- console.error('鑾峰彇搴撳瓨淇℃伅澶辫触:', error);
- proxy.$modal.msgError("鑾峰彇搴撳瓨淇℃伅澶辫触锛岃閲嶈瘯");
- }
+ }).catch(err => {
+ ElMessage.error(err.msg);
+ });
};
// 鎻愪氦鍙戣揣琛ㄥ崟
--
Gitblit v1.9.3