Files
pda-uniapp/api/pda-dropship.js
T
2026-09-11 11:15:07 +08:00

42 lines
2.3 KiB
JavaScript

import { apiRequest } from '@/api/http.js'
const ROOT = '/first-leg/pda-dropship'
function operationId(action, taskId) {
const random = Math.random().toString(36).slice(2, 10)
return `pda-dropship-${action}-${taskId}-${Date.now()}-${random}`.slice(0, 128)
}
export function listDropshipPalletizationTasks(keyword = '') {
const query = String(keyword || '').trim()
return apiRequest({ url: `${ROOT}/tasks/pending${query ? `?keyword=${encodeURIComponent(query)}` : ''}`, method: 'GET' })
}
export function getDropshipPalletizationTask(taskId, warehouseId) {
return apiRequest({ url: `${ROOT}/tasks/${encodeURIComponent(taskId)}?warehouseId=${encodeURIComponent(warehouseId)}`, method: 'GET' })
}
export function claimDropshipPalletizationTask(taskId, warehouseId) {
return apiRequest({ url: `${ROOT}/tasks/${encodeURIComponent(taskId)}/claim`, method: 'POST', data: { warehouseId } })
}
export function resolveDropshipCarton(taskId, warehouseId, boxCode) {
return apiRequest({ url: `${ROOT}/tasks/${encodeURIComponent(taskId)}/cartons/resolve?warehouseId=${encodeURIComponent(warehouseId)}&boxCode=${encodeURIComponent(String(boxCode || '').trim())}`, method: 'GET' })
}
export function countDropshipCarton(taskId, payload) {
return apiRequest({ url: `${ROOT}/tasks/${encodeURIComponent(taskId)}/cartons/count`, method: 'POST', data: { ...payload, operationId: payload.operationId || operationId('count', taskId) } })
}
export function bindDropshipPendingCartons(taskId, warehouseId, palletNo) {
return apiRequest({ url: `${ROOT}/tasks/${encodeURIComponent(taskId)}/pallets/bind-pending`, method: 'POST', data: { warehouseId, palletNo: String(palletNo || '').trim().toUpperCase(), operationId: operationId('bind', taskId) } })
}
export function createAndBindDropshipPallet(taskId, warehouseId) {
return apiRequest({ url: `${ROOT}/tasks/${encodeURIComponent(taskId)}/pallets/create-and-bind`, method: 'POST', data: { warehouseId, operationId: operationId('create-bind', taskId) } })
}
export function sealDropshipPallet(taskId, warehouseId, pallet) {
return apiRequest({ url: `${ROOT}/tasks/${encodeURIComponent(taskId)}/pallets/${encodeURIComponent(pallet.palletId)}/seal`, method: 'POST', data: { warehouseId, expectedVersion: pallet.version, operationId: operationId('seal', taskId) } })
}