refactor(heli/xzdstoragelog): 重构库存日志API和服务逻辑
This commit is contained in:
parent
35b3451a53
commit
e11e36de58
@ -16,79 +16,10 @@ export interface StorageLogVO {
|
||||
price:number
|
||||
}
|
||||
|
||||
|
||||
// 查询入/出库实时分页
|
||||
export const getStorageNowList = async (params) => {
|
||||
return await request.get({ url: `/heli/xzd-storage-log/all`, params })
|
||||
}
|
||||
|
||||
// 查询物料信息结合库存信息
|
||||
export const getStorageNowMaterialGroupPage = async (params) => {
|
||||
return await request.get({ url: `/heli/xzd-storage-log/page-material-group`, params })
|
||||
}
|
||||
|
||||
|
||||
// 查询物料信息结合库存信息
|
||||
export const getStorageNowMaterialPage = async (params) => {
|
||||
return await request.get({ url: `/heli/xzd-storage-log/page-material`, params })
|
||||
}
|
||||
|
||||
// 查询入/出库实时分页
|
||||
export const getStorageNowAllPage = async (params) => {
|
||||
return await request.get({ url: `/heli/xzd-storage-log/page-now-all`, params })
|
||||
}
|
||||
|
||||
// 查询入/出库实时分页
|
||||
export const getStorageNowPage = async (params) => {
|
||||
return await request.get({ url: `/heli/xzd-storage-log/now`, params })
|
||||
}
|
||||
// 查询库存单价分页
|
||||
export const getStorageNowPricePage = async (params) => {
|
||||
return await request.get({ url: `/heli/xzd-storage-log/price`, params })
|
||||
}
|
||||
|
||||
// 查询入/出库实时分页
|
||||
export const getStorageNowPagesmall = async (params) => {
|
||||
return await request.get({ url: `/heli/xzd-storage-log/nowsmall`, params })
|
||||
}
|
||||
|
||||
|
||||
// 查询入/出库日志分页
|
||||
export const getStorageLogPage = async (params) => {
|
||||
return await request.get({ url: `/heli/xzd-storage-log/page`, params })
|
||||
}
|
||||
|
||||
// 查询入/出库日志详情
|
||||
export const getStorageLog = async (id: number) => {
|
||||
return await request.get({ url: `/heli/xzd-storage-log/get?id=` + id })
|
||||
}
|
||||
|
||||
// 新增入/出库日志
|
||||
export const createStorageLog = async (data: StorageLogVO) => {
|
||||
return await request.post({ url: `/heli/xzd-storage-log/create`, data })
|
||||
}
|
||||
//修改物料单价
|
||||
export const updatePrice = async (data: StorageLogVO) => {
|
||||
return await request.post({ url: `/heli/xzd-storage-log/updatePrice`, data })
|
||||
}
|
||||
// 修改入/出库日志
|
||||
export const updateStorageLog = async (data: StorageLogVO) => {
|
||||
return await request.put({ url: `/heli/xzd-storage-log/update`, data })
|
||||
}
|
||||
|
||||
// 删除入/出库日志
|
||||
export const deleteStorageLog = async (id: number) => {
|
||||
return await request.delete({ url: `/heli/xzd-storage-log/delete?id=` + id })
|
||||
}
|
||||
|
||||
// 导出入/出库日志 Excel
|
||||
export const exportStorageLog = async (params) => {
|
||||
return await request.download({ url: `/heli/xzd-storage-log/export-excel`, params })
|
||||
}
|
||||
// 查询入/出库实时分页
|
||||
export const getSupplementPage = async (params) => {
|
||||
return await request.get({ url: `/heli/xzd-storage-log/getSupplementPage`, params })
|
||||
}
|
||||
export const submitForm = async (data) => {
|
||||
return await request.post({ url: `/heli/xzd-storage-log/submitForm`, data })
|
||||
}
|
||||
|
||||
@ -352,38 +352,37 @@ const getMatCode = async () => {
|
||||
const selectedList = multipleSelection.value || [] // 安全获取数据
|
||||
// 1. 检查空数据
|
||||
if (!selectedList || selectedList.length == null) {
|
||||
message.error('提交明细不能为空,请确认')
|
||||
message.error('请先选择需要获取物料编码的数据')
|
||||
return
|
||||
}
|
||||
loading.value = true
|
||||
queryParams.ids = selectedList.map((item) => item.id)
|
||||
// 保存当前的下拉框选择值和 supplierName
|
||||
const currentSelections = selectedList.map((row) => ({
|
||||
id: row.id,
|
||||
matId: row.matId,
|
||||
priceType: row.priceType,
|
||||
incoiceCode: row.incoiceCode,
|
||||
supplierName: row.supplierName
|
||||
}))
|
||||
|
||||
await getList()
|
||||
// 只获取选中行的物料编码数据,不刷新整个页面
|
||||
const data = await StorageLogApi.getStorageLogPage(queryParams)
|
||||
|
||||
// 恢复下拉框的值和 supplierName
|
||||
currentSelections.forEach((selection) => {
|
||||
const row = list.value.find((r) => r.id === selection.id)
|
||||
if (row) {
|
||||
row.matId = selection.matId
|
||||
row.priceType = selection.priceType
|
||||
row.incoiceCode = selection.incoiceCode
|
||||
row.supplierName = selection.supplierName
|
||||
// 更新选中行的 materialDOList 数据
|
||||
selectedList.forEach((selectedRow) => {
|
||||
const newRow = data.list?.find((r) => r.id === selectedRow.id)
|
||||
if (newRow && newRow.materialDOList) {
|
||||
// 检查当前选中的 matId 是否在新选项列表中
|
||||
if (selectedRow.matId) {
|
||||
const existsInNewList = newRow.materialDOList.some((m) => m.id === selectedRow.matId)
|
||||
if (!existsInNewList) {
|
||||
// 如果不在新列表中,清空编码相关字段
|
||||
selectedRow.matId = undefined
|
||||
selectedRow.matCode = ''
|
||||
selectedRow.matName = ''
|
||||
}
|
||||
}
|
||||
selectedRow.materialDOList = newRow.materialDOList
|
||||
}
|
||||
})
|
||||
|
||||
queryParams.ids = []
|
||||
message.success('获取成功')
|
||||
emit('success')
|
||||
} catch (error) {
|
||||
console.error('获取失败:', error)
|
||||
// message.error(`操作失败: ${error.message || "未知错误"}`);
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user