diff --git a/src/App.jsx b/src/App.jsx
index ddbe4ca..fd78c86 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -10,7 +10,8 @@ import {
CoffeeOutlined, DesktopOutlined,
WhatsAppOutlined,
ShoppingCartOutlined,
- GiftOutlined
+ GiftOutlined,
+ RocketOutlined
} from '@ant-design/icons';
import { Layout, Menu, Button } from 'antd';
import { BrowserRouter, Route, Routes, NavLink } from 'react-router-dom';
@@ -103,7 +104,7 @@ const App = () => {
],
},
{
- key: 20, label: '商旅市场', icon: ,
+ key: 20, label: '商务市场', icon: ,
children: [
{ key: 201, label: 订单数据 },
{ key: 202, label: TrainsUpsell },
diff --git a/src/libs/ht.js b/src/libs/ht.js
index a31a071..d584d37 100644
--- a/src/libs/ht.js
+++ b/src/libs/ht.js
@@ -61,6 +61,11 @@ export const groupsMappedByCode = groups.reduce((a, c) => ({ ...a, [String(c.cod
export const groupsMappedByKey = groups.reduce((a, c) => ({ ...a, [String(c.key)]: c }), {});
export const leafGroup = groups.slice(3);
export const overviewGroup = groups.slice(0, 3); // todo: 花梨鹰 APP Trippest
+export const groupsCTplus = [
+ // { value: '10,18', key: '10,18', label: 'CT商旅', code: 'CT+', children: [10, 18,] };
+ { value: '18', key: '18', label: 'CT', code: 'CT', children: [] },
+ { value: '10', key: '10', label: '商旅', code: '', children: [] },
+];
/**
* 来源
*/
diff --git a/src/views/biz/BizOrder.jsx b/src/views/biz/BizOrder.jsx
index f3fd429..8c194a1 100644
--- a/src/views/biz/BizOrder.jsx
+++ b/src/views/biz/BizOrder.jsx
@@ -1,7 +1,7 @@
import { useContext } from 'react';
-import { Row, Col, Tabs, Table, Divider, Spin } from 'antd';
+import { Row, Col, Tabs, Table, Divider, Spin, Checkbox, Space } from 'antd';
import { ContainerOutlined, BlockOutlined, SmileOutlined, MobileOutlined, CustomerServiceOutlined } from '@ant-design/icons';
-import { Line } from '@ant-design/charts';
+import { Line, Pie } from '@ant-design/charts';
import { NavLink } from 'react-router-dom';
import * as comm from '../../utils/commons';
import DateGroupRadio from '../../components/DateGroupRadio';
@@ -94,7 +94,27 @@ const BizOrder = observer(() => {
return ret;
},
},
- smooth: true,
+ // smooth: true,
+ };
+ const pieConfig = {
+ appendPadding: 10,
+ data: [],
+ angleField: 'OrderCount',
+ colorField: 'OrderType',
+ radius: 0.8,
+ label: {
+ type: 'outer',
+ content: '{name} {value} \n {percentage}',
+ },
+ legend: false, // 不显示图例
+ interactions: [
+ {
+ type: 'element-selected',
+ },
+ {
+ type: 'element-active',
+ },
+ ],
};
const tableProps = {
@@ -111,9 +131,7 @@ const BizOrder = observer(() => {
{showDiff ?
{result.ordercountTotal2?.groups}
: null}
),
- titleX:
- `${result.ordercountTotal1?.groups}` +
- (showDiff ? ` vs ${result.ordercountTotal2?.groups}` : ''),
+ titleX: `${result.ordercountTotal1?.groups}` + (showDiff ? ` vs ${result.ordercountTotal2?.groups}` : ''),
dataIndex: 'OrderType',
fixed: 'left',
render: (text, record) => {text},
@@ -395,14 +413,24 @@ const BizOrder = observer(() => {
};
})}
/>
-
-
- {/* */}
-
-
- {/* */}
-
-
+
+
+
+
+
各项占比
+ {/* setIsShowEmpty(e.target.checked)}
+ >
+ 包含空值
+ */}
+
+
+
+
+
+
+
diff --git a/src/views/biz/reports/TrainsUpsell.jsx b/src/views/biz/reports/TrainsUpsell.jsx
index 7716df7..a22402a 100644
--- a/src/views/biz/reports/TrainsUpsell.jsx
+++ b/src/views/biz/reports/TrainsUpsell.jsx
@@ -16,18 +16,19 @@ const buildFunnelData = (data1, data2) => {
const data01 = [
{ stage: '火车票预定', number: data1?.data?.[0]?.OrderCount, dateRange: data1?.dateRangeStr },
{ stage: '成行出票', number: data1?.data?.[0]?.CJCount, dateRange: data1?.dateRangeStr },
- { stage: '火车票upsell', number: (data1?.data?.[1]?.OrderCount || 0) + 0, dateRange: data1?.dateRangeStr },
- { stage: '成行', number: data1?.data?.[1]?.CJCount, dateRange: data1?.dateRangeStr },
+ { stage: '火车票Upsell', number: (data1?.data?.[1]?.OrderCount || 0) + 0, dateRange: data1?.dateRangeStr },
+ { stage: 'Upsell成行', number: data1?.data?.[1]?.CJCount, dateRange: data1?.dateRangeStr },
];
const data02 = !comm.isEmpty(data2)
? [
{ stage: '火车票预定', number: data2?.data?.[0]?.OrderCount, dateRange: data2?.dateRangeStr },
{ stage: '成行出票', number: data2?.data?.[0]?.CJCount, dateRange: data2?.dateRangeStr },
- { stage: '火车票upsell', number: data2?.data?.[1]?.OrderCount, dateRange: data2?.dateRangeStr },
- { stage: '成行', number: data2?.data?.[1]?.CJCount, dateRange: data2?.dateRangeStr },
+ { stage: '火车票Upsell', number: data2?.data?.[1]?.OrderCount, dateRange: data2?.dateRangeStr },
+ { stage: 'Upsell成行', number: data2?.data?.[1]?.CJCount, dateRange: data2?.dateRangeStr },
]
: [];
return data01.concat(data02);
+ // return data02.concat(data01);
};
@@ -50,6 +51,18 @@ const TrainsUpsell = observer(({ ...props }) => {
compareField: showDiff ? 'dateRange' : false,
// isTransposed: true,
legend: false,
+ // tooltip: {
+ // shared: true,
+ // showMarkers: false,
+ // showTitle: false,
+ // },
+ label: {
+ position: 'right',
+ // offsetX: 10,
+ style: {
+ fill: '#002c45',
+ },
+ },
shape: 'pyramid',
theme: {
colors10: [
diff --git a/src/zustand/Trains.js b/src/zustand/Trains.js
index af8ae85..356b4f8 100644
--- a/src/zustand/Trains.js
+++ b/src/zustand/Trains.js
@@ -1,7 +1,7 @@
import { create } from 'zustand';
import { devtools } from 'zustand/middleware';
import { immer } from 'zustand/middleware/immer';
-import { groupsMappedByCode } from '../libs/ht';
+import { groupsCTplus, groupsMappedByCode } from '../libs/ht';
import { fetchJSON } from '../utils/request';
import { HT_HOST } from '../config';
import { resultDataCb } from '../components/DateGroupRadio/date';
@@ -106,7 +106,7 @@ const initialState = {
DateType: { key: 'applyDate', label: '提交日期' },
WebCode: { key: 'all', label: '所有来源' },
IncludeTickets: { key: '1', label: '含门票' },
- DepartmentList: groupsMappedByCode.CTX, // { key: 'All', label: '所有来源' }, //
+ DepartmentList: groupsCTplus, // groupsMappedByCode.CTX, // { key: 'All', label: '所有来源' }, //
},
searchValuesToSub: {
DateType: 'applyDate',