import React, { useContext, useEffect } from "react"; import { Row, Col, Button, Tabs, Table, Divider, Radio, Select } from "antd"; import { ContainerOutlined, SearchOutlined, UserSwitchOutlined } from "@ant-design/icons"; import { stores_Context } from "../config"; import { Column, Pie } from "@ant-design/charts"; import { observer } from "mobx-react"; import DatePickerCharts from "../charts/DatePickerCharts"; import DataTypeSelect from "../charts/DataTypeSelect"; import { NavLink, useParams } from "react-router-dom"; import * as comm from "../utils/commons"; import * as config from "../config"; import SiteSelect from "../charts/SiteSelect"; import GroupSelect from "../charts/GroupSelect"; 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 column_config = { data: ml_data, xField: "COLI_Date", yField: "COLI_YJLY", seriesField: "groups", label: { position: "top", }, 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) : ""; //计算总数 }, }, }, tooltip: { // customContent: (title, items) => { // const data = items[0]?.data || {}; // return `
${title}
${data.seriesField} ${data.yField}
`; // } title: (title, datum) => { return title + " " + comm.getWeek(datum.COLI_Date); //显示周几 }, }, }; //格式化数据,饼图只支持数字模式 const format_data_for_pie = data => { let result_arr = []; if (!comm.empty(data)) { data.map(item => { item.COLI_ML_number = comm.price_to_number(item.COLI_ML); result_arr.push(item); }); } return result_arr; }; const pie_config = { appendPadding: 10, data: format_data_for_pie(type_data.dataSource), angleField: "COLI_ML_number", colorField: "OPI_Name", radius: 0.8, label: { type: "outer", content: "{name} {value} \n {percentage}", }, legend: false, //不显示图例 interactions: [ { type: "element-selected", }, { type: "element-active", }, ], }; return (
{/* */} { sale_store.onChange_Tabs(active_key); sale_store.get_department_order_ml_by_type(date_picker_store); }}> 总览 } key="All"> 回复率 } key="ResponseRateWhatsApp"> 沟通数据 } key="ResponseRateByWL"> 国籍 } key="Country"> 产品类型 } key="Product"> 出行目的 } key="TravelMotivation"> 成员关系 } key="GuestGroupType"> record.key} loading={sale_store.loading_table} pagination={false} scroll={{ x: "100%" }} /> { const wb = utils.table_to_book(document.getElementById("table_to_xlsx_sale").getElementsByTagName("table")[0]); writeFileXLSX(wb, "sale.xlsx"); }}> 导出excel {sale_store.active_tab_key == "All" ? : ""} ); }; export default observer(Sale);