This commit is contained in:
2026-10-12 21:55:43 +08:00
parent aaab5041f9
commit cd06e264ff
@@ -67,10 +67,11 @@ const tableColumns: DataTableColumn[] = [
{ key: 'createdAt', label: '创建时间', slotName: 'createdAt', width: 180 },
]
const itemColumns: DataTableColumn[] = [
{ prop: 'skuCode', label: 'SKU', minWidth: 150 },
{ prop: 'productNameZh', label: '中文品名', minWidth: 180 },
{ prop: 'expectedQuantity', label: '预报数量', width: 100 },
{ prop: 'receivedQuantity', label: '实收数量', width: 100 },
{ prop: 'skuCode', label: 'SKU', width: 300 },
{ prop: 'productNameZh', label: '中文品名', width: 300 },
{ prop: 'expectedQuantity', label: '预报数量', width: 200 },
{ prop: 'receivedQuantity', label: '实收数量', width: 140 },
{ key: 'spacer', label: '', minWidth: 1 },
]
const receiptColumns: DataTableColumn[] = [
{ prop: 'receiptBatchNo', label: '批次号', minWidth: 145 },
@@ -367,26 +368,28 @@ onBeforeUnmount(clearPhotoUrls)
</div>
<div v-if="selected.remark" class="return-detail-remark"><span>备注</span><strong>{{ selected.remark }}</strong></div>
</section>
<section class="return-detail-section">
<section v-if="selected.order.relabelApplications?.length" class="return-detail-section">
<h3>换标子单({{ selected.order.relabelApplications?.length || 0 }})</h3>
<el-table :data="selected.order.relabelApplications || []" empty-text="暂无换标申请">
<el-table-column prop="relabelNo" label="换标单号" min-width="180" />
<el-table-column label="状态" min-width="110"><template #default="{ row }"><el-tag :type="relabelStatusType(row.status)">{{ relabelStatusLabel(row.status) }}</el-tag></template></el-table-column>
<el-table-column prop="quantity" label="本次换标数量(件)" min-width="140" />
<el-table class="return-aligned-table" :data="selected.order.relabelApplications || []" empty-text="暂无换标申请">
<el-table-column prop="relabelNo" label="换标单号" width="300" />
<el-table-column label="状态" width="300"><template #default="{ row }"><el-tag :type="relabelStatusType(row.status)">{{ relabelStatusLabel(row.status) }}</el-tag></template></el-table-column>
<el-table-column prop="quantity" label="本次换标数量(件)" width="200" />
<el-table-column min-width="1" />
</el-table>
</section>
<section class="return-detail-section">
<section v-if="selected.items?.length" class="return-detail-section">
<h3>预报与实收</h3>
<DataTable :data="selected.items" :columns="itemColumns" row-key="skuCode" empty-text="暂无 SKU 明细" />
<DataTable class="return-aligned-table" :data="selected.items" :columns="itemColumns" row-key="skuCode" empty-text="暂无 SKU 明细" />
</section>
<section v-if="selected.packingDetails?.length" class="return-detail-section">
<h3>合箱明细</h3>
<el-table :data="selected.packingDetails" size="small">
<el-table-column prop="sourceCartonMark" label="来源箱唛" min-width="160" />
<el-table-column prop="targetCartonMark" label="目标箱唛" min-width="160" />
<el-table-column prop="skuCode" label="SKU" min-width="140" />
<el-table-column prop="quantity" label="本单装入数量" width="120" />
<el-table-column prop="createdAt" label="合箱时间" min-width="160" />
<el-table class="return-aligned-table" :data="selected.packingDetails" size="small">
<el-table-column prop="sourceCartonMark" label="来源箱唛" width="300" />
<el-table-column prop="targetCartonMark" label="目标箱唛" width="300" />
<el-table-column prop="skuCode" label="SKU" width="200" />
<el-table-column prop="quantity" label="本单装入数量" width="140" />
<el-table-column label="合箱时间" width="200"><template #default="{ row }">{{ formatDateTime(row.createdAt) }}</template></el-table-column>
<el-table-column min-width="1" />
</el-table>
</section>
<section v-if="selected.receipts?.some(item => item.unitType === 'PARCEL')" class="return-detail-section">
@@ -436,7 +439,7 @@ onBeforeUnmount(clearPhotoUrls)
<template #footer><el-button @click="showCartons = false">关闭</el-button></template>
</el-dialog>
</section>
<section class="return-detail-section">
<section v-if="selected.photos?.length" class="return-detail-section">
<h3>退货打托照片({{ selected.photos?.length || 0 }} 张)</h3>
<div v-if="selected.photos?.length" class="return-photo-grid">
<button v-for="photo in selected.photos" :key="photo.fileId" class="return-photo" type="button" @click="previewPhoto(photo.fileId)">
@@ -447,7 +450,7 @@ onBeforeUnmount(clearPhotoUrls)
</div>
<el-empty v-else description="暂无退货打托照片" :image-size="64" />
</section>
<section class="return-detail-section">
<section v-if="selected.receipts?.length" class="return-detail-section">
<h3 class="section-heading-with-action"><span>签收批次</span><el-button text :aria-expanded="receiptBatchesExpanded" aria-controls="return-receipt-batches" @click="receiptBatchesExpanded = !receiptBatchesExpanded">{{ receiptBatchesExpanded ? '收起批次' : '展开批次' }}</el-button></h3>
<div v-show="receiptBatchesExpanded" id="return-receipt-batches">
<DataTable :data="selected.receipts" :columns="receiptColumns" row-key="receiptNo" empty-text="暂无签收批次">
@@ -526,6 +529,7 @@ onBeforeUnmount(clearPhotoUrls)
.return-detail-section :deep(.el-table th.el-table__cell) { height:34px; padding:0; }
.return-detail-section :deep(.el-table td.el-table__cell) { height:36px; padding:0; }
.return-detail-section :deep(.el-table .cell) { padding:0 8px; line-height:18px; }
.return-detail-section :deep(.return-aligned-table .cell) { padding:0 14px; text-align:left; }
.return-detail-section :deep(.el-table .el-tag) { font-size:12px; }
.return-pallet-list { padding:0 14px 10px; }
.return-cartons-dialog-body { max-height:65vh; overflow-y:auto; }