front/src/api/order/pickupOrder.ts
zzh 33f696bc42
All checks were successful
Build and Deploy Front / deploy (push) Successful in 7m24s
feat: 抽取 PublishDiff 公共组件,完善发布/订单/渠道与多模块体验
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 23:34:54 +08:00

81 lines
3.0 KiB
TypeScript

import { axiosInstance } from '@/api/rbac'
import { assertBusinessOk, omsUrl, parseListPayload, unwrapData } from '@/api/oms/common'
function postOk(path: string, body: Record<string, unknown>) {
return axiosInstance.post(omsUrl(path), body).then((res) => {
assertBusinessOk(res.data)
return unwrapData(res.data)
})
}
function getData(path: string, params?: Record<string, unknown>) {
return axiosInstance.get(omsUrl(path), { params }).then((res) => unwrapData(res.data))
}
export type PickupOrderCreateBody = {
customerId?: number
senderAddressId: number
/** forward 正向 / reverse 逆向 */
direction?: 'forward' | 'reverse' | string
warehouseId: number
carrierCode?: string
carrierService?: string
expectPickupTime: string
orderIds: Array<number | string>
remark?: string
freightAmount?: number
}
export const createPickupOrderV2 = (body: PickupOrderCreateBody) =>
postOk('/order/pickup-order/create', body as unknown as Record<string, unknown>)
export const getPickupOrderList = (body: Record<string, unknown>) =>
axiosInstance.post(omsUrl('/order/pickup-order/list'), body).then((res) => parseListPayload(res.data))
export const getPickupOrderStatusCounts = (params?: {
customerId?: number
direction?: string
}) => getData('/order/pickup-order/status-counts', params as Record<string, unknown> | undefined)
export const getPickupOrderDetail = (id: number | string) =>
getData('/order/pickup-order/detail', { id })
export const addPickupOrderOrders = (body: { id: number | string; orderIds: Array<number | string> }) =>
postOk('/order/pickup-order/add-orders', body as unknown as Record<string, unknown>)
export const removePickupOrderOrders = (body: { id: number | string; orderIds: Array<number | string> }) =>
postOk('/order/pickup-order/remove-orders', body as unknown as Record<string, unknown>)
export const cancelPickupOrder = (id: number | string) =>
postOk('/order/pickup-order/cancel', { id })
export const confirmPickupFreight = (body: {
id: number | string
freightAmount: number
otherFeeAmount?: number
carrierPayableAmount?: number
}) => postOk('/order/pickup-order/confirm-freight', body as unknown as Record<string, unknown>)
export const payPickupOrder = (id: number | string) =>
postOk('/order/pickup-order/pay', { id })
export const payPickupOrderBatch = (ids: Array<number | string>) =>
postOk('/order/pickup-order/pay-batch', { ids })
export const schedulePickupOrder = (body: {
id: number | string
carrierService: string
carrierCode?: string
carrierWaybillNo?: string
expectPickupTime?: string
}) => postOk('/order/pickup-order/schedule', body as unknown as Record<string, unknown>)
export const reschedulePickupOrder = (body: { id: number | string; expectPickupTime: string }) =>
postOk('/order/pickup-order/reschedule', body as unknown as Record<string, unknown>)
export const markPickupPicked = (id: number | string) =>
postOk('/order/pickup-order/mark-picked', { id })
export const markPickupInbound = (id: number | string) =>
postOk('/order/pickup-order/mark-inbound', { id })