Слияние кода завершено, страница обновится автоматически
import { observable, action } from 'mobx';
import { IBaseOrder, IOrderInfo, IStatusMap, IConfigInfo, IApprovalOrder, IBrokerMetadata, IBatchApproval, IBatchApprovalData, IBatchData } from 'types/base-type';
import { getOrderTypeList, getApplyOrderList, getApprovalOrderList, getOrderDetail, cancelOrder, approvalOrder, getBrokerMetadata, getBrokerBasicInfo, batchApprovalOrders } from 'lib/api';
import { setCookie, getCookie } from 'lib/utils';
class Order {
@observable
public applyUnique: number = null;
@observable
public unique: number = null;
@observable
public apply: number = null;
@observable
public approval: number = null;
@observable
public loading: boolean = false;
@observable
public selectedRows: any[] = [];
@observable
public orderList: IBaseOrder[] = [];
@observable
public applyList: IBaseOrder[] = [];
@observable
public approvalList: IBaseOrder[] = [];
@observable
public orderTypeMap: IStatusMap = {};
@observable
public orderInfo: IOrderInfo = {
applicant: {},
detail: {},
approverList: [],
} as IOrderInfo;
@observable
public brokerMetadata: IBrokerMetadata[] = [];
@observable
public brokerBasicInfo: IBrokerMetadata[] = [];
@observable
public existence: number[] = [];
@observable
public batchApprovalList: IBatchData[] = [];
@action.bound
public setLoading(value: boolean) {
this.loading = value;
}
@action.bound
public setSelectedRows(rows?: any[]) {
if (rows) {
this.selectedRows = rows;
} else {
this.selectedRows = [];
}
}
@action.bound
public setOrderList(data: IBaseOrder[]) {
this.orderList = data;
this.setLoading(false);
}
@action.bound
public setApplyList(data: IBaseOrder[]) {
this.applyList = data;
if (this.applyUnique === 0) {
setCookie([{ key: 'apply', value: `${data.length}`, time: 1 }]);
this.apply = Number(getCookie('apply'));
if ( data && data.length ) {
this.apply = data.length;
}
}
this.setLoading(false);
}
@action.bound
public setApprovalList(data: IBaseOrder[]) {
this.approvalList = data;
if (this.unique === 0) {
setCookie([{ key: 'approval', value: `${data.length}`, time: 1 }]);
this.approval = Number(getCookie('approval'));
if ( data && data.length ) {
this.approval = data.length;
}
}
this.setLoading(false);
}
@action.bound
public setOrderDetail(data: IOrderInfo) {
this.orderInfo = data || {
applicant: {},
detail: {},
approverList: [],
} as IOrderInfo;
this.setLoading(false);
}
@action.bound
public setOrderTypeList(data: IConfigInfo[]) {
data.map(item => {
this.orderTypeMap[item.type] = item.message;
});
}
@action.bound
public setBrokerMetadata(data: IBrokerMetadata[]) {
this.brokerMetadata = data ? data.map((item, index) => {
item.key = index;
return {
...item,
value: item.brokerId,
label: item.host,
text: `${item.host} (BrokerID:${item.brokerId}`,
};
}) : [];
return this.brokerMetadata;
}
@action.bound
public setBrokerBasicInfo(data: IBrokerMetadata[]) {
const existList = data.filter(ele => ele.logicClusterId);
this.existence = existList.map(ele => {
return ele.brokerId;
});
this.brokerBasicInfo = data ? data.map((item, index) => {
item.key = index;
return {
...item,
value: item.brokerId,
lable: item.host,
};
}) : [];
}
@action.bound
public setBatchApprovalOrders(data: IBatchApprovalData[]) {
const failList = data.filter(ele => ele.result.code !== 0);
const successList = data.filter(ele => ele.result.code === 0);
const approvalData = failList.concat(successList);
return this.batchApprovalList = approvalData.map(ele => {
return {
id: ele.id,
code: ele.result.code,
message: ele.result.message,
};
});
}
public getOrderTypeList() {
getOrderTypeList().then(this.setOrderTypeList);
}
public getApplyOrderList(status: number) {
this.applyUnique = status;
this.setLoading(true);
getApplyOrderList(status).then(this.setApplyList);
}
public getApprovalList(status: number) {
this.unique = status;
this.setLoading(true);
getApprovalOrderList(status).then(this.setApprovalList);
}
public getOrderDetail(orderId: number) {
this.setLoading(true);
getOrderDetail(orderId).then(this.setOrderDetail);
}
public getBrokerMetadata(clusterId: number) {
return getBrokerMetadata(clusterId).then(this.setBrokerMetadata);
}
public getBrokerBasicInfo(clusterId: number) {
getBrokerBasicInfo(clusterId).then(this.setBrokerBasicInfo);
}
public approvalOrder(value: IApprovalOrder) {
return approvalOrder(value);
}
public cancelOrder(id: number) {
return cancelOrder(id);
}
public batchApprovalOrders(params: IBatchApproval) {
return batchApprovalOrders(params).then(this.setBatchApprovalOrders);
}
}
export const order = new Order();
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )