修改统计

This commit is contained in:
何童崇 2022-03-29 15:17:48 +08:00
parent a4e453a221
commit ba93a044d3
3 changed files with 25 additions and 16 deletions

View File

@ -184,7 +184,7 @@ const Qz2022 = (props) => {
{/* 数据统计 */}
<Route path="/competition/qz2022/statistics"
render={
() => (<Statistics {...props} />)
() => (<Statistics {...props} qzDetail={qzDetail}/>)
}
></Route>
{/* 后台管理-报名列表 */}

View File

@ -18,6 +18,8 @@ const colorArr0 = ['rgba(226, 217, 255, 1)', 'rgba(251, 201, 0, 0.36)', 'rgba(14
const colorArr1= ['rgba(155, 128, 245, 1)', 'rgba(254, 140, 0, 1)', 'rgba(37, 109, 255, 1)'];
export default ({ id, className, title, legendArr, xData, yData }) => {
console.log(yData);
useEffect(() => {
let newEchartBar = document.getElementById(id) && echarts.init(document.getElementById(id));
let textColor = "#7988a5";

View File

@ -23,50 +23,57 @@ const initPieArr = [
];
const initLegendArr = ["战略方向", "前沿技术", "作战领域"];
const initBarYData = [[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]];
function Statistics({ showNotification, match, history }) {
function Statistics({ showNotification, qzDetail }) {
const [pieArr, setPieArr] = useState(initPieArr);
const [barXData, setBarXData] = useState(['LJLJLJ', 'HJHJHJ', 'KJKJKJ', 'HJJHJJHJJ', 'ZLZYBD', '联勤保障', 'WJWJWJ']);
const [legendArr, setLegendArr] = useState(initLegendArr);
const [barYData, setBarYData] = useState([[3, 2, 3, 4, 2, 4, 7, 5], [3, 2, 3, 4, 7, 2, 4, 5], [3, 2, 2, 3, 4, 2, 4, 5]]);
const [barYData, setBarYData] = useState(initBarYData);
const [uploadCount, setUploadCount] = useState(0);
const [enrollCount, setEnrollCount] = useState(0);
useEffect(() => {
stattistics().then(res => {
if (res && Array.isArray(res.data)) {
if (res && res.data && Array.isArray(res.data.data)) {
let pieArrList = [];
let xData = [];
let yData1 = [], yData2 = [], yData3 = [];
let barYDataArr = [];
res.data.forEach(i => {
i[0]&&xData.push(i[0].split('分赛区')[0]);
res.data.data.forEach(i => {
i[0] && xData.push(i[0].split('分赛区')[0]);
yData1.push(i[1]);
yData2.push(i[2]);
yData3.push(i[3]);
});
setLegendArr(res.competition_subs);
setLegendArr(res.data.competition_subs);
setUploadCount(res.data.upload_count);
setEnrollCount(res.data.enroll_count);
setBarXData(xData);
barYDataArr[0] = yData1;
barYDataArr[1] = yData2;
barYDataArr[2] = yData3;
// setBarYData(barYData);
setBarYData(barYDataArr);
let yData = [];
yData.push(yData1.reduce((pre, current) => { return pre + current }, 0));
yData.push(yData2.reduce((pre, current) => { return pre + current }, 0));
yData.push(yData3.reduce((pre, current) => { return pre + current }, 0));
res.competition_subs.forEach((item, index) => {
res.data.competition_subs.forEach((item, index) => {
pieArrList.push({
name: item,
value: yData[index],
})
});
setPieArr(pieArrList);
}else{
showNotification((res&&res.message) || '请求数据失败!');
}
});
}, []);
@ -78,7 +85,7 @@ function Statistics({ showNotification, match, history }) {
<div className="num-item sum">
<img src={statisticsSum} ></img>
<div className="item-content">
<div className="num-data">12121+</div>
<div className="num-data">{enrollCount}+</div>
<div className="num-tit">竞赛总报名数</div>
</div>
</div>
@ -86,24 +93,24 @@ function Statistics({ showNotification, match, history }) {
<div className="num-item work">
<img src={statisticsWork} ></img>
<div className="item-content">
<div className="num-data">1221+</div>
<div className="num-data">{uploadCount}+</div>
<div className="num-tit">竞赛总作品提交数</div>
</div>
</div>
</div>
{/* 外网 */}
{/* <div className="right-echart outside">
{!qzDetail.is_local && <div className="right-echart outside">
<h3 className="type-name">综合赛区报名数</h3>
<EchartPie
id="network"
className="echart-box"
dataList={pieArr}
/>
</div> */}
</div>}
{/* 内网 */}
<div className="right-echart">
{qzDetail.is_local && <div className="right-echart">
<EchartBar
id="newAddedProjects"
className="echart-box"
@ -112,7 +119,7 @@ function Statistics({ showNotification, match, history }) {
xData={barXData}
yData={barYData}
/>
</div>
</div>}
</div>
)
}