diff --git a/src/views/Sale.jsx b/src/views/Sale.jsx index 7452982..26e7b83 100644 --- a/src/views/Sale.jsx +++ b/src/views/Sale.jsx @@ -53,56 +53,86 @@ const Sale = () => { // }; const column_config_create = (tab_name) => { - let config_data = { - //seriesField: "OPI_Name", - label: { - position: 'top', - }, - xAxis: { - label: { - autoHide: false, - autoRotate: true, - }, - }, - // 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_ML, 0) : ""; // 计算总数 - // }, - // }, - // }, - // tooltip: { - // customContent: (title, items) => { - // const data = items[0].data || {};console.log(data); - // return `
${title}
wwwwwww
`; - // }, - // title: (title, datum) => { - // return title; // + " " + comm.getWeek(datum.COLI_Date); // 显示周几 - // }, - // },}; - }; + let average_value = 0; //平均线的值 + let config_data = []; switch (tab_name) { case 'All': config_data.data = type_data.dataSource; config_data.xField = 'OPI_Name'; config_data.yField = 'COLI_ML2'; + average_value = Math.round(config_data.data.reduce((a, b) => a + b.COLI_ML2, 0) / config_data.data.length); break; case 'ResponseRateWhatsApp': config_data.data = type_data.dataSource; config_data.xField = 'OPI_Name'; config_data.yField = 'COLI_ConfirmTimeAVG'; + average_value = Math.round(config_data.data.reduce((a, b) => a + b.COLI_ConfirmTimeAVG, 0) / config_data.data.length); break; case 'ResponseRateByWL': config_data.data = type_data.dataSource; config_data.xField = 'OPI_Name'; config_data.yField = 'PriceTime'; + average_value = Math.round(config_data.data.reduce((a, b) => a + b.PriceTime, 0) / config_data.data.length); break; default: config_data.data = []; break; } - return config_data; + return { + ...config_data, + ...{ + //seriesField: "OPI_Name",//分组 + label: { + position: 'top', + }, + xAxis: { + label: { + autoHide: false, + autoRotate: true, + }, + }, + // 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_ML, 0) : ""; // 计算总数 + // }, + // }, + // }, + // tooltip: { + // customContent: (title, items) => { + // const data = items[0].data || {};console.log(data); + // return `
${title}
wwwwwww
`; + // }, + // title: (title, datum) => { + // return title; // + " " + comm.getWeek(datum.COLI_Date); // 显示周几 + // }, + // },}; + annotations: average_value + ? [ + { + type: 'text', + position: ['start', average_value], + content: average_value, + offsetX: -15, + style: { + fill: '#F4664A', + textBaseline: 'bottom', + }, + }, + { + type: 'line', + start: [-10, average_value], + end: ['max', average_value], + style: { + stroke: '#F4664A', + lineDash: [2, 2], + }, + }, + ] + : [], + }, + }; }; const column_config = column_config_create(sale_store.active_tab_key); @@ -146,6 +176,65 @@ const Sale = () => { ], }; + const tab_items = [ + { + key: 'All', + label: ( + + 总览 + + ), + }, + { + key: 'ResponseRateWhatsApp', + label: ( + + 回复率 + + ), + }, + { + key: 'ResponseRateByWL', + label: ( + + 沟通数据 + + ), + }, + { + key: 'Country', + label: ( + + 国籍 + + ), + }, + { + key: 'Product', + label: ( + + 产品类型 + + ), + }, + { + key: 'TravelMotivation', + label: ( + + 出行目的 + + ), + }, + { + key: 'GuestGroupType', + label: ( + + 成员关系 + + ), + }, + ]; + return (
@@ -240,67 +329,8 @@ const Sale = () => { 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" - > - + items={tab_items} + >