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

@@ -104,7 +104,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;
}
@@ -244,6 +251,66 @@ export interface AdminOrderWarehouseOption {
supported_category_names: 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 CatalogOverviewCard {
title: string;
value: number;
@@ -380,6 +447,9 @@ export interface AdminReportListItem {
product_name: string;
category_name: string;
brand_name: string;
material_tag_bound: boolean;
material_tag_verify_code: string;
material_tag_bind_status: string;
}
export interface AdminReportDetail {
@@ -414,6 +484,7 @@ export interface AdminReportDetail {
mime_type?: string;
}>;
zhongjian_report_files: AdminFileAsset[];
material_tag: null | AdminMaterialTagCode;
risk_notice_text: string;
verify_info: {
verify_status: string;
@@ -705,6 +776,7 @@ export interface AdminAppraisalTaskResultPayload {
}>;
external_remark: string;
internal_remark: string;
qr_input?: string;
}
export interface AdminAppraisalTaskSupplementPayload {
@@ -1450,6 +1522,33 @@ export const adminApi = {
};
}>;
},
createManualOrder(data: AdminManualOrderCreatePayload) {
return request.post("/api/admin/manual-order/create", data) as Promise<{
code: number;
message: string;
data: AdminManualOrderCreateResponse;
}>;
},
getManualOrderMeta() {
return request.get("/api/admin/manual-order/meta") as Promise<{
code: number;
message: string;
data: AdminManualOrderMeta;
}>;
},
uploadManualOrderFile(file: File) {
const formData = new FormData();
formData.append("file", file);
return request.post("/api/admin/manual-order/file/upload", formData, {
headers: {
"Content-Type": "multipart/form-data",
},
}) as Promise<{
code: number;
message: string;
data: AdminFileAsset;
}>;
},
getCatalogOverview() {
return request.get("/api/admin/catalog/overview") as Promise<{
code: number;
@@ -1588,13 +1687,14 @@ export const adminApi = {
data: AdminReportDetail;
}>;
},
publishReport(id: number) {
publishReport(id: number, qrInput = "") {
return request.post("/api/admin/report/publish", {
id,
qr_input: qrInput,
}) as Promise<{
code: number;
message: string;
data: AdminPublishReportResponse;
data: AdminPublishReportResponse & { material_tag?: AdminMaterialTagCode | null };
}>;
},
saveInspectionReport(data: AdminManualInspectionPayload) {
@@ -1689,7 +1789,7 @@ export const adminApi = {
};
}>;
},
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.post("/api/admin/appraisal-task/zhongjian-report/save", data) as Promise<{
code: number;
message: string;
@@ -1728,16 +1828,16 @@ export const adminApi = {
data: { file_url: string };
}>;
},
lookupWarehouseInbound(trackingNo: string) {
lookupWarehouseInbound(inboundNo: string) {
return request.get("/api/admin/warehouse-workbench/inbound/lookup", {
params: { tracking_no: trackingNo },
params: { inbound_no: inboundNo },
}) as Promise<{
code: number;
message: string;
data: AdminWarehouseWorkbenchContext;
}>;
},
receiveWarehouseInbound(data: { tracking_no: string; internal_tag_no: string }) {
receiveWarehouseInbound(data: { inbound_no?: string; tracking_no?: string; internal_tag_no: string; inbound_attachments?: AdminFileAsset[] }) {
return request.post("/api/admin/warehouse-workbench/inbound/receive", data) as Promise<{
code: number;
message: string;
@@ -1775,12 +1875,32 @@ export const adminApi = {
data: AdminWarehouseWorkbenchContext;
}>;
},
confirmWarehouseReturnReport(data: { internal_tag_no: string; report_id: number }) {
return request.post("/api/admin/warehouse-workbench/return/report/confirm", data) as Promise<{
code: number;
message: string;
data: AdminWarehouseWorkbenchContext;
}>;
},
confirmWarehouseReturnZhongjian(internalTagNo: string) {
return request.post("/api/admin/warehouse-workbench/return/zhongjian/confirm", {
internal_tag_no: internalTagNo,
}) as Promise<{ code: number; message: string; data: AdminWarehouseWorkbenchContext }>;
},
shipWarehouseReturn(data: { internal_tag_no: string; express_company: string; tracking_no: string }) {
uploadWarehouseReturnPackingFile(file: File) {
const formData = new FormData();
formData.append("file", file);
return request.post("/api/admin/warehouse-workbench/return/packing/upload", formData, {
headers: {
"Content-Type": "multipart/form-data",
},
}) as Promise<{
code: number;
message: string;
data: AdminFileAsset;
}>;
},
shipWarehouseReturn(data: { internal_tag_no: string; express_company: string; tracking_no: string; packing_attachments?: AdminFileAsset[] }) {
return request.post("/api/admin/warehouse-workbench/return/ship", data) as Promise<{
code: number;
message: string;