diff --git a/src/pages/warehouse-transfer/warehouse-transfer.vue b/src/pages/warehouse-transfer/warehouse-transfer.vue index 75857a1..d7a0ecf 100644 --- a/src/pages/warehouse-transfer/warehouse-transfer.vue +++ b/src/pages/warehouse-transfer/warehouse-transfer.vue @@ -19,6 +19,8 @@ 正在读取转运明细请稍候,不要重复选择 操作失败{{ error.message || error }}requestId:{{ error.requestId }} @@ -98,9 +101,11 @@ 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) }, 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() { + if (this.isInventoryTransfer) return '' if (!this.selected || !this.pallets.length) return '转运单缺少可测量的托盘' for (let index = 0; index < this.pallets.length; index += 1) { const pallet = this.pallets[index] @@ -119,7 +124,8 @@ export default { onShow() { if (requireSession()) { this.user = session.currentUser; this.startScanner(); this.loadCandidates() } }, onHide() { this.stopScanner() }, beforeUnmount() { this.stopScanner() }, - methods: { + methods: { + openPalletOperations() { uni.navigateTo({ url: '/pages/pallet/pallet' }) }, destinationLabel(value, fallback = {}) { const code = String(value?.fbaWarehouseCode || fallback?.fbaWarehouseCode || '').trim(); if (code) return code; const type = value?.destinationType || fallback?.destinationType; return type === 'PRIVATE' ? '私人仓' : '目的仓待定' }, startScanner() { this.stopScanner(); this._stopScanner = startScanBroadcast({ onScan: (value) => this.handlePalletScan(value), onError: (error) => { this.error = error } }) }, stopScanner() { if (this._stopScanner) this._stopScanner(); this._stopScanner = null },