diff --git a/inventory-web/src/views/material/buyOdoo.vue b/inventory-web/src/views/material/buyOdoo.vue index c0e1b1c..634c2f6 100644 --- a/inventory-web/src/views/material/buyOdoo.vue +++ b/inventory-web/src/views/material/buyOdoo.vue @@ -380,9 +380,18 @@ - - + - + + + 缺货(已采购) + + 阈值: {{ row.warningStatus === 2 ? row.warningRed : row.warningYellow }} + + + 红色预警 阈值: {{ row.warningRed }} @@ -400,10 +409,9 @@ 编辑 设置预警 - - 采购在途 - 标记已采购 - + + 采购在途 删除 @@ -785,7 +793,6 @@ import { batchSetWarning, batchSetInspection, batchSetApprovalRequired, - markWarningOrdered, getMaterialUnitsAPI, getOdooSummary } from '@/api/material_base'; @@ -837,7 +844,8 @@ interface MaterialBaseVO { inventoryCount?: number; availableCount?: number; warningStatus?: number; - warningOrdered?: boolean; + // 采购在途:后端自动派生(有活跃采购单即 true),取代了原先人工标记的 warningOrdered + isPurchasing?: boolean; warningRedEmails?: string; warningYellowEmails?: string; referencePrice?: number; @@ -1567,13 +1575,10 @@ const handleSetSingleWarning = (row: MaterialBaseVO) => { warningDialog.title = '设置预警'; warningDialog.visible = true; }; -const handleMarkOrdered = (row: MaterialBaseVO) => { - ElMessageBox.confirm('确认已对该预警物料下单?标记后在途期间将不再发送预警邮件。', '确认标记已采购', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }) - .then(async () => { - try { await markWarningOrdered({ baseId: row.id, isOrdered: true }); ElMessage.success('已标记为已采购'); getList(); } - catch (error: any) { ElMessage.error(error?.msg || '标记失败'); } - }).catch(() => {}); -}; +// ★ 原「标记已采购」人工入口已移除:采购在途状态改由后端 isPurchasing 自动派生 +// (见列表操作列的 el-tag)。人工标记要靠人记得点、也靠人记得取消, +// 而自动判定在建单时即在途、单据驳回/强制结案时即解除,且与待采购池、 +// 预警邮件静音共用同一份逻辑,三处口径不会各说各话。 const submitWarning = async () => { if (!warningFormRef.value) return; await warningFormRef.value.validate(); diff --git a/inventory-web/src/views/material/list.vue b/inventory-web/src/views/material/list.vue index e719224..08d20e0 100644 --- a/inventory-web/src/views/material/list.vue +++ b/inventory-web/src/views/material/list.vue @@ -359,9 +359,20 @@ - - + - + + + 缺货(已采购) + + 阈值: {{ row.warningStatus === 2 ? row.warningRed : row.warningYellow }} + + + 红色预警 阈值: {{ row.warningRed }} @@ -379,10 +390,10 @@ 编辑 设置预警 - - 采购在途 - 标记已采购 - + + 采购在途 删除 @@ -785,7 +796,6 @@ import { batchSetWarning, batchSetInspection, batchSetApprovalRequired, - markWarningOrdered, getMaterialUnitsAPI } from '@/api/material_base'; import { uploadFile, deleteFile } from '@/api/common/upload'; @@ -816,7 +826,8 @@ interface MaterialBaseVO { inventoryCount?: number; availableCount?: number; warningStatus?: number; - warningOrdered?: boolean; + // 采购在途:后端自动派生(有活跃采购单即 true),取代了原先人工标记的 warningOrdered + isPurchasing?: boolean; warningRedEmails?: string; warningYellowEmails?: string; referencePrice?: number; @@ -1756,26 +1767,10 @@ const handleSetSingleWarning = (row: MaterialBaseVO) => { warningDialog.visible = true; }; -// 标记预警物料已采购 -const handleMarkOrdered = (row: MaterialBaseVO) => { - ElMessageBox.confirm( - '确认已对该预警物料下单?标记后在途期间将不再发送预警邮件。', - '确认标记已采购', - { - confirmButtonText: '确认', - cancelButtonText: '取消', - type: 'warning' - } - ).then(async () => { - try { - await markWarningOrdered({ baseId: row.id, isOrdered: true }); - ElMessage.success('已标记为已采购'); - getList(); - } catch (error: any) { - ElMessage.error(error?.msg || '标记失败'); - } - }).catch(() => {}); -}; +// ★ 原「标记已采购」人工入口已移除:采购在途状态改由后端 isPurchasing 自动派生 +// (见列表操作列的 el-tag)。人工标记要靠人记得点、也靠人记得取消, +// 而自动判定在建单时即在途、单据驳回/强制结案时即解除,且与待采购池、 +// 预警邮件静音共用同一份逻辑,三处口径不会各说各话。 // 提交预警设置 const submitWarning = async () => {