|
|
@@ -95,32 +95,47 @@ const getUserBalanceData = () => {
|
|
|
};
|
|
|
getUserBalanceData();
|
|
|
|
|
|
+const handleEarningsData = (data: any) => {
|
|
|
+ let transferBalance = new Decimal(0);
|
|
|
+ let earningsList = data.map((item: any, index: any) => {
|
|
|
+ if (index == 0) return 0;
|
|
|
+ if (item.label !== 0) transferBalance = transferBalance.add(item.changeU);
|
|
|
+ return new Decimal(item.afterU || 0).minus(data[0].afterU).minus(transferBalance).toNumber();
|
|
|
+ });
|
|
|
+ return earningsList;
|
|
|
+};
|
|
|
+const handleEarningsRateData = (data: any) => {
|
|
|
+ let transferBalance = data[0].afterU;
|
|
|
+ let transferEarningsRate: any = 0;
|
|
|
+ let lastEarningsRate: any = 0;
|
|
|
+ let earningsList = data.map((item: any, index: any) => {
|
|
|
+ if (index == 0) return 0;
|
|
|
+ if (item.label !== 0) {
|
|
|
+ transferBalance = item.afterU;
|
|
|
+ transferEarningsRate = lastEarningsRate;
|
|
|
+ return transferEarningsRate
|
|
|
+ };
|
|
|
+ let earningsRate = new Decimal(item.afterU || 0).minus(transferBalance).div(transferBalance).mul(100).add(transferEarningsRate).toNumber();
|
|
|
+ lastEarningsRate = earningsRate
|
|
|
+ return earningsRate;
|
|
|
+ });
|
|
|
+ return earningsList;
|
|
|
+};
|
|
|
+const handleTotalBalanceData = (data: any) => {
|
|
|
+ return data.map((item: any) => item.afterU);
|
|
|
+};
|
|
|
+
|
|
|
const handleBalanceData = (data: any) => {
|
|
|
return new Promise((resolve: any) => {
|
|
|
// 过滤无效数据
|
|
|
balanceData.value = { ...data, userList: data.userList.filter((item: any) => item.balance.length > 0) };
|
|
|
balanceData.value.userList.map((item: any) => {
|
|
|
- let earningList: any = [];
|
|
|
- let earningRateList: any = [];
|
|
|
- let lastBalance = 0;
|
|
|
- let transferBalance = 0;
|
|
|
- item.balance.map((items: any) => {
|
|
|
- const isTransfer = new Decimal(items || 0)
|
|
|
- .minus(lastBalance || 0)
|
|
|
- .mod(50)
|
|
|
- .toNumber();
|
|
|
- if (!isTransfer && items != lastBalance) transferBalance += items - lastBalance;
|
|
|
- lastBalance = items;
|
|
|
- let totalBalance = item.balance[0] + transferBalance;
|
|
|
- let earning = new Decimal(items || 0).minus(totalBalance || 0);
|
|
|
- let earningRate = earning.div(totalBalance || 1).mul(100);
|
|
|
- earningList.push(earning.toNumber());
|
|
|
- earningRateList.push(earningRate.toNumber());
|
|
|
- });
|
|
|
-
|
|
|
+ let earningList: any = handleEarningsData(item.balance);
|
|
|
+ let earningRateList: any = handleEarningsRateData(item.balance);
|
|
|
+ let totalList: any = handleTotalBalanceData(item.balance);
|
|
|
earningsData.value.push({ name: item.name, type: "line", stack: item.name, data: earningList });
|
|
|
earningsRateData.value.push({ name: item.name, type: "line", stack: item.name, data: earningRateList });
|
|
|
- totalBalanceData.value.push({ name: item.name, type: "line", stack: item.name, data: item.balance });
|
|
|
+ totalBalanceData.value.push({ name: item.name, type: "line", stack: item.name, data: totalList });
|
|
|
});
|
|
|
resolve(true);
|
|
|
});
|