Browse Source

feat(inspection): 添加排除已存在PO明细的查询功能

- 新增 queryPoPageExclude API 接口用于查询可申请验货PO(排除已存在的PO明细)
- 在验货申请列表组件中导入新的API接口
- 实现编辑模式下构建PO排除列表逻辑,优先使用poNo和poItemNo字段
- 根据是否存在排除列表动态选择API调用(queryPoPageExclude或queryPoPage)
- 完善PO明细数据映射逻辑,支持多种字段名称格式
master
qiankanghui 2 days ago
parent
commit
51fd034c46
  1. 3
      src/api/inspection/inspectionRequestHeader.js
  2. 24
      src/views/modules/inspection/inspectionRequestList.vue

3
src/api/inspection/inspectionRequestHeader.js

@ -11,6 +11,9 @@ export const getInspectionResultList = (data) => createAPI(`/inspection/getInspe
// 查询可申请验货PO // 查询可申请验货PO
export const queryPoPage = (data) => createAPI(`/inspection/queryPoPage`, 'post', data) export const queryPoPage = (data) => createAPI(`/inspection/queryPoPage`, 'post', data)
// 查询可申请验货PO(排除已存在的PO明细)
export const queryPoPageExclude = (data) => createAPI(`/inspection/queryPoPageExclude`, 'post', data)
// 查询可申请验货供应商(按PO明细聚合) // 查询可申请验货供应商(按PO明细聚合)
export const queryPoSupplierPage = (data) => createAPI(`/inspection/queryPoSupplierPage`, 'post', data) export const queryPoSupplierPage = (data) => createAPI(`/inspection/queryPoSupplierPage`, 'post', data)

24
src/views/modules/inspection/inspectionRequestList.vue

@ -1111,7 +1111,7 @@
</template> </template>
<script> <script>
import { searchInspectionRequestHeaderList, queryPoPage, queryPoSupplierPage, queryPoSupplierOrderPage, saveInspectionRequest, deleteInspectionRequest, confirmInspectionRequest, applyChangeInspectionRequest, getInspectionRequestDetailSubList, updateInspectionRequest, downloadTemplate, previewUpload, batchSave, addInspectionDetails, editInspectionDetails, deleteInspectionDetails } from '@/api/inspection/inspectionRequestHeader.js'
import { searchInspectionRequestHeaderList, queryPoPage, queryPoPageExclude, queryPoSupplierPage, queryPoSupplierOrderPage, saveInspectionRequest, deleteInspectionRequest, confirmInspectionRequest, applyChangeInspectionRequest, getInspectionRequestDetailSubList, updateInspectionRequest, downloadTemplate, previewUpload, batchSave, addInspectionDetails, editInspectionDetails, deleteInspectionDetails } from '@/api/inspection/inspectionRequestHeader.js'
import { searchSrmSupplierAddressList, createSrmSupplierAddress, updateSrmSupplierAddress, searchSrmSupplierList } from '@/api/srm/srmSupplier.js' import { searchSrmSupplierAddressList, createSrmSupplierAddress, updateSrmSupplierAddress, searchSrmSupplierList } from '@/api/srm/srmSupplier.js'
import { getPermissionValue } from '@/api/sys/specialSecurity.js' import { getPermissionValue } from '@/api/sys/specialSecurity.js'
import Chooselist from '@/views/modules/common/Chooselist_eam' import Chooselist from '@/views/modules/common/Chooselist_eam'
@ -2326,8 +2326,28 @@ export default {
limit: this.addPoSelectPageSize limit: this.addPoSelectPageSize
} }
// PO
if (this.isEditDialogMode && this.editPoDetailList && this.editPoDetailList.length > 0) {
const excludePoItems = []
this.editPoDetailList.forEach(item => {
// 使 poNo poItemNo order_no item_no
const orderNo = item.poNo || item.orderNo || item.order_no || item.orderRef1 || ''
const itemNo = item.poItemNo || item.po_item_no || item.itemNo || item.item_no || item.orderRef2 || ''
if (orderNo && itemNo) {
excludePoItems.push(`${orderNo}:${itemNo}`)
}
})
if (excludePoItems.length > 0) {
params.excludePoItems = excludePoItems
}
}
this.addPoSelectLoading = true this.addPoSelectLoading = true
queryPoPage(params).then(({ data }) => {
// API
const apiCall = params.excludePoItems ? queryPoPageExclude(params) : queryPoPage(params)
apiCall.then(({ data }) => {
if (data && data.code === 0) { if (data && data.code === 0) {
const pageData = data.page || {} const pageData = data.page || {}
let list = pageData.list || [] let list = pageData.list || []

Loading…
Cancel
Save