fix(pda): display physical remaining cartons after partial picks

This commit is contained in:
2026-10-02 13:47:41 +08:00
parent 8d2d80ec11
commit 7aebbd2a70
3 changed files with 62 additions and 3 deletions
+6 -3
View File
@@ -167,7 +167,7 @@
<view v-if="activeStage === 'picking'" class="submit-section">
<view class="submit-info">
<view class="submit-pending"><text class="submit-pending-number">{{ summary.pending }}</text><text class="submit-pending-label"> 箱待拣</text></view>
<view class="submit-pending"><text class="submit-pending-number">{{ remainingCartons }}</text><text class="submit-pending-label"> 箱待拣</text></view>
<text class="submit-status-hint">{{ submitStatusHint }}</text>
</view>
<view v-if="remoteError && !pickingCompleted" class="remote-error-row submit-error-row">
@@ -337,7 +337,7 @@
</template>
<script>
import { ITEM_STATUS, classifyScan, createItemStates, getPickSummary, isSealedPalletItem, submitStates, summarizeInventoryResources } from '@/utils/picking-state.js'
import { ITEM_STATUS, classifyScan, createItemStates, getPickSummary, isSealedPalletItem, submitStates, summarizeInventoryResources, remainingPhysicalCartons } from '@/utils/picking-state.js'
import { SKIP_REASONS, INCOMPLETE_REASONS } from '@/data/demo-data.js'
import { session, requireSession } from '@/stores/session.js'
import { clearLoadingCompletionAttempt, clearPickingDraft, getPickingSession, restoreLoadingCompletionAttempt, restorePickingSession, saveLoadingCompletionAttempt, savePickingSession } from '@/stores/picking.js'
@@ -417,6 +417,9 @@
pendingItems() {
return this.currentBox.items.filter((item) => this.itemState(item) === ITEM_STATUS.PENDING)
},
remainingCartons() {
return remainingPhysicalCartons(this.currentBox.items, this.itemStates, this.partialQuantities)
},
scanInputLabel() {
return this.pendingItems.some((item) => isSealedPalletItem(item)) ? '托盘码或托内箱码扫码框' : '箱码扫码框'
},
@@ -1028,7 +1031,7 @@
[ITEM_STATUS.PARTIAL]: '已部分拣货',
[ITEM_STATUS.SKIPPED]: '已跳拣'
}
this.recordScanResult('warning', '重复扫描', value, `该条码已${labels[result.status]},无需重复处理`)
this.recordScanResult('warning', '重复扫描', value, `该条码${labels[result.status]},无需重复处理`)
this.showToast(`该条码已处理:${value}`, 'warning')
return
}