import { overseasDownload, overseasRequest, overseasUpload } from './overseas.js' const BASE = '/pda/v1/last-leg/warehouse-transfers' const encoded = (value) => encodeURIComponent(String(value || '').trim()) export async function listWarehouseTransferCandidates() { const value = await overseasRequest('GET', `${BASE}/candidates`) return Array.isArray(value) ? value : (Array.isArray(value?.records) ? value.records : []) } export function getWarehouseTransferDetail(transferNo) { return overseasRequest('GET', `${BASE}/${encoded(transferNo)}`) } export function palletizeWarehouseTransfer(transferNo, payload) { return overseasRequest('POST', `${BASE}/${encoded(transferNo)}/palletize`, payload) } export function saveWarehouseTransferPalletDraft(transferNo, payload) { return overseasRequest('POST', `${BASE}/${encoded(transferNo)}/pallets/drafts`, payload) } export function generateWarehouseTransferPallet(transferNo, palletId, payload) { return overseasRequest('POST', `${BASE}/${encoded(transferNo)}/pallets/${encoded(palletId)}/generate`, payload) } export function bindWarehouseTransferPallet(transferNo, palletId, payload) { return overseasRequest('POST', `${BASE}/${encoded(transferNo)}/pallets/${encoded(palletId)}/bind`, payload) } export function deleteWarehouseTransferPallet(transferNo, palletId) { return overseasRequest('DELETE', `${BASE}/${encoded(transferNo)}/pallets/${encoded(palletId)}`) } export function uploadWarehouseTransferMeasurementPhoto(transferNo, filePath) { return overseasUpload(`${BASE}/${encoded(transferNo)}/measurement-photos/files`, filePath) } export function listWarehouseTransferMeasurementPhotos(transferNo) { return overseasRequest('GET', `${BASE}/${encoded(transferNo)}/measurement-photos/files`) } export function downloadWarehouseTransferMeasurementPhoto(transferNo, fileId) { return overseasDownload(`${BASE}/${encoded(transferNo)}/measurement-photos/files/${encoded(fileId)}/download`) } export function downloadWarehouseTransferPalletLabel(labelDownloadPath) { const path = String(labelDownloadPath || '').trim() if (!path) return Promise.reject(new Error('服务端未返回托盘标签下载地址')) return overseasDownload(path) } export function countWarehouseTransferCartons(transferNo, payload) { return overseasRequest('POST', `${BASE}/${encoded(transferNo)}/cartons/count`, payload) } export function reopenWarehouseTransferMeasurement(transferNo) { return overseasRequest('POST', `${BASE}/${encoded(transferNo)}/cartons/reopen`) } export function getWarehouseTransferCartonLabel(transferNo) { return overseasRequest('GET', `${BASE}/${encoded(transferNo)}/carton-label`) }