This commit is contained in:
2026-09-15 17:46:44 +08:00
parent 14e31d4679
commit ccc72be4b9
3 changed files with 33 additions and 3 deletions
@@ -733,7 +733,7 @@ function planningDraft(row: UnifiedOrderResource) {
async function savePlanning(row: UnifiedOrderResource) {
const draft = planningDraft(row)
if (!can('platform:order:declaration:edit') || draft.saving) return
if (!canEditPlanning(row) || draft.saving) return
const estimatedVolumeCbm = draft.estimatedVolumeCbm ?? null
draft.estimatedVolumeCbm = estimatedVolumeCbm
if (!Number.isInteger(row.orderVersion)) {
@@ -777,6 +777,13 @@ async function savePlanning(row: UnifiedOrderResource) {
}
}
const planningEditableOrderStatuses = new Set(['DRAFT', 'REJECTED', 'SUBMITTED', 'APPROVED'])
function canEditPlanning(row: UnifiedOrderResource) {
return can('platform:order:declaration:edit')
&& planningEditableOrderStatuses.has(row.internalOrderStatus || '')
}
const declarationEditableStatuses = new Set<UnifiedOrderMainStatus>(['PENDING_REVIEW', 'WAIT_MEASURE', 'WAIT_SPLIT'])
const canEditDeclaration = computed(() => Boolean(
detail.value
@@ -2673,7 +2680,7 @@ onBeforeUnmount(() => {
<template #estimatedVolume="{ row }">
<div class="planning-cell">
<el-input-number
v-if="can('platform:order:declaration:edit')"
v-if="canEditPlanning(row as UnifiedOrderResource)"
v-model="planningDraft(row as UnifiedOrderResource).estimatedVolumeCbm"
class="planning-volume-input"
:min="0.0001"
@@ -2692,7 +2699,7 @@ onBeforeUnmount(() => {
<div class="planning-cell">
<el-date-picker
style="width: 100%;"
v-if="can('platform:order:declaration:edit')"
v-if="canEditPlanning(row as UnifiedOrderResource)"
v-model="planningDraft(row as UnifiedOrderResource).expectedArrivalAt"
class="planning-arrival-input"
type="datetime"