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:
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 })
|
||||
|
||||
Reference in new issue
Block a user