|
|
|
|
@ -6,7 +6,8 @@ import { Line, Pie, } from "@ant-design/charts";
|
|
|
|
|
import { observer } from "mobx-react";
|
|
|
|
|
import * as config from "../config";
|
|
|
|
|
import { NavLink } from "react-router-dom";
|
|
|
|
|
import * as comm from "../utils/commons";
|
|
|
|
|
import * as comm from '@haina/utils-commons';
|
|
|
|
|
import { show_vs_tag } from './../utils/commons';
|
|
|
|
|
import { utils, writeFileXLSX } from "xlsx";
|
|
|
|
|
import DateGroupRadio from '../components/DateGroupRadio';
|
|
|
|
|
import SearchForm from './../components/search/SearchForm';
|
|
|
|
|
@ -23,7 +24,7 @@ class Orders extends Component {
|
|
|
|
|
format_data(data) {
|
|
|
|
|
const { date_picker_store, orders_store } = this.context;
|
|
|
|
|
const result = { dataSource: [], columns: [] };
|
|
|
|
|
if (!comm.empty(data)) {
|
|
|
|
|
if (!comm.emptyValue(data)) {
|
|
|
|
|
const ordercountTotal1 = data.ordercountTotal1;
|
|
|
|
|
const ordercountTotal2 = data.ordercountTotal2;
|
|
|
|
|
if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) {
|
|
|
|
|
@ -57,7 +58,7 @@ class Orders extends Component {
|
|
|
|
|
title: '数量',
|
|
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
title: comm.show_vs_tag(ordercountTotal1.OrderCount_vs, ordercountTotal1.OrderCount_diff, ordercountTotal1.OrderCount, ordercountTotal2.OrderCount),
|
|
|
|
|
title: show_vs_tag(ordercountTotal1.OrderCount_vs, ordercountTotal1.OrderCount_diff, ordercountTotal1.OrderCount, ordercountTotal2.OrderCount),
|
|
|
|
|
titleX: [ordercountTotal1.OrderCount, ordercountTotal2.OrderCount].join(' vs '),
|
|
|
|
|
dataIndex: 'OrderCount',
|
|
|
|
|
},
|
|
|
|
|
@ -67,7 +68,7 @@ class Orders extends Component {
|
|
|
|
|
title: '成交数',
|
|
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
title: comm.show_vs_tag(ordercountTotal1.CJCount_vs, ordercountTotal1.CJCount_diff, ordercountTotal1.CJCount, ordercountTotal2.CJCount),
|
|
|
|
|
title: show_vs_tag(ordercountTotal1.CJCount_vs, ordercountTotal1.CJCount_diff, ordercountTotal1.CJCount, ordercountTotal2.CJCount),
|
|
|
|
|
titleX: [ordercountTotal1.CJCount, ordercountTotal2.CJCount].join(' vs '),
|
|
|
|
|
dataIndex: 'CJCount',
|
|
|
|
|
},
|
|
|
|
|
@ -77,7 +78,7 @@ class Orders extends Component {
|
|
|
|
|
title: '成交人数',
|
|
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
title: comm.show_vs_tag(ordercountTotal1.CJPersonNum_vs, ordercountTotal1.CJPersonNum_diff, ordercountTotal1.CJPersonNum, ordercountTotal2.CJPersonNum),
|
|
|
|
|
title: show_vs_tag(ordercountTotal1.CJPersonNum_vs, ordercountTotal1.CJPersonNum_diff, ordercountTotal1.CJPersonNum, ordercountTotal2.CJPersonNum),
|
|
|
|
|
titleX: [ordercountTotal1.CJPersonNum, ordercountTotal2.CJPersonNum].join(' vs '),
|
|
|
|
|
dataIndex: 'CJPersonNum',
|
|
|
|
|
},
|
|
|
|
|
@ -87,7 +88,7 @@ class Orders extends Component {
|
|
|
|
|
title: '成交率',
|
|
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
title: comm.show_vs_tag(ordercountTotal1.CJrate_vs, ordercountTotal1.CJrate_diff, ordercountTotal1.CJrate, ordercountTotal2.CJrate),
|
|
|
|
|
title: show_vs_tag(ordercountTotal1.CJrate_vs, ordercountTotal1.CJrate_diff, ordercountTotal1.CJrate, ordercountTotal2.CJrate),
|
|
|
|
|
titleX: [ordercountTotal1.CJrate, ordercountTotal2.CJrate].join(' vs '),
|
|
|
|
|
dataIndex: 'CJrate',
|
|
|
|
|
},
|
|
|
|
|
@ -97,7 +98,7 @@ class Orders extends Component {
|
|
|
|
|
title: '成交毛利(预计)',
|
|
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
title: comm.show_vs_tag(ordercountTotal1.YJLY_vs, ordercountTotal1.YJLY_diff, ordercountTotal1.YJLY, ordercountTotal2.YJLY),
|
|
|
|
|
title: show_vs_tag(ordercountTotal1.YJLY_vs, ordercountTotal1.YJLY_diff, ordercountTotal1.YJLY, ordercountTotal2.YJLY),
|
|
|
|
|
titleX: [ordercountTotal1.YJLY, ordercountTotal2.YJLY].join(' vs '),
|
|
|
|
|
dataIndex: 'YJLY',
|
|
|
|
|
},
|
|
|
|
|
@ -108,7 +109,7 @@ class Orders extends Component {
|
|
|
|
|
title: '单个订单价值',
|
|
|
|
|
children: [
|
|
|
|
|
{
|
|
|
|
|
title: comm.show_vs_tag(ordercountTotal1.Ordervalue_vs, ordercountTotal1.Ordervalue_diff, ordercountTotal1.Ordervalue, ordercountTotal2.Ordervalue),
|
|
|
|
|
title: show_vs_tag(ordercountTotal1.Ordervalue_vs, ordercountTotal1.Ordervalue_diff, ordercountTotal1.Ordervalue, ordercountTotal2.Ordervalue),
|
|
|
|
|
titleX: [ordercountTotal1.Ordervalue, ordercountTotal2.Ordervalue].join(' vs '),
|
|
|
|
|
dataIndex: 'Ordervalue',
|
|
|
|
|
},
|
|
|
|
|
@ -127,17 +128,17 @@ class Orders extends Component {
|
|
|
|
|
key: item.key,
|
|
|
|
|
OrderType: item.OrderType,
|
|
|
|
|
OrderTypeSN: item.OrderTypeSN,
|
|
|
|
|
OrderCount: comm.show_vs_tag(item.OrderCount_vs, item.OrderCount_diff, item.OrderCount, item2.OrderCount),
|
|
|
|
|
OrderCount: show_vs_tag(item.OrderCount_vs, item.OrderCount_diff, item.OrderCount, item2.OrderCount),
|
|
|
|
|
OrderCount_X: ([item.OrderCount, item2.OrderCount].join(' vs ')),
|
|
|
|
|
CJCount: comm.show_vs_tag(item.CJCount_vs, item.CJCount_diff, item.CJCount, item2.CJCount),
|
|
|
|
|
CJCount: show_vs_tag(item.CJCount_vs, item.CJCount_diff, item.CJCount, item2.CJCount),
|
|
|
|
|
CJCount_X: ([item.CJCount, item2.CJCount].join(' vs ')),
|
|
|
|
|
CJPersonNum: comm.show_vs_tag(item.CJPersonNum_vs, item.CJPersonNum_diff, item.CJPersonNum, item2.CJPersonNum),
|
|
|
|
|
CJPersonNum: show_vs_tag(item.CJPersonNum_vs, item.CJPersonNum_diff, item.CJPersonNum, item2.CJPersonNum),
|
|
|
|
|
CJPersonNum_X: ([item.CJPersonNum, item2.CJPersonNum].join(' vs ')),
|
|
|
|
|
CJrate: comm.show_vs_tag(item.CJrate_vs, item.CJrate_diff, item.CJrate, item2.CJrate),
|
|
|
|
|
CJrate: show_vs_tag(item.CJrate_vs, item.CJrate_diff, item.CJrate, item2.CJrate),
|
|
|
|
|
CJrate_X: ([item.CJrate, item2.CJrate].join(' vs ')),
|
|
|
|
|
YJLY: comm.show_vs_tag(item.YJLY_vs, item.YJLY_diff, item.YJLY, item2.YJLY),
|
|
|
|
|
YJLY: show_vs_tag(item.YJLY_vs, item.YJLY_diff, item.YJLY, item2.YJLY),
|
|
|
|
|
YJLY_X: ([item.YJLY, item2.YJLY].join(' vs ')),
|
|
|
|
|
Ordervalue: comm.show_vs_tag(item.Ordervalue_vs, item.Ordervalue_diff, item.Ordervalue, item2.Ordervalue),
|
|
|
|
|
Ordervalue: show_vs_tag(item.Ordervalue_vs, item.Ordervalue_diff, item.Ordervalue, item2.Ordervalue),
|
|
|
|
|
Ordervalue_X: ([item.Ordervalue, item2.Ordervalue].join(' vs ')),
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
@ -148,17 +149,17 @@ class Orders extends Component {
|
|
|
|
|
key: item.key,
|
|
|
|
|
OrderType: item.OrderType,
|
|
|
|
|
OrderTypeSN: item.OrderTypeSN,
|
|
|
|
|
OrderCount: comm.show_vs_tag(comm.formatPercent(item.OrderCount), item.OrderCount, item.OrderCount, 0),
|
|
|
|
|
OrderCount: show_vs_tag(comm.formatPercent(item.OrderCount), item.OrderCount, item.OrderCount, 0),
|
|
|
|
|
OrderCount_X: ([item.OrderCount, 0].join(' vs ')),
|
|
|
|
|
CJCount: comm.show_vs_tag(comm.formatPercent(item.CJCount), item.CJCount, item.CJCount, 0),
|
|
|
|
|
CJCount: show_vs_tag(comm.formatPercent(item.CJCount), item.CJCount, item.CJCount, 0),
|
|
|
|
|
CJCount_X: ([item.CJCount, 0].join(' vs ')),
|
|
|
|
|
CJPersonNum: comm.show_vs_tag(comm.formatPercent(item.CJPersonNum), item.CJPersonNum, item.CJPersonNum, 0),
|
|
|
|
|
CJPersonNum: show_vs_tag(comm.formatPercent(item.CJPersonNum), item.CJPersonNum, item.CJPersonNum, 0),
|
|
|
|
|
CJPersonNum_X: ([item.CJPersonNum, 0].join(' vs ')),
|
|
|
|
|
CJrate: comm.show_vs_tag(item.CJrate, item.CJrate, item.CJrate, 0),
|
|
|
|
|
CJrate: show_vs_tag(item.CJrate, item.CJrate, item.CJrate, 0),
|
|
|
|
|
CJrate_X: ([item.CJrate, 0].join(' vs ')),
|
|
|
|
|
YJLY: comm.show_vs_tag(comm.formatPercent(item.YJLY), item.YJLY, item.YJLY, 0),
|
|
|
|
|
YJLY: show_vs_tag(comm.formatPercent(item.YJLY), item.YJLY, item.YJLY, 0),
|
|
|
|
|
YJLY_X: ([item.YJLY, 0].join(' vs ')),
|
|
|
|
|
Ordervalue: comm.show_vs_tag(comm.formatPercent(item.Ordervalue), item.Ordervalue, item.Ordervalue, 0),
|
|
|
|
|
Ordervalue: show_vs_tag(comm.formatPercent(item.Ordervalue), item.Ordervalue, item.Ordervalue, 0),
|
|
|
|
|
Ordervalue_X: ([item.Ordervalue, 0].join(' vs ')),
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
@ -176,17 +177,17 @@ class Orders extends Component {
|
|
|
|
|
key: item2.key,
|
|
|
|
|
OrderType: item2.OrderType,
|
|
|
|
|
OrderTypeSN: item2.OrderTypeSN,
|
|
|
|
|
OrderCount: comm.show_vs_tag(comm.formatPercent(-item2.OrderCount), -item2.OrderCount, 0, item2.OrderCount),
|
|
|
|
|
OrderCount: show_vs_tag(comm.formatPercent(-item2.OrderCount), -item2.OrderCount, 0, item2.OrderCount),
|
|
|
|
|
OrderCount_X: ([ 0, item2.OrderCount].join(' vs ')),
|
|
|
|
|
CJCount: comm.show_vs_tag(comm.formatPercent(-item2.CJCount), -item2.CJCount, 0, item2.CJCount),
|
|
|
|
|
CJCount: show_vs_tag(comm.formatPercent(-item2.CJCount), -item2.CJCount, 0, item2.CJCount),
|
|
|
|
|
CJCount_X: ([ 0, item2.CJCount].join(' vs ')),
|
|
|
|
|
CJPersonNum: comm.show_vs_tag(comm.formatPercent(-item2.CJPersonNum), -item2.CJPersonNum, 0, item2.CJPersonNum),
|
|
|
|
|
CJPersonNum: show_vs_tag(comm.formatPercent(-item2.CJPersonNum), -item2.CJPersonNum, 0, item2.CJPersonNum),
|
|
|
|
|
CJPersonNum_X: ([0, item2.CJPersonNum].join(' vs ')),
|
|
|
|
|
CJrate: comm.show_vs_tag(-item2.CJrate, -item2.CJrate, 0, item2.CJrate),
|
|
|
|
|
CJrate: show_vs_tag(-item2.CJrate, -item2.CJrate, 0, item2.CJrate),
|
|
|
|
|
CJrate_X: ([ 0, item2.CJrate].join(' vs ')),
|
|
|
|
|
YJLY: comm.show_vs_tag(comm.formatPercent(-item2.YJLY), -item2.YJLY, 0, item2.YJLY),
|
|
|
|
|
YJLY: show_vs_tag(comm.formatPercent(-item2.YJLY), -item2.YJLY, 0, item2.YJLY),
|
|
|
|
|
YJLY_X: ([0, item2.YJLY].join(' vs ')),
|
|
|
|
|
Ordervalue: comm.show_vs_tag(comm.formatPercent(-item2.Ordervalue), -item2.Ordervalue, 0, item2.Ordervalue),
|
|
|
|
|
Ordervalue: show_vs_tag(comm.formatPercent(-item2.Ordervalue), -item2.Ordervalue, 0, item2.Ordervalue),
|
|
|
|
|
Ordervalue_X: ([ 0, item2.Ordervalue].join(' vs ')),
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
@ -255,10 +256,10 @@ class Orders extends Component {
|
|
|
|
|
const table_data = orders_store.orderCountData_Form ? this.format_data(orders_store.orderCountData_Form) : [];
|
|
|
|
|
const data_source = orders_store.orderCountData ? orders_store.orderCountData : [];
|
|
|
|
|
const avg_line_y = Math.round(orders_store.avgLine1);
|
|
|
|
|
const pie_data = comm.empty(orders_store.orderCountData_Form)
|
|
|
|
|
const pie_data = comm.emptyValue(orders_store.orderCountData_Form)
|
|
|
|
|
? []
|
|
|
|
|
: orders_store.orderCountData_Form.ordercount1.map((ele) => ({ ...ele, YJLYx: comm.price_to_number(ele.YJLY) })); // 饼图的显示
|
|
|
|
|
const pie_data2 = comm.empty(orders_store.orderCountData_Form)
|
|
|
|
|
const pie_data2 = comm.emptyValue(orders_store.orderCountData_Form)
|
|
|
|
|
? []
|
|
|
|
|
: orders_store.orderCountData_Form.ordercount2.map((ele) => ({ ...ele, YJLYx: comm.price_to_number(ele.YJLY) }));
|
|
|
|
|
|
|
|
|
|
|