@@ -862,7 +862,7 @@ onMounted(() => {
< template v-else-if = "activeDetailTab === 'cargo'" >
< div class = "panel-title" > < div > < h2 > 货品信息 < / h2 > < p > 共 { { detail . order . cargoes . length } } 条 < / p > < / div > < PackageOpen :size = "19" / > < / div >
< div class = "detail-table-wrap" >
< el-table :data = "detail.order.cargoes" empty -text = " 暂无货品信息 " >
< el-table :data = "detail.order.cargoes" border stripe empty -text = " 暂无货品信息 " >
< el-table-column prop = "itemNo" label = "#" width = "64" / >
< el-table-column label = "报关HS_CODE" min -width = " 130 " > < template # default = "{ row }" > { { cargoValue ( row as Record < string , unknown > , 'hsCode' ) } } < / template > < / el-table-column >
< el-table-column label = "货品图片" width = "110" > < template # default = "{ row }" > < el-image v-if = "cargoImage(row as Record<string, unknown>)" :src="cargoImage(row as Record<string, unknown>)" fit="contain" class="cargo-image" / > < span v-else > — < / span > < / template > < / el -table -column >
@@ -918,21 +918,21 @@ onMounted(() => {
< section class = "measurement-section" >
< button type = "button" class = "measurement-section-title" :aria-expanded = "!measurementCollapsed.customer" @click ="toggleMeasurementSection('customer')" > < h3 > 一 、 客户下单数据 < / h3 > < span class = "measurement-section-summary" > < span > 总件数 : { { measurementTotals ( detail . order . cargoes , true ) . count ? ? '—' } } < / span > < span > 总毛重 : { { formatNumber ( measurementTotals ( detail . order . cargoes , true ) . gross ) } } < / span > < span > 总体积 : { { formatNumber ( measurementTotals ( detail . order . cargoes , true ) . volume , 6 ) } } < / span > < span > 总材积重 : { { formatNumber ( measurementTotals ( detail . order . cargoes , true ) . volumetric ) } } < / span > < span > 重量体积 : { { formatNumber ( measurementTotals ( detail . order . cargoes , true ) . weightVolume , 6 ) } } < / span > < / span > < ChevronUp v-if = "!measurementCollapsed.customer" :size="18" /><ChevronDown v-else :size="18" / > < / button >
< div v-if = "!measurementCollapsed.customer" >
< div class = "detail-table-wrap" > < el-table :data = "detail.order.cargoes" empty -text = " 暂无客户下单数据 " > < el-table-column v-for = "column in customerMeasurementColumns" :key="column.key" :label="column.label" :prop="column.key" min-width="120"><template #default="{ row }"><LineClampText v-if="column.key === 'remark'" :content="measurementValue(row as Record<string, unknown>, column.key, true)" / > < template v-else > {{ measurementValue ( row as Record < string , unknown > , column . key , true ) } } < / template > < / template > < / el-table-column > < / el-table > < / div >
< div class = "detail-table-wrap" > < el-table :data = "detail.order.cargoes" border stripe empty -text = " 暂无客户下单数据 " > < el-table-column v-for = "column in customerMeasurementColumns" :key="column.key" :label="column.label" :prop="column.key" min-width="120"><template #default="{ row }"><LineClampText v-if="column.key === 'remark'" :content="measurementValue(row as Record<string, unknown>, column.key, true)" / > < template v-else > {{ measurementValue ( row as Record < string , unknown > , column . key , true ) } } < / template > < / template > < / el-table-column > < / el-table > < / div >
< div class = "measurement-total" > < strong > 合计 < / strong > < span > 箱数 : { { measurementTotals ( detail . order . cargoes , true ) . count ? ? '—' } } < / span > < span > 总毛重 : { { formatNumber ( measurementTotals ( detail . order . cargoes , true ) . gross ) } } < / span > < span > 总体积 : { { formatNumber ( measurementTotals ( detail . order . cargoes , true ) . volume , 6 ) } } < / span > < span > 总材积 : { { formatNumber ( measurementTotals ( detail . order . cargoes , true ) . volumetric ) } } < / span > < / div >
< / div >
< / section >
< section class = "measurement-section" >
< button type = "button" class = "measurement-section-title" :aria-expanded = "!measurementCollapsed.outer" @click ="toggleMeasurementSection('outer')" > < h3 > 二 、 外箱规数据 < / h3 > < span class = "measurement-section-summary" > < span > 总件数 : { { measurementTotals ( ( measurementDetail ? . items || [ ] ) as unknown as Record < string , unknown > [ ] ) . count ? ? '—' } } < / span > < span > 总毛重 : { { formatNumber ( measurementTotals ( ( measurementDetail ? . items || [ ] ) as unknown as Record < string , unknown > [ ] ) . gross ) } } < / span > < span > 总体积 : { { formatNumber ( measurementTotals ( ( measurementDetail ? . items || [ ] ) as unknown as Record < string , unknown > [ ] ) . volume , 6 ) } } < / span > < span > 总材积重 : { { formatNumber ( measurementTotals ( ( measurementDetail ? . items || [ ] ) as unknown as Record < string , unknown > [ ] ) . volumetric ) } } < / span > < span > 重量体积 : { { formatNumber ( measurementTotals ( ( measurementDetail ? . items || [ ] ) as unknown as Record < string , unknown > [ ] ) . weightVolume , 6 ) } } < / span > < / span > < ChevronUp v-if = "!measurementCollapsed.outer" :size="18" /><ChevronDown v-else :size="18" / > < / button >
< div v-if = "!measurementCollapsed.outer" >
< div v-loading = "measurementLoading" class="detail-table-wrap"><el-table :data="measurementDetail?.items || []" empty-text="暂无外箱规数据"><el-table-column v-for="column in measuredColumns" :key="column.key" :label="column.label" :prop="column.key" min-width="120"><template #default="{ row }"><LineClampText v-if="column.key === 'remark'" :content="measurementValue(row as Record<string, unknown>, column.key)" / > < template v-else > {{ measurementValue ( row as Record < string , unknown > , column . key ) } } < / template > < / template > < / el-table-column > < / el-table > < / div >
< div v-loading = "measurementLoading" class="detail-table-wrap"><el-table :data="measurementDetail?.items || []" border stripe empty-text="暂无外箱规数据"><el-table-column v-for="column in measuredColumns" :key="column.key" :label="column.label" :prop="column.key" min-width="120"><template #default="{ row }"><LineClampText v-if="column.key === 'remark'" :content="measurementValue(row as Record<string, unknown>, column.key)" / > < template v-else > {{ measurementValue ( row as Record < string , unknown > , column . key ) } } < / template > < / template > < / el-table-column > < / el-table > < / div >
< div class = "measurement-total" > < strong > 合计 < / strong > < span > 箱数 : { { measurementTotals ( ( measurementDetail ? . items || [ ] ) as unknown as Record < string , unknown > [ ] ) . count ? ? '—' } } < / span > < span > 总毛重 : { { formatNumber ( measurementTotals ( ( measurementDetail ? . items || [ ] ) as unknown as Record < string , unknown > [ ] ) . gross ) } } < / span > < span > 总体积 : { { formatNumber ( measurementTotals ( ( measurementDetail ? . items || [ ] ) as unknown as Record < string , unknown > [ ] ) . volume , 6 ) } } < / span > < span > 总材积 : { { formatNumber ( measurementTotals ( ( measurementDetail ? . items || [ ] ) as unknown as Record < string , unknown > [ ] ) . volumetric ) } } < / span > < / div >
< / div >
< / section >
< section class = "measurement-section" >
< button type = "button" class = "measurement-section-title" :aria-expanded = "!measurementCollapsed.actual" @click ="toggleMeasurementSection('actual')" > < h3 > 三 、 实际测量数据 < / h3 > < span class = "measurement-section-summary" > < span > 总件数 : { { measurementDetail ? . actualPackageCount ? ? '—' } } < / span > < span > 总毛重 : { { formatNumber ( measurementDetail ? . actualGrossWeightKg ) } } < / span > < span > 总体积 : { { formatNumber ( measurementDetail ? . actualVolumeCbm , 6 ) } } < / span > < span > 总材积重 : { { formatNumber ( measurementDetail ? . volumeWeightKg ) } } < / span > < span > 重量体积 : { { formatNumber ( measurementDetail ? . actualVolumeCbm , 6 ) } } < / span > < / span > < ChevronUp v-if = "!measurementCollapsed.actual" :size="18" /><ChevronDown v-else :size="18" / > < / button >
< div v-if = "!measurementCollapsed.actual" >
< div v-loading = "measurementLoading" class="detail-table-wrap"><el-table :data="measurementDetail?.items || []" empty-text="暂无实际测量数据"><el-table-column v-for="column in measuredColumns" :key="column.key" :label="column.label" :prop="column.key" min-width="120"><template #default="{ row }"><LineClampText v-if="column.key === 'remark'" :content="measurementValue(row as Record<string, unknown>, column.key)" / > < template v-else > {{ measurementValue ( row as Record < string , unknown > , column . key ) } } < / template > < / template > < / el-table-column > < / el-table > < / div >
< div v-loading = "measurementLoading" class="detail-table-wrap"><el-table :data="measurementDetail?.items || []" border stripe empty-text="暂无实际测量数据"><el-table-column v-for="column in measuredColumns" :key="column.key" :label="column.label" :prop="column.key" min-width="120"><template #default="{ row }"><LineClampText v-if="column.key === 'remark'" :content="measurementValue(row as Record<string, unknown>, column.key)" / > < template v-else > {{ measurementValue ( row as Record < string , unknown > , column . key ) } } < / template > < / template > < / el-table-column > < / el-table > < / div >
< div class = "measurement-total" > < strong > 合计 < / strong > < span > 箱数 : { { measurementDetail ? . actualPackageCount ? ? '—' } } < / span > < span > 总毛重 : { { formatNumber ( measurementDetail ? . actualGrossWeightKg ) } } < / span > < span > 总体积 : { { formatNumber ( measurementDetail ? . actualVolumeCbm , 6 ) } } < / span > < span > 总材积 : { { formatNumber ( measurementDetail ? . volumeWeightKg ) } } < / span > < / div >
< div class = "measurement-media" > < h4 > 测量图片 < / h4 > < div v-if = "measurementImageUrls.length" class="measurement-media-grid"><el-image v-for="url in measurementImageUrls" :key="url" :src="url" fit="contain" :preview-src-list="measurementImageUrls" class="measurement-media-image" /></div><el-empty v-else description="暂无测量图片" :image-size="48" /><h4>测量视频</h4><el-empty description="暂无测量视频" :image-size="48" / > < / div >
< / div >