明确私人地址人工报价及预装前置提示

This commit is contained in:
2026-11-04 14:47:39 +08:00
parent 00169b9d7d
commit c17d355a69
+10 -3
View File
@@ -98,6 +98,13 @@ const canConfirm = computed(() => access.can('firstleg:fba-pricing:confirm'))
const canSend = computed(() => access.can('firstleg:inbound:send-fee')) const canSend = computed(() => access.can('firstleg:inbound:send-fee'))
const canCalculate = computed(() => access.can('firstleg:fba-pricing:calculate')) const canCalculate = computed(() => access.can('firstleg:fba-pricing:calculate'))
const isPrivateAddress = computed(() => props.destinationType === 'PRIVATE') const isPrivateAddress = computed(() => props.destinationType === 'PRIVATE')
const pricingHelp = computed(() => isPrivateAddress.value ? {
workflow: '私人地址完成测量审核后,请先进行人工头程报价,再确认预装。',
quantity: '计费量按客户计费方式和实际测量确定,人工填写单价,金额以服务端快照为准。',
} : {
workflow: '测量审核完成后,系统会自动生成初算费用,人工确认后发布。',
quantity: '实际重量与体积重量取大后计费,金额以服务端快照为准。',
})
const canManualQuote = computed(() => access.can('firstleg:inbound:confirm-send-fee')) const canManualQuote = computed(() => access.can('firstleg:inbound:confirm-send-fee'))
const canRunTrial = computed(() => isPrivateAddress.value const canRunTrial = computed(() => isPrivateAddress.value
? canManualQuote.value && snapshot.value?.customerConfirmationStatus !== 'CONFIRMED' ? canManualQuote.value && snapshot.value?.customerConfirmationStatus !== 'CONFIRMED'
@@ -459,11 +466,11 @@ defineExpose({ reload: loadFee })
<template> <template>
<section class="inbound-fee-panel admin-workbench" :aria-busy="loading" aria-labelledby="inbound-fee-title"> <section class="inbound-fee-panel admin-workbench" :aria-busy="loading" aria-labelledby="inbound-fee-title">
<header class="fee-heading" :class="{ 'fee-heading--compact': compact }"> <header class="fee-heading" :class="{ 'fee-heading--compact': compact }">
<h3 v-if="compact" id="inbound-fee-title" class="fee-heading-title--compact">头程自动初算 <InlineHelp title="计费说明"><p>测量审核完成后,系统会自动生成初算费用;人工确认后才发布。</p><p>实际重量与体积重量取大后计费,金额以服务端快照为准。</p></InlineHelp></h3> <h3 v-if="compact" id="inbound-fee-title" class="fee-heading-title--compact">{{ isPrivateAddress ? '头程人工报价' : '头程自动初算' }} <InlineHelp title="计费说明"><p>{{ pricingHelp.workflow }}</p><p>{{ pricingHelp.quantity }}</p></InlineHelp></h3>
<div v-else class="fee-heading-copy"> <div v-else class="fee-heading-copy">
<span class="fee-heading-icon" aria-hidden="true"><CircleDollarSign :size="20" /></span> <span class="fee-heading-icon" aria-hidden="true"><CircleDollarSign :size="20" /></span>
<div> <div>
<h3 id="inbound-fee-title">入库费用快照 <InlineHelp title="计费说明"><p>测量审核完成后,系统会自动生成初算费用;人工确认后才发布。</p><p>实际重量与体积重量取大后计费,金额以服务端快照为准。</p></InlineHelp></h3> <h3 id="inbound-fee-title">入库费用快照 <InlineHelp title="计费说明"><p>{{ pricingHelp.workflow }}</p><p>{{ pricingHelp.quantity }}</p></InlineHelp></h3>
</div> </div>
</div> </div>
<div class="fee-heading-actions"> <div class="fee-heading-actions">
@@ -569,7 +576,7 @@ defineExpose({ reload: loadFee })
<el-button size="small" @click="loadFee()">重新加载</el-button> <el-button size="small" @click="loadFee()">重新加载</el-button>
</el-alert> </el-alert>
<el-empty v-else-if="notFound" :image-size="64" description="尚未生成费用快照"> <el-empty v-else-if="notFound" :image-size="64" :description="isPrivateAddress ? '私人地址待人工头程报价' : '尚未生成费用快照'">
</el-empty> </el-empty>
<div v-else-if="snapshot" class="fee-content"> <div v-else-if="snapshot" class="fee-content">