diff --git a/src/modules/cross-border/views/ProcurementView.vue b/src/modules/cross-border/views/ProcurementView.vue index 0d010ae..d9e4e5b 100644 --- a/src/modules/cross-border/views/ProcurementView.vue +++ b/src/modules/cross-border/views/ProcurementView.vue @@ -10,7 +10,7 @@ import QueryToolbar, { type QueryField, type QueryModel } from '@/components/com import type { TableAction } from '@/components/common/tableActions' import ProcurementDetailPanel from '../components/ProcurementDetailPanel.vue' import { confirmProcurement, createProcurement, getProcurement, getProcurementWorkflow, listProcurements, type ProcurementDetail, type ProcurementSummary, type ProcurementWorkflow } from '../api/procurement' -import { procurementDirections, directionLabel, regionText, buildProcurementCreate, dateTime, draftBudgetTotal, emptyProcurementDraft, money, procurementStatuses, statusLabel, statusTone } from '../procurementPresentation' +import { procurementDirections, directionLabel, regionText, buildProcurementCreate, dateTime, emptyProcurementDraft, money, procurementStatuses, statusLabel, statusTone } from '../procurementPresentation' import { procurementRequestKey } from '../procurementSubmission' const props = withDefaults(defineProps<{ createPage?: boolean; detailPage?: boolean }>(), { createPage: false, detailPage: false }) @@ -162,7 +162,7 @@ onBeforeUnmount(() => { active = false; ++requestSequence }) -

预算合计:{{ money(draftBudgetTotal(form), form.currency) }}

+

{{ regionText('最终国内收件资料', form.procurementDirection) }}

@@ -186,7 +186,7 @@ onBeforeUnmount(() => { active = false; ++requestSequence }) .procurement-link { padding: 0; border: 0; background: transparent; color: var(--client-action); font: inherit; cursor: pointer; text-align: left; }.procurement-link:hover { text-decoration: underline; } .procurement-error { min-height: 160px; display: flex; justify-content: center; align-items: center; gap: 16px; color: #b42318; }.procurement-error span { max-width: 900px; overflow-wrap: anywhere; } .procurement-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; }.procurement-form-grid .full { grid-column: 1 / -1; }.procurement-form-grid :deep(.el-select) { width: 100%; } -.procurement-create h3 { margin: 22px 0 16px; color: var(--navy); font-size: 14px; }.procurement-hint { margin: 0 0 20px; line-height: 1.8; font-size: 13px; color: var(--muted); }.procurement-hint strong { color: var(--navy); } +.procurement-create h3 { margin: 22px 0 16px; color: var(--navy); font-size: 14px; } .procurement-form-actions { display: flex; justify-content: flex-end; gap: 12px; padding-top: 16px; border-top: 1px solid var(--border); }.submit-error { margin: 12px 0; } @media (max-width: 767px) { .procurement-form-grid { grid-template-columns: 1fr; }.procurement-heading, .procurement-heading > div { flex-wrap: wrap; } diff --git a/src/modules/first-leg/components/InboundBillingPanel.test.mjs b/src/modules/first-leg/components/InboundBillingPanel.test.mjs index 2ce695e..c717f17 100644 --- a/src/modules/first-leg/components/InboundBillingPanel.test.mjs +++ b/src/modules/first-leg/components/InboundBillingPanel.test.mjs @@ -68,10 +68,7 @@ test('shows the published merchant inbound, measurement details and customer con assert.match(source, /measurementItems/) assert.doesNotMatch(source, /调整费用|发送费用|下载照片/) assert.doesNotMatch(source, /internalNotes|statusHistory|files/) - assert.match(source, /latestFee\.ruleCode/) - assert.match(source, /latestFee\.rateCode/) - assert.match(source, /latestFee\.chargeRuleVersion/) - assert.match(source, /latestFee\.carrierRateVersion/) + assert.doesNotMatch(source, /latestFee\.(feeVersion|ruleCode|rateCode|chargeRuleVersion|carrierRateVersion|sentAt)/) assert.match(source, /箱规规则/) assert.match(source, /getCalculationRuleLabel\(row\.calculationRuleVersion\)/) }) diff --git a/src/modules/first-leg/components/InboundBillingPanel.vue b/src/modules/first-leg/components/InboundBillingPanel.vue index 34d61a7..a40ae51 100644 --- a/src/modules/first-leg/components/InboundBillingPanel.vue +++ b/src/modules/first-leg/components/InboundBillingPanel.vue @@ -160,7 +160,7 @@ async function confirmFee() {

费用结果

- {{ props.data.latestFee.feeNo }} · 第 {{ props.data.latestFee.feeVersion }} 版 + {{ props.data.latestFee.feeNo }}
计费方式
{{ getChargeModeLabel(props.data.latestFee.chargeMode) }} · {{ getTaxModeLabel(props.data.latestFee.taxMode) }}
@@ -183,11 +183,9 @@ async function confirmFee() {
费用合计 - {{ props.data.latestFee.ruleCode }} v{{ props.data.latestFee.chargeRuleVersion }} · {{ props.data.latestFee.rateCode }} v{{ props.data.latestFee.carrierRateVersion }}
{{ formatInboundMoney(props.data.latestFee.totalAmount, props.data.latestFee.currency) }}
-

发布于 {{ formatInboundDateTime(props.data.latestFee.sentAt) }}

@@ -299,9 +297,7 @@ async function confirmFee() { .fee-total { padding: 15px 0 0; } .fee-total > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; } .fee-total span { color: var(--navy); font-size: 12px; font-weight: 650; } -.fee-total small, .fee-sent-time { color: var(--muted); font-size: 10px; } .fee-total strong { flex: 0 0 auto; color: var(--primary); font-size: 21px; } -.fee-sent-time { margin: 5px 0 0; text-align: right; } .inbound-public-remark { margin-top: 16px; padding: 13px 14px; background: #f2f7f6; } .inbound-public-remark strong { color: var(--navy); font-size: 11px; } .inbound-public-remark p { margin: 5px 0 0; overflow-wrap: anywhere; color: var(--muted); font-size: 11px; line-height: 1.55; white-space: pre-wrap; } @@ -339,6 +335,5 @@ async function confirmFee() { .inbound-billing-heading { align-items: flex-start; flex-direction: column; } .fee-total { align-items: flex-start; flex-direction: column; } .fee-total strong { font-size: 19px; } - .fee-sent-time { text-align: left; } } diff --git a/src/modules/first-leg/views/FirstLegOrdersView.vue b/src/modules/first-leg/views/FirstLegOrdersView.vue index c1349ef..eba409a 100644 --- a/src/modules/first-leg/views/FirstLegOrdersView.vue +++ b/src/modules/first-leg/views/FirstLegOrdersView.vue @@ -2387,7 +2387,7 @@ async function searchOrders(model: QueryModel) {
← 返回列表 -

{{ detailOrder.businessSummary.inboundCode || (detailOrder.status === 'CANCELLED' ? (detailOrder.orderNo || '—') : detailOrder.status === 'DRAFT' ? '入仓码提交后生成' : '入仓码待生成') }}

订单已取消。

{{ getFirstLegTransportModeLabel(detailOrder.transportMode) }} · {{ detailOrder.origin || '起运地待更新' }} → {{ detailOrder.destination || '目的地待更新' }}

+

{{ detailOrder.businessSummary.inboundCode || (detailOrder.status === 'CANCELLED' ? (detailOrder.orderNo || '—') : detailOrder.status === 'DRAFT' ? '入仓码提交后生成' : '入仓码待生成') }}

{{ getFirstLegStatusLabel(detailOrder.status) }}编辑草稿取消订单
@@ -2800,7 +2800,6 @@ async function searchOrders(model: QueryModel) { .detail-heading-main > div { min-width: 0; } .detail-back-action, .detail-heading-actions { flex: 0 0 auto; } .order-detail-heading h2 { margin: 0; overflow: hidden; color: var(--navy); font-size: 18px; text-overflow: ellipsis; white-space: nowrap; } -.order-detail-heading p { margin: 3px 0 0; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; } .order-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px solid var(--border); border-left: 1px solid var(--border); } .order-detail-grid div { display: grid; min-width: 0; min-height: 34px; grid-template-columns: 78px minmax(0, 1fr); align-items: center; gap: 7px; padding: 3px 8px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); } .order-detail-grid dt { color: var(--muted); font-size: 10px; white-space: nowrap; }