This commit is contained in:
2026-10-20 14:00:59 +08:00
parent 1e26ddad4b
commit 64697276ec
12 changed files with 212 additions and 25 deletions
@@ -26,6 +26,8 @@ watch(() => [props.query, props.relabelNo], async () => {
<span>{{ data.orderCount }} 票</span><span>{{ data.skuCount }} 种 SKU</span>
<span>贴标件数:{{ dimension(Number(data.knownLabelPieceCount), Number(data.unknownPieceOrders), '件') }}</span>
<span>箱数:{{ dimension(Number(data.knownCartonCount), Number(data.unknownCartonOrders), '箱') }}</span>
<span>原托盘:{{ dimension(Number(data.knownSourcePalletCount ?? 0), Number(data.unknownSourcePalletOrders ?? data.orderCount), '托') }}</span>
<span>本轮目标托盘:{{ dimension(Number(data.knownTargetPalletCount ?? 0), Number(data.unknownTargetPalletOrders ?? data.orderCount), '托') }}</span>
<p v-if="relabelNo && data.orders[relabelNo]?.duplicateCarton" role="status">存在重复箱唛关联,箱数已去重,贴标件数待核查。</p>
</template>
<span v-else>数量加载中…</span>
@@ -0,0 +1,30 @@
<script setup lang="ts">
import { ref, watch } from 'vue'
import { getTransferQuantities, type TransferQuantityTotals } from '../api/transferQuantities'
const props = defineProps<{ query: Record<string, unknown> }>()
const data = ref<TransferQuantityTotals>()
const error = ref('')
let generation = 0
watch(() => JSON.stringify(props.query), async () => {
const current = ++generation
data.value = undefined; error.value = ''
try { const result = await getTransferQuantities(props.query); if (current === generation) data.value = result }
catch { if (current === generation) error.value = '转运数量汇总加载失败,请重新查询' }
}, { immediate: true })
</script>
<template>
<section class="transfer-quantity-panel" aria-label="仓储转运全筛选汇总">
<p v-if="error" role="alert">{{ error }}</p>
<template v-else-if="data">
<strong>全部筛选结果 · {{ data.orderCount }} 票</strong>
<span>预报:{{ data.declaredPieceCount ?? `未记录(已知 ${data.knownDeclaredPieceCount} 件,${data.unknownDeclaredOrderCount} 票未知)` }}{{ data.declaredPieceCount == null ? '' : ' 件' }} / {{ data.declaredCartonCount }} 箱</span>
<span>历史实收:{{ data.receivedPieceCount ?? `未记录(已知 ${data.knownReceivedPieceCount} 件,${data.unknownReceivedOrderCount} 票未知)` }}{{ data.receivedPieceCount == null ? '' : ' 件' }} / {{ data.receivedCartonCount }} 箱 / {{ data.receivedPalletCount }} 托</span>
<span>当前已清点 {{ data.availableCartonCount }} 箱 · 剩余 {{ data.remainingPalletCount }} 托 · 已出库 {{ data.shippedCartonCount }} 箱 / {{ data.shippedPalletCount }} 托(托盘可重叠)</span>
</template>
<span v-else>转运数量加载中…</span>
</section>
</template>
<style scoped>
.transfer-quantity-panel { display: flex; flex-wrap: wrap; gap: 12px; padding: 12px 16px; margin-bottom: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface, white); }
.transfer-quantity-panel p { margin: 0; }
</style>