125 lines
3.6 KiB
TypeScript
125 lines
3.6 KiB
TypeScript
|
import http from '@/utils/http'
|
|||
|
import type { EquipmentListReq, EquipmentReq, EquipmentResp } from './type'
|
|||
|
|
|||
|
/**
|
|||
|
* 设备采购管理API
|
|||
|
*/
|
|||
|
export const equipmentProcurementApi = {
|
|||
|
/**
|
|||
|
* 分页查询设备采购记录
|
|||
|
*/
|
|||
|
page: (params: EquipmentListReq) => {
|
|||
|
console.log('🔍 API - equipmentProcurementApi.page 被调用')
|
|||
|
console.log('🔍 API - 接收到的参数:', params)
|
|||
|
console.log('🔍 API - 参数类型:', typeof params)
|
|||
|
console.log('🔍 API - 参数的键值对:')
|
|||
|
Object.entries(params).forEach(([key, value]) => {
|
|||
|
console.log(` ${key}: ${value} (${typeof value})`)
|
|||
|
})
|
|||
|
|
|||
|
// 确保参数格式正确
|
|||
|
const requestParams = {
|
|||
|
...params,
|
|||
|
// 确保分页参数存在
|
|||
|
page: params.page || 1,
|
|||
|
pageSize: params.pageSize || 10,
|
|||
|
}
|
|||
|
|
|||
|
console.log('🔍 API - 最终请求参数:', requestParams)
|
|||
|
console.log('🔍 API - 准备发送GET请求到 /equipment/procurement/page')
|
|||
|
console.log('🔍 API - 请求参数序列化前:', requestParams)
|
|||
|
|
|||
|
// 手动序列化参数进行调试(使用URLSearchParams)
|
|||
|
const searchParams = new URLSearchParams()
|
|||
|
Object.entries(requestParams).forEach(([key, value]) => {
|
|||
|
if (value !== undefined && value !== null && value !== '') {
|
|||
|
searchParams.append(key, String(value))
|
|||
|
}
|
|||
|
})
|
|||
|
console.log('🔍 API - 手动序列化后的参数:', searchParams.toString())
|
|||
|
|
|||
|
// 参考设备模块的调用方式,直接将参数作为第二个参数传递
|
|||
|
return http.get<ApiRes<PageRes<EquipmentResp>>>('/equipment/procurement/page', requestParams)
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* 测试参数传递 - 使用API文档中的参数格式
|
|||
|
*/
|
|||
|
testPage: () => {
|
|||
|
console.log('🧪 API - 测试参数传递')
|
|||
|
|
|||
|
// 使用API文档中的参数格式进行测试
|
|||
|
const testParams = {
|
|||
|
page: 1,
|
|||
|
pageSize: 10,
|
|||
|
equipmentName: '测试设备',
|
|||
|
supplierName: '测试供应商',
|
|||
|
quantity: 10,
|
|||
|
unitPrice: 100.50,
|
|||
|
totalPrice: 1005.00,
|
|||
|
accountNumber: 'TEST001',
|
|||
|
brand: '测试品牌',
|
|||
|
locationStatus: 'spare',
|
|||
|
physicalLocation: '测试位置',
|
|||
|
purchaseOrder: 'PO001',
|
|||
|
inventoryBasis: '测试依据',
|
|||
|
dynamicRecord: '测试记录'
|
|||
|
}
|
|||
|
|
|||
|
console.log('🧪 API - 测试参数:', testParams)
|
|||
|
|
|||
|
return http.get<ApiRes<PageRes<EquipmentResp>>>('/equipment/procurement/page', testParams)
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* 新增设备采购记录
|
|||
|
*/
|
|||
|
add: (data: EquipmentReq) => {
|
|||
|
return http.post<ApiRes<null>>('/equipment/procurement', data)
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* 修改设备采购记录
|
|||
|
*/
|
|||
|
update: (equipmentId: string, data: EquipmentReq) => {
|
|||
|
return http.put<ApiRes<null>>(`/equipment/procurement/${equipmentId}`, data)
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* 删除设备采购记录
|
|||
|
*/
|
|||
|
delete: (equipmentId: string) => {
|
|||
|
return http.del<ApiRes<null>>(`/equipment/procurement/${equipmentId}`)
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* 获取设备采购记录详情
|
|||
|
*/
|
|||
|
detail: (equipmentId: string) => {
|
|||
|
return http.get<ApiRes<EquipmentResp>>(`/equipment/procurement/detail/${equipmentId}`)
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* 获取采购统计信息
|
|||
|
*/
|
|||
|
getStats: () => {
|
|||
|
return http.get<ApiRes<unknown>>('/equipment/procurement/stats')
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* 批量删除设备采购记录
|
|||
|
*/
|
|||
|
batchDelete: (equipmentIds: string[]) => {
|
|||
|
return http.del<ApiRes<null>>('/equipment/procurement/batch', { data: equipmentIds })
|
|||
|
},
|
|||
|
|
|||
|
/**
|
|||
|
* 导出设备采购记录
|
|||
|
*/
|
|||
|
export: (params: EquipmentListReq) => {
|
|||
|
return http.get<Blob>('/equipment/procurement/export', {
|
|||
|
params,
|
|||
|
responseType: 'blob'
|
|||
|
})
|
|||
|
}
|
|||
|
}
|