perf: 小组选择

feature/2.0-sales-trade
Lei OT 2 years ago
parent 7dc0d2e346
commit 0fc595256d

@ -31,6 +31,8 @@ export const groups = [
{ key: '30', label: 'Trippest', code: 'TP', children: [] },
{ key: '31', label: '花梨鹰', code: '', children: [] },
];
export const groupsMappedByCode = groups.reduce((a, c) => ({ ...a, [String(c.code || c.key)]: c }), {});
/**
* 来源
*/

@ -5,6 +5,7 @@ import * as config from "../config";
import * as comm from "../utils/commons";
import moment from "moment";
import { NavLink } from "react-router-dom";
import { groupsMappedByCode } from './../libs/ht';
class OrdersStore {
constructor(rootStore) {
@ -15,7 +16,7 @@ class OrdersStore {
loading = false;
site_select_mode = false; // 是否多选站点
group_select_mode = false;
groups = ["1,2,28,7,33"];
groups = [groupsMappedByCode.GH.key]; // 默认GH事业部
webcode = "ALL";
date_type = "applyDate";
include_tickets = "1"; // 是否包含门票1是含有0不含

@ -3,6 +3,7 @@ import moment from "moment";
import * as config from "../config";
import * as comm from "../utils/commons";
import { NavLink } from "react-router-dom";
import { groupsMappedByCode } from './../libs/ht';
// 销售数据
class SaleStore {
@ -16,7 +17,7 @@ class SaleStore {
spinning = false; // 加载状态
active_tab_key = "All"; // 当前选择的标签
group_select_mode = false;
groups = ["1,2,28,7,33"]; // 默认GH事业部
groups = [groupsMappedByCode.GH.key]; // 默认GH事业部
filter_country=[];// 筛选国籍
filter_guest_type=[];// 筛选客户关系
site_select_mode = false; // 是否多选站点

@ -8,6 +8,7 @@ import 'moment/locale/zh-cn';
import moment from 'moment';
import zhCNlocale from 'antd/es/date-picker/locale/zh_CN';
import { utils, writeFileXLSX } from 'xlsx';
import GroupSelect from './../components/search/GroupSelect';
const AgentGroupCount = () => {
const { customerServicesStore } = useContext(stores_Context);
@ -56,69 +57,10 @@ const AgentGroupCount = () => {
</Select>
</Col>
<Col span={4}>
<Select
style={{ width: '95%' }}
value={customerServicesStore.selectedTeam}
<GroupSelect value={customerServicesStore.selectedTeam}
onChange={(value) => customerServicesStore.selectTeam(value)}
>
<Select.Option key="0" value="">
所有小组
</Select.Option>
<Select.Option key="31" value="1,2,28,7">
GH事业部
</Select.Option>
<Select.Option key="32" value="8,9,11,12,20,21">
国际事业部
</Select.Option>
<Select.Option key="33" value="10,18,16,30">
孵化学院
</Select.Option>
<Select.Option key="1" value="1">
CH直销
</Select.Option>
<Select.Option key="2" value="2">
CH大客户
</Select.Option>
<Select.Option key="28" value="28">
AH
</Select.Option>
<Select.Option key="7" value="7">
市场推广
</Select.Option>
<Select.Option key="8" value="8">
德语
</Select.Option>
<Select.Option key="9" value="9">
日语
</Select.Option>
<Select.Option key="11" value="11">
法语
</Select.Option>
<Select.Option key="12" value="12">
西语
</Select.Option>
<Select.Option key="20" value="20">
俄语
</Select.Option>
<Select.Option key="21" value="21">
意语
</Select.Option>
<Select.Option key="10" value="10">
商旅
</Select.Option>
<Select.Option key="18" value="18">
CT
</Select.Option>
<Select.Option key="16" value="16">
APP
</Select.Option>
<Select.Option key="30" value="30">
Trippest
</Select.Option>
<Select.Option key="31" value="31">
花梨鹰
</Select.Option>
</Select>
style={{ width: '95%' }} show_all={true}
/>
</Col>
<Col span={4}>
<Select

@ -10,17 +10,18 @@ import { NavLink, useParams } from "react-router-dom";
import 'moment/locale/zh-cn';
import moment from "moment";
import zhCNlocale from 'antd/es/date-picker/locale/zh_CN';
import GroupSelect from './../components/search/GroupSelect';
const AgentGroupList = () => {
const {agentId} = useParams();
const { customerServicesStore } = useContext(stores_Context);
useEffect(() => {
customerServicesStore.fetchGroupListByAgentId(agentId);
}, []);
const groupList = customerServicesStore.groupList;
const groupList = customerServicesStore.groupList;
const groupListColumns = customerServicesStore.groupListColumns;
const {startDate, endDate, dateType, inProgress} = customerServicesStore;
@ -32,32 +33,11 @@ const AgentGroupList = () => {
<NavLink to={'/agent/group/count'}>返回</NavLink>
</Col>
<Col span={4}>
<Select
style={{ width: "95%" }}
value={customerServicesStore.selectedTeam}
<GroupSelect value={customerServicesStore.selectedTeam}
onChange={(value) => customerServicesStore.selectTeam(value)}
>
<Select.Option key="0" value="">所有小组</Select.Option>
<Select.Option key="31" value="1,2,28,7">GH事业部</Select.Option>
<Select.Option key="32" value="8,9,11,12,20,21">国际事业部</Select.Option>
<Select.Option key="33" value="10,18,16,30">孵化学院</Select.Option>
<Select.Option key="1" value="1">CH直销</Select.Option>
<Select.Option key="2" value="2">CH大客户</Select.Option>
<Select.Option key="28" value="28">AH</Select.Option>
<Select.Option key="7" value="7">市场推广</Select.Option>
<Select.Option key="8" value="8">德语</Select.Option>
<Select.Option key="9" value="9">日语</Select.Option>
<Select.Option key="11" value="11">法语</Select.Option>
<Select.Option key="12" value="12">西语</Select.Option>
<Select.Option key="20" value="20">俄语</Select.Option>
<Select.Option key="21" value="21">意语</Select.Option>
<Select.Option key="10" value="10">商旅</Select.Option>
<Select.Option key="18" value="18">CT</Select.Option>
<Select.Option key="16" value="16">APP</Select.Option>
<Select.Option key="30" value="30">Trippest</Select.Option>
<Select.Option key="31" value="31">花梨鹰</Select.Option>
</Select>
</Col>
style={{ width: '95%' }} show_all={true}
/>
</Col>
<Col span={4}>
<Select value={dateType} style={{ width: "95%" }} onChange={(value) => customerServicesStore.selectDateType(value)}>
<Select.Option key="1" value="startDate">
@ -69,7 +49,7 @@ const AgentGroupList = () => {
</Select>
</Col>
<Col span={4}>
<DatePicker.RangePicker
<DatePicker.RangePicker
format={config.DATE_FORMAT} locale={zhCNlocale}
allowClear={false}
value={[startDate, endDate]}
@ -102,13 +82,13 @@ const AgentGroupList = () => {
<Row>
<Col span={24}>
<Typography.Title level={3}>{customerServicesStore.agentCompany}</Typography.Title>
<Table
dataSource={groupList}
columns={groupListColumns}
size="small"
rowKey={(record) => record.key}
loading={inProgress}
pagination={false}
<Table
dataSource={groupList}
columns={groupListColumns}
size="small"
rowKey={(record) => record.key}
loading={inProgress}
pagination={false}
scroll={{ x: "100%" }}
expandable={{
expandedRowRender: (record) => (
@ -136,7 +116,7 @@ const AgentGroupList = () => {
</Row>
</Space>
</>
);
);
};
export default observer(AgentGroupList);

@ -10,6 +10,7 @@ import 'moment/locale/zh-cn';
import moment from "moment";
import zhCNlocale from 'antd/es/date-picker/locale/zh_CN';
import { utils, writeFileXLSX } from "xlsx";
import GroupSelect from './../components/search/GroupSelect';
const DestinationGroupCount = () => {
@ -31,31 +32,10 @@ const DestinationGroupCount = () => {
<Space direction="vertical" style={{ width: '100%' }}>
<Row gutter={{ md: 24 }} justify="end">
<Col span={4}>
<Select
style={{ width: "95%" }}
value={customerServicesStore.selectedTeam}
<GroupSelect value={customerServicesStore.selectedTeam}
onChange={(value) => customerServicesStore.selectTeam(value)}
>
<Select.Option key="0" value="">所有小组</Select.Option>
<Select.Option key="31" value="1,2,28,7">GH事业部</Select.Option>
<Select.Option key="32" value="8,9,11,12,20,21">国际事业部</Select.Option>
<Select.Option key="33" value="10,18,16,30">孵化学院</Select.Option>
<Select.Option key="1" value="1">CH直销</Select.Option>
<Select.Option key="2" value="2">CH大客户</Select.Option>
<Select.Option key="28" value="28">AH</Select.Option>
<Select.Option key="7" value="7">市场推广</Select.Option>
<Select.Option key="8" value="8">德语</Select.Option>
<Select.Option key="9" value="9">日语</Select.Option>
<Select.Option key="11" value="11">法语</Select.Option>
<Select.Option key="12" value="12">西语</Select.Option>
<Select.Option key="20" value="20">俄语</Select.Option>
<Select.Option key="21" value="21">意语</Select.Option>
<Select.Option key="10" value="10">商旅</Select.Option>
<Select.Option key="18" value="18">CT</Select.Option>
<Select.Option key="16" value="16">APP</Select.Option>
<Select.Option key="30" value="30">Trippest</Select.Option>
<Select.Option key="31" value="31">花梨鹰</Select.Option>
</Select>
style={{ width: '95%' }} show_all={true}
/>
</Col>
<Col span={2}>
<Select value={customerServicesStore.selectedCountry} style={{ width: "95%" }} onChange={(value) => customerServicesStore.selectCountry(value)}>
@ -149,4 +129,4 @@ const DestinationGroupCount = () => {
);
};
export default observer(DestinationGroupCount);
export default observer(DestinationGroupCount);

@ -10,17 +10,18 @@ import { NavLink, useParams } from "react-router-dom";
import 'moment/locale/zh-cn';
import moment from "moment";
import zhCNlocale from 'antd/es/date-picker/locale/zh_CN';
import GroupSelect from './../components/search/GroupSelect';
const DestinationGroupList = () => {
const {destinationId} = useParams();
const { customerServicesStore } = useContext(stores_Context);
useEffect(() => {
customerServicesStore.fetchGroupListByDestinationId(destinationId);
}, []);
const destinationGroupList = customerServicesStore.destinationGroupList;
const destinationGroupList = customerServicesStore.destinationGroupList;
const destinationGroupListColumns = customerServicesStore.destinationGroupListColumns;
const {startDate, endDate, dateType, inProgress} = customerServicesStore;
@ -32,31 +33,11 @@ const DestinationGroupList = () => {
<NavLink to={'/destination/group/count'}>返回</NavLink>
</Col>
<Col span={4}>
<Select
style={{ width: "95%" }}
value={customerServicesStore.selectedTeam}
<GroupSelect value={customerServicesStore.selectedTeam}
onChange={(value) => customerServicesStore.selectTeam(value)}
>
<Select.Option key="0" value="">所有小组</Select.Option>
<Select.Option key="31" value="1,2,28,7">GH事业部</Select.Option>
<Select.Option key="32" value="8,9,11,12,20,21">国际事业部</Select.Option>
<Select.Option key="33" value="10,18,16,30">孵化学院</Select.Option>
<Select.Option key="1" value="1">CH直销</Select.Option>
<Select.Option key="2" value="2">CH大客户</Select.Option>
<Select.Option key="28" value="28">AH</Select.Option>
<Select.Option key="7" value="7">市场推广</Select.Option>
<Select.Option key="8" value="8">德语</Select.Option>
<Select.Option key="9" value="9">日语</Select.Option>
<Select.Option key="11" value="11">法语</Select.Option>
<Select.Option key="12" value="12">西语</Select.Option>
<Select.Option key="20" value="20">俄语</Select.Option>
<Select.Option key="21" value="21">意语</Select.Option>
<Select.Option key="10" value="10">商旅</Select.Option>
<Select.Option key="18" value="18">CT</Select.Option>
<Select.Option key="16" value="16">APP</Select.Option>
<Select.Option key="30" value="30">Trippest</Select.Option>
<Select.Option key="31" value="31">花梨鹰</Select.Option>
</Select>
style={{ width: '95%' }} show_all={true}
/>
</Col>
<Col span={4}>
<Select value={dateType} style={{ width: "95%" }} onChange={(value) => customerServicesStore.selectDateType(value)}>
@ -69,7 +50,7 @@ const DestinationGroupList = () => {
</Select>
</Col>
<Col span={4}>
<DatePicker.RangePicker
<DatePicker.RangePicker
format={config.DATE_FORMAT} locale={zhCNlocale}
allowClear={false}
value={[startDate, endDate]}
@ -101,13 +82,13 @@ const DestinationGroupList = () => {
</Row>
<Row>
<Col span={24}>
<Table
dataSource={destinationGroupList}
columns={destinationGroupListColumns}
size="small"
rowKey={(record) => record.key}
loading={inProgress}
pagination={false}
<Table
dataSource={destinationGroupList}
columns={destinationGroupListColumns}
size="small"
rowKey={(record) => record.key}
loading={inProgress}
pagination={false}
scroll={{ x: "100%" }}
expandable={{
expandedRowRender: (record) => (
@ -135,7 +116,7 @@ const DestinationGroupList = () => {
</Row>
</Space>
</>
);
);
};
export default observer(DestinationGroupList);

Loading…
Cancel
Save