|
|
@ -511,7 +511,7 @@ |
|
|
width="760px" |
|
|
width="760px" |
|
|
append-to-body |
|
|
append-to-body |
|
|
:close-on-click-modal="false"> |
|
|
:close-on-click-modal="false"> |
|
|
<el-form :inline="true" label-width="80px" size="mini" class="po-supplier-search-form"> |
|
|
|
|
|
|
|
|
<el-form :inline="true" label-width="80px" label-position="top" size="mini" class="po-supplier-search-form"> |
|
|
<el-form-item label="供应商编码"> |
|
|
<el-form-item label="供应商编码"> |
|
|
<el-input |
|
|
<el-input |
|
|
v-model="poSupplierSearch.supplierNo" |
|
|
v-model="poSupplierSearch.supplierNo" |
|
|
@ -519,7 +519,7 @@ |
|
|
style="width: 120px" |
|
|
style="width: 120px" |
|
|
@keyup.enter.native="searchPoSupplierList"/> |
|
|
@keyup.enter.native="searchPoSupplierList"/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="供应商名称"> |
|
|
|
|
|
|
|
|
<el-form-item label="供应商名称" > |
|
|
<el-input |
|
|
<el-input |
|
|
v-model="poSupplierSearch.supplierName" |
|
|
v-model="poSupplierSearch.supplierName" |
|
|
clearable |
|
|
clearable |
|
|
@ -2234,7 +2234,7 @@ export default { |
|
|
|
|
|
|
|
|
if (data && data.code === 0) { |
|
|
if (data && data.code === 0) { |
|
|
const rawList = (data.page && data.page.list) || [] |
|
|
const rawList = (data.page && data.page.list) || [] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const exactList = rawList.filter(item => { |
|
|
const exactList = rawList.filter(item => { |
|
|
const itemRequestNo = item.requestNo || item.request_no || '' |
|
|
const itemRequestNo = item.requestNo || item.request_no || '' |
|
|
return !itemRequestNo || String(itemRequestNo) === String(requestNo) |
|
|
return !itemRequestNo || String(itemRequestNo) === String(requestNo) |
|
|
@ -2247,7 +2247,7 @@ export default { |
|
|
crd: this.formatToDateOnly(item.crd), |
|
|
crd: this.formatToDateOnly(item.crd), |
|
|
qty: item.qty || 0 // 确保 qty 字段存在且为数字类型 |
|
|
qty: item.qty || 0 // 确保 qty 字段存在且为数字类型 |
|
|
})) |
|
|
})) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 保存原始PO列表的副本,用于区分新增和修改 |
|
|
// 保存原始PO列表的副本,用于区分新增和修改 |
|
|
this.originalEditPoDetailList = this.editPoDetailList.map(item => ({...item})) |
|
|
this.originalEditPoDetailList = this.editPoDetailList.map(item => ({...item})) |
|
|
} else { |
|
|
} else { |
|
|
@ -2278,23 +2278,23 @@ export default { |
|
|
type: 'warning' |
|
|
type: 'warning' |
|
|
}).then(() => { |
|
|
}).then(() => { |
|
|
const deletedRow = this.editPoDetailList[index] |
|
|
const deletedRow = this.editPoDetailList[index] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 记录被删除的PO的key和itemNo,用于保存时判断 |
|
|
// 记录被删除的PO的key和itemNo,用于保存时判断 |
|
|
const key = `${deletedRow.orderRef1 || ''}_${deletedRow.orderRef2 || ''}` |
|
|
const key = `${deletedRow.orderRef1 || ''}_${deletedRow.orderRef2 || ''}` |
|
|
// 使用 poItemNo 或 itemNo 作为删除标识(对应后端 item_no) |
|
|
// 使用 poItemNo 或 itemNo 作为删除标识(对应后端 item_no) |
|
|
const itemNo = deletedRow.poItemNo || deletedRow.po_item_no || deletedRow.itemNo || deletedRow.item_no || deletedRow.orderRef2 || '' |
|
|
const itemNo = deletedRow.poItemNo || deletedRow.po_item_no || deletedRow.itemNo || deletedRow.item_no || deletedRow.orderRef2 || '' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 如果删除的是原有PO(在originalEditPoDetailList中存在),则记录到deletedPoKeys |
|
|
// 如果删除的是原有PO(在originalEditPoDetailList中存在),则记录到deletedPoKeys |
|
|
const isOriginalPo = this.originalEditPoDetailList.some(item => { |
|
|
const isOriginalPo = this.originalEditPoDetailList.some(item => { |
|
|
const originalKey = `${item.orderRef1 || ''}_${item.orderRef2 || ''}` |
|
|
const originalKey = `${item.orderRef1 || ''}_${item.orderRef2 || ''}` |
|
|
return originalKey === key |
|
|
return originalKey === key |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isOriginalPo && itemNo) { |
|
|
if (isOriginalPo && itemNo) { |
|
|
// 存储对象而非字符串,保留完整的itemNo信息 |
|
|
// 存储对象而非字符串,保留完整的itemNo信息 |
|
|
this.deletedPoKeys.add(JSON.stringify({ key, itemNo })) |
|
|
this.deletedPoKeys.add(JSON.stringify({ key, itemNo })) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 从列表中移除该行(仅前端移除,不立即调用后端接口) |
|
|
// 从列表中移除该行(仅前端移除,不立即调用后端接口) |
|
|
this.editPoDetailList.splice(index, 1) |
|
|
this.editPoDetailList.splice(index, 1) |
|
|
this.$message.success('已标记删除,点击保存后生效') |
|
|
this.$message.success('已标记删除,点击保存后生效') |
|
|
@ -2346,10 +2346,10 @@ export default { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
this.addPoSelectLoading = true |
|
|
this.addPoSelectLoading = true |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 根据是否有排除列表选择不同的API |
|
|
// 根据是否有排除列表选择不同的API |
|
|
const apiCall = params.excludePoItems ? queryPoPageExclude(params) : queryPoPage(params) |
|
|
const apiCall = params.excludePoItems ? queryPoPageExclude(params) : queryPoPage(params) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
apiCall.then(({ data }) => { |
|
|
apiCall.then(({ data }) => { |
|
|
if (data && data.code === 0) { |
|
|
if (data && data.code === 0) { |
|
|
const pageData = data.page || {} |
|
|
const pageData = data.page || {} |
|
|
|