fix: support stock adjustment for items without stocktake draft

This commit is contained in:
DXC
2026-03-18 13:53:55 +08:00
parent e08012d9dd
commit 33969b8336
2 changed files with 59 additions and 31 deletions

View File

@ -448,14 +448,16 @@ const api = {
params: {}
}),
// ★ 新增: 单条库存调整
adjustStock: (draftId: number, stockId: number, remark: string) => request({
adjustStock: (draftId: number, stockId: number, diffQty: number, sourceTable: string, remark: string) => request({
url: '/v1/inbound/stock/adjust',
method: 'post',
data: {
draft_id: draftId,
stock_id: stockId, // 备用参数
operator_name: currentUser,
remark: remark
data: {
draft_id: draftId,
stock_id: stockId, // 库存项ID
diff_qty: diffQty, // 差异数量(支持无草稿模式)
source_table: sourceTable, // 必须stock_buy / stock_semi / stock_product
operator_name: currentUser,
remark: remark
}
}),
// ★ 保留清除功能(用于兼容性)
@ -755,6 +757,10 @@ const closeOverlays = () => {
// --- 导出 Excel 逻辑 (调用后端API) ---
const exportToExcel = async () => {
try {
// ===== 调试代码 =====
console.warn('---- 触发了导出 Excel ----');
// ===== 调试结束 =====
ElMessage.info('正在生成盘点报告,请稍候...');
// 使用项目封装的 request 发送请求,确保自动携带 JWT Token
const res: any = await request({
@ -886,6 +892,12 @@ const openVarianceDialog = async () => {
// ★ 新增: 确认平账
const handleAdjust = async (row: any) => {
try {
// ===== 调试代码 =====
console.warn('---- 准备平账参数检查 ----');
console.warn('当前点击行的完整数据:', row);
console.warn(`将要发送的 draftId: ${row.id}, stockId: ${row.stock_id}, sourceTable: ${row.source_table}`);
// ===== 调试结束 =====
await ElMessageBox.confirm(
`确定要对 "${row.uuid}" 进行平账调整吗?\n\n差异: ${row.diff_qty > 0 ? '盘盈 +' : '盘亏 '}${row.diff_qty}`,
'确认平账',
@ -894,7 +906,7 @@ const handleAdjust = async (row: any) => {
const remark = `盘点差异调整 - ${row.diff_qty > 0 ? '盘盈入库' : '盘亏出库'}`
const res: any = await api.adjustStock(row.id, row.stock_id, remark)
const res: any = await api.adjustStock(row.id, row.stock_id, row.diff_qty, row.source_table || 'stock_buy', remark)
ElMessage.success(res.message || '调整成功')