feat(fleet): integrate trip management and fee coverage workflows
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
<script setup lang="ts">
|
||||
import { physicalWeightKg } from '../dispatchPhysicalWeight'
|
||||
import '@/styles/adminDensity.css'
|
||||
import { computed, onMounted, ref } from 'vue'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
@@ -13,7 +14,7 @@ import { formatOverseasDateTime } from '../lastMilePresentation'
|
||||
interface DetailField { label: string; value: string | number }
|
||||
interface RelatedOrderRow {
|
||||
orderNo: string
|
||||
weight: number
|
||||
weight: number | null
|
||||
palletCount: number
|
||||
fbaWarehouse: string
|
||||
volume: number
|
||||
@@ -84,21 +85,22 @@ const documentFields = computed<DetailField[]>(() => [
|
||||
])
|
||||
|
||||
const relatedOrders = computed<RelatedOrderRow[]>(() => {
|
||||
const grouped = new Map<string, { pallets: Set<string>; destinations: Set<string>; weight: number; volume: number }>()
|
||||
const grouped = new Map<string, { pallets: Set<string>; destinations: Set<string>; weight: number | null; volume: number }>()
|
||||
for (const item of detail.value?.items || []) {
|
||||
for (const orderNo of orderReferences(item)) {
|
||||
const current = grouped.get(orderNo) || { pallets: new Set<string>(), destinations: new Set<string>(), weight: 0, volume: 0 }
|
||||
current.pallets.add(String(item.warehousePalletId || item.planPalletId || item.id))
|
||||
const destination = text(item.fbaWarehouseCode || item.destinationWarehouseCode || item.destinationWarehouseName)
|
||||
if (destination !== '—') current.destinations.add(destination)
|
||||
current.weight += Number(item.grossWeightKg || 0)
|
||||
const itemWeight = physicalWeightKg(item.grossWeightKg)
|
||||
current.weight = current.weight === null || itemWeight === null ? null : current.weight + itemWeight
|
||||
current.volume += Number(item.volumeCbm || 0)
|
||||
grouped.set(orderNo, current)
|
||||
}
|
||||
}
|
||||
return [...grouped.entries()].map(([orderNo, value]) => ({
|
||||
orderNo,
|
||||
weight: Number(value.weight.toFixed(3)),
|
||||
weight: value.weight === null ? null : Number(value.weight.toFixed(3)),
|
||||
palletCount: value.pallets.size,
|
||||
fbaWarehouse: [...value.destinations].join('、') || '—',
|
||||
volume: Number(value.volume.toFixed(3)),
|
||||
|
||||
Reference in New Issue
Block a user