OMS_H5/src/api/order.ts

84 lines
2.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import http from '@/utils/http'
import type { ApiResponse, Order, OrderDetailResponse, ListParams, ApprovalParams, CompletedApprovalItem, CompletedListParams } from '@/types'
import type { AxiosResponse } from 'axios'
/**
* 获取订单列表
*/
export const getOrderList = (params: ListParams): Promise<AxiosResponse<ApiResponse<{
total: number
rows: Order[]
}>>> => {
// 创建FormData对象
const formData = new FormData()
// 添加参数到FormData
if (params.approve) formData.append('approve', params.approve)
formData.append('page', params.page.toString())
formData.append('pageSize', params.pageSize.toString())
if (params.keyword) formData.append('keyword', params.keyword)
return http.post('/project/order/list', formData)
}
/**
* 获取订单详情
*/
export const getOrderDetail = (id: string | number): Promise<AxiosResponse<ApiResponse<OrderDetailResponse>>> => {
return http.get(`/project/order/h5/approve/${id}`)
}
/**
* 提交审批结果
*/
export const submitApproval = (params: any): Promise<AxiosResponse<ApiResponse<any>>> => {
// 创建FormData对象
const formData = new FormData()
// 将所有参数添加到FormData中
Object.keys(params).forEach(key => {
if (params[key] !== undefined && params[key] !== null) {
// 特殊处理variables参数它应该是一个对象
if (key === 'variables' && typeof params[key] === 'object' && params[key] !== null) {
// 将variables对象的每个属性单独添加到FormData中
Object.keys(params[key]).forEach(variableKey => {
if (params[key][variableKey] !== undefined && params[key][variableKey] !== null) {
formData.append(`variables[${variableKey}]`, params[key][variableKey].toString())
}
})
} else if (key === 'taxRateData' && Array.isArray(params[key])) {
// 特殊处理taxRateData数组
params[key].forEach((item: any, index: number) => {
Object.keys(item).forEach(itemKey => {
if (item[itemKey] !== undefined && item[itemKey] !== null) {
formData.append(`taxRateData[${index}].${itemKey}`, item[itemKey].toString());
}
});
});
} else {
formData.append(key, params[key].toString())
}
}
})
return http.post('/project/order/order/approve', formData)
}
/**
* 获取已审批列表
*/
export const getCompletedOrderList = (params: CompletedListParams): Promise<AxiosResponse<ApiResponse<{
total: number
rows: CompletedApprovalItem[]
}>>> => {
// 创建FormData对象
const formData = new FormData()
// 添加参数到FormData
formData.append('page', params.page.toString())
formData.append('pageSize', params.pageSize.toString())
if (params.businessName) formData.append('businessName', params.businessName)
if (params.processKeyList) formData.append('processKeyList', params.processKeyList)
return http.post('/flow/completed/list', formData)
}