- 添加分条报表相关配置及视图组件 - 优化标签打印尺寸及布局 - 增加实测厚度字段及相关展示逻辑 - 重构报表数据获取逻辑,统一处理异常情况 - 完善分条操作表单,增加异常信息管理
81 lines
2.2 KiB
JavaScript
81 lines
2.2 KiB
JavaScript
import { listCoilWithIds } from "@/api/wms/coil";
|
|
import {
|
|
listPendingAction,
|
|
} from '@/api/wms/pendingAction';
|
|
import { Message } from 'element-ui'
|
|
|
|
export async function fetchOutputList(queryParams) {
|
|
const resList = await Promise.all([
|
|
listCoilWithIds({
|
|
...queryParams,
|
|
selectType: 'raw_material',
|
|
itemType: 'raw_material',
|
|
pageSize: 99999,
|
|
pageNum: 1,
|
|
}),
|
|
listCoilWithIds({
|
|
...queryParams,
|
|
selectType: 'product',
|
|
itemType: 'product',
|
|
pageSize: 99999,
|
|
pageNum: 1,
|
|
}),
|
|
])
|
|
const list = resList.flatMap(res => res.rows)
|
|
// 按照createTime 降序排序
|
|
const sortedList = list.sort(
|
|
(a, b) => new Date(b.createTime) - new Date(a.createTime)
|
|
).map(item => {
|
|
// 计算宽度和厚度,将规格按照*分割,*前的是厚度,*后的是宽度
|
|
const [thickness, width] = item.specification?.split('*') || [0, 0]
|
|
return {
|
|
...item,
|
|
computedThickness: parseFloat(thickness),
|
|
computedWidth: parseFloat(width),
|
|
}
|
|
})
|
|
return sortedList
|
|
}
|
|
|
|
export async function fetchLossList(actionTypes, queryParams) {
|
|
const resultList = await Promise.all(actionTypes.map(actionType => {
|
|
return listPendingAction({
|
|
actionStatus: 2,
|
|
actionType,
|
|
createBy: queryParams.createBy,
|
|
startTime: queryParams.byCreateTimeStart,
|
|
endTime: queryParams.byCreateTimeEnd,
|
|
pageSize: 99999,
|
|
pageNum: 1,
|
|
})
|
|
}))
|
|
const actions = resultList.flatMap(item => item.rows)
|
|
const actionIds = actions.map(item => item.actionId).join(',')
|
|
console.log(actionIds)
|
|
if (!actionIds) {
|
|
Message({
|
|
message: '暂无数据',
|
|
type: 'warning',
|
|
})
|
|
return []
|
|
}
|
|
const res = await listCoilWithIds({
|
|
...queryParams,
|
|
byCreateTimeStart: undefined,
|
|
byCreateTimeEnd: undefined,
|
|
createBy: undefined,
|
|
actionIds: actionIds,
|
|
pageSize: 99999,
|
|
pageNum: 1,
|
|
})
|
|
const lossList = res.rows.map(item => {
|
|
// 计算宽度和厚度,将规格按照*分割,*前的是厚度,*后的是宽度
|
|
const [thickness, width] = item.specification?.split('*') || [0, 0]
|
|
return {
|
|
...item,
|
|
computedThickness: parseFloat(thickness),
|
|
computedWidth: parseFloat(width),
|
|
}
|
|
})
|
|
return lossList
|
|
} |