deotalandAi/apps/FrontendDesigner/src/views/admin/AdminOrders/AdminOrders.js

90 lines
2.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { adminApi,requestUtils} from '@deotaland/utils';
export class AdminOrders {
constructor() {
// 初始化防抖函数
this.debouncedSaveProgress = this.createDebouncedSaveProgress();
}
/**
* 创建防抖的保存进度函数
* 防止频繁调用API延迟1秒执行
*/
createDebouncedSaveProgress() {
let timeout;
return (params) => {
return new Promise((resolve, reject) => {
clearTimeout(timeout);
timeout = setTimeout(async () => {
try {
const result = await requestUtils.common(adminApi.default.updateOrderStatus, params);
resolve(result);
} catch (error) {
reject(error);
}
}, 1000); // 1秒防抖延迟
});
};
}
//获取订单详情
getOrderDetail(params){
return requestUtils.common(adminApi.default.getOrderDetailt,params);
}
//获取订单列表
getOrderList(params){
params.source_type = 0
return requestUtils.common(adminApi.default.getOrderList,params);
}
//同意退款
refundApprove(params){
return requestUtils.common(adminApi.default.refundApprove,params);
}
//拒绝退款
refundReject(params){
return requestUtils.common(adminApi.default.refundReject,params);
}
//同意/拒绝订单
updateOrderStatus(type=0,audit_reject_reason='',data){//0未通过1已通过
let params = {
id:data.id,
order_status:type==0?1:2
}
if(audit_reject_reason&&type==0){
params.audit_reject_reason = audit_reject_reason;
}
return requestUtils.common(adminApi.default.updateOrderStatus,params);
}
//完成拆件
completeDisassembly(data){
let params = {
order_status:3,
id:data.id
}
return requestUtils.common(adminApi.default.updateOrderStatus,params);
}
//订单统计
getOrderStatistics(){
return requestUtils.common(adminApi.default.getOrderStatistics);
}
//保存拆件进度(带防抖功能)
saveDisassemblyProgress(params){
// 使用防抖函数来避免频繁调用API
return this.debouncedSaveProgress(params);
}
//修改订单支付状态
updatePayStatus(data,type=0){//0未支付1已支付
let parmas = {
id:data.id,
}
if(type==1){
parmas.payment_status = 1;
parmas.order_status = 3;
parmas.refund_status =0;
}else{
parmas.payment_status = 0;
parmas.order_status = 0;
parmas.refund_status =0;
}
return requestUtils.common(adminApi.default.updateOrderStatus,parmas);
}
}