|
|
@ -198,7 +198,7 @@ |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { getSalesReturnDetails, validateLabelWithSalesReturn, confirmSalesReturnStorage, getSalesReturnMaterialList } from "@/api/salesReturn.js"; |
|
|
|
|
|
|
|
|
import { getSalesReturnDetails, validateLabelWithSalesReturn, confirmSalesReturnStorage, getSalesReturnMaterialList, getScannedLabelList } from "@/api/salesReturn.js"; |
|
|
import { getCurrentWarehouse } from '@/utils' |
|
|
import { getCurrentWarehouse } from '@/utils' |
|
|
import moment from 'moment'; |
|
|
import moment from 'moment'; |
|
|
export default { |
|
|
export default { |
|
|
@ -235,33 +235,20 @@ export default { |
|
|
this.scanCode = ''; |
|
|
this.scanCode = ''; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
// 验证标签并添加到列表 |
|
|
|
|
|
|
|
|
// 验证标签并添加到列表(调用存储过程) |
|
|
validateAndAddLabel(labelCode) { |
|
|
validateAndAddLabel(labelCode) { |
|
|
const params = { |
|
|
const params = { |
|
|
labelCode: labelCode, |
|
|
labelCode: labelCode, |
|
|
|
|
|
returnNo: this.returnNo, |
|
|
site: localStorage.getItem('site'), |
|
|
site: localStorage.getItem('site'), |
|
|
buNo: this.materialInfo.buNo |
|
|
|
|
|
|
|
|
buNo: this.materialInfo.buNo, |
|
|
|
|
|
operationType: 'I' // 添加标签 |
|
|
}; |
|
|
}; |
|
|
validateLabelWithSalesReturn(params).then(({ data }) => { |
|
|
validateLabelWithSalesReturn(params).then(({ data }) => { |
|
|
if (data && data.code === 0) { |
|
|
if (data && data.code === 0) { |
|
|
const resultList = data.data; |
|
|
|
|
|
// 检查是否已经扫描过 |
|
|
|
|
|
const exists = this.labelList.find(item => item.labelCode === labelCode); |
|
|
|
|
|
if (exists) { |
|
|
|
|
|
this.$message.warning('该标签已扫描,请勿重复扫描'); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
// 将所有结果添加到列表 |
|
|
|
|
|
resultList.forEach(result => { |
|
|
|
|
|
this.labelList.push({ |
|
|
|
|
|
id: Date.now() + Math.random(), // 确保ID唯一 |
|
|
|
|
|
labelCode: result.labelCode, |
|
|
|
|
|
partNo: result.partNo, |
|
|
|
|
|
quantity: result.quantity, |
|
|
|
|
|
batchNo: result.batchNo |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
this.$message.success(`标签验证成功,共添加 ${resultList.length} 条记录`); |
|
|
|
|
|
|
|
|
this.$message.success('标签添加成功'); |
|
|
|
|
|
// 重新加载已扫描标签列表 |
|
|
|
|
|
this.loadScannedLabelList(); |
|
|
} else { |
|
|
} else { |
|
|
this.$message.error(data.msg || '该标签不符合退货条件,请检查'); |
|
|
this.$message.error(data.msg || '该标签不符合退货条件,请检查'); |
|
|
} |
|
|
} |
|
|
@ -271,15 +258,27 @@ export default { |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
// 通过条码移除标签 |
|
|
|
|
|
|
|
|
// 通过条码移除标签(调用存储过程) |
|
|
removeLabelByCode(labelCode) { |
|
|
removeLabelByCode(labelCode) { |
|
|
const index = this.labelList.findIndex(item => item.labelCode === labelCode); |
|
|
|
|
|
if (index !== -1) { |
|
|
|
|
|
this.labelList.splice(index, 1); |
|
|
|
|
|
this.$message.success('标签移除成功'); |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message.warning('未找到该标签'); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
const params = { |
|
|
|
|
|
labelCode: labelCode, |
|
|
|
|
|
returnNo: this.returnNo, |
|
|
|
|
|
site: localStorage.getItem('site'), |
|
|
|
|
|
buNo: this.materialInfo.buNo, |
|
|
|
|
|
operationType: 'D' // 移除标签 |
|
|
|
|
|
}; |
|
|
|
|
|
validateLabelWithSalesReturn(params).then(({ data }) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
this.$message.success('标签移除成功'); |
|
|
|
|
|
// 重新加载已扫描标签列表 |
|
|
|
|
|
this.loadScannedLabelList(); |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message.error(data.msg || '移除失败'); |
|
|
|
|
|
} |
|
|
|
|
|
}).catch(error => { |
|
|
|
|
|
console.error('标签移除失败:', error); |
|
|
|
|
|
this.$message.error('移除失败'); |
|
|
|
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
// 确认退货 |
|
|
// 确认退货 |
|
|
@ -307,7 +306,7 @@ export default { |
|
|
this.locationCode = ''; |
|
|
this.locationCode = ''; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
// 提交退货 |
|
|
|
|
|
|
|
|
// 提交退货(调用存储过程) |
|
|
submitReturn() { |
|
|
submitReturn() { |
|
|
if (!this.locationCode.trim()) { |
|
|
if (!this.locationCode.trim()) { |
|
|
this.$message.warning('请输入库位号'); |
|
|
this.$message.warning('请输入库位号'); |
|
|
@ -317,13 +316,7 @@ export default { |
|
|
site:this.materialInfo.site, |
|
|
site:this.materialInfo.site, |
|
|
buNo: this.materialInfo.buNo, |
|
|
buNo: this.materialInfo.buNo, |
|
|
returnNo: this.returnNo, |
|
|
returnNo: this.returnNo, |
|
|
locationCode: this.locationCode.trim(), |
|
|
|
|
|
labels: this.labelList.map(label => ({ |
|
|
|
|
|
labelCode: label.labelCode, |
|
|
|
|
|
quantity: label.quantity, |
|
|
|
|
|
batchNo: label.batchNo, |
|
|
|
|
|
partNo: label.partNo, |
|
|
|
|
|
})) |
|
|
|
|
|
|
|
|
locationCode: this.locationCode.trim() |
|
|
}; |
|
|
}; |
|
|
confirmSalesReturnStorage(params).then(({ data }) => { |
|
|
confirmSalesReturnStorage(params).then(({ data }) => { |
|
|
if (data && data.code === 0) { |
|
|
if (data && data.code === 0) { |
|
|
@ -339,6 +332,31 @@ export default { |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// 加载已扫描标签列表(从缓存表) |
|
|
|
|
|
loadScannedLabelList() { |
|
|
|
|
|
const params = { |
|
|
|
|
|
site: localStorage.getItem('site'), |
|
|
|
|
|
buNo: this.materialInfo.buNo, |
|
|
|
|
|
returnNo: this.returnNo |
|
|
|
|
|
}; |
|
|
|
|
|
getScannedLabelList(params).then(({ data }) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
const labelData = data.data || []; |
|
|
|
|
|
this.labelList = labelData.map((item, index) => ({ |
|
|
|
|
|
id: Date.now() + index, |
|
|
|
|
|
labelCode: item.labelCode, |
|
|
|
|
|
partNo: item.partNo, |
|
|
|
|
|
quantity: item.quantity, |
|
|
|
|
|
batchNo: item.batchNo || '' |
|
|
|
|
|
})); |
|
|
|
|
|
} else { |
|
|
|
|
|
console.error('加载已扫描标签列表失败:', data.msg); |
|
|
|
|
|
} |
|
|
|
|
|
}).catch(error => { |
|
|
|
|
|
console.error('加载已扫描标签列表失败:', error); |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// 打印标签 |
|
|
// 打印标签 |
|
|
printLabels() { |
|
|
printLabels() { |
|
|
if (this.labelList.length === 0) { |
|
|
if (this.labelList.length === 0) { |
|
|
@ -418,6 +436,8 @@ export default { |
|
|
getSalesReturnDetails(params).then(({ data }) => { |
|
|
getSalesReturnDetails(params).then(({ data }) => { |
|
|
if (data && data.code === 0) { |
|
|
if (data && data.code === 0) { |
|
|
this.materialInfo = data.data; |
|
|
this.materialInfo = data.data; |
|
|
|
|
|
// 加载已扫描标签列表 |
|
|
|
|
|
this.loadScannedLabelList(); |
|
|
} else { |
|
|
} else { |
|
|
this.$message.error(data.msg || '获取退货单详情失败'); |
|
|
this.$message.error(data.msg || '获取退货单详情失败'); |
|
|
} |
|
|
} |
|
|
|