feat(qc): 新增批量检验功能并优化数据处理流程
- 添加 BatchInspectionMainBo 和 BatchInspectionTensileBo 数据传输对象 - 集成检验明细列表到 WmsInspectionMainBo 和 WmsInspectionTensileDetailBo - 在 inspectionMain 控制器中实现批量插入检验主数据接口 - 在 inspectionTensileDetail 控制器中实现批量插入拉伸试验明细接口 - 重构前端检验样品页面,合并主表和明细表的保存操作 - 优化前端拉伸试验页面的批量新增逻辑,统一使用批量插入接口 - 更新服务层实现以支持批量插入并更新申请单关联ID列表 - 移除前端页面中单独的明细表增删改操作接口调用
This commit is contained in:
@@ -142,7 +142,7 @@
|
||||
|
||||
<script>
|
||||
import { listInspectionMain, addInspectionMain, updateInspectionMain, delInspectionMain } from '@/api/mes/qc/inspectionMain'
|
||||
import { listInspectionDetail, addInspectionDetail, updateInspectionDetail } from '@/api/mes/qc/inspectionDetail'
|
||||
import { listInspectionDetail } from '@/api/mes/qc/inspectionDetail'
|
||||
import { listInspectionItemTemplate, getInfoByInspectionItem } from '@/api/mes/qc/inspectionItemTemplate'
|
||||
|
||||
export default {
|
||||
@@ -391,36 +391,28 @@ export default {
|
||||
|
||||
handleSaveMain(row) {
|
||||
row._saving = true
|
||||
const detailList = this.checkItems.map(checkItem => {
|
||||
const itemData = row._items[checkItem.itemName]
|
||||
if (!itemData || (!itemData.itemValue && !itemData.detailId)) return null
|
||||
return {
|
||||
detailId: itemData.detailId,
|
||||
mainId: row.mainId,
|
||||
itemName: itemData.itemName,
|
||||
itemValue: itemData.itemValue || '',
|
||||
itemUnit: itemData.itemUnit || '',
|
||||
upperLimit: itemData.upperLimit,
|
||||
lowerLimit: itemData.lowerLimit,
|
||||
rangeDesc: itemData.rangeDesc || ''
|
||||
}
|
||||
}).filter(Boolean)
|
||||
updateInspectionMain({
|
||||
mainId: row.mainId,
|
||||
sampleName: row.sampleName,
|
||||
sampleNo: row.sampleNo,
|
||||
batchNo: row.batchNo,
|
||||
inspectionDate: row.inspectionDate,
|
||||
remark: row.remark
|
||||
}).then(() => {
|
||||
const items = this.checkItems.map(checkItem => {
|
||||
const itemData = row._items[checkItem.itemName]
|
||||
return itemData || { itemName: checkItem.itemName }
|
||||
})
|
||||
const promises = items.map(item => {
|
||||
const data = {
|
||||
mainId: row.mainId,
|
||||
itemName: item.itemName,
|
||||
itemValue: item.itemValue,
|
||||
itemUnit: item.itemUnit,
|
||||
upperLimit: item.upperLimit,
|
||||
lowerLimit: item.lowerLimit
|
||||
}
|
||||
if (item.detailId) {
|
||||
data.detailId = item.detailId
|
||||
return updateInspectionDetail(data)
|
||||
} else if (item.itemValue) {
|
||||
return addInspectionDetail(data)
|
||||
}
|
||||
return Promise.resolve()
|
||||
})
|
||||
return Promise.all(promises)
|
||||
remark: row.remark,
|
||||
detailList: detailList
|
||||
}).then(() => {
|
||||
this.$message.success('保存成功')
|
||||
return listInspectionDetail({ mainId: row.mainId, pageNum: 1, pageSize: 9999 })
|
||||
|
||||
Reference in New Issue
Block a user