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'
|
||
})
|
||
}
|
||
}
|