feat(pl): hard-block over-limit contract qty on arrange and remind after success

Validate arranged+this plan qty against fixed contract product quantities on
transport arrange; return post-success remaining/framework cumulative reminders.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-08-30 16:47:21 +08:00
1 parent d326996976
commit 3011cb9dae
10 files changed
+1424 -8

No files matched your search

@@ -251,6 +251,7 @@
<el-icon><Close /></el-icon>取消
</el-button>
<el-button
v-if="showSaveButton"
:type="showSaveAndArrangeButton ? 'default' : 'primary'"
:class="showSaveAndArrangeButton ? 'btn-ghost' : undefined"
:loading="submitLoading"
@@ -481,6 +482,8 @@
const loadedPlanSnapshot = ref<Plan | null>(null)
const selectedDriverId = ref('')
/** 已安排:禁止仅「保存」,须走保存并安排/调整运输,避免计划与地磅等联动字段脱节 */
const showSaveButton = computed(() => loadedTransportStatus.value !== 'arranged')
const showSaveAndArrangeButton = computed(() => {
if (!isEdit.value) return true
if (props.openForArrange && loadedTransportStatus.value === 'arranged') return false
@@ -1438,7 +1441,11 @@
getUnitLabel
})
await submitPlanArrange(planId, payload)
try {
await submitPlanArrange(planId, payload)
} catch {
return false
}
ElMessage.success(isRearrange ? '运输调整成功' : '运输安排成功')
innerVisible.value = false
emit('success', { planId, arranged: true })