新增 WMS 搬运规则与任务管理
支持搬运规则维护、候选预览、任务生成、预占、下发、取消和完成,并完善仓储管理前端交互。
This commit is contained in:
@@ -2,10 +2,11 @@ import http from './http'
|
||||
import type {
|
||||
WarehouseArea, Storage, Container, Material,
|
||||
ContainerLocation, ContainerMaterial, ContainerLocationHistory, ContainerMaterialHistory,
|
||||
MasterDataPayload, StoragePayload, MaterialPayload, ContainerLocationPayload, ContainerMaterialPayload
|
||||
MasterDataPayload, StoragePayload, MaterialPayload, ContainerLocationPayload, ContainerMaterialPayload,
|
||||
WmsTransportRule, WmsTransportTask, TransportRulePayload, TransportRequestQuery, TransportCandidatePreview
|
||||
} from '@/types/wms'
|
||||
|
||||
function q(params?: Record<string, unknown>) {
|
||||
function q<T extends object>(params?: T) {
|
||||
return { params }
|
||||
}
|
||||
|
||||
@@ -99,3 +100,46 @@ export async function listContainerMaterialHistory(containerId?: string, materia
|
||||
const { data } = await http.get<ContainerMaterialHistory[]>('/wms/container-material-history', q({ containerId, materialId }))
|
||||
return data
|
||||
}
|
||||
|
||||
export async function listTransportRules(params?: { triggerType?: string; q?: string }) {
|
||||
const { data } = await http.get<WmsTransportRule[]>('/wms/transport-rules', q(params))
|
||||
return data
|
||||
}
|
||||
export async function saveTransportRule(payload: TransportRulePayload) {
|
||||
const { data } = payload.id
|
||||
? await http.put<WmsTransportRule>(`/wms/transport-rules/${payload.id}`, payload)
|
||||
: await http.post<WmsTransportRule>('/wms/transport-rules', payload)
|
||||
return data
|
||||
}
|
||||
export async function deleteTransportRule(id: string, version?: number) {
|
||||
await http.delete(`/wms/transport-rules/${id}`, q({ version }))
|
||||
}
|
||||
|
||||
export async function previewTransportCandidates(params: TransportRequestQuery) {
|
||||
const { data } = await http.get<TransportCandidatePreview>('/wms/transport-candidates', q(params))
|
||||
return data
|
||||
}
|
||||
export async function generateTransportTask(params: TransportRequestQuery) {
|
||||
const { data } = await http.post<WmsTransportTask>('/wms/transport-tasks/generate', params)
|
||||
return data
|
||||
}
|
||||
export async function listTransportTasks(params?: { status?: string; triggerType?: string }) {
|
||||
const { data } = await http.get<WmsTransportTask[]>('/wms/transport-tasks', q(params))
|
||||
return data
|
||||
}
|
||||
export async function reserveTransportTask(id: string, reason?: string) {
|
||||
const { data } = await http.post<WmsTransportTask>(`/wms/transport-tasks/${id}/reserve`, null, q({ reason }))
|
||||
return data
|
||||
}
|
||||
export async function cancelTransportTask(id: string, reason?: string) {
|
||||
const { data } = await http.post<WmsTransportTask>(`/wms/transport-tasks/${id}/cancel`, null, q({ reason }))
|
||||
return data
|
||||
}
|
||||
export async function completeTransportTask(id: string, reason?: string) {
|
||||
const { data } = await http.post<WmsTransportTask>(`/wms/transport-tasks/${id}/complete`, null, q({ reason }))
|
||||
return data
|
||||
}
|
||||
export async function dispatchTransportTask(id: string) {
|
||||
const { data } = await http.post<WmsTransportTask>(`/wms/transport-tasks/${id}/dispatch`)
|
||||
return data
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user