eslint autofix .

feature/2.0-sales-trade
lyt 2 years ago committed by lot
parent f086e0292d
commit 6db72f7b41

@ -19,7 +19,9 @@
"start": "react-scripts start", "start": "react-scripts start",
"build": "react-scripts build", "build": "react-scripts build",
"test": "react-scripts test", "test": "react-scripts test",
"eject": "react-scripts eject" "eject": "react-scripts eject",
"lint": "eslint ./src",
"lint:fix": "eslint --fix --ext .js,.jsx ./src"
}, },
"browserslist": { "browserslist": {
"production": [ "production": [

@ -19,7 +19,7 @@ const BillTypeSelect = (props) => {
return ( return (
<Select.Option key={index} <Select.Option key={index}
value={item.cb_billtype}>{item.cb_billtype}</Select.Option> value={item.cb_billtype}>{item.cb_billtype}</Select.Option>
) );
}) })
} }
@ -27,7 +27,7 @@ const BillTypeSelect = (props) => {
</div> </div>
); );
} };
export default observer(BillTypeSelect); export default observer(BillTypeSelect);

@ -23,6 +23,6 @@ const Business_unit = (props) => {
</Select> </Select>
</div> </div>
); );
} };
export default observer(Business_unit); export default observer(Business_unit);

@ -4,10 +4,10 @@ import {
ContainerOutlined, ContainerOutlined,
SearchOutlined, SearchOutlined,
} from '@ant-design/icons'; } from '@ant-design/icons';
import {stores_Context} from '../config' import {stores_Context} from '../config';
import {Line} from "@ant-design/charts"; import {Line} from "@ant-design/charts";
import {observer} from 'mobx-react'; import {observer} from 'mobx-react';
import DatePickerCharts from '../charts/DatePickerCharts' import DatePickerCharts from '../charts/DatePickerCharts';
import {NavLink, useParams} from "react-router-dom"; import {NavLink, useParams} from "react-router-dom";
import * as comm from "../utils/commons"; import * as comm from "../utils/commons";
import * as config from "../config"; import * as config from "../config";
@ -22,7 +22,7 @@ const Customer_care_inchina = () => {
useEffect(() => { useEffect(() => {
}, []) }, []);
return ( return (
@ -184,6 +184,6 @@ const Customer_care_inchina = () => {
</div> </div>
); );
} };
export default observer(Customer_care_inchina); export default observer(Customer_care_inchina);

@ -4,10 +4,10 @@ import {
ContainerOutlined, ContainerOutlined,
SearchOutlined, SearchOutlined,
} from '@ant-design/icons'; } from '@ant-design/icons';
import {stores_Context} from '../config' import {stores_Context} from '../config';
import {Line} from "@ant-design/charts"; import {Line} from "@ant-design/charts";
import {observer} from 'mobx-react'; import {observer} from 'mobx-react';
import DatePickerCharts from '../charts/DatePickerCharts' import DatePickerCharts from '../charts/DatePickerCharts';
import {NavLink, useParams} from "react-router-dom"; import {NavLink, useParams} from "react-router-dom";
import * as comm from "../utils/commons"; import * as comm from "../utils/commons";
import * as config from "../config"; import * as config from "../config";
@ -22,7 +22,7 @@ const Customer_care_potential = () => {
useEffect(() => { useEffect(() => {
}, []) }, []);
return ( return (
@ -179,6 +179,6 @@ const Customer_care_potential = () => {
</div> </div>
); );
} };
export default observer(Customer_care_potential); export default observer(Customer_care_potential);

@ -5,10 +5,10 @@ import {
ContainerOutlined, ContainerOutlined,
SearchOutlined, SearchOutlined,
} from '@ant-design/icons'; } from '@ant-design/icons';
import {stores_Context} from '../config' import {stores_Context} from '../config';
import {Line} from "@ant-design/charts"; import {Line} from "@ant-design/charts";
import {observer} from 'mobx-react'; import {observer} from 'mobx-react';
import DatePickerCharts from '../charts/DatePickerCharts' import DatePickerCharts from '../charts/DatePickerCharts';
import {NavLink, useParams} from "react-router-dom"; import {NavLink, useParams} from "react-router-dom";
import * as comm from "../utils/commons"; import * as comm from "../utils/commons";
import * as config from "../config"; import * as config from "../config";
@ -22,7 +22,7 @@ const Customer_care_regular = () => {
useEffect(() => { useEffect(() => {
}, []) }, []);
return ( return (
@ -184,6 +184,6 @@ const Customer_care_regular = () => {
</div> </div>
); );
} };
export default observer(Customer_care_regular); export default observer(Customer_care_regular);

@ -7,7 +7,7 @@ import "moment/locale/zh-cn";
import locale from "antd/es/date-picker/locale/zh_CN"; import locale from "antd/es/date-picker/locale/zh_CN";
import { stores_Context } from "../config"; import { stores_Context } from "../config";
// //
class DatePickerCharts extends Component { class DatePickerCharts extends Component {
static contextType = stores_Context; static contextType = stores_Context;

@ -33,7 +33,7 @@ class ExchangeRate extends Component {
size: 4, size: 4,
shape: "cicle", shape: "cicle",
}, },
label: {}, // label: {}, //
tooltip: { tooltip: {
// customContent: (title, items) => { // customContent: (title, items) => {
// const data = items[0]?.data || {}; // const data = items[0]?.data || {};
@ -41,12 +41,12 @@ class ExchangeRate extends Component {
// }, // },
// itemTpl: '<li class="g2-tooltip-list-item"><span style="background-color:{color};" class="g2-tooltip-marker"></span><span class="g2-tooltip-name">{name}</span>: <span class="g2-tooltip-value">{value}</span></li>', // itemTpl: '<li class="g2-tooltip-list-item"><span style="background-color:{color};" class="g2-tooltip-marker"></span><span class="g2-tooltip-name">{name}</span>: <span class="g2-tooltip-value">{value}</span></li>',
customItems: items => { customItems: items => {
let result_arr = []; const result_arr = [];
items.forEach(item => { items.forEach(item => {
item.value = item.data.er_htrate + " | " + item.data.er_bankrate; item.value = item.data.er_htrate + " | " + item.data.er_bankrate;
return result_arr.push(item); return result_arr.push(item);
}); });
return result_arr; //return [{color:'red',name:'sss',value:22},{color:'red',name:'aaaa',value:22}]; return result_arr; // return [{color:'red',name:'sss',value:22},{color:'red',name:'aaaa',value:22}];
}, },
}, },
smooth: true, smooth: true,

@ -93,7 +93,7 @@ class OrdersTempTable extends Component {
<Line {...line} data={ordersTemp_data.data}/> <Line {...line} data={ordersTemp_data.data}/>
)} )}
</div> </div>
) );
} }
} }

@ -1,6 +1,6 @@
import React, {Component} from 'react'; import React, {Component} from 'react';
import {Row, Col, List, Avatar, Space, Pagination} from 'antd'; import {Row, Col, List, Avatar, Space, Pagination} from 'antd';
import {stores_Context} from '../config' import {stores_Context} from '../config';
import {observer} from 'mobx-react'; import {observer} from 'mobx-react';
import 'moment/locale/zh-cn'; import 'moment/locale/zh-cn';
@ -21,10 +21,12 @@ class Wechat_session extends Component {
const {wechatStore} = this.context; const {wechatStore} = this.context;
wechatStore.fetchContactList(user); wechatStore.fetchContactList(user);
} }
handleContactClick(contact) { handleContactClick(contact) {
const {wechatStore} = this.context; const {wechatStore} = this.context;
wechatStore.fetchChatMsgList(contact, 0, 20); wechatStore.fetchChatMsgList(contact, 0, 20);
} }
handlePageChanged(page, pageSize) { handlePageChanged(page, pageSize) {
const {wechatStore} = this.context; const {wechatStore} = this.context;
wechatStore.fetchChatMsgList(wechatStore.selectedContact, page, pageSize); wechatStore.fetchChatMsgList(wechatStore.selectedContact, page, pageSize);
@ -42,30 +44,30 @@ class Wechat_session extends Component {
/> />
{this.renderMsgContent(chatMsg)} {this.renderMsgContent(chatMsg)}
</List.Item> </List.Item>
) );
} }
renderMsgContent(chatMsg) { renderMsgContent(chatMsg) {
if (chatMsg.msgtype === 'file') { if (chatMsg.msgtype === 'file') {
return ( return (
<a href={chatMsg.content.fileurl}>{chatMsg.content.filename}</a> <a href={chatMsg.content.fileurl}>{chatMsg.content.filename}</a>
) );
} else if (chatMsg.msgtype === 'image') { } else if (chatMsg.msgtype === 'image') {
return ( return (
<img style={{width: '50%', height: '50%'}} alt={chatMsg.msgid} src={chatMsg.content.imageurl} /> <img style={{width: '50%', height: '50%'}} alt={chatMsg.msgid} src={chatMsg.content.imageurl} />
) );
} else if (chatMsg.msgtype === 'text') { } else if (chatMsg.msgtype === 'text') {
return ( return (
<>{chatMsg.content.text}</> <>{chatMsg.content.text}</>
) );
} else if (chatMsg.msgtype === 'link') { } else if (chatMsg.msgtype === 'link') {
return ( return (
<a href={chatMsg.content.link_url}>{chatMsg.content.title}</a> <a href={chatMsg.content.link_url}>{chatMsg.content.title}</a>
) );
} else { } else {
return ( return (
<>未知消息[{chatMsg.msgtype}]</> <>未知消息[{chatMsg.msgtype}]</>
) );
} }
} }
@ -86,7 +88,7 @@ class Wechat_session extends Component {
itemLayout="horizontal" itemLayout="horizontal"
dataSource={userList} dataSource={userList}
renderItem={(user) => ( renderItem={(user) => (
<List.Item onClick={() => {this.handleUserClick(user)}}> <List.Item onClick={() => {this.handleUserClick(user);}}>
<List.Item.Meta <List.Item.Meta
avatar={<Avatar src={user.avatar} />} avatar={<Avatar src={user.avatar} />}
title={user.username} title={user.username}
@ -102,7 +104,7 @@ class Wechat_session extends Component {
itemLayout="horizontal" itemLayout="horizontal"
dataSource={contactList} dataSource={contactList}
renderItem={(contact) => ( renderItem={(contact) => (
<List.Item onClick={() => {this.handleContactClick(contact)}}> <List.Item onClick={() => {this.handleContactClick(contact);}}>
<List.Item.Meta <List.Item.Meta
avatar={<Avatar src={contact.avatar} />} avatar={<Avatar src={contact.avatar} />}
title={contact.username} title={contact.username}
@ -125,7 +127,7 @@ class Wechat_session extends Component {
current={chatMsgPage.currpage} current={chatMsgPage.currpage}
pageSize={20} pageSize={20}
total={chatMsgPage.totalpage*20} total={chatMsgPage.totalpage*20}
onChange={(page, pageSize) => { this.handlePageChanged(page, pageSize)}} /> onChange={(page, pageSize) => { this.handlePageChanged(page, pageSize);}} />
</Space> </Space>
</Col> </Col>

@ -1,138 +1,131 @@
import React, {Component} from 'react'; import React, { Component } from 'react';
import {Row, Col, List, Avatar, Space, Pagination} from 'antd'; import { Row, Col, List, Avatar, Space, Pagination } from 'antd';
import {stores_Context} from '../config' import { stores_Context } from '../config';
import {observer} from 'mobx-react'; import { observer } from 'mobx-react';
import 'moment/locale/zh-cn'; import 'moment/locale/zh-cn';
class WhatsApp_session extends Component { class WhatsApp_session extends Component {
static contextType = stores_Context;
constructor(props) {
super(props);
}
static contextType = stores_Context; componentDidMount() {
constructor(props) { console.info('Wechat_session.componentDidMount');
super(props); const { whatsAppStore } = this.context;
} whatsAppStore.fetchWechatUserList();
}
componentDidMount() { handleUserClick(user) {
console.info('Wechat_session.componentDidMount'); const { whatsAppStore } = this.context;
const {whatsAppStore} = this.context; whatsAppStore.fetchContactList(user);
whatsAppStore.fetchWechatUserList(); }
}
handleUserClick(user) { handleContactClick(contact) {
const {whatsAppStore} = this.context; const { whatsAppStore } = this.context;
whatsAppStore.fetchContactList(user); whatsAppStore.fetchChatMsgList(contact, 0, 20);
} }
handleContactClick(contact) {
const {whatsAppStore} = this.context;
whatsAppStore.fetchChatMsgList(contact, 0, 20);
}
handlePageChanged(page, pageSize) {
const {whatsAppStore} = this.context;
whatsAppStore.fetchChatMsgList(whatsAppStore.selectedContact, page, pageSize);
}
renderMsgItem(chatMsg) { handlePageChanged(page, pageSize) {
const msgDate = new Date(chatMsg.msgtime); const { whatsAppStore } = this.context;
const msgDateText = msgDate.toLocaleDateString() + ' ' + msgDate.toLocaleTimeString(); whatsAppStore.fetchChatMsgList(whatsAppStore.selectedContact, page, pageSize);
return ( }
<List.Item className='ant-list-item-no-flex'>
<List.Item.Meta
avatar={<Avatar src={chatMsg.from_avatar} />}
title={chatMsg.from_name}
description={msgDateText}
/>
{this.renderMsgContent(chatMsg)}
</List.Item>
)
}
renderMsgContent(chatMsg) {
if (chatMsg.msgtype === 'file') {
return (
<a href={chatMsg.content.fileurl}>{chatMsg.content.filename}</a>
)
} else if (chatMsg.msgtype === 'image') {
return (
<img style={{width: '50%', height: '50%'}} alt={chatMsg.msgid} src={chatMsg.content.imageurl} />
)
} else if (chatMsg.msgtype === 'text') {
return (
<>{chatMsg.content.text}</>
)
} else if (chatMsg.msgtype === 'link') {
return (
<a href={chatMsg.content.link_url}>{chatMsg.content.title}</a>
)
} else {
return (
<>未知消息[{chatMsg.msgtype}]</>
)
}
}
render() {
const {whatsAppStore} = this.context;
const userList = whatsAppStore.userList;
const contactList = whatsAppStore.contactList;
const chatMsgList = whatsAppStore.chatMsgList;
const chatMsgPage = whatsAppStore.chatMsgPage;
renderMsgItem(chatMsg) {
const msgDate = new Date(chatMsg.msgtime);
const msgDateText = msgDate.toLocaleDateString() + ' ' + msgDate.toLocaleTimeString();
return ( return (
<> <List.Item className="ant-list-item-no-flex">
<Row> <List.Item.Meta
<Col span={6}> avatar={<Avatar src={chatMsg.from_avatar} />}
<List title={chatMsg.from_name}
style={{maxHeight: 800, minHeight: 800, overflowY: 'auto'}} description={msgDateText}
bordered={true} />
itemLayout="horizontal" {this.renderMsgContent(chatMsg)}
dataSource={userList} </List.Item>
renderItem={(user) => (
<List.Item onClick={() => {this.handleUserClick(user)}}>
<List.Item.Meta
avatar={<Avatar src={user.avatar} />}
title={user.username}
/>
</List.Item>
)}
/>
</Col>
<Col span={6}>
<List
style={{maxHeight: 800, minHeight: 800, overflowY: 'auto'}}
bordered={true}
itemLayout="horizontal"
dataSource={contactList}
renderItem={(contact) => (
<List.Item onClick={() => {this.handleContactClick(contact)}}>
<List.Item.Meta
avatar={<Avatar src={contact.avatar} />}
title={contact.username}
/>
</List.Item>
)}
/>
</Col>
<Col span={12}>
<Space direction="vertical" size="middle" style={{ display: 'flex' }}>
<List
style={{maxHeight: 800, minHeight: 800, overflowY: 'auto'}}
bordered={true}
itemLayout="horizontal"
dataSource={chatMsgList}
renderItem={(chatMsg) => this.renderMsgItem(chatMsg)}
/>
<Pagination
current={chatMsgPage.currpage}
pageSize={20}
total={chatMsgPage.totalpage*20}
onChange={(page, pageSize) => { this.handlePageChanged(page, pageSize)}} />
</Space>
</Col>
</Row>
</>
); );
}
renderMsgContent(chatMsg) {
if (chatMsg.msgtype === 'file') {
return <a href={chatMsg.content.fileurl}>{chatMsg.content.filename}</a>;
} else if (chatMsg.msgtype === 'image') {
return <img style={{ width: '50%', height: '50%' }} alt={chatMsg.msgid} src={chatMsg.content.imageurl} />;
} else if (chatMsg.msgtype === 'text') {
return <>{chatMsg.content.text}</>;
} else if (chatMsg.msgtype === 'link') {
return <a href={chatMsg.content.link_url}>{chatMsg.content.title}</a>;
} else {
return <>未知消息[{chatMsg.msgtype}]</>;
} }
}
render() {
const { whatsAppStore } = this.context;
const userList = whatsAppStore.userList;
const contactList = whatsAppStore.contactList;
const chatMsgList = whatsAppStore.chatMsgList;
const chatMsgPage = whatsAppStore.chatMsgPage;
return (
<>
<Row>
<Col span={6}>
<List
style={{ maxHeight: 800, minHeight: 800, overflowY: 'auto' }}
bordered={true}
itemLayout="horizontal"
dataSource={userList}
renderItem={(user) => (
<List.Item
onClick={() => {
this.handleUserClick(user);
}}
>
<List.Item.Meta avatar={<Avatar src={user.avatar} />} title={user.username} />
</List.Item>
)}
/>
</Col>
<Col span={6}>
<List
style={{ maxHeight: 800, minHeight: 800, overflowY: 'auto' }}
bordered={true}
itemLayout="horizontal"
dataSource={contactList}
renderItem={(contact) => (
<List.Item
onClick={() => {
this.handleContactClick(contact);
}}
>
<List.Item.Meta avatar={<Avatar src={contact.avatar} />} title={contact.username} />
</List.Item>
)}
/>
</Col>
<Col span={12}>
<Space direction="vertical" size="middle" style={{ display: 'flex' }}>
<List
style={{ maxHeight: 800, minHeight: 800, overflowY: 'auto' }}
bordered={true}
itemLayout="horizontal"
dataSource={chatMsgList}
renderItem={(chatMsg) => this.renderMsgItem(chatMsg)}
/>
<Pagination
current={chatMsgPage.currpage}
pageSize={20}
total={chatMsgPage.totalpage * 20}
onChange={(page, pageSize) => {
this.handlePageChanged(page, pageSize);
}}
/>
</Space>
</Col>
</Row>
</>
);
}
} }
export default observer(WhatsApp_session); export default observer(WhatsApp_session);

@ -3,7 +3,7 @@ import {Row, Col, Typography, Space, DatePicker, Button, Select, Table, List} fr
import { import {
SearchOutlined, SearchOutlined,
} from '@ant-design/icons'; } from '@ant-design/icons';
import {stores_Context} from '../config' import {stores_Context} from '../config';
import * as config from "../config"; import * as config from "../config";
import {observer} from 'mobx-react'; import {observer} from 'mobx-react';
import { NavLink, useParams } from "react-router-dom"; import { NavLink, useParams } from "react-router-dom";
@ -73,7 +73,7 @@ const AgentGroupList = () => {
format={config.DATE_FORMAT} locale={zhCNlocale} format={config.DATE_FORMAT} locale={zhCNlocale}
allowClear={false} allowClear={false}
value={[startDate, endDate]} value={[startDate, endDate]}
onChange={(dates) => {customerServicesStore.selectDateRange(dates[0], dates[1])}} onChange={(dates) => {customerServicesStore.selectDateRange(dates[0], dates[1]);}}
ranges={{ ranges={{
'本周': [moment().startOf('week'), moment().endOf('week')], '本周': [moment().startOf('week'), moment().endOf('week')],
'上周': [moment().startOf('week').subtract(7, 'days'), moment().endOf('week').subtract(7, 'days')], '上周': [moment().startOf('week').subtract(7, 'days'), moment().endOf('week').subtract(7, 'days')],
@ -137,6 +137,6 @@ const AgentGroupList = () => {
</Space> </Space>
</> </>
); );
} };
export default observer(AgentGroupList); export default observer(AgentGroupList);

@ -18,12 +18,12 @@ const Credit_card_bill = () => {
const { bill_type_data, credit_card_data } = financial_store; const { bill_type_data, credit_card_data } = financial_store;
const format_data = data => { const format_data = data => {
let result = { dataSource: [], columns: [] }; const result = { dataSource: [], columns: [] };
if (!comm.empty(data)) { if (!comm.empty(data)) {
if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) { if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) {
// //
let total_data1 = data.BillTypeDataTotal1; const total_data1 = data.BillTypeDataTotal1;
let total_data2 = data.BillTypeDataTotal2; const total_data2 = data.BillTypeDataTotal2;
result.columns = [ result.columns = [
{ {
title: "项目类型", title: "项目类型",
@ -34,7 +34,7 @@ const Credit_card_bill = () => {
render: (text, record) => ( render: (text, record) => (
<a <a
onClick={() => { onClick={() => {
credit_card_data.set_bill_filtered(text); // credit_card_data.set_bill_filtered(text); //
credit_card_data.set_active_tab("detail_data"); credit_card_data.set_active_tab("detail_data");
}}> }}>
{text} {text}
@ -63,8 +63,8 @@ const Credit_card_bill = () => {
], ],
}, },
]; ];
for (let item of data.BillTypeData1) { for (const item of data.BillTypeData1) {
for (let item2 of data.BillTypeData2) { for (const item2 of data.BillTypeData2) {
if (item.cb_billtype == item2.cb_billtype) { if (item.cb_billtype == item2.cb_billtype) {
result.dataSource.push({ result.dataSource.push({
key: item.key, key: item.key,
@ -87,7 +87,7 @@ const Credit_card_bill = () => {
render: (text, record) => ( render: (text, record) => (
<a <a
onClick={() => { onClick={() => {
credit_card_data.set_bill_filtered(text); // credit_card_data.set_bill_filtered(text); //
credit_card_data.set_active_tab("detail_data"); credit_card_data.set_active_tab("detail_data");
}}> }}>
{text} {text}
@ -114,7 +114,7 @@ const Credit_card_bill = () => {
return result; return result;
}; };
// //
const filters_array = data_array => { const filters_array = data_array => {
return comm.unique(data_array).map(item => { return comm.unique(data_array).map(item => {
return { text: item, value: item }; return { text: item, value: item };
@ -122,23 +122,23 @@ const Credit_card_bill = () => {
}; };
const format_data_detail = data => { const format_data_detail = data => {
let result = { dataSource: [], columns: [] }; const result = { dataSource: [], columns: [] };
if (!comm.empty(data)) { if (!comm.empty(data)) {
let show_vs = false; let show_vs = false;
let usd_totle1, let usd_totle1;
usd_totle2, let usd_totle2;
usd_diff, let usd_diff;
usd_vs, let usd_vs;
rmb_totle1, let rmb_totle1;
rmb_totle2, let rmb_totle2;
rmb_diff, let rmb_diff;
rmb_vs = 0; let rmb_vs = 0;
usd_totle1 = Math.round(data.billdate1.reduce((a, b) => a + b.cb_usd, 0)); usd_totle1 = Math.round(data.billdate1.reduce((a, b) => a + b.cb_usd, 0));
rmb_totle1 = Math.round(data.billdate1.reduce((a, b) => a + b.cb_rmb, 0)); rmb_totle1 = Math.round(data.billdate1.reduce((a, b) => a + b.cb_rmb, 0));
if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) { if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) {
// //
show_vs = true; show_vs = true;
// //
usd_totle2 = Math.round(data.billdate2.reduce((a, b) => a + b.cb_usd, 0)); usd_totle2 = Math.round(data.billdate2.reduce((a, b) => a + b.cb_usd, 0));
usd_diff = usd_totle1 - usd_totle2; usd_diff = usd_totle1 - usd_totle2;
usd_vs = comm.formatPercent(usd_diff / usd_totle1); usd_vs = comm.formatPercent(usd_diff / usd_totle1);
@ -147,7 +147,7 @@ const Credit_card_bill = () => {
rmb_vs = comm.formatPercent(rmb_diff / rmb_totle1); rmb_vs = comm.formatPercent(rmb_diff / rmb_totle1);
} }
if (show_vs) { if (show_vs) {
// //
result.dataSource.push(...data.billdate1, ...data.billdate2); result.dataSource.push(...data.billdate1, ...data.billdate2);
} else { } else {
result.dataSource.push(...data.billdate1); result.dataSource.push(...data.billdate1);
@ -225,9 +225,9 @@ const Credit_card_bill = () => {
return result; return result;
}; };
// //
const format_data_for_pie = data => { const format_data_for_pie = data => {
let result_arr = []; const result_arr = [];
if (!comm.empty(data)) { if (!comm.empty(data)) {
data.map(item => { data.map(item => {
item.cb_usd_number = parseFloat(item.cb_usd.replace(/,/g, "")); item.cb_usd_number = parseFloat(item.cb_usd.replace(/,/g, ""));
@ -252,7 +252,7 @@ const Credit_card_bill = () => {
}, },
tooltip: { tooltip: {
customItems: items => { customItems: items => {
let result_arr = []; const result_arr = [];
items.forEach(item => { items.forEach(item => {
item.value = "$" + item.data.cb_usd + " | ¥" + item.data.cb_rmb; item.value = "$" + item.data.cb_usd + " | ¥" + item.data.cb_rmb;
return result_arr.push(item); return result_arr.push(item);
@ -260,7 +260,7 @@ const Credit_card_bill = () => {
return result_arr; return result_arr;
}, },
}, },
legend: false, // legend: false, //
interactions: [ interactions: [
{ {
type: "element-selected", type: "element-selected",

@ -3,7 +3,7 @@ import { Row, Col, Typography, Space, DatePicker, Button, Select, Table, Divider
import { import {
SearchOutlined, SearchOutlined,
} from '@ant-design/icons'; } from '@ant-design/icons';
import { stores_Context } from '../config' import { stores_Context } from '../config';
import * as config from "../config"; import * as config from "../config";
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import 'moment/locale/zh-cn'; import 'moment/locale/zh-cn';
@ -24,7 +24,7 @@ const DestinationGroupCount = () => {
const handleSearchClick = () => { const handleSearchClick = () => {
customerServicesStore.fetchDestinationGroupCount(); customerServicesStore.fetchDestinationGroupCount();
} };
return ( return (
<> <>
@ -95,7 +95,7 @@ const DestinationGroupCount = () => {
format={config.DATE_FORMAT} locale={zhCNlocale} format={config.DATE_FORMAT} locale={zhCNlocale}
allowClear={false} allowClear={false}
value={[startDate, endDate]} value={[startDate, endDate]}
onChange={(dates) => { customerServicesStore.selectDateRange(dates[0], dates[1]) }} onChange={(dates) => { customerServicesStore.selectDateRange(dates[0], dates[1]); }}
ranges={{ ranges={{
'本周': [moment().startOf('week'), moment().endOf('week')], '本周': [moment().startOf('week'), moment().endOf('week')],
'上周': [moment().startOf('week').subtract(7, 'days'), moment().endOf('week').subtract(7, 'days')], '上周': [moment().startOf('week').subtract(7, 'days'), moment().endOf('week').subtract(7, 'days')],
@ -147,6 +147,6 @@ const DestinationGroupCount = () => {
</Space> </Space>
</> </>
); );
} };
export default observer(DestinationGroupCount); export default observer(DestinationGroupCount);

@ -3,7 +3,7 @@ import {Row, Col, Typography, Space, DatePicker, Button, Select, Table, List} fr
import { import {
SearchOutlined, SearchOutlined,
} from '@ant-design/icons'; } from '@ant-design/icons';
import {stores_Context} from '../config' import {stores_Context} from '../config';
import * as config from "../config"; import * as config from "../config";
import {observer} from 'mobx-react'; import {observer} from 'mobx-react';
import { NavLink, useParams } from "react-router-dom"; import { NavLink, useParams } from "react-router-dom";
@ -73,7 +73,7 @@ const DestinationGroupList = () => {
format={config.DATE_FORMAT} locale={zhCNlocale} format={config.DATE_FORMAT} locale={zhCNlocale}
allowClear={false} allowClear={false}
value={[startDate, endDate]} value={[startDate, endDate]}
onChange={(dates) => {customerServicesStore.selectDateRange(dates[0], dates[1])}} onChange={(dates) => {customerServicesStore.selectDateRange(dates[0], dates[1]);}}
ranges={{ ranges={{
'本周': [moment().startOf('week'), moment().endOf('week')], '本周': [moment().startOf('week'), moment().endOf('week')],
'上周': [moment().startOf('week').subtract(7, 'days'), moment().endOf('week').subtract(7, 'days')], '上周': [moment().startOf('week').subtract(7, 'days'), moment().endOf('week').subtract(7, 'days')],
@ -136,6 +136,6 @@ const DestinationGroupList = () => {
</Space> </Space>
</> </>
); );
} };
export default observer(DestinationGroupList); export default observer(DestinationGroupList);

@ -1,7 +1,7 @@
import React, {Component, useContext} from 'react'; import React, {Component, useContext} from 'react';
import {observer} from 'mobx-react'; import {observer} from 'mobx-react';
import {Row, Col, Button, Tabs, Table} from 'antd'; import {Row, Col, Button, Tabs, Table} from 'antd';
import {stores_Context} from '../config' import {stores_Context} from '../config';
import {useNavigate} from "react-router-dom"; import {useNavigate} from "react-router-dom";
import { import {
SlackOutlined, SlackOutlined,
@ -26,6 +26,6 @@ const Home = () => {
</div> </div>
); );
} };
export default observer(Home); export default observer(Home);

@ -22,12 +22,12 @@ class Orders extends Component {
format_data(data) { format_data(data) {
const { date_picker_store, orders_store } = this.context; const { date_picker_store, orders_store } = this.context;
let result = { dataSource: [], columns: [] }; const result = { dataSource: [], columns: [] };
if (!comm.empty(data)) { if (!comm.empty(data)) {
let ordercountTotal1 = data.ordercountTotal1; const ordercountTotal1 = data.ordercountTotal1;
let ordercountTotal2 = data.ordercountTotal2; const ordercountTotal2 = data.ordercountTotal2;
if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) { if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) {
// //
result.columns = [ result.columns = [
{ {
title: "", title: "",
@ -104,12 +104,12 @@ class Orders extends Component {
], ],
}, },
]; ];
//1.OrderType 2.OrderType // 1.OrderType 2.OrderType
let has_same_type = false; //12 let has_same_type = false; // 12
for (let item of data.ordercount1) { for (const item of data.ordercount1) {
has_same_type = false; has_same_type = false;
//12 // 12
for (let item2 of data.ordercount2) { for (const item2 of data.ordercount2) {
if (item.OrderType == item2.OrderType) { if (item.OrderType == item2.OrderType) {
has_same_type = true; has_same_type = true;
result.dataSource.push({ result.dataSource.push({
@ -125,7 +125,7 @@ class Orders extends Component {
}); });
} }
} }
//12 // 12
if (has_same_type == false) { if (has_same_type == false) {
result.dataSource.push({ result.dataSource.push({
key: item.key, key: item.key,
@ -140,10 +140,10 @@ class Orders extends Component {
}); });
} }
} }
//21 // 21
for (let item2 of data.ordercount2) { for (const item2 of data.ordercount2) {
has_same_type = false; has_same_type = false;
for (let item of data.ordercount1) { for (const item of data.ordercount1) {
if (item.OrderType == item2.OrderType) { if (item.OrderType == item2.OrderType) {
has_same_type = true; has_same_type = true;
} }
@ -222,8 +222,8 @@ class Orders extends Component {
const { orders_store } = this.context; const { orders_store } = this.context;
const table_data = orders_store.orderCountData_Form ? this.format_data(orders_store.orderCountData_Form) : []; const table_data = orders_store.orderCountData_Form ? this.format_data(orders_store.orderCountData_Form) : [];
const data_source = orders_store.orderCountData ? orders_store.orderCountData : []; const data_source = orders_store.orderCountData ? orders_store.orderCountData : [];
const avg_line_y = data_source.length ? Math.round(data_source.reduce((a, b) => a + b.yField, 0) / orders_store.diff_count_day) : 0; //线 const avg_line_y = data_source.length ? Math.round(data_source.reduce((a, b) => a + b.yField, 0) / orders_store.diff_count_day) : 0; // 线
const pie_data = comm.empty(orders_store.orderCountData_Form) ? [] : orders_store.orderCountData_Form.ordercount1; // const pie_data = comm.empty(orders_store.orderCountData_Form) ? [] : orders_store.orderCountData_Form.ordercount1; //
const pie_data2 = comm.empty(orders_store.orderCountData_Form) ? [] : orders_store.orderCountData_Form.ordercount2; const pie_data2 = comm.empty(orders_store.orderCountData_Form) ? [] : orders_store.orderCountData_Form.ordercount2;
const config = { const config = {
@ -260,12 +260,12 @@ class Orders extends Component {
}, },
}, },
], ],
label: {}, // label: {}, //
legend: { legend: {
itemValue: { itemValue: {
formatter: (text, item) => { formatter: (text, item) => {
const items = data_source.filter(d => d.seriesField === item.value); // const items = data_source.filter(d => d.seriesField === item.value); //
return items.length ? items.reduce((a, b) => a + b.yField, 0) : ""; // return items.length ? items.reduce((a, b) => a + b.yField, 0) : ""; //
}, },
}, },
}, },
@ -275,7 +275,7 @@ class Orders extends Component {
// return `<div>${title}</div><div>${data.seriesField} ${data.yField}</div>`; // return `<div>${title}</div><div>${data.seriesField} ${data.yField}</div>`;
// } // }
title: (title, datum) => { title: (title, datum) => {
return title + " " + comm.getWeek(datum.xField); // return title + " " + comm.getWeek(datum.xField); //
}, },
}, },
smooth: true, smooth: true,
@ -290,7 +290,7 @@ class Orders extends Component {
type: "outer", type: "outer",
content: "{name} {value} \n {percentage}", content: "{name} {value} \n {percentage}",
}, },
legend: false, // legend: false, //
interactions: [ interactions: [
{ {
type: "element-selected", type: "element-selected",

@ -23,7 +23,7 @@ const Orders_sub = () => {
}, []); }, []);
const data_source = orders_store.orderCountData_type; const data_source = orders_store.orderCountData_type;
const avg_line_y = data_source.length ? Math.round(data_source.reduce((a, b) => a + b.yField, 0) / data_source.length) : 0; //线 const avg_line_y = data_source.length ? Math.round(data_source.reduce((a, b) => a + b.yField, 0) / data_source.length) : 0; // 线
const line = { const line = {
data: data_source, data: data_source,
padding: "auto", padding: "auto",
@ -56,18 +56,18 @@ const Orders_sub = () => {
], ],
tooltip: { tooltip: {
title: (title, datum) => { title: (title, datum) => {
return title + " " + comm.getWeek(datum.xField); // return title + " " + comm.getWeek(datum.xField); //
}, },
}, },
label: {}, // label: {}, //
legend: { legend: {
title: { title: {
text: ordertype_title, text: ordertype_title,
}, },
itemValue: { itemValue: {
formatter: (text, item) => { formatter: (text, item) => {
const items = data_source.filter(d => d.seriesField === item.value); // const items = data_source.filter(d => d.seriesField === item.value); //
return items.length ? items.reduce((a, b) => a + b.yField, 0) : ""; // return items.length ? items.reduce((a, b) => a + b.yField, 0) : ""; //
}, },
}, },
}, },
@ -75,7 +75,7 @@ const Orders_sub = () => {
}; };
const format_data = data => { const format_data = data => {
let result = { dataSource: [], columns: [] }; const result = { dataSource: [], columns: [] };
if (!comm.empty(data)) { if (!comm.empty(data)) {
result.columns = [ result.columns = [
{ {
@ -103,7 +103,7 @@ const Orders_sub = () => {
}; };
const format_data_detail = data => { const format_data_detail = data => {
let result = { dataSource: [], columns: [] }; const result = { dataSource: [], columns: [] };
if (!comm.empty(data)) { if (!comm.empty(data)) {
result.columns = [ result.columns = [
{ {

@ -4,20 +4,19 @@ import {
ContainerOutlined, ContainerOutlined,
SearchOutlined, SearchOutlined,
} from '@ant-design/icons'; } from '@ant-design/icons';
import {stores_Context} from '../config' import {stores_Context} from '../config';
import {Line} from "@ant-design/charts"; import {Line} from "@ant-design/charts";
import {observer} from 'mobx-react'; import {observer} from 'mobx-react';
import DatePickerCharts from '../charts/DatePickerCharts' import DatePickerCharts from '../charts/DatePickerCharts';
import {NavLink, useParams} from "react-router-dom"; import {NavLink, useParams,Outlet, useOutlet, useLocation, useNavigate} from "react-router-dom";
import * as comm from "../utils/commons"; import * as comm from "../utils/commons";
import * as config from "../config"; import * as config from "../config";
import {Outlet, useOutlet, useLocation, useNavigate} from 'react-router-dom';
const ProtectedRoute = ({auth}) => { const ProtectedRoute = ({auth}) => {
const {auth_store} = useContext(stores_Context); const {auth_store} = useContext(stores_Context);
if (auth_store.has_permission(auth)) { if (auth_store.has_permission(auth)) {
return <Outlet/> return <Outlet/>;
} }
return ( return (
@ -32,6 +31,6 @@ const ProtectedRoute = ({auth}) => {
); );
} };
export default observer(ProtectedRoute); export default observer(ProtectedRoute);

@ -16,8 +16,8 @@ import { utils, writeFileXLSX } from "xlsx";
const Sale = () => { const Sale = () => {
const { sale_store, date_picker_store } = useContext(stores_Context); const { sale_store, date_picker_store } = useContext(stores_Context);
const ml_data = sale_store.ml_data; // const ml_data = sale_store.ml_data; //
const type_data = comm.empty(sale_store.type_data) ? { dataSource: [], columns: [] } : sale_store.type_data; // const type_data = comm.empty(sale_store.type_data) ? { dataSource: [], columns: [] } : sale_store.type_data; //
const column_config = { const column_config = {
data: ml_data, data: ml_data,
@ -30,8 +30,8 @@ const Sale = () => {
legend: { legend: {
itemValue: { itemValue: {
formatter: (text, item) => { formatter: (text, item) => {
const items = ml_data.filter(d => d.groups === item.value); // const items = ml_data.filter(d => d.groups === item.value); //
return items.length ? items.reduce((a, b) => a + b.COLI_YJLY, 0) : ""; // return items.length ? items.reduce((a, b) => a + b.COLI_YJLY, 0) : ""; //
}, },
}, },
}, },
@ -41,14 +41,14 @@ const Sale = () => {
// return `<div>${title}</div><div>${data.seriesField} ${data.yField}</div>`; // return `<div>${title}</div><div>${data.seriesField} ${data.yField}</div>`;
// } // }
title: (title, datum) => { title: (title, datum) => {
return title + " " + comm.getWeek(datum.COLI_Date); // return title + " " + comm.getWeek(datum.COLI_Date); //
}, },
}, },
}; };
// //
const format_data_for_pie = data => { const format_data_for_pie = data => {
let result_arr = []; const result_arr = [];
if (!comm.empty(data)) { if (!comm.empty(data)) {
data.map(item => { data.map(item => {
item.COLI_ML_number = comm.price_to_number(item.COLI_ML); item.COLI_ML_number = comm.price_to_number(item.COLI_ML);
@ -68,7 +68,7 @@ const Sale = () => {
type: "outer", type: "outer",
content: "{name} {value} \n {percentage}", content: "{name} {value} \n {percentage}",
}, },
legend: false, // legend: false, //
interactions: [ interactions: [
{ {
type: "element-selected", type: "element-selected",

Loading…
Cancel
Save