diff --git a/src/views/modules/haianAutoWarehouse/haianPalletSpecialEdit.vue b/src/views/modules/haianAutoWarehouse/haianPalletSpecialEdit.vue index 9c20fbc..e3dfd60 100644 --- a/src/views/modules/haianAutoWarehouse/haianPalletSpecialEdit.vue +++ b/src/views/modules/haianAutoWarehouse/haianPalletSpecialEdit.vue @@ -404,8 +404,30 @@ export default { palletId: this.form.palletId }) if (data && data.code === 0) { - this.$message.success(data.msg || '强制置空托盘成功') - this.reloadAfterSave('置空') + // 先把页面改成置空后的库位,再按立库同步结果弹窗;同步失败也不回滚本地置空 - rqrq + this.applyForceRemovedForm() + await this.reloadAfterSave('置空') + await this.$nextTick() + const wcsSyncSuccess = !!(data.row && data.row.wcsSyncSuccess) + if (wcsSyncSuccess) { + await this.$alert('wms和立库数据已同步更新', '提示', { + confirmButtonText: '确定', + closeOnClickModal: false + }).catch(() => {}) + } else { + await this.$alert( + '
当前栈板已置空,但立库系统同步失败,请联系管理员
', + '危险操作', + { + confirmButtonText: '已知晓', + type: 'error', + dangerouslyUseHTMLString: true, + customClass: 'special-edit-danger-alert', + closeOnClickModal: false, + closeOnPressEscape: false + } + ).catch(() => {}) + } } else { this.$alert((data && data.msg) || '强制置空托盘失败', '错误', { confirmButtonText: '确定' }) } @@ -417,21 +439,32 @@ export default { this.removeLoading = false } }, + // 强制置空成功后立刻清空页面库位,避免等重查才看到变化;区域和货架一并按已释放回显 - rqrq + applyForceRemovedForm () { + this.wcsOccupied = false + this.form.callingFlag = 'N' + this.form.areaId = '' + this.form.locationCode = '' + this.form.onShelfFlag = 'N' + this.form.batchWcsFlag = null + this.stationOptions = [] + }, // 保存或置空后重查同一托盘,页面回显数据库最新区域、位置和任务标记;刷新失败提示当前操作名称 - rqrq - reloadAfterSave (operationName = '保存') { + async reloadAfterSave (operationName = '保存') { this.scanLoading = true - scanPalletForSpecialEdit({ - site: this.site, - palletId: this.form.palletId - }).then(({ data }) => { + try { + const { data } = await scanPalletForSpecialEdit({ + site: this.site, + palletId: this.form.palletId + }) if (data && data.code === 0 && data.row) { this.applyScanResult(data.row, this.form.palletId) } - }).catch(() => { + } catch (error) { this.$message.error(operationName + '后刷新栈板失败') - }).finally(() => { + } finally { this.scanLoading = false - }) + } }, clearScan() { this.scanned = false