|
|
|
@ -1,23 +1,18 @@
|
|
|
|
|
import { makeAutoObservable, runInAction } from 'mobx';
|
|
|
|
|
import { makeAutoObservable, runInAction, toJS } from 'mobx';
|
|
|
|
|
import * as req from '../utils/request';
|
|
|
|
|
import { isEmpty, sortBy } from '../utils/commons';
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 计算变化值
|
|
|
|
|
*/
|
|
|
|
|
const calcRate = (r1, r2) => {
|
|
|
|
|
//
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class Trade {
|
|
|
|
|
constructor(rootStore) {
|
|
|
|
|
this.rootStore = rootStore;
|
|
|
|
|
makeAutoObservable(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fetchSummaryData() {
|
|
|
|
|
fetchSummaryData(queryData) {
|
|
|
|
|
this.summaryData.loading = true;
|
|
|
|
|
req.fetchJSON('/service-web/QueryData/GetTradeSummary').then((json) => {
|
|
|
|
|
queryData.groupType = 'overview';
|
|
|
|
|
queryData.groupDateType = 'year';
|
|
|
|
|
req.fetchJSON('/service-Analyse2/GetTradeProcess/test', queryData).then((json) => {
|
|
|
|
|
if (json.errcode === 0) {
|
|
|
|
|
runInAction(() => {
|
|
|
|
|
const summaryData = {
|
|
|
|
@ -25,7 +20,7 @@ class Trade {
|
|
|
|
|
dataSource: [
|
|
|
|
|
{ title: '成团', value: json.result1?.SumOrder, VSrate: json.result1?.SumOrderrate, KPIrate: json.result1?.SumOrderKPIrate, hasKPI: !isEmpty(json.result1?.SumOrderKPIrate) },
|
|
|
|
|
{ title: '毛利', value: json.result1?.SumML, VSrate: json.result1?.SumMLrate, KPIrate: json.result1?.SumMLKPIrate, hasKPI: !isEmpty(json.result1?.SumMLKPIrate) },
|
|
|
|
|
{ title: '完成率', value: `${json.result1?.SumMLKPIrate}%`, hasKPI: false },
|
|
|
|
|
{ title: '完成率', value: `${json.result1?.SumMLKPIrate || ''}%`, hasKPI: false },
|
|
|
|
|
{
|
|
|
|
|
title: '人数',
|
|
|
|
|
value: json.result1?.SumPersonNum,
|
|
|
|
@ -41,10 +36,10 @@ class Trade {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fetchTradeDataByMonth() {
|
|
|
|
|
fetchTradeDataByMonth(queryData) {
|
|
|
|
|
this.sideData.loading = true;
|
|
|
|
|
req.fetchJSON('/service-web/QueryData/GetTradeProcess').then((json) => {
|
|
|
|
|
// req.fetchJSON('/service-web/QueryData/GetTradeByMonth').then((json) => {
|
|
|
|
|
Object.assign(queryData, { groupType: 'bu', groupDateType: 'month' });
|
|
|
|
|
req.fetchJSON('/service-Analyse2/GetTradeProcess/test', queryData).then((json) => {
|
|
|
|
|
if (json.errcode === 0) {
|
|
|
|
|
runInAction(() => {
|
|
|
|
|
const sortResult = json.result1.sort(sortBy('groupDateVal'));
|
|
|
|
@ -52,8 +47,8 @@ class Trade {
|
|
|
|
|
(r[v.groups] || (r[v.groups] = [])).push(v);
|
|
|
|
|
return r;
|
|
|
|
|
}, {});
|
|
|
|
|
console.log(groupsData, 'groupsData');
|
|
|
|
|
const kpi = { label: '', value: 1200000 }; // 标注KPI
|
|
|
|
|
console.log(groupsData, 'groupsData', queryData);
|
|
|
|
|
const kpi = { label: '', value: 1200000 }; // todo: 标注KPI
|
|
|
|
|
this.sideData.loading = false;
|
|
|
|
|
this.sideData.dataSource = groupsData;
|
|
|
|
|
this.sideData.monthData = sortResult;
|
|
|
|
@ -63,9 +58,10 @@ class Trade {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fetchTradeDataByType(orderType) {
|
|
|
|
|
fetchTradeDataByType(orderType, queryData) {
|
|
|
|
|
this.topData[orderType] = { loading: true, dataSource: [] };
|
|
|
|
|
req.fetchJSON('/service-web/QueryData/GetTradeOrderByType').then((json) => {
|
|
|
|
|
Object.assign(queryData, { groupType: 'orderType', groupDateType: 'year' });
|
|
|
|
|
req.fetchJSON('/service-web/QueryData/GetTradeOrderByType', queryData).then((json) => {
|
|
|
|
|
if (json.errcode === 0) {
|
|
|
|
|
runInAction(() => {
|
|
|
|
|
this.topData[orderType].loading = false;
|
|
|
|
|