diff --git a/package.json b/package.json index fa35b35..0886e91 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,9 @@ "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", - "eject": "react-scripts eject" + "eject": "react-scripts eject", + "lint": "eslint ./src", + "lint:fix": "eslint --fix --ext .js,.jsx ./src" }, "browserslist": { "production": [ diff --git a/src/charts/BillTypeSelect.jsx b/src/charts/BillTypeSelect.jsx index 1f249e9..3e590eb 100644 --- a/src/charts/BillTypeSelect.jsx +++ b/src/charts/BillTypeSelect.jsx @@ -19,7 +19,7 @@ const BillTypeSelect = (props) => { return ( {item.cb_billtype} - ) + ); }) } @@ -27,7 +27,7 @@ const BillTypeSelect = (props) => { ); -} +}; export default observer(BillTypeSelect); diff --git a/src/charts/Business_unit.jsx b/src/charts/Business_unit.jsx index e7b9a98..3dd40cc 100644 --- a/src/charts/Business_unit.jsx +++ b/src/charts/Business_unit.jsx @@ -23,6 +23,6 @@ const Business_unit = (props) => { ); -} +}; export default observer(Business_unit); diff --git a/src/charts/Customer_care_inchina.jsx b/src/charts/Customer_care_inchina.jsx index d69e795..f13065a 100644 --- a/src/charts/Customer_care_inchina.jsx +++ b/src/charts/Customer_care_inchina.jsx @@ -4,10 +4,10 @@ import { ContainerOutlined, SearchOutlined, } from '@ant-design/icons'; -import {stores_Context} from '../config' +import {stores_Context} from '../config'; import {Line} from "@ant-design/charts"; import {observer} from 'mobx-react'; -import DatePickerCharts from '../charts/DatePickerCharts' +import DatePickerCharts from '../charts/DatePickerCharts'; import {NavLink, useParams} from "react-router-dom"; import * as comm from "../utils/commons"; import * as config from "../config"; @@ -22,7 +22,7 @@ const Customer_care_inchina = () => { useEffect(() => { - }, []) + }, []); return ( @@ -184,6 +184,6 @@ const Customer_care_inchina = () => { ); -} +}; export default observer(Customer_care_inchina); diff --git a/src/charts/Customer_care_potential.jsx b/src/charts/Customer_care_potential.jsx index b06894f..0401eb4 100644 --- a/src/charts/Customer_care_potential.jsx +++ b/src/charts/Customer_care_potential.jsx @@ -4,10 +4,10 @@ import { ContainerOutlined, SearchOutlined, } from '@ant-design/icons'; -import {stores_Context} from '../config' +import {stores_Context} from '../config'; import {Line} from "@ant-design/charts"; import {observer} from 'mobx-react'; -import DatePickerCharts from '../charts/DatePickerCharts' +import DatePickerCharts from '../charts/DatePickerCharts'; import {NavLink, useParams} from "react-router-dom"; import * as comm from "../utils/commons"; import * as config from "../config"; @@ -22,7 +22,7 @@ const Customer_care_potential = () => { useEffect(() => { - }, []) + }, []); return ( @@ -179,6 +179,6 @@ const Customer_care_potential = () => { ); -} +}; export default observer(Customer_care_potential); diff --git a/src/charts/Customer_care_regular.jsx b/src/charts/Customer_care_regular.jsx index e9190a6..ac254a5 100644 --- a/src/charts/Customer_care_regular.jsx +++ b/src/charts/Customer_care_regular.jsx @@ -5,10 +5,10 @@ import { ContainerOutlined, SearchOutlined, } from '@ant-design/icons'; -import {stores_Context} from '../config' +import {stores_Context} from '../config'; import {Line} from "@ant-design/charts"; import {observer} from 'mobx-react'; -import DatePickerCharts from '../charts/DatePickerCharts' +import DatePickerCharts from '../charts/DatePickerCharts'; import {NavLink, useParams} from "react-router-dom"; import * as comm from "../utils/commons"; import * as config from "../config"; @@ -22,7 +22,7 @@ const Customer_care_regular = () => { useEffect(() => { - }, []) + }, []); return ( @@ -184,6 +184,6 @@ const Customer_care_regular = () => { ); -} +}; export default observer(Customer_care_regular); diff --git a/src/charts/DatePickerCharts.jsx b/src/charts/DatePickerCharts.jsx index 38245d5..2b5b04e 100644 --- a/src/charts/DatePickerCharts.jsx +++ b/src/charts/DatePickerCharts.jsx @@ -7,7 +7,7 @@ import "moment/locale/zh-cn"; import locale from "antd/es/date-picker/locale/zh_CN"; import { stores_Context } from "../config"; -//用于日期选择,计算上一时间段、同比时间等 +// 用于日期选择,计算上一时间段、同比时间等 class DatePickerCharts extends Component { static contextType = stores_Context; diff --git a/src/charts/ExchangeRate.jsx b/src/charts/ExchangeRate.jsx index 828abea..e5be198 100644 --- a/src/charts/ExchangeRate.jsx +++ b/src/charts/ExchangeRate.jsx @@ -33,7 +33,7 @@ class ExchangeRate extends Component { size: 4, shape: "cicle", }, - label: {}, //显示标签 + label: {}, // 显示标签 tooltip: { // customContent: (title, items) => { // const data = items[0]?.data || {}; @@ -41,12 +41,12 @@ class ExchangeRate extends Component { // }, // itemTpl: '
  • {name}: {value}
  • ', customItems: items => { - let result_arr = []; + const result_arr = []; items.forEach(item => { item.value = item.data.er_htrate + " | " + item.data.er_bankrate; 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, diff --git a/src/charts/OrdersTempTable.jsx b/src/charts/OrdersTempTable.jsx index ba6de32..3302b52 100644 --- a/src/charts/OrdersTempTable.jsx +++ b/src/charts/OrdersTempTable.jsx @@ -93,7 +93,7 @@ class OrdersTempTable extends Component { )} - ) + ); } } diff --git a/src/charts/Wechat_session.jsx b/src/charts/Wechat_session.jsx index d158e14..8f14cd9 100644 --- a/src/charts/Wechat_session.jsx +++ b/src/charts/Wechat_session.jsx @@ -1,6 +1,6 @@ import React, {Component} from 'react'; 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 'moment/locale/zh-cn'; @@ -21,10 +21,12 @@ class Wechat_session extends Component { const {wechatStore} = this.context; wechatStore.fetchContactList(user); } + handleContactClick(contact) { const {wechatStore} = this.context; wechatStore.fetchChatMsgList(contact, 0, 20); } + handlePageChanged(page, pageSize) { const {wechatStore} = this.context; wechatStore.fetchChatMsgList(wechatStore.selectedContact, page, pageSize); @@ -42,30 +44,30 @@ class Wechat_session extends Component { /> {this.renderMsgContent(chatMsg)} - ) + ); } renderMsgContent(chatMsg) { if (chatMsg.msgtype === 'file') { return ( {chatMsg.content.filename} - ) + ); } else if (chatMsg.msgtype === 'image') { return ( {chatMsg.msgid} - ) + ); } else if (chatMsg.msgtype === 'text') { return ( <>{chatMsg.content.text} - ) + ); } else if (chatMsg.msgtype === 'link') { return ( {chatMsg.content.title} - ) + ); } else { return ( <>未知消息[{chatMsg.msgtype}] - ) + ); } } @@ -86,7 +88,7 @@ class Wechat_session extends Component { itemLayout="horizontal" dataSource={userList} renderItem={(user) => ( - {this.handleUserClick(user)}}> + {this.handleUserClick(user);}}> } title={user.username} @@ -102,7 +104,7 @@ class Wechat_session extends Component { itemLayout="horizontal" dataSource={contactList} renderItem={(contact) => ( - {this.handleContactClick(contact)}}> + {this.handleContactClick(contact);}}> } title={contact.username} @@ -125,7 +127,7 @@ class Wechat_session extends Component { current={chatMsgPage.currpage} pageSize={20} total={chatMsgPage.totalpage*20} - onChange={(page, pageSize) => { this.handlePageChanged(page, pageSize)}} /> + onChange={(page, pageSize) => { this.handlePageChanged(page, pageSize);}} /> diff --git a/src/charts/WhatsApp_session.jsx b/src/charts/WhatsApp_session.jsx index 26dd969..8f881c7 100644 --- a/src/charts/WhatsApp_session.jsx +++ b/src/charts/WhatsApp_session.jsx @@ -1,138 +1,131 @@ -import React, {Component} from 'react'; -import {Row, Col, List, Avatar, Space, Pagination} from 'antd'; -import {stores_Context} from '../config' -import {observer} from 'mobx-react'; +import React, { Component } from 'react'; +import { Row, Col, List, Avatar, Space, Pagination } from 'antd'; +import { stores_Context } from '../config'; +import { observer } from 'mobx-react'; import 'moment/locale/zh-cn'; class WhatsApp_session extends Component { + static contextType = stores_Context; + constructor(props) { + super(props); + } - static contextType = stores_Context; - constructor(props) { - super(props); - } + componentDidMount() { + console.info('Wechat_session.componentDidMount'); + const { whatsAppStore } = this.context; + whatsAppStore.fetchWechatUserList(); + } - componentDidMount() { - console.info('Wechat_session.componentDidMount'); - const {whatsAppStore} = this.context; - whatsAppStore.fetchWechatUserList(); - } + handleUserClick(user) { + const { whatsAppStore } = this.context; + whatsAppStore.fetchContactList(user); + } - handleUserClick(user) { - const {whatsAppStore} = this.context; - whatsAppStore.fetchContactList(user); - } - handleContactClick(contact) { - const {whatsAppStore} = this.context; - whatsAppStore.fetchChatMsgList(contact, 0, 20); - } - handlePageChanged(page, pageSize) { - const {whatsAppStore} = this.context; - whatsAppStore.fetchChatMsgList(whatsAppStore.selectedContact, page, pageSize); - } + handleContactClick(contact) { + const { whatsAppStore } = this.context; + whatsAppStore.fetchChatMsgList(contact, 0, 20); + } - renderMsgItem(chatMsg) { - const msgDate = new Date(chatMsg.msgtime); - const msgDateText = msgDate.toLocaleDateString() + ' ' + msgDate.toLocaleTimeString(); - return ( - - } - title={chatMsg.from_name} - description={msgDateText} - /> - {this.renderMsgContent(chatMsg)} - - ) - } - - renderMsgContent(chatMsg) { - if (chatMsg.msgtype === 'file') { - return ( - {chatMsg.content.filename} - ) - } else if (chatMsg.msgtype === 'image') { - return ( - {chatMsg.msgid} - ) - } else if (chatMsg.msgtype === 'text') { - return ( - <>{chatMsg.content.text} - ) - } else if (chatMsg.msgtype === 'link') { - return ( - {chatMsg.content.title} - ) - } 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; + handlePageChanged(page, pageSize) { + const { whatsAppStore } = this.context; + whatsAppStore.fetchChatMsgList(whatsAppStore.selectedContact, page, pageSize); + } + renderMsgItem(chatMsg) { + const msgDate = new Date(chatMsg.msgtime); + const msgDateText = msgDate.toLocaleDateString() + ' ' + msgDate.toLocaleTimeString(); return ( - <> - - - ( - {this.handleUserClick(user)}}> - } - title={user.username} - /> - - )} - /> - - - ( - {this.handleContactClick(contact)}}> - } - title={contact.username} - /> - - )} - /> - - - - this.renderMsgItem(chatMsg)} - /> - { this.handlePageChanged(page, pageSize)}} /> - - - - - - + + } + title={chatMsg.from_name} + description={msgDateText} + /> + {this.renderMsgContent(chatMsg)} + ); + } + + renderMsgContent(chatMsg) { + if (chatMsg.msgtype === 'file') { + return {chatMsg.content.filename}; + } else if (chatMsg.msgtype === 'image') { + return {chatMsg.msgid}; + } else if (chatMsg.msgtype === 'text') { + return <>{chatMsg.content.text}; + } else if (chatMsg.msgtype === 'link') { + return {chatMsg.content.title}; + } 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 ( + <> + + + ( + { + this.handleUserClick(user); + }} + > + } title={user.username} /> + + )} + /> + + + ( + { + this.handleContactClick(contact); + }} + > + } title={contact.username} /> + + )} + /> + + + + this.renderMsgItem(chatMsg)} + /> + { + this.handlePageChanged(page, pageSize); + }} + /> + + + + + ); + } } export default observer(WhatsApp_session); - diff --git a/src/views/AgentGroupList.jsx b/src/views/AgentGroupList.jsx index c1ad2c4..848d7ac 100644 --- a/src/views/AgentGroupList.jsx +++ b/src/views/AgentGroupList.jsx @@ -3,7 +3,7 @@ import {Row, Col, Typography, Space, DatePicker, Button, Select, Table, List} fr import { SearchOutlined, } from '@ant-design/icons'; -import {stores_Context} from '../config' +import {stores_Context} from '../config'; import * as config from "../config"; import {observer} from 'mobx-react'; import { NavLink, useParams } from "react-router-dom"; @@ -73,7 +73,7 @@ const AgentGroupList = () => { format={config.DATE_FORMAT} locale={zhCNlocale} allowClear={false} value={[startDate, endDate]} - onChange={(dates) => {customerServicesStore.selectDateRange(dates[0], dates[1])}} + onChange={(dates) => {customerServicesStore.selectDateRange(dates[0], dates[1]);}} ranges={{ '本周': [moment().startOf('week'), moment().endOf('week')], '上周': [moment().startOf('week').subtract(7, 'days'), moment().endOf('week').subtract(7, 'days')], @@ -137,6 +137,6 @@ const AgentGroupList = () => { ); -} +}; export default observer(AgentGroupList); diff --git a/src/views/Credit_card_bill.jsx b/src/views/Credit_card_bill.jsx index 6cca6e5..76aeba4 100644 --- a/src/views/Credit_card_bill.jsx +++ b/src/views/Credit_card_bill.jsx @@ -18,12 +18,12 @@ const Credit_card_bill = () => { const { bill_type_data, credit_card_data } = financial_store; const format_data = data => { - let result = { dataSource: [], columns: [] }; + const result = { dataSource: [], columns: [] }; if (!comm.empty(data)) { if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) { - //有比较的数据 - let total_data1 = data.BillTypeDataTotal1; - let total_data2 = data.BillTypeDataTotal2; + // 有比较的数据 + const total_data1 = data.BillTypeDataTotal1; + const total_data2 = data.BillTypeDataTotal2; result.columns = [ { title: "项目类型", @@ -34,7 +34,7 @@ const Credit_card_bill = () => { render: (text, record) => ( { - credit_card_data.set_bill_filtered(text); //切换到明细页 + credit_card_data.set_bill_filtered(text); // 切换到明细页 credit_card_data.set_active_tab("detail_data"); }}> {text} @@ -63,8 +63,8 @@ const Credit_card_bill = () => { ], }, ]; - for (let item of data.BillTypeData1) { - for (let item2 of data.BillTypeData2) { + for (const item of data.BillTypeData1) { + for (const item2 of data.BillTypeData2) { if (item.cb_billtype == item2.cb_billtype) { result.dataSource.push({ key: item.key, @@ -87,7 +87,7 @@ const Credit_card_bill = () => { render: (text, record) => ( { - credit_card_data.set_bill_filtered(text); //切换到明细页 + credit_card_data.set_bill_filtered(text); // 切换到明细页 credit_card_data.set_active_tab("detail_data"); }}> {text} @@ -114,7 +114,7 @@ const Credit_card_bill = () => { return result; }; - //去掉重复的项目 + // 去掉重复的项目 const filters_array = data_array => { return comm.unique(data_array).map(item => { return { text: item, value: item }; @@ -122,23 +122,23 @@ const Credit_card_bill = () => { }; const format_data_detail = data => { - let result = { dataSource: [], columns: [] }; + const result = { dataSource: [], columns: [] }; if (!comm.empty(data)) { let show_vs = false; - let usd_totle1, - usd_totle2, - usd_diff, - usd_vs, - rmb_totle1, - rmb_totle2, - rmb_diff, - rmb_vs = 0; + let usd_totle1; + let usd_totle2; + let usd_diff; + let usd_vs; + let rmb_totle1; + let rmb_totle2; + let rmb_diff; + let rmb_vs = 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)); if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) { - //有比较的数据 + // 有比较的数据 show_vs = true; - //计算汇总的变化 + // 计算汇总的变化 usd_totle2 = Math.round(data.billdate2.reduce((a, b) => a + b.cb_usd, 0)); usd_diff = usd_totle1 - usd_totle2; usd_vs = comm.formatPercent(usd_diff / usd_totle1); @@ -147,7 +147,7 @@ const Credit_card_bill = () => { rmb_vs = comm.formatPercent(rmb_diff / rmb_totle1); } if (show_vs) { - //有比较的数据 + // 有比较的数据 result.dataSource.push(...data.billdate1, ...data.billdate2); } else { result.dataSource.push(...data.billdate1); @@ -225,9 +225,9 @@ const Credit_card_bill = () => { return result; }; - //格式化数据,饼图只支持数字模式 + // 格式化数据,饼图只支持数字模式 const format_data_for_pie = data => { - let result_arr = []; + const result_arr = []; if (!comm.empty(data)) { data.map(item => { item.cb_usd_number = parseFloat(item.cb_usd.replace(/,/g, "")); @@ -252,7 +252,7 @@ const Credit_card_bill = () => { }, tooltip: { customItems: items => { - let result_arr = []; + const result_arr = []; items.forEach(item => { item.value = "$" + item.data.cb_usd + " | ¥" + item.data.cb_rmb; return result_arr.push(item); @@ -260,7 +260,7 @@ const Credit_card_bill = () => { return result_arr; }, }, - legend: false, //不显示图例 + legend: false, // 不显示图例 interactions: [ { type: "element-selected", diff --git a/src/views/DestinationGroupCount.jsx b/src/views/DestinationGroupCount.jsx index ad2c3df..c572919 100644 --- a/src/views/DestinationGroupCount.jsx +++ b/src/views/DestinationGroupCount.jsx @@ -3,7 +3,7 @@ import { Row, Col, Typography, Space, DatePicker, Button, Select, Table, Divider import { SearchOutlined, } from '@ant-design/icons'; -import { stores_Context } from '../config' +import { stores_Context } from '../config'; import * as config from "../config"; import { observer } from 'mobx-react'; import 'moment/locale/zh-cn'; @@ -24,7 +24,7 @@ const DestinationGroupCount = () => { const handleSearchClick = () => { customerServicesStore.fetchDestinationGroupCount(); - } + }; return ( <> @@ -95,7 +95,7 @@ const DestinationGroupCount = () => { format={config.DATE_FORMAT} locale={zhCNlocale} allowClear={false} value={[startDate, endDate]} - onChange={(dates) => { customerServicesStore.selectDateRange(dates[0], dates[1]) }} + onChange={(dates) => { customerServicesStore.selectDateRange(dates[0], dates[1]); }} ranges={{ '本周': [moment().startOf('week'), moment().endOf('week')], '上周': [moment().startOf('week').subtract(7, 'days'), moment().endOf('week').subtract(7, 'days')], @@ -147,6 +147,6 @@ const DestinationGroupCount = () => { ); -} +}; export default observer(DestinationGroupCount); \ No newline at end of file diff --git a/src/views/DestinationGroupList.jsx b/src/views/DestinationGroupList.jsx index 2077b78..fa4d6a0 100644 --- a/src/views/DestinationGroupList.jsx +++ b/src/views/DestinationGroupList.jsx @@ -3,7 +3,7 @@ import {Row, Col, Typography, Space, DatePicker, Button, Select, Table, List} fr import { SearchOutlined, } from '@ant-design/icons'; -import {stores_Context} from '../config' +import {stores_Context} from '../config'; import * as config from "../config"; import {observer} from 'mobx-react'; import { NavLink, useParams } from "react-router-dom"; @@ -73,7 +73,7 @@ const DestinationGroupList = () => { format={config.DATE_FORMAT} locale={zhCNlocale} allowClear={false} value={[startDate, endDate]} - onChange={(dates) => {customerServicesStore.selectDateRange(dates[0], dates[1])}} + onChange={(dates) => {customerServicesStore.selectDateRange(dates[0], dates[1]);}} ranges={{ '本周': [moment().startOf('week'), moment().endOf('week')], '上周': [moment().startOf('week').subtract(7, 'days'), moment().endOf('week').subtract(7, 'days')], @@ -136,6 +136,6 @@ const DestinationGroupList = () => { ); -} +}; export default observer(DestinationGroupList); diff --git a/src/views/Home.jsx b/src/views/Home.jsx index bbc8314..bcd4ee2 100644 --- a/src/views/Home.jsx +++ b/src/views/Home.jsx @@ -1,7 +1,7 @@ import React, {Component, useContext} from 'react'; import {observer} from 'mobx-react'; 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 { SlackOutlined, @@ -26,6 +26,6 @@ const Home = () => { ); -} +}; export default observer(Home); diff --git a/src/views/Orders.jsx b/src/views/Orders.jsx index 8837db6..bca5e84 100644 --- a/src/views/Orders.jsx +++ b/src/views/Orders.jsx @@ -22,12 +22,12 @@ class Orders extends Component { format_data(data) { const { date_picker_store, orders_store } = this.context; - let result = { dataSource: [], columns: [] }; + const result = { dataSource: [], columns: [] }; if (!comm.empty(data)) { - let ordercountTotal1 = data.ordercountTotal1; - let ordercountTotal2 = data.ordercountTotal2; + const ordercountTotal1 = data.ordercountTotal1; + const ordercountTotal2 = data.ordercountTotal2; if (date_picker_store.start_date_cp && date_picker_store.end_date_cp) { - //有比较的数据 + // 有比较的数据 result.columns = [ { title: "", @@ -104,12 +104,12 @@ class Orders extends Component { ], }, ]; - //1.找出两个数组OrderType相同的数据做比较显示 2.找出两组数据OrderType都不相同的数据做显示 - let has_same_type = false; //数组1在数组2中是否找到相同的类型 - for (let item of data.ordercount1) { + // 1.找出两个数组OrderType相同的数据做比较显示 2.找出两组数据OrderType都不相同的数据做显示 + let has_same_type = false; // 数组1在数组2中是否找到相同的类型 + for (const item of data.ordercount1) { has_same_type = false; - //数组1在数组2中相同的类型 - for (let item2 of data.ordercount2) { + // 数组1在数组2中相同的类型 + for (const item2 of data.ordercount2) { if (item.OrderType == item2.OrderType) { has_same_type = true; result.dataSource.push({ @@ -125,7 +125,7 @@ class Orders extends Component { }); } } - //数组1中不在数组2的类型 + // 数组1中不在数组2的类型 if (has_same_type == false) { result.dataSource.push({ key: item.key, @@ -140,10 +140,10 @@ class Orders extends Component { }); } } - //数组2中不在数组1的类型 - for (let item2 of data.ordercount2) { + // 数组2中不在数组1的类型 + for (const item2 of data.ordercount2) { has_same_type = false; - for (let item of data.ordercount1) { + for (const item of data.ordercount1) { if (item.OrderType == item2.OrderType) { has_same_type = true; } @@ -222,8 +222,8 @@ class Orders extends Component { const { orders_store } = this.context; 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 = 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 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_data2 = comm.empty(orders_store.orderCountData_Form) ? [] : orders_store.orderCountData_Form.ordercount2; const config = { @@ -260,12 +260,12 @@ class Orders extends Component { }, }, ], - label: {}, //显示标签 + label: {}, // 显示标签 legend: { itemValue: { formatter: (text, item) => { - const items = data_source.filter(d => d.seriesField === item.value); //按站点筛选 - return items.length ? items.reduce((a, b) => a + b.yField, 0) : ""; //计算总数 + const items = data_source.filter(d => d.seriesField === item.value); // 按站点筛选 + return items.length ? items.reduce((a, b) => a + b.yField, 0) : ""; // 计算总数 }, }, }, @@ -275,7 +275,7 @@ class Orders extends Component { // return `
    ${title}
    ${data.seriesField} ${data.yField}
    `; // } title: (title, datum) => { - return title + " " + comm.getWeek(datum.xField); //显示周几 + return title + " " + comm.getWeek(datum.xField); // 显示周几 }, }, smooth: true, @@ -290,7 +290,7 @@ class Orders extends Component { type: "outer", content: "{name} {value} \n {percentage}", }, - legend: false, //不显示图例 + legend: false, // 不显示图例 interactions: [ { type: "element-selected", diff --git a/src/views/Orders_sub.jsx b/src/views/Orders_sub.jsx index 79684a8..07b92e3 100644 --- a/src/views/Orders_sub.jsx +++ b/src/views/Orders_sub.jsx @@ -23,7 +23,7 @@ const Orders_sub = () => { }, []); 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 = { data: data_source, padding: "auto", @@ -56,18 +56,18 @@ const Orders_sub = () => { ], tooltip: { title: (title, datum) => { - return title + " " + comm.getWeek(datum.xField); //显示周几 + return title + " " + comm.getWeek(datum.xField); // 显示周几 }, }, - label: {}, //显示标签 + label: {}, // 显示标签 legend: { title: { text: ordertype_title, }, itemValue: { formatter: (text, item) => { - const items = data_source.filter(d => d.seriesField === item.value); //按站点筛选 - return items.length ? items.reduce((a, b) => a + b.yField, 0) : ""; //计算总数 + const items = data_source.filter(d => d.seriesField === item.value); // 按站点筛选 + return items.length ? items.reduce((a, b) => a + b.yField, 0) : ""; // 计算总数 }, }, }, @@ -75,7 +75,7 @@ const Orders_sub = () => { }; const format_data = data => { - let result = { dataSource: [], columns: [] }; + const result = { dataSource: [], columns: [] }; if (!comm.empty(data)) { result.columns = [ { @@ -103,7 +103,7 @@ const Orders_sub = () => { }; const format_data_detail = data => { - let result = { dataSource: [], columns: [] }; + const result = { dataSource: [], columns: [] }; if (!comm.empty(data)) { result.columns = [ { diff --git a/src/views/ProtectedRoute.jsx b/src/views/ProtectedRoute.jsx index 670b24e..4e55db0 100644 --- a/src/views/ProtectedRoute.jsx +++ b/src/views/ProtectedRoute.jsx @@ -4,20 +4,19 @@ import { ContainerOutlined, SearchOutlined, } from '@ant-design/icons'; -import {stores_Context} from '../config' +import {stores_Context} from '../config'; import {Line} from "@ant-design/charts"; import {observer} from 'mobx-react'; -import DatePickerCharts from '../charts/DatePickerCharts' -import {NavLink, useParams} from "react-router-dom"; +import DatePickerCharts from '../charts/DatePickerCharts'; +import {NavLink, useParams,Outlet, useOutlet, useLocation, useNavigate} from "react-router-dom"; import * as comm from "../utils/commons"; import * as config from "../config"; -import {Outlet, useOutlet, useLocation, useNavigate} from 'react-router-dom'; const ProtectedRoute = ({auth}) => { const {auth_store} = useContext(stores_Context); if (auth_store.has_permission(auth)) { - return + return ; } return ( @@ -32,6 +31,6 @@ const ProtectedRoute = ({auth}) => { ); -} +}; export default observer(ProtectedRoute); diff --git a/src/views/Sale.jsx b/src/views/Sale.jsx index 5c67c3a..b829bf5 100644 --- a/src/views/Sale.jsx +++ b/src/views/Sale.jsx @@ -16,8 +16,8 @@ import { utils, writeFileXLSX } from "xlsx"; const Sale = () => { const { sale_store, date_picker_store } = useContext(stores_Context); - const ml_data = sale_store.ml_data; //毛利数据 - const type_data = comm.empty(sale_store.type_data) ? { dataSource: [], columns: [] } : sale_store.type_data; //毛利数据 + const ml_data = sale_store.ml_data; // 毛利数据 + const type_data = comm.empty(sale_store.type_data) ? { dataSource: [], columns: [] } : sale_store.type_data; // 毛利数据 const column_config = { data: ml_data, @@ -30,8 +30,8 @@ const Sale = () => { legend: { itemValue: { formatter: (text, item) => { - const items = ml_data.filter(d => d.groups === item.value); //按分组筛选 - return items.length ? items.reduce((a, b) => a + b.COLI_YJLY, 0) : ""; //计算总数 + const items = ml_data.filter(d => d.groups === item.value); // 按分组筛选 + return items.length ? items.reduce((a, b) => a + b.COLI_YJLY, 0) : ""; // 计算总数 }, }, }, @@ -41,14 +41,14 @@ const Sale = () => { // return `
    ${title}
    ${data.seriesField} ${data.yField}
    `; // } title: (title, datum) => { - return title + " " + comm.getWeek(datum.COLI_Date); //显示周几 + return title + " " + comm.getWeek(datum.COLI_Date); // 显示周几 }, }, }; - //格式化数据,饼图只支持数字模式 + // 格式化数据,饼图只支持数字模式 const format_data_for_pie = data => { - let result_arr = []; + const result_arr = []; if (!comm.empty(data)) { data.map(item => { item.COLI_ML_number = comm.price_to_number(item.COLI_ML); @@ -68,7 +68,7 @@ const Sale = () => { type: "outer", content: "{name} {value} \n {percentage}", }, - legend: false, //不显示图例 + legend: false, // 不显示图例 interactions: [ { type: "element-selected",