Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | 1x 4x 3x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 1x 1x 1x 3x | import { http } from "@/utils/http";
// 货权转移类型定义
export type OwnershipTransfer = {
id: string;
transferNumber: string; // 转移函编号
transferDate: string; // 货转日期
commodity: string; // 商品
warehouse: string; // 库方
transferor: string; // 货权出让方
transferee: string; // 货权接收方
status: "draft" | "effective" | "void"; // 状态
remark: string; // 备注
blItems: Array<{
// 提单明细(动态列表)
id?: number;
transferId?: number;
blNumber: string; // 提单号
quantity: number; // 数量
}>;
fileList: Array<{
name: string;
url: string;
}>;
createdAt: string;
updatedAt: string;
};
// API响应基础类型
export type BaseResponse<T = any> = {
success: boolean;
message: string;
data?: T;
};
// 货权转移列表响应类型
export type OwnershipListResponse = BaseResponse<{
items: OwnershipTransfer[];
total: number;
}>;
/** 创建货权转移 */
export const createOwnershipTransfer = (data: {
transferDate: string;
commodity: string;
blItems: Array<{ blNumber: string; quantity: number }>;
warehouse: string;
transferor: string;
transferee: string;
remarks?: string;
files?: File[];
}) => {
// 过滤空提单号
const validItems = data.blItems.filter(item => item.blNumber || item.quantity);
if (data.files?.length) {
const formData = new FormData();
formData.append("transferDate", data.transferDate);
formData.append("commodity", data.commodity);
formData.append("blItems", JSON.stringify(validItems));
formData.append("warehouse", data.warehouse);
formData.append("transferor", data.transferor);
formData.append("transferee", data.transferee);
Eif (data.remarks) formData.append("remark", data.remarks);
data.files.forEach(file => formData.append("files", file));
return http.request<BaseResponse<OwnershipTransfer>>(
"post",
"/api/ownership-transfer/create-with-files",
{
data: formData,
headers: { "Content-Type": "multipart/form-data" }
}
);
}
return http.request<BaseResponse<OwnershipTransfer>>(
"post",
"/api/ownership-transfer/create",
{ data: { ...data, blItems: validItems, remark: data.remarks ?? "" } }
);
};
/** 删除货权转移 */
export const deleteOwnershipTransfer = (id: string) => {
return http.request<BaseResponse>("delete", `/api/ownership-transfer/${id}`);
};
/** 获取货权转移列表 */
export const getOwnershipList = (params?: {
transferNumber?: string;
blNumber?: string;
status?: string;
page?: number;
pageSize?: number;
}) => {
return http.request<OwnershipListResponse>(
"get",
"/api/ownership-transfer/list",
{ params }
);
};
|