增加了手机操作端
This commit is contained in:
@@ -12,6 +12,103 @@ export interface AdminLoginResponse {
|
||||
admin_info: AdminSessionInfo;
|
||||
}
|
||||
|
||||
export interface AdminFileAsset {
|
||||
file_id: string;
|
||||
file_url: string;
|
||||
thumbnail_url: string;
|
||||
name?: string;
|
||||
file_type?: string;
|
||||
mime_type?: string;
|
||||
}
|
||||
|
||||
export interface AdminTransferFlowSummary {
|
||||
id: number;
|
||||
internal_tag_no: string;
|
||||
flow_status: string;
|
||||
current_stage: string;
|
||||
current_stage_text: string;
|
||||
current_location: string;
|
||||
current_location_text: string;
|
||||
inbound_by_name: string;
|
||||
inbound_at: string;
|
||||
zhongjian_outbound_by_name: string;
|
||||
zhongjian_outbound_at: string;
|
||||
zhongjian_inbound_by_name: string;
|
||||
zhongjian_inbound_at: string;
|
||||
appraisal_started_by_name: string;
|
||||
appraisal_started_at: string;
|
||||
report_published_by_name: string;
|
||||
report_published_at: string;
|
||||
return_confirmed_by_name: string;
|
||||
return_confirmed_at: string;
|
||||
return_shipped_by_name: string;
|
||||
return_shipped_at: string;
|
||||
}
|
||||
|
||||
export interface AdminWarehouseWorkbenchContext {
|
||||
order_info: {
|
||||
id: number;
|
||||
order_no: string;
|
||||
appraisal_no: string;
|
||||
service_provider: string;
|
||||
service_provider_text: string;
|
||||
source_channel: string;
|
||||
source_channel_text: string;
|
||||
source_customer_id: string;
|
||||
order_status: string;
|
||||
display_status: string;
|
||||
};
|
||||
product_info: {
|
||||
product_name: string;
|
||||
category_name: string;
|
||||
brand_name: string;
|
||||
color: string;
|
||||
size_spec: string;
|
||||
serial_no: string;
|
||||
};
|
||||
logistics_info: null | {
|
||||
express_company: string;
|
||||
tracking_no: string;
|
||||
tracking_status: string;
|
||||
};
|
||||
return_address: null | {
|
||||
consignee: string;
|
||||
mobile: string;
|
||||
full_address: string;
|
||||
};
|
||||
return_logistics: null | {
|
||||
express_company: string;
|
||||
tracking_no: string;
|
||||
tracking_status: string;
|
||||
};
|
||||
transfer_flow: null | AdminTransferFlowSummary;
|
||||
report_info: null | {
|
||||
id: number;
|
||||
report_no: string;
|
||||
report_title: string;
|
||||
report_status: string;
|
||||
publish_time: string;
|
||||
zhongjian_report_no: string;
|
||||
report_entry_admin_name: string;
|
||||
report_entered_at: string;
|
||||
zhongjian_report_files: AdminFileAsset[];
|
||||
};
|
||||
flow_logs?: Array<{
|
||||
id: number;
|
||||
action_code: string;
|
||||
action_text: string;
|
||||
before_stage: string;
|
||||
before_location: string;
|
||||
after_stage: string;
|
||||
after_location: string;
|
||||
operator_name: string;
|
||||
remark: string;
|
||||
created_at: string;
|
||||
}>;
|
||||
next_action?: string;
|
||||
next_action_text?: string;
|
||||
}
|
||||
|
||||
export interface AdminOrderListItem {
|
||||
id: number;
|
||||
order_no: string;
|
||||
@@ -277,6 +374,9 @@ export interface AdminReportListItem {
|
||||
service_provider_text: string;
|
||||
institution_name: string;
|
||||
publish_time: string;
|
||||
zhongjian_report_no: string;
|
||||
report_entry_admin_name: string;
|
||||
report_entered_at: string;
|
||||
product_name: string;
|
||||
category_name: string;
|
||||
brand_name: string;
|
||||
@@ -296,6 +396,10 @@ export interface AdminReportDetail {
|
||||
service_provider_text: string;
|
||||
institution_name: string;
|
||||
publish_time: string;
|
||||
zhongjian_report_no: string;
|
||||
report_entry_admin_id: number;
|
||||
report_entry_admin_name: string;
|
||||
report_entered_at: string;
|
||||
};
|
||||
product_info: Record<string, any>;
|
||||
result_info: Record<string, any>;
|
||||
@@ -309,6 +413,7 @@ export interface AdminReportDetail {
|
||||
file_type?: string;
|
||||
mime_type?: string;
|
||||
}>;
|
||||
zhongjian_report_files: AdminFileAsset[];
|
||||
risk_notice_text: string;
|
||||
verify_info: {
|
||||
verify_status: string;
|
||||
@@ -556,6 +661,13 @@ export interface AdminAppraisalTaskDetail {
|
||||
}>;
|
||||
};
|
||||
material_tag: null | AdminMaterialTagCode;
|
||||
zhongjian_report: {
|
||||
report_no: string;
|
||||
report_entry_admin_id: number;
|
||||
report_entry_admin_name: string;
|
||||
report_entered_at: string;
|
||||
files: AdminFileAsset[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface AdminAppraisalTaskResultPayload {
|
||||
@@ -934,7 +1046,18 @@ export interface AdminMaterialTagCode {
|
||||
batch_id: number;
|
||||
qr_token: string;
|
||||
qr_url: string;
|
||||
qr_image_url: string;
|
||||
qr_image_path: string;
|
||||
qr_image_status: string;
|
||||
qr_image_status_text: string;
|
||||
qr_image_error: string;
|
||||
qr_image_generated_at: string;
|
||||
verify_code: string;
|
||||
status: string;
|
||||
status_text: string;
|
||||
invalidated_at: string;
|
||||
invalidated_by_name: string;
|
||||
invalid_reason: string;
|
||||
bind_status: string;
|
||||
bind_status_text: string;
|
||||
report_id: number;
|
||||
@@ -951,7 +1074,21 @@ export interface AdminMaterialBatchItem {
|
||||
id: number;
|
||||
batch_no: string;
|
||||
total_count: number;
|
||||
status: string;
|
||||
status_text: string;
|
||||
invalidated_at: string;
|
||||
invalidated_by_name: string;
|
||||
invalid_reason: string;
|
||||
package_status: string;
|
||||
package_status_text: string;
|
||||
package_url: string;
|
||||
package_error: string;
|
||||
package_generated_at: string;
|
||||
package_purged_at: string;
|
||||
bound_count: number;
|
||||
qr_image_generated_count: number;
|
||||
qr_image_failed_count: number;
|
||||
qr_image_pending_count: number;
|
||||
download_count: number;
|
||||
remark: string;
|
||||
created_by_name: string;
|
||||
@@ -965,6 +1102,20 @@ export interface AdminMaterialBatchDetail {
|
||||
id: number;
|
||||
batch_no: string;
|
||||
total_count: number;
|
||||
status: string;
|
||||
status_text: string;
|
||||
invalidated_at: string;
|
||||
invalidated_by_name: string;
|
||||
invalid_reason: string;
|
||||
package_status: string;
|
||||
package_status_text: string;
|
||||
package_url: string;
|
||||
package_error: string;
|
||||
package_generated_at: string;
|
||||
package_purged_at: string;
|
||||
qr_image_generated_count: number;
|
||||
qr_image_failed_count: number;
|
||||
qr_image_pending_count: number;
|
||||
download_count: number;
|
||||
remark: string;
|
||||
created_by_name: string;
|
||||
@@ -1513,6 +1664,41 @@ export const adminApi = {
|
||||
};
|
||||
}>;
|
||||
},
|
||||
publishAppraisalTaskWithMaterialTag(data: { id: number; qr_input: string }) {
|
||||
return request.post("/api/admin/appraisal-task/material-tag/publish", data) as Promise<{
|
||||
code: number;
|
||||
message: string;
|
||||
data: {
|
||||
id: number;
|
||||
material_tag: AdminMaterialTagCode;
|
||||
report: AdminPublishReportResponse;
|
||||
};
|
||||
}>;
|
||||
},
|
||||
scanAppraisalTransferTag(internalTagNo: string) {
|
||||
return request.post("/api/admin/appraisal-task/transfer-tag/scan", {
|
||||
internal_tag_no: internalTagNo,
|
||||
}) as Promise<{
|
||||
code: number;
|
||||
message: string;
|
||||
data: {
|
||||
task_id: number;
|
||||
order_id: number;
|
||||
service_provider: string;
|
||||
service_provider_text: string;
|
||||
};
|
||||
}>;
|
||||
},
|
||||
saveZhongjianAppraisalReport(data: { id: number; zhongjian_report_no: string; report_files: AdminFileAsset[] }) {
|
||||
return request.post("/api/admin/appraisal-task/zhongjian-report/save", data) as Promise<{
|
||||
code: number;
|
||||
message: string;
|
||||
data: {
|
||||
id: number;
|
||||
report: AdminPublishReportResponse;
|
||||
};
|
||||
}>;
|
||||
},
|
||||
uploadAppraisalEvidenceFile(file: File) {
|
||||
const formData = new FormData();
|
||||
formData.append("file", file);
|
||||
@@ -1542,6 +1728,65 @@ export const adminApi = {
|
||||
data: { file_url: string };
|
||||
}>;
|
||||
},
|
||||
lookupWarehouseInbound(trackingNo: string) {
|
||||
return request.get("/api/admin/warehouse-workbench/inbound/lookup", {
|
||||
params: { tracking_no: trackingNo },
|
||||
}) as Promise<{
|
||||
code: number;
|
||||
message: string;
|
||||
data: AdminWarehouseWorkbenchContext;
|
||||
}>;
|
||||
},
|
||||
receiveWarehouseInbound(data: { tracking_no: string; internal_tag_no: string }) {
|
||||
return request.post("/api/admin/warehouse-workbench/inbound/receive", data) as Promise<{
|
||||
code: number;
|
||||
message: string;
|
||||
data: AdminWarehouseWorkbenchContext;
|
||||
}>;
|
||||
},
|
||||
lookupZhongjianWarehouseTransfer(internalTagNo: string) {
|
||||
return request.get("/api/admin/warehouse-workbench/zhongjian/lookup", {
|
||||
params: { internal_tag_no: internalTagNo },
|
||||
}) as Promise<{
|
||||
code: number;
|
||||
message: string;
|
||||
data: AdminWarehouseWorkbenchContext;
|
||||
}>;
|
||||
},
|
||||
zhongjianWarehouseOutbound(internalTagNo: string) {
|
||||
return request.post("/api/admin/warehouse-workbench/zhongjian/outbound", {
|
||||
internal_tag_no: internalTagNo,
|
||||
}) as Promise<{ code: number; message: string; data: AdminWarehouseWorkbenchContext }>;
|
||||
},
|
||||
zhongjianWarehouseInbound(internalTagNo: string) {
|
||||
return request.post("/api/admin/warehouse-workbench/zhongjian/inbound", {
|
||||
internal_tag_no: internalTagNo,
|
||||
}) as Promise<{ code: number; message: string; data: AdminWarehouseWorkbenchContext }>;
|
||||
},
|
||||
lookupWarehouseReturn(internalTagNo: string) {
|
||||
return request.get("/api/admin/warehouse-workbench/return/lookup", {
|
||||
params: { internal_tag_no: internalTagNo },
|
||||
}) as Promise<{ code: number; message: string; data: AdminWarehouseWorkbenchContext }>;
|
||||
},
|
||||
verifyWarehouseReturnMaterialTag(data: { internal_tag_no: string; qr_input: string }) {
|
||||
return request.post("/api/admin/warehouse-workbench/return/material-tag/verify", 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 }) {
|
||||
return request.post("/api/admin/warehouse-workbench/return/ship", data) as Promise<{
|
||||
code: number;
|
||||
message: string;
|
||||
data: AdminWarehouseWorkbenchContext;
|
||||
}>;
|
||||
},
|
||||
requestAppraisalTaskSupplement(data: AdminAppraisalTaskSupplementPayload) {
|
||||
return request.post("/api/admin/appraisal-task/request-supplement", data) as Promise<{
|
||||
code: number;
|
||||
@@ -1863,11 +2108,43 @@ export const adminApi = {
|
||||
};
|
||||
}>;
|
||||
},
|
||||
downloadMaterialBatch(id: number) {
|
||||
return request.get("/api/admin/material/batch/download", {
|
||||
prepareMaterialBatchDownload(id: number) {
|
||||
return request.get("/api/admin/material/batch/download-link", {
|
||||
params: { id },
|
||||
responseType: "blob",
|
||||
}) as Promise<Blob>;
|
||||
}) as Promise<{
|
||||
code: number;
|
||||
message: string;
|
||||
data: {
|
||||
filename: string;
|
||||
url: string;
|
||||
size: number;
|
||||
};
|
||||
}>;
|
||||
},
|
||||
invalidateMaterialBatch(data: { id: number; reason: string }) {
|
||||
return request.post("/api/admin/material/batch/invalidate", data) as Promise<{
|
||||
code: number;
|
||||
message: string;
|
||||
data: {
|
||||
id: number;
|
||||
status: string;
|
||||
status_text: string;
|
||||
invalidated_at: string;
|
||||
};
|
||||
}>;
|
||||
},
|
||||
invalidateMaterialTag(data: { id: number; reason: string }) {
|
||||
return request.post("/api/admin/material/tag/invalidate", data) as Promise<{
|
||||
code: number;
|
||||
message: string;
|
||||
data: {
|
||||
id: number;
|
||||
batch_id: number;
|
||||
status: string;
|
||||
status_text: string;
|
||||
invalidated_at: string;
|
||||
};
|
||||
}>;
|
||||
},
|
||||
getAccessOverview() {
|
||||
return request.get("/api/admin/access/overview") as Promise<{
|
||||
|
||||
Reference in New Issue
Block a user