|
|
@ -1,3 +1,4 @@
|
|
|
|
|
|
|
|
import moment from 'moment';
|
|
|
|
import { fixTo4Decimals, fixTo1Decimals, fixToInt, groupBy, sortBy, cloneDeep, pick, unique, flush, fixTo2Decimals, isEmpty } from '../utils/commons';
|
|
|
|
import { fixTo4Decimals, fixTo1Decimals, fixToInt, groupBy, sortBy, cloneDeep, pick, unique, flush, fixTo2Decimals, isEmpty } from '../utils/commons';
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -294,10 +295,14 @@ export const pivotBy = (_data, [rows, columns, date]) => {
|
|
|
|
// if (groupbyKeys.includes('PPPriceRange')) {
|
|
|
|
// if (groupbyKeys.includes('PPPriceRange')) {
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// 补充计算的字段
|
|
|
|
// 补充计算的字段
|
|
|
|
const RTXF_WB_values = cloneDeep(_data).map(ele => ele.RTXF_WB);
|
|
|
|
const RTXF_WB_values = cloneDeep(_data).map(ele => ele.RTXF_WB); // 人天消费
|
|
|
|
// const max_RTXF_WB = Math.max(...RTXF_WB_values);
|
|
|
|
// const max_RTXF_WB = Math.max(...RTXF_WB_values);
|
|
|
|
const RTXF_WB_range = calculateRangeScale(RTXF_WB_values);
|
|
|
|
const RTXF_WB_range = calculateRangeScale(RTXF_WB_values);
|
|
|
|
let data = cloneDeep(_data).map(ele => {
|
|
|
|
let data = cloneDeep(_data).map(ele => {
|
|
|
|
|
|
|
|
ele.startYearMonth = ele.startDate ? moment(ele.startDate).format('YYYY-MM') : '';
|
|
|
|
|
|
|
|
ele.startMonth = ele.startDate ? moment(ele.startDate).format('MM') : '';
|
|
|
|
|
|
|
|
ele.applyYearMonth = ele.applyDate ? moment(ele.applyDate).format('YYYY-MM') : '';
|
|
|
|
|
|
|
|
ele.applyMonth = ele.applyDate ? moment(ele.applyDate).format('MM') : '';
|
|
|
|
ele.PPPrice = (Number(ele.orderState) === 1 && ele.tourdays && ele.personNum) ? fixToInt(ele.quotePrice / ele.tourdays / ele.personNum) : -1; // 报价: 人均天
|
|
|
|
ele.PPPrice = (Number(ele.orderState) === 1 && ele.tourdays && ele.personNum) ? fixToInt(ele.quotePrice / ele.tourdays / ele.personNum) : -1; // 报价: 人均天
|
|
|
|
ele.PPPriceRange = calcPPPriceRange(ele.PPPrice);
|
|
|
|
ele.PPPriceRange = calcPPPriceRange(ele.PPPrice);
|
|
|
|
ele.RTXF_WB_range = findRange(ele.RTXF_WB, RTXF_WB_range);
|
|
|
|
ele.RTXF_WB_range = findRange(ele.RTXF_WB, RTXF_WB_range);
|
|
|
@ -316,7 +321,7 @@ export const pivotBy = (_data, [rows, columns, date]) => {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
// 数组的字段值, 拆分处理
|
|
|
|
// 数组的字段值, 拆分处理
|
|
|
|
if (groupbyKeys.includes('destinationCountry_AsJOSN')) {
|
|
|
|
if (groupbyKeys.includes('destinationCountry_AsJOSN')) {
|
|
|
|
data = _data.reduce((r, v, i) => {
|
|
|
|
data = data.reduce((r, v, i) => {
|
|
|
|
const vjson = isEmpty(v.destinationCountry_AsJOSN) ? [] : v.destinationCountry_AsJOSN;
|
|
|
|
const vjson = isEmpty(v.destinationCountry_AsJOSN) ? [] : v.destinationCountry_AsJOSN;
|
|
|
|
const xv = (vjson).reduce((rv, cv, vi) => {
|
|
|
|
const xv = (vjson).reduce((rv, cv, vi) => {
|
|
|
|
rv.push({...v, destinationCountry_AsJOSN: cv, key: vi === 0 ? v.key : `${v.key}@${cv}`});
|
|
|
|
rv.push({...v, destinationCountry_AsJOSN: cv, key: vi === 0 ? v.key : `${v.key}@${cv}`});
|
|
|
@ -328,7 +333,7 @@ export const pivotBy = (_data, [rows, columns, date]) => {
|
|
|
|
}, []);
|
|
|
|
}, []);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (groupbyKeys.includes('destinations_AsJOSN')) {
|
|
|
|
if (groupbyKeys.includes('destinations_AsJOSN')) {
|
|
|
|
data = _data.reduce((r, v, i) => {
|
|
|
|
data = data.reduce((r, v, i) => {
|
|
|
|
const vjson = isEmpty(v.destinations_AsJOSN) ? [] : v.destinations_AsJOSN;
|
|
|
|
const vjson = isEmpty(v.destinations_AsJOSN) ? [] : v.destinations_AsJOSN;
|
|
|
|
const xv = (vjson).reduce((rv, cv, vi) => {
|
|
|
|
const xv = (vjson).reduce((rv, cv, vi) => {
|
|
|
|
rv.push({...v, destinations_AsJOSN: cv, key: vi === 0 ? v.key : `${v.key}@${cv}`});
|
|
|
|
rv.push({...v, destinations_AsJOSN: cv, key: vi === 0 ? v.key : `${v.key}@${cv}`});
|
|
|
|