|
|
|
@ -19,8 +19,6 @@ class Trade {
|
|
|
|
|
const curQueryData = cloneDeep(queryData);
|
|
|
|
|
curQueryData.groupType = curQueryData?.groupType || 'overview';
|
|
|
|
|
curQueryData.groupDateType = 'year';
|
|
|
|
|
curQueryData.DateDiff1 = moment(curQueryData.Date1).subtract(1, 'year').format(DATE_FORMAT);
|
|
|
|
|
curQueryData.DateDiff2 = moment(curQueryData.Date2).subtract(1, 'year').format(SMALL_DATETIME_FORMAT);
|
|
|
|
|
const multiData = await this.fetchTradeDataAll((curQueryData));
|
|
|
|
|
const { summary, traditional, biz } = multiData.result1;
|
|
|
|
|
const { summary: summary2, traditional: traditional2, biz: biz2 } = multiData.result2;
|
|
|
|
@ -29,9 +27,10 @@ class Trade {
|
|
|
|
|
loading: false,
|
|
|
|
|
dataSource: [
|
|
|
|
|
{
|
|
|
|
|
title: '成团',col: 6,
|
|
|
|
|
title: '成团',
|
|
|
|
|
col: 6,
|
|
|
|
|
value: summary?.[0]?.ConfirmOrder,
|
|
|
|
|
originVal: (summary?.[0]?.ConfirmOrder || 0),
|
|
|
|
|
originVal: summary?.[0]?.ConfirmOrder || 0,
|
|
|
|
|
valueSuffix: undefined,
|
|
|
|
|
// valueSuffix: summary?.[0]?.ConfirmRates ? ` / ${summary?.[0]?.ConfirmRates} %` : undefined,
|
|
|
|
|
// VSrate: summary?.[0]?.ConfirmOrderrate,
|
|
|
|
@ -42,59 +41,83 @@ class Trade {
|
|
|
|
|
kpiVal: summary?.[0]?.[dataFieldAlias.ConfirmOrder.nestkey.v],
|
|
|
|
|
traditional: { title: '传统', value: traditional?.[0]?.ConfirmOrder },
|
|
|
|
|
biz: { title: '商务', value: biz?.[0]?.ConfirmOrder },
|
|
|
|
|
diff: {
|
|
|
|
|
label: summary2?.[0]?.groupDateVal || '对比',
|
|
|
|
|
value: summary2?.[0]?.ConfirmOrder || 0,
|
|
|
|
|
VSrate: summary2?.[0]?.ConfirmOrder ? fixTo2Decimals((summary?.[0]?.ConfirmOrder - summary2?.[0]?.ConfirmOrder)/summary2?.[0]?.ConfirmOrder*100) : null ,
|
|
|
|
|
},
|
|
|
|
|
...(summary2?.[0]
|
|
|
|
|
? {
|
|
|
|
|
diff: {
|
|
|
|
|
label: summary2[0]?.groupDateVal || '对比',
|
|
|
|
|
value: summary2[0]?.ConfirmOrder || 0,
|
|
|
|
|
VSrate: summary2[0]?.ConfirmOrder ? fixTo2Decimals(((summary[0]?.ConfirmOrder - summary2[0]?.ConfirmOrder) / summary2[0]?.ConfirmOrder) * 100) : null,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
: {}),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '毛利',col: 8,
|
|
|
|
|
originVal: (summary?.[0]?.SumML || 0),
|
|
|
|
|
value: dataFieldAlias.SumML.formatter(summary?.[0]?.SumML || 0) + '=' + dataFieldAlias.SumML.formatter((traditional?.[0]?.SumML || 0)) + '+' + dataFieldAlias.SumML.formatter((biz?.[0]?.SumML || 0)),
|
|
|
|
|
title: '毛利',
|
|
|
|
|
col: 8,
|
|
|
|
|
originVal: summary?.[0]?.SumML || 0,
|
|
|
|
|
value:
|
|
|
|
|
dataFieldAlias.SumML.formatter(summary?.[0]?.SumML || 0) +
|
|
|
|
|
'=' +
|
|
|
|
|
dataFieldAlias.SumML.formatter(traditional?.[0]?.SumML || 0) +
|
|
|
|
|
'+' +
|
|
|
|
|
dataFieldAlias.SumML.formatter(biz?.[0]?.SumML || 0),
|
|
|
|
|
KPIrate: summary?.[0]?.[dataFieldAlias.SumML.nestkey.p],
|
|
|
|
|
hasKPI: false,
|
|
|
|
|
childrenVisible: true,
|
|
|
|
|
kpiVal: summary?.[0]?.[dataFieldAlias.SumML.nestkey.v],
|
|
|
|
|
traditional: { title: '传统', value: (traditional?.[0]?.SumML || 0) },
|
|
|
|
|
biz: { title: '商务', value: (biz?.[0]?.SumML || 0) },
|
|
|
|
|
diff: {
|
|
|
|
|
label: summary2?.[0]?.groupDateVal || '对比',
|
|
|
|
|
value: dataFieldAlias.SumML.formatter(summary2?.[0]?.SumML || 0),
|
|
|
|
|
VSrate: summary2?.[0]?.SumML ? fixTo2Decimals((summary?.[0]?.SumML - summary2?.[0]?.SumML)/summary2?.[0]?.SumML*100) : null ,
|
|
|
|
|
},
|
|
|
|
|
traditional: { title: '传统', value: traditional?.[0]?.SumML || 0 },
|
|
|
|
|
biz: { title: '商务', value: biz?.[0]?.SumML || 0 },
|
|
|
|
|
...(summary2?.[0]
|
|
|
|
|
? {
|
|
|
|
|
diff: {
|
|
|
|
|
label: summary2[0]?.groupDateVal || '对比',
|
|
|
|
|
value: dataFieldAlias.SumML.formatter(summary2[0]?.SumML || 0),
|
|
|
|
|
VSrate: summary2[0]?.SumML ? fixTo2Decimals(((summary?.[0]?.SumML - summary2[0]?.SumML) / summary2[0]?.SumML) * 100) : null,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
: {}),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '完成率',col: 5,
|
|
|
|
|
originVal: (summary?.[0]?.[dataFieldAlias.SumML.nestkey.p] || 0),
|
|
|
|
|
title: '完成率',
|
|
|
|
|
col: 5,
|
|
|
|
|
originVal: summary?.[0]?.[dataFieldAlias.SumML.nestkey.p] || 0,
|
|
|
|
|
value: `${summary?.[0]?.[dataFieldAlias.SumML.nestkey.p] || ''}%`,
|
|
|
|
|
hasKPI: false,
|
|
|
|
|
childrenVisible: false,
|
|
|
|
|
kpiVal: 0 , // summary?.[0]?.[dataFieldAlias.SumML.nestkey.p],
|
|
|
|
|
traditional: { title: '传统', value: traditional?.[0]?.[dataFieldAlias.SumML.nestkey.p] || 0, },
|
|
|
|
|
biz: { title: '商务', value: biz?.[0]?.[dataFieldAlias.SumML.nestkey.p] || 0, },
|
|
|
|
|
diff: {
|
|
|
|
|
label: summary2?.[0]?.groupDateVal || '对比',
|
|
|
|
|
value: `${summary2?.[0]?.[dataFieldAlias.SumML.nestkey.p] || '-'}%`,
|
|
|
|
|
VSrate: null ,
|
|
|
|
|
},
|
|
|
|
|
kpiVal: 0, // summary?.[0]?.[dataFieldAlias.SumML.nestkey.p],
|
|
|
|
|
traditional: { title: '传统', value: traditional?.[0]?.[dataFieldAlias.SumML.nestkey.p] || 0 },
|
|
|
|
|
biz: { title: '商务', value: biz?.[0]?.[dataFieldAlias.SumML.nestkey.p] || 0 },
|
|
|
|
|
...(summary2?.[0]
|
|
|
|
|
? {
|
|
|
|
|
diff: {
|
|
|
|
|
label: summary2[0]?.groupDateVal || '对比',
|
|
|
|
|
value: `${summary2[0]?.[dataFieldAlias.SumML.nestkey.p] || '-'}%`,
|
|
|
|
|
VSrate: null,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
: {}),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '人数', col: 5,
|
|
|
|
|
originVal: (summary?.[0]?.SumPersonNum || 0),
|
|
|
|
|
title: '人数',
|
|
|
|
|
col: 5,
|
|
|
|
|
originVal: summary?.[0]?.SumPersonNum || 0,
|
|
|
|
|
value: summary?.[0]?.SumPersonNum,
|
|
|
|
|
// VSrate: summary?.[0]?.SumPersonNumrate,
|
|
|
|
|
// KPIrate: summary?.[0]?.[dataFieldAlias.SumPersonNum.nestkey.p],
|
|
|
|
|
hasKPI: false, // // !isEmpty(summary?.[0]?.[dataFieldAlias.SumPersonNum.nestkey.p]),,
|
|
|
|
|
childrenVisible: true,
|
|
|
|
|
// kpiVal: summary?.[0]?.[dataFieldAlias.SumPersonNum.nestkey.v],
|
|
|
|
|
traditional: { title: '传统', value: traditional?.[0]?.SumPersonNum, },
|
|
|
|
|
biz: { title: '商务', value: biz?.[0]?.SumPersonNum, },
|
|
|
|
|
diff: {
|
|
|
|
|
label: summary2?.[0]?.groupDateVal || '对比',
|
|
|
|
|
value: summary2?.[0]?.SumPersonNum,
|
|
|
|
|
VSrate: summary2?.[0]?.SumPersonNum ? fixTo2Decimals((summary?.[0]?.SumPersonNum - summary2?.[0]?.SumPersonNum)/summary2?.[0]?.SumPersonNum*100) : null ,
|
|
|
|
|
},
|
|
|
|
|
traditional: { title: '传统', value: traditional?.[0]?.SumPersonNum },
|
|
|
|
|
biz: { title: '商务', value: biz?.[0]?.SumPersonNum },
|
|
|
|
|
...(summary2?.[0]
|
|
|
|
|
? {
|
|
|
|
|
diff: {
|
|
|
|
|
label: summary2[0]?.groupDateVal || '对比',
|
|
|
|
|
value: summary2[0]?.SumPersonNum || '',
|
|
|
|
|
VSrate: summary2[0]?.SumPersonNum ? fixTo2Decimals(((summary?.[0]?.SumPersonNum - summary2[0]?.SumPersonNum) / summary2[0]?.SumPersonNum) * 100) : null,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
: {}),
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
};
|
|
|
|
@ -115,7 +138,8 @@ class Trade {
|
|
|
|
|
Object.assign(queryData, { groupDateType: this.timeLineKey });
|
|
|
|
|
const multiData = await this.fetchTradeDataAll(cloneDeep(queryData));
|
|
|
|
|
const { traditional, biz } = multiData.result1;
|
|
|
|
|
// console.log(biz, 'mmmmmmmm', queryData, multiData);
|
|
|
|
|
const { summary: summary2, traditional: traditional2, biz: biz2 } = multiData.result2;
|
|
|
|
|
console.log(biz, 'mmmmmmmm', queryData, multiData);
|
|
|
|
|
const mergeData = [].concat(traditional, biz);
|
|
|
|
|
const dateKeyData = groupBy(mergeData, ele => ele.groupDateVal);
|
|
|
|
|
const sortByDateKey = Object.values(sortKeys(dateKeyData)).reduce( (a, b) => a.concat(b), []);
|
|
|
|
|