|
|
|
@ -21,11 +21,12 @@ |
|
|
|
<el-form-item label="商品编码"><span>{{ poDetail.partNo }}</span></el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item label="行号/下达号"><span>{{ poDetail.wdr }}</span></el-form-item> |
|
|
|
<el-form-item label="行号/下达号"><span>{{ poDetail.lineNo }}/{{ poDetail.wdr }}</span></el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item label=""> |
|
|
|
<el-button type="text" class="recvButton" @click="recvLine(poDetail)" style="margin-top: 10px;" size="small">接收</el-button> |
|
|
|
<el-button type="text" class="recvButton" @click="recvLine(poDetail)" |
|
|
|
style="margin-top: 10px;margin-left: 20px" size="small">接收</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="24"> |
|
|
|
@ -35,13 +36,13 @@ |
|
|
|
<el-form-item label="订单数量"><span>{{ poDetail.qty }}</span></el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="待收数量"><span>{{ poDetail.qty }}</span></el-form-item> |
|
|
|
<el-form-item label="待收数量"><span>{{ poDetail.recvQty }}</span></el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="此次接收数量"><span>{{ poDetail.qty }}</span></el-form-item> |
|
|
|
<el-form-item label="此次接收数量"><span>{{ poDetail.thisRecvQty }}</span></el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6" > |
|
|
|
<el-form-item label="单位"><span>{{ poDetail.unit }}</span></el-form-item> |
|
|
|
<el-form-item style="margin-left: 20px" label="单位"><span>{{ poDetail.unit }}</span></el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
@ -52,8 +53,8 @@ |
|
|
|
<div v-if="processFlag === 2"> |
|
|
|
<el-form label-position="top" class="form-section" style="margin: 5px;"> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="12"><el-form-item label="PO号码"><el-input v-model="recvItem.poNo" disabled /></el-form-item></el-col> |
|
|
|
<el-col :span="12"><el-form-item label="行号/下达号"><el-input v-model="recvItem.wdr" disabled /></el-form-item></el-col> |
|
|
|
<el-col :span="12"><el-form-item label="PO号码"><el-input v-model="recvItem.poNumber" disabled /></el-form-item></el-col> |
|
|
|
<el-col :span="12"><el-form-item label="行号/下达号"><el-input v-model="displayLineWdr" disabled /></el-form-item></el-col> |
|
|
|
<el-col :span="12"><el-form-item label="商品编码"><el-input v-model="recvItem.partNo" disabled /></el-form-item></el-col> |
|
|
|
<el-col :span="12"><el-form-item label="计量单位"><el-input v-model="recvItem.unit" disabled /></el-form-item></el-col> |
|
|
|
<el-col :span="24"><el-form-item label="商品名称"><el-input v-model="recvItem.desc" disabled /></el-form-item></el-col> |
|
|
|
@ -71,7 +72,7 @@ |
|
|
|
style="font-size: 16px" size="small">包装记录</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"><el-form-item label="制造日期"><el-date-picker v-model="recvItem.productDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择制造日期" style="width: 100%" /></el-form-item></el-col> |
|
|
|
<el-col :span="12"><el-form-item label="制造日期"><el-date-picker v-model="recvItem.manufactureDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择制造日期" style="width: 100%" /></el-form-item></el-col> |
|
|
|
<el-col :span="12"><el-form-item label="失效日期"><el-date-picker v-model="recvItem.expiringDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择失效日期" style="width: 100%" /></el-form-item></el-col> |
|
|
|
<el-col :span="12"><el-form-item label="库位"><el-input v-model="recvItem.locationNo" placeholder="请输入库位" /></el-form-item></el-col> |
|
|
|
<el-col :span="12"><el-form-item label="批号"><el-input v-model="recvItem.batchNo" placeholder="请输入批号" /></el-form-item></el-col> |
|
|
|
@ -125,6 +126,7 @@ export default { |
|
|
|
recvItem: {}, |
|
|
|
handlingUnit: [], |
|
|
|
hanlingItem: { code: '', qty: '', perQty: '', packageQty: '' }, |
|
|
|
site:localStorage.getItem('site') |
|
|
|
}; |
|
|
|
}, |
|
|
|
computed: { |
|
|
|
@ -134,7 +136,10 @@ export default { |
|
|
|
return sum; |
|
|
|
}, |
|
|
|
huKey() { |
|
|
|
return `hu_${this.recvItem.poNo}_${this.recvItem.wdr}`; |
|
|
|
return `hu_${this.recvItem.poNumber}_${this.recvItem.lineNo}`; |
|
|
|
}, |
|
|
|
displayLineWdr() { |
|
|
|
return `${this.recvItem.lineNo || ''}/${this.recvItem.wdr || ''}`; |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
@ -145,12 +150,17 @@ export default { |
|
|
|
}, |
|
|
|
searchPoList() { |
|
|
|
if (!this.scanCode) return this.poList = []; |
|
|
|
getPoList({ poNo: this.scanCode }).then(({ data }) => { |
|
|
|
getPoList({ poNumber: this.scanCode,site: this.site }).then(({ data }) => { |
|
|
|
if (data.code === 0) this.poList = data.rows; |
|
|
|
}); |
|
|
|
}, |
|
|
|
recvLine(row) { |
|
|
|
this.recvItem = { ...row, poNo: this.scanCode }; |
|
|
|
this.recvItem = { |
|
|
|
...row, |
|
|
|
poNo: row.poNumber || this.scanCode, |
|
|
|
dueinQty: row.recvQty || row.thisRecvQty, |
|
|
|
transQty: row.thisRecvQty || 0 |
|
|
|
}; |
|
|
|
this.processFlag = 2; |
|
|
|
}, |
|
|
|
handlingUnitStep() { |
|
|
|
@ -178,10 +188,45 @@ export default { |
|
|
|
if (!item.transQty || !item.locationNo || !item.batchNo) { |
|
|
|
return this.$message.error("请填写完整信息"); |
|
|
|
} |
|
|
|
if (item.needHandlingUnit === 'Y') { |
|
|
|
item.handlingUnitList = this.handlingUnit; |
|
|
|
} |
|
|
|
receivePo({ ...item, site: '1', itemNo: '1' }).then(({ data }) => { |
|
|
|
|
|
|
|
// 构建符合服务端TransDetailDto结构的数据 |
|
|
|
const receiveData = { |
|
|
|
// 基本字段 |
|
|
|
site: this.site, |
|
|
|
partNo: item.partNo, |
|
|
|
transQty: item.transQty, |
|
|
|
batchNo: item.batchNo, |
|
|
|
locationNo: item.locationNo, |
|
|
|
itemNo: 1, |
|
|
|
|
|
|
|
// PO相关字段 |
|
|
|
poNo: item.poNumber || item.poNo, |
|
|
|
orderNo: item.orderNo, |
|
|
|
lineNo: item.lineNo, |
|
|
|
relNo: item.relNo, |
|
|
|
receiptNo: item.receiptNo, |
|
|
|
|
|
|
|
// 业务控制字段 |
|
|
|
needHandlingUnit: item.needHandlingUnit || 'N', |
|
|
|
needCheck: item.needCheck || 'N', |
|
|
|
warehouseType: item.warehouseType || 'MANUAL', |
|
|
|
needPallet: item.needPallet || 'N', |
|
|
|
workshopFlag: item.workshopFlag || 'N', |
|
|
|
cuttingFlag: item.cuttingFlag || 'N', |
|
|
|
|
|
|
|
// 日期字段 |
|
|
|
manufactureDate: item.manufactureDate, |
|
|
|
// 注意:失效日期由服务端自动计算,不需要传递 |
|
|
|
// expiredDate: item.expiringDate, |
|
|
|
|
|
|
|
// 处理单元列表 |
|
|
|
handlingUnitList: item.needHandlingUnit === 'Y' ? this.handlingUnit.map(hu => ({ |
|
|
|
perQty: hu.qty, |
|
|
|
packageQty: 1 |
|
|
|
})) : [] |
|
|
|
}; |
|
|
|
|
|
|
|
receivePo(receiveData).then(({ data }) => { |
|
|
|
if (data.code === 0) { |
|
|
|
this.$message.success("操作成功"); |
|
|
|
localStorage.removeItem(this.huKey); |
|
|
|
@ -191,8 +236,11 @@ export default { |
|
|
|
this.recvItem = {}; |
|
|
|
this.handlingUnit = []; |
|
|
|
} else { |
|
|
|
this.$message.error(data.msg); |
|
|
|
this.$message.error(data.msg || '操作失败'); |
|
|
|
} |
|
|
|
}).catch(error => { |
|
|
|
console.error('接收失败:', error); |
|
|
|
this.$message.error('网络错误,请重试'); |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
|