import createAxios from '@/utils/request'; import type IStoreOrder from '@/domain/iStoreOrder.ts'; import type { IOrderSummaryRow, IStoreOrderItem, IStoreOrderItemUpdate } from '@/domain/iStoreOrder.ts'; /** 订单详情(头 + 明细) */ export async function getStoreOrder(id: number) { return createAxios({ url: `/order/store/${id}`, method: 'get', }); } /** 订单状态流转(1已接单 3配送中 4已完成 9取消;已接单→采购中由生成采购单完成) */ export async function updateOrderStatus(id: number, status: number) { return createAxios({ url: `/order/store/${id}/status`, method: 'put', data: { status }, }); } /** 批量订单状态流转(全量校验,任一订单不允许流转则整批中止) */ export async function batchUpdateOrderStatus(ids: number[], status: number) { return createAxios<{ success: number }>({ url: '/order/store/batchStatus', method: 'put', data: { ids, status }, }); } /** 修改周转框/周转托盘数量(自动重算附加金额与订单总金额,仅已接单/采购中/配送中可改) */ export async function updateOrderContainer(id: number, data: { box_num: number; tray_num: number }) { return createAxios({ url: `/order/store/${id}/container`, method: 'put', data, }); } /** 已接单预览(按商品聚合,生成采购单前确认) */ export async function getOrderSummary() { return createAxios({ url: '/order/store/summary', method: 'get', }); } /** 修改订单明细(供应商/品名/规格/单位/单价/成本价/订货量/重量,后端重算订单总价) */ export async function updateOrderItem(itemId: number, data: IStoreOrderItemUpdate) { return createAxios({ url: `/order/store/item/${itemId}`, method: 'put', data, }); } /** 一键同步明细商品快照为最新商品档案信息(供应商/品名/规格/单位/单价/成本价) */ export async function syncOrderItem(itemId: number) { return createAxios({ url: `/order/store/item/${itemId}/sync`, method: 'put', }); } /** 删除订单(软删除,仅已取消订单允许) */ export async function deleteStoreOrder(id: number) { return createAxios({ url: `/order/store/${id}`, method: 'delete', }); }