chore: prepare release build

This commit is contained in:
wushumin
2026-05-16 16:32:56 +08:00
parent dd56e0861b
commit deecb5d33e
28 changed files with 4396 additions and 361 deletions

View File

@@ -36,6 +36,7 @@ export interface AdminOrderListItem {
source_customer_id: string;
order_status: string;
display_status: string;
internal_tag_no?: string;
warehouse_bucket?: string;
warehouse_bucket_text?: string;
estimated_finish_time: string;
@@ -43,6 +44,66 @@ export interface AdminOrderListItem {
created_at: string;
}
export interface AdminManualOrderMaterialItem {
item_code: string;
item_name: string;
is_required: boolean;
files: AdminFileAsset[];
}
export interface AdminManualOrderCreatePayload {
service_provider: string;
product_info: {
category_id: number;
brand_id: number;
product_name: string;
color: string;
size_spec: string;
serial_no: string;
};
extra_info: {
purchase_channel: string;
purchase_price: number;
usage_status: string;
condition_desc: string;
remark: string;
};
return_address: {
consignee: string;
mobile: string;
province: string;
city: string;
district: string;
detail_address: string;
};
materials: AdminManualOrderMaterialItem[];
}
export interface AdminManualOrderCreateResponse {
order_id: number;
order_no: string;
appraisal_no: string;
user_id: number;
next_status: "pending_shipping";
}
export interface AdminManualOrderMeta {
categories: Array<{
id: number;
name: string;
code: string;
supported_service_types: string[];
}>;
brands: Array<{
id: number;
name: string;
en_name: string;
code: string;
category_ids: number[];
supported_service_types: string[];
}>;
}
export interface AdminOrderDetail {
order_info: AdminOrderListItem & {
can_mark_received: boolean;
@@ -65,6 +126,10 @@ export interface AdminOrderDetail {
full_address: string;
};
logistics_info: null | Record<string, any>;
inbound_attachments: AdminFileAsset[];
transfer_flow: null | {
internal_tag_no: string;
};
return_logistics: null | Record<string, any>;
supplement_task: null | Record<string, any>;
report_summary: null | {
@@ -119,12 +184,15 @@ export interface AdminWarehouseWorkbenchContext {
tracking_status: string;
};
transfer_flow: null | {
id?: number;
internal_tag_no: string;
flow_status?: string;
current_stage: string;
current_stage_text: string;
current_location: string;
current_location_text: string;
return_confirmed_at?: string;
return_shipped_at?: string;
};
report_info: null | {
id: number;
@@ -140,7 +208,14 @@ export interface AdminWarehouseWorkbenchContext {
operator_name: string;
remark: string;
created_at: string;
inbound_attachments?: AdminFileAsset[];
packing_attachments?: AdminFileAsset[];
}>;
return_verification?: {
verified: boolean;
report_id: number;
report_no: string;
};
next_action?: string;
next_action_text?: string;
}
@@ -168,6 +243,7 @@ export interface AdminAppraisalTaskListItem {
sla_deadline: string;
is_overtime: boolean;
display_status: string;
internal_tag_no?: string;
}
export interface AdminAppraisalTaskDetail {
@@ -345,17 +421,32 @@ export const adminApi = {
getOrderDetail(id: number) {
return request<AdminOrderDetail>("/api/admin/order/detail", { params: { id } });
},
lookupWarehouseInbound(trackingNo: string) {
return request<AdminWarehouseWorkbenchContext>("/api/admin/warehouse-workbench/inbound/lookup", {
params: { tracking_no: trackingNo },
getManualOrderMeta() {
return request<AdminManualOrderMeta>("/api/admin/manual-order/meta");
},
createManualOrder(data: AdminManualOrderCreatePayload) {
return request<AdminManualOrderCreateResponse>("/api/admin/manual-order/create", {
method: "POST",
data: data as unknown as Record<string, unknown>,
});
},
receiveWarehouseInbound(data: { tracking_no: string; internal_tag_no: string }) {
uploadManualOrderFile(filePath: string) {
return uploadFile<AdminFileAsset>("/api/admin/manual-order/file/upload", filePath);
},
lookupWarehouseInbound(inboundNo: string) {
return request<AdminWarehouseWorkbenchContext>("/api/admin/warehouse-workbench/inbound/lookup", {
params: { inbound_no: inboundNo },
});
},
receiveWarehouseInbound(data: { inbound_no: string; internal_tag_no: string; inbound_attachments?: AdminFileAsset[] }) {
return request<AdminWarehouseWorkbenchContext>("/api/admin/warehouse-workbench/inbound/receive", {
method: "POST",
data,
});
},
uploadWarehouseInboundEvidenceFile(filePath: string) {
return uploadFile<AdminFileAsset>("/api/admin/warehouse-workbench/inbound/evidence/upload", filePath);
},
lookupZhongjianWarehouseTransfer(internalTagNo: string) {
return request<AdminWarehouseWorkbenchContext>("/api/admin/warehouse-workbench/zhongjian/lookup", {
params: { internal_tag_no: internalTagNo },
@@ -384,13 +475,22 @@ export const adminApi = {
data,
});
},
confirmWarehouseReturnReport(data: { internal_tag_no: string; report_id: number }) {
return request<AdminWarehouseWorkbenchContext>("/api/admin/warehouse-workbench/return/report/confirm", {
method: "POST",
data,
});
},
confirmWarehouseReturnZhongjian(internalTagNo: string) {
return request<AdminWarehouseWorkbenchContext>("/api/admin/warehouse-workbench/return/zhongjian/confirm", {
method: "POST",
data: { internal_tag_no: internalTagNo },
});
},
shipWarehouseReturn(data: { internal_tag_no: string; express_company: string; tracking_no: string }) {
uploadWarehouseReturnPackingFile(filePath: string) {
return uploadFile<AdminFileAsset>("/api/admin/warehouse-workbench/return/packing/upload", filePath);
},
shipWarehouseReturn(data: { internal_tag_no: string; express_company: string; tracking_no: string; packing_attachments?: AdminFileAsset[] }) {
return request<AdminWarehouseWorkbenchContext>("/api/admin/warehouse-workbench/return/ship", {
method: "POST",
data,
@@ -417,7 +517,7 @@ export const adminApi = {
data,
});
},
saveZhongjianAppraisalReport(data: { id: number; zhongjian_report_no: string; report_files: AdminFileAsset[] }) {
saveZhongjianAppraisalReport(data: { id: number; zhongjian_report_no: string; report_files: AdminFileAsset[]; qr_input: string }) {
return request<{ id: number; report: Record<string, any> }>("/api/admin/appraisal-task/zhongjian-report/save", {
method: "POST",
data,
@@ -429,13 +529,13 @@ export const adminApi = {
data,
});
},
uploadAppraisalEvidenceFile(filePath: string) {
return uploadFile<AdminFileAsset>("/api/admin/appraisal-task/evidence/upload", filePath);
uploadAppraisalEvidenceFile(filePath: string, taskId?: number) {
return uploadFile<AdminFileAsset>("/api/admin/appraisal-task/evidence/upload", filePath, taskId ? { task_id: taskId } : {});
},
deleteAppraisalEvidenceFile(fileUrl: string) {
deleteAppraisalEvidenceFile(fileUrl: string, taskId?: number) {
return request<{ file_url: string }>("/api/admin/appraisal-task/evidence/delete", {
method: "POST",
data: { file_url: fileUrl },
data: { file_url: fileUrl, ...(taskId ? { task_id: taskId } : {}) },
});
},
getReports(params?: Record<string, string | number>) {