Industrial-image-management.../src/apis/equipment/procurement.ts

125 lines
3.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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