优化
This commit is contained in:
@@ -23,8 +23,9 @@
|
||||
<view v-if="detailLoading" class="transfer-empty"><text class="empty-title">正在读取转运明细</text><text>请稍候,不要重复选择</text></view>
|
||||
<template v-if="selected && !detailLoading">
|
||||
<view class="operation-detail-heading"><button class="back-to-list" @tap="backToCandidates">‹ 返回待测列表</button><view><text class="operation-detail-title">作业详情</text><text class="operation-detail-subtitle">进入后完成当前转运单的测量、打托和拍照</text></view></view>
|
||||
<view v-if="isInventoryTransfer" class="transfer-success inventory-transfer-panel"><text class="feedback-title">库存转运 · 无需测量</text><text>该单来源于仓库现有库存,不需要重复测量或上传现场照片。请进入托盘作业,按来源托盘执行整托转运、拆托重打,或与相同目的仓合托。</text><button class="transfer-primary" @tap="openPalletOperations">进入托盘作业</button></view>
|
||||
<template v-if="!isInventoryTransfer">
|
||||
<view v-if="isMeasurementComplete" class="transfer-success"><text class="feedback-title">测量已完成</text><text>该转运单已完成 PDA 测量,不再重复进入测量或托盘作业。</text></view>
|
||||
<view v-else-if="isInventoryTransfer" class="transfer-success inventory-transfer-panel"><text class="feedback-title">库存转运 · 无需测量</text><text>该单来源于仓库现有库存,不需要重复测量或上传现场照片。请进入托盘作业,按来源托盘执行整托转运、拆托重打,或与相同目的仓合托。</text><button class="transfer-primary" @tap="openPalletOperations">进入托盘作业</button></view>
|
||||
<template v-if="!isInventoryTransfer && !isMeasurementComplete">
|
||||
<view class="order-summary">
|
||||
<view><text class="summary-eyebrow">当前测量任务</text><text class="summary-no">{{ selected.transferNo }}</text></view>
|
||||
<view class="summary-count"><strong>{{ totalCartons }}</strong><text>实收箱</text></view>
|
||||
@@ -106,7 +107,8 @@ export default {
|
||||
completedDestinationLabel() { return this.destinationLabel({ fbaWarehouseCode: this.completedDestination, destinationType: this.completedDestinationType }) },
|
||||
totalCartons() { return this.pallets.reduce((sum, pallet) => sum + Math.max(0, Number(pallet.cartonCount) || 0), 0) },
|
||||
cartonDifference() { return this.totalCartons - Number(this.selected?.packageCount || 0) },
|
||||
isInventoryTransfer() { return Boolean(this.selected && this.selected.inboundCode && this.selected.inboundCode !== this.selected.transferNo) },
|
||||
isInventoryTransfer() { return Boolean(this.selected && ['WAIT_PDA_RECEIVING', 'APPROVED', 'ALLOCATED', 'PARTIALLY_RECEIVED'].includes(String(this.selected.status)) && this.selected.inboundCode && this.selected.inboundCode !== this.selected.transferNo) },
|
||||
isMeasurementComplete() { return Boolean(this.selected && !['WAIT_PDA_RECEIVING', 'APPROVED', 'ALLOCATED', 'PARTIALLY_RECEIVED'].includes(String(this.selected.status))) },
|
||||
totalVolume() { return this.pallets.reduce((sum, pallet) => sum + this.rawPalletVolume(pallet), 0).toFixed(3) },
|
||||
totalWeight() { return this.pallets.reduce((sum, pallet) => sum + Math.max(0, Number(pallet.grossWeightKg) || 0), 0).toFixed(2) },
|
||||
validationMessage() {
|
||||
@@ -169,6 +171,7 @@ export default {
|
||||
const activeNo = String(warehouseWork.warehouseTransfer.currentNo || '')
|
||||
const measuredStatuses = new Set(['WAIT_PDA_RECEIVING', 'APPROVED', 'ALLOCATED', 'PARTIALLY_RECEIVED'])
|
||||
this.candidates = (await listWarehouseTransferCandidates()).map((item) => String(item.transferNo) === activeNo && item.status === 'WAIT_PDA_RECEIVING' ? { ...item, status: 'PARTIALLY_RECEIVED' } : item)
|
||||
this.candidates = this.candidates.filter((item) => ['WAIT_PDA_RECEIVING', 'APPROVED', 'ALLOCATED', 'PARTIALLY_RECEIVED'].includes(String(item.status)))
|
||||
// 服务端已完成当前单但设备在提交响应前断网时,本地 currentNo 会遗留。
|
||||
// 候选已成功读取且当前单不再可测,清掉本地锁,允许继续下一票。
|
||||
if (activeNo && !this.candidates.some((item) => String(item.transferNo) === activeNo && measuredStatuses.has(String(item.status)))) {
|
||||
|
||||
Reference in New Issue
Block a user