fix(overseas): keep receiving warehouse action visible

This commit is contained in:
2026-09-08 11:45:30 +08:00
parent 463b054a0a
commit 8d8df2ab81
2 changed files with 36 additions and 5 deletions
@@ -154,6 +154,12 @@ function receivingWarehouseLabel(container: ContainerPlanProgressSummaryDto | nu
return [code, name].filter(Boolean).join(' · ') || '—'
}
function receivingWarehouseChangeDisabledReason(container: ContainerPlanProgressSummaryDto) {
if (!access.can(permission.lastMileOrderTransfer)) return '暂无修改接柜仓权限,请联系管理员开通尾程订单编辑权限'
if (!container.canChangeReceivingWarehouse) return container.receivingWarehouseLockReason || '当前柜已锁定,不能修改接柜仓'
return ''
}
function newReceivingWarehouseIdempotencyKey() {
return `container-receiving-warehouse-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`
}
@@ -340,7 +346,11 @@ async function loadReceivingWarehouseOptions() {
}
}
function openReceivingWarehouseChange(container: ContainerPlanProgressSummaryDto) {
if (!container.canChangeReceivingWarehouse) return
const disabledReason = receivingWarehouseChangeDisabledReason(container)
if (disabledReason) {
ElMessage.warning(disabledReason)
return
}
receivingWarehouseTarget.value = container
Object.assign(receivingWarehouseForm, { warehouseId: '', remark: '' })
receivingWarehouseIdempotencyKey = newReceivingWarehouseIdempotencyKey()
@@ -615,7 +625,9 @@ onMounted(() => { void load() })
</span>
<span class="container-workbench-card__actions">
<el-button class="container-workbench-card__detail" plain @click="openContainerDetail(container)">查看详情</el-button>
<el-button v-if="access.can(permission.lastMileOrderTransfer) && container.canChangeReceivingWarehouse" plain @click="openReceivingWarehouseChange(container)"><Pencil :size="15" />修改接柜仓</el-button>
<el-tooltip :content="receivingWarehouseChangeDisabledReason(container)" :disabled="!receivingWarehouseChangeDisabledReason(container)" placement="top">
<span><el-button plain :title="receivingWarehouseChangeDisabledReason(container) || '修改接柜仓'" :disabled="Boolean(receivingWarehouseChangeDisabledReason(container))" @click="openReceivingWarehouseChange(container)"><Pencil :size="15" />修改接柜仓</el-button></span>
</el-tooltip>
<el-button v-if="access.can(permission.inboundOrderCreate)" type="primary" :disabled="actionLoading || !canGenerateContainerPlans(container)" @click="openContainerConversionFor(container)">生成入库计划</el-button>
</span>
</article>