优化
This commit is contained in:
@@ -292,6 +292,18 @@
|
||||
uni.redirectTo({ url: `/pages/relabel/relabel?op=relabelExecute&task=${encodeURIComponent(active.relabelNo)}` })
|
||||
} finally { this.busy = false }
|
||||
},
|
||||
async confirmStartTask(item) {
|
||||
if (this.busy) return false
|
||||
this.busy = true
|
||||
try {
|
||||
return await new Promise((resolve) => uni.showModal({
|
||||
title: '开始贴标作业',
|
||||
content: `是否开始贴标作业?\n贴标申请:${item.relabelNo}`,
|
||||
confirmText: '是', cancelText: '否',
|
||||
success: (result) => resolve(result.confirm), fail: () => resolve(false)
|
||||
}))
|
||||
} finally { this.busy = false }
|
||||
},
|
||||
async openExecution(item) {
|
||||
if (this.busy || this.stage === 'review') return
|
||||
if (this.stage === 'execute') {
|
||||
@@ -300,8 +312,10 @@
|
||||
}
|
||||
const active = this.candidates.find((candidate) => candidate.taskStatus === 'PROCESSING' && candidate.claimedByCurrentOperator === true)
|
||||
if (active && active.relabelNo !== item.relabelNo) return this.promptActiveTask(active)
|
||||
this.taskCode = item.relabelNo
|
||||
if (item.taskStatus === 'PROCESSING' && item.claimedByCurrentOperator) return uni.redirectTo({ url: `/pages/relabel/relabel?op=relabelExecute&task=${encodeURIComponent(item.relabelNo)}` })
|
||||
const confirmed = await this.confirmStartTask(item)
|
||||
if (!confirmed) return
|
||||
this.taskCode = item.relabelNo
|
||||
const payload = { relabelNo: item.relabelNo }; const key = warehouseIdempotencyKey('relabel', 'claim', payload); let claimed = false
|
||||
await this.run('claim', async () => { this.applyCurrent(await claimRelabelTask(item.relabelNo, { idempotencyKey: key.value })); releaseWarehouseKey('relabel', key.signature); claimed = true }, true, key)
|
||||
if (claimed) uni.redirectTo({ url: `/pages/relabel/relabel?op=relabelExecute&task=${encodeURIComponent(item.relabelNo)}` })
|
||||
|
||||
Reference in New Issue
Block a user