diff --git a/inventory-web/src/views/stock/stocktake/index.vue b/inventory-web/src/views/stock/stocktake/index.vue index 1fba488..a24e7ab 100644 --- a/inventory-web/src/views/stock/stocktake/index.vue +++ b/inventory-web/src/views/stock/stocktake/index.vue @@ -503,11 +503,11 @@ onMounted(async () => { const checkServerDraft = async () => { try { - // 只获取未完成的草稿数量 + // 获取草稿数量(后端已移除 is_finished 字段,直接返回所有记录) const res: any = await request({ url: '/v1/inbound/stock/draft/list', method: 'get', - params: { is_finished: 'false' } + params: {} }) serverDraftCount.value = (res && res.length) || 0 } catch (e) {} @@ -538,11 +538,11 @@ const startNewSession = async () => { const resumeSession = async () => { btnLoading.value = true try { - // 获取最新的未完成会话 + // 获取最新的会话(后端已移除 is_finished 字段) const drafts: any = await request({ url: '/v1/inbound/stock/draft/list', method: 'get', - params: { is_finished: 'false' } + params: {} }) if (!drafts || drafts.length === 0) { @@ -856,23 +856,32 @@ const finishStocktake = async () => { printing.value = true - // ★ 修改: 调用结束盘点 API,不再删除草稿 + // 调用结束盘点 API const res: any = await api.finishStocktake() // 结束会话 scannedMap.value.clear() isSessionActive.value = false showFinishDialog.value = false - checkServerDraft() + // 刷新服务器草稿计数 + await checkServerDraft() ElMessage.success('盘点已结束,请查看差异报告进行审核') - // ★ 新增: 自动打开差异审核对话框 + // 自动打开差异审核对话框 await openVarianceDialog() } catch (e: any) { - if (e !== 'cancel') ElMessage.error(e?.message || '操作失败') - } finally { printing.value = false } + // ElMessageBox.cancel 是字符串 'cancel',需要正确判断 + if (e === 'cancel' || e === 'cancel' as any) { + return // 用户取消,不做任何提示 + } + // 其他错误需要提示用户 + console.error('结束盘点失败:', e) + ElMessage.error(e?.message || e?.data?.message || '结束盘点失败,请重试') + } finally { + printing.value = false + } } // ★ 新增: 打开差异审核对话框