diff --git a/web/client/src/sections/quanju/containers/footer/build/Leftbottom.js b/web/client/src/sections/quanju/containers/footer/build/Leftbottom.js
index 55fd8020..d2b731cb 100644
--- a/web/client/src/sections/quanju/containers/footer/build/Leftbottom.js
+++ b/web/client/src/sections/quanju/containers/footer/build/Leftbottom.js
@@ -3,11 +3,19 @@ import './style.less'
import React, { useEffect, useRef } from 'react';
// import ReactEcharts from 'echarts-for-react';
import * as echarts from 'echarts';
-function Leftbottom() {
- // const {
- // safetyData, chartTitle, title, number, leftLegend, rightLegend, legendColor, width, height,
- // } = props;
+function Leftbottom(props) {
+ const { width, height, data, total, text } = props
const chartRef = useRef(null);
+ let colorList = [
+ "rgba(7,185,254,1)",
+ "rgba(28,96,254,1)",
+ "rgba(4,251,240,1)",
+ ]
+ let underColorList = [
+ "rgba(7,185,254,0.5)",
+ "rgba(28,96,254,0.5)",
+ "rgba(4,251,240,0.5)",
+ ]
const safetyData = [
{name: '县道', value: 72},
{name: '乡道', value: 17},
@@ -15,145 +23,201 @@ function Leftbottom() {
]
const chartTitle = '道路总公里';
const title = '基础设施安全监测版块';
- // const number = 2738;
- // const leftLegend = ['地灾', '桥梁', '基坑', '边坡', '水库大坝']
- const rightLegend = ['县道', '乡道', '村道']
- const legendColor = undefined;
- const width = undefined
- const height = undefined
- var titleNum = 15
- let safetyOption = {
+ let name = [], emptyName = []
+ // const name = data?.map(d)
+ data?.forEach(d => {
+ name.push(d.name)
+ emptyName.push({
+ name: '',
+ value: d.value
+ })
+ })
+
+ // let safetyOption = {
+ // tooltip: {
+ // show: true,
+ // trigger: 'item',
+ // position: 'right',
+ // backgroundColor: 'rgba(0,0,0,0.7)',
+ // textStyle: {
+ // color: '#fff',
+ // },
+ // formatter: (values) => `${values.seriesName}
${values.marker} ${values.name} ${values.value}个(${values.percent}%)`,
+ // },
+ // // title: {
+ // // text:titleNum,//主标题文本
+ // // left:'10%',
+ // // top:'35%',
+ // // subtext:chartTitle,//副标题文本
+ // // textStyle:{
+ // // fontFamily : "YouSheBiaoTiHei",
+ // // fontSize: 20,
+ // // color:'#FFFFFF',
+ // // marginLeft:'20%',
+ // // align:'center'
+ // // },
+ // // subtextStyle:{
+ // // fontFamily : "PingFangSC-Medium PingFang SC",
+ // // fontSize: 12,
+ // // fontWeight:500,
+ // // color:'#E9F7FF',
+
+ // // }
+ // // },
+ // legend: [
+
+ // {
+ // orient: 'vertical',
+ // textStyle: {
+ // color: '#DDEFFF',
+ // fontFamily: 'SourceHanSansCN-Regular',
+ // fontSize: 12,
+ // },
+ // right: 0,
+ // top: 'center',
+ // align: 'left',
+ // itemWidth: 10,
+ // itemHeight: 10,
+ // data: rightLegend || ['地灾', '隧道', '尾矿库', '水库大坝', '智慧消防'],
+ // formatter: (name) => {
+ // for (let i = 0; i < safetyOption.series[0].data.length; i += 1) {
+ // if (name === safetyOption.series[0].data[i].name) {
+ // return `${name} \t ${safetyOption.series[0].data[i].value}`;
+ // }
+ // }
+ // },
+ // },
+ // ],
+ // series: [
+ // {
+ // name: '道路统计',
+ // type: 'pie',
+ // radius: ['50%', '63%'],
+ // center: ["30%", "50%"],
+ // // emphasis: { // 设置高亮时显示标签
+ // // label: {
+ // // show: true
+ // // },
+ // // // scale: true, // 设置高亮时放大图形
+ // // // scaleSize: 20
+ // // },
+ // label: {
+ // show: false,
+ // },
+ // // selectedMode: 'single',
+ // data: safetyData,
+ // itemStyle: {
+ // normal: {
+ // color: (color) => {
+ // const colorList = legendColor || [
+ // '#98D8CA',
+ // '#9494FF',
+ // '#2A43FF',
+ // '#FFD39F',
+ // '#9D5F8B',
+ // '#ADDE81',
+ // '#F8EBA2',
+ // '#5F8EFD',
+ // '#2BB4D3',
+ // '#1488C8',
+ // ];
+ // return colorList[color.dataIndex];
+ // },
+ // },
+ // },
+ // },
+ // ],
+ // };
+ const option = {
tooltip: {
- show: true,
- trigger: 'item',
- position: 'right',
- backgroundColor: 'rgba(0,0,0,0.7)',
+ trigger: "item",
+ },
+ legend: {
+ orient: "vertical",
+ itemWidth: 10,
+ itemHeight: 10,
+ right: '30%',
+ top: 'center',
+ align: 'left',
+ data: name,
textStyle: {
- color: '#fff',
+ color: "#fff",
},
- formatter: (values) => `${values.seriesName}
${values.marker} ${values.name} ${values.value}个(${values.percent}%)`,
},
- // title: {
- // text:titleNum,//主标题文本
- // left:'10%',
- // top:'35%',
- // subtext:chartTitle,//副标题文本
- // textStyle:{
- // fontFamily : "YouSheBiaoTiHei",
- // fontSize: 20,
- // color:'#FFFFFF',
- // marginLeft:'20%',
- // align:'center'
- // },
- // subtextStyle:{
- // fontFamily : "PingFangSC-Medium PingFang SC",
- // fontSize: 12,
- // fontWeight:500,
- // color:'#E9F7FF',
-
- // }
- // },
- legend: [
+ grid: {
+ left: '10%'
+ },
+ series: [
{
- orient: 'vertical',
- textStyle: {
- color: '#DDEFFF',
- fontFamily: 'SourceHanSansCN-Regular',
- fontSize: 12,
+ name: "底层背景",
+ type: "pie",
+ hoverAnimation: false,
+ legendHoverLink: false,
+ radius: ["50%", "62%"],
+ center: ['25%', '50%'],
+ color: underColorList,
+ label: {
+ show: false
},
- right: 0,
- top: 'center',
- align: 'left',
- itemWidth: 10,
- itemHeight: 10,
- data: rightLegend || ['地灾', '隧道', '尾矿库', '水库大坝', '智慧消防'],
- formatter: (name) => {
- for (let i = 0; i < safetyOption.series[0].data.length; i += 1) {
- if (name === safetyOption.series[0].data[i].name) {
- return `${name} \t ${safetyOption.series[0].data[i].value}`;
- }
- }
+ labelLine: {
+ show: false
},
+ tooltip: {
+ show: false,
+ },
+
+ data: emptyName,
},
- ],
- series: [
{
- name: '道路统计',
- type: 'pie',
- radius: ['50%', '63%'],
- center: ["30%", "50%"],
- // emphasis: { // 设置高亮时显示标签
- // label: {
- // show: true
- // },
- // // scale: true, // 设置高亮时放大图形
- // // scaleSize: 20
- // },
+ name: "道路统计",
+ type: "pie",
+ radius: ["57%", "70%"],
+ center: ['25%', '50%'],
+ color: colorList,
label: {
- show: false,
- },
- // selectedMode: 'single',
- data: safetyData,
- itemStyle: {
- normal: {
- color: (color) => {
- const colorList = legendColor || [
- '#98D8CA',
- '#9494FF',
- '#2A43FF',
- '#FFD39F',
- '#9D5F8B',
- '#ADDE81',
- '#F8EBA2',
- '#5F8EFD',
- '#2BB4D3',
- '#1488C8',
- ];
- return colorList[color.dataIndex];
- },
- },
+ show: false
},
+ data: data,
},
],
};
-
let currentIndex = -1; // 当前高亮图形在饼图数据中的下标
useEffect(() => {
let myChart = echarts.init(chartRef.current);
- const highlightPie = () =>{ // 取消所有高亮并高亮当前图形
- for(var idx in safetyOption.series[0].data)
- // 遍历饼图数据,取消所有图形的高亮效果
- myChart.dispatchAction({
- type: 'downplay',
- seriesIndex: 0,
- dataIndex: idx
- });
- // 高亮当前图形
- myChart.dispatchAction({
- type: 'highlight',
- seriesIndex: 0,
- dataIndex: currentIndex
- });
- // myChart.dispatchAction({
- // type: 'showTip',
- // seriesIndex: 0,
- // dataIndex: currentIndex,
- // });
- }
- const selectPie=() =>{ // 高亮效果切换到下一个图形
- var dataLen = safetyOption.series[0].data.length;
- currentIndex = (currentIndex + 1) % dataLen;
- highlightPie();
- }
- let changePieInterval = setInterval(selectPie, 1000);
+ // const highlightPie = () =>{ // 取消所有高亮并高亮当前图形
+ // for(var idx in safetyOption.series[0].data)
+ // // 遍历饼图数据,取消所有图形的高亮效果
+ // myChart.dispatchAction({
+ // type: 'downplay',
+ // seriesIndex: 0,
+ // dataIndex: idx
+ // });
+ // // 高亮当前图形
+ // myChart.dispatchAction({
+ // type: 'highlight',
+ // seriesIndex: 0,
+ // dataIndex: currentIndex
+ // });
+ // // myChart.dispatchAction({
+ // // type: 'showTip',
+ // // seriesIndex: 0,
+ // // dataIndex: currentIndex,
+ // // });
+ // }
+ // const selectPie=() =>{ // 高亮效果切换到下一个图形
+ // var dataLen = safetyOption.series[0].data.length;
+ // currentIndex = (currentIndex + 1) % dataLen;
+ // highlightPie();
+ // }
+ // let changePieInterval = setInterval(selectPie, 1000);
myChart.onChartReady = (instance) => {
chartRef.current.safetyChart = instance;
}
- myChart.setOption(safetyOption);
+ myChart.setOption(option);
return ()=>{
- clearInterval(changePieInterval)
+ // clearInterval(changePieInterval)
}
}, []);
diff --git a/web/client/src/sections/quanju/containers/footer/build/Rightbottom.js b/web/client/src/sections/quanju/containers/footer/build/Rightbottom.js
index 63b5b344..2c8107f0 100644
--- a/web/client/src/sections/quanju/containers/footer/build/Rightbottom.js
+++ b/web/client/src/sections/quanju/containers/footer/build/Rightbottom.js
@@ -4,194 +4,134 @@ import { Col, Progress, Row } from 'antd';
import React, { useEffect, useRef } from 'react';
// import ReactEcharts from 'echarts-for-react';
import * as echarts from 'echarts';
-function Rightbottom() {
- // const {
- // safetyData, chartTitle, title, number, leftLegend, rightLegend, legendColor, width, height,
- // } = props;
+function Rightbottom(props) {
+ const { width, height, data, total, text } = props
const chartRef = useRef(null);
- const safetyData = [
- {name: '一级公路', value: 42},
- {name: '二级公路', value: 17},
- {name: '三级公路', value: 17},
- {name: '四级公路', value: 30},
- {name: '等外公路', value: 30},
-
+ let colorList = [
+ "rgba(7,185,254,1)",
+ "rgba(28,96,254,1)",
+ "rgba(4,251,240,1)",
+ "rgba(255,194,20,1)"
+ ]
+ let underColorList = [
+ "rgba(7,185,254,0.5)",
+ "rgba(28,96,254,0.5)",
+ "rgba(4,251,240,0.5)",
+ "rgba(255,194,20,0.5)"
]
+ let name = [], emptyName = []
+ // const name = data?.map(d)
+
+ // const safetyData = [
+ // {name: '一级公路', value: 42},
+ // {name: '二级公路', value: 17},
+ // {name: '三级公路', value: 17},
+ // {name: '四级公路', value: 30},
+ // {name: '等外公路', value: 30},
+
+ // ]
+ data?.forEach(d => {
+ name.push(d.name)
+ emptyName.push({
+ name: '',
+ value: d.value
+ })
+ })
const chartTitle = '道路总公里';
const title = '基础设施安全监测版块';
// const number = 2738;
// const leftLegend = ['地灾', '桥梁', '基坑', '边坡', '水库大坝']
const rightLegend = ['一级公路', '二级公路', '三级公路','四级公路','等外公路']
const legendColor = undefined;
- const width = undefined
- const height = undefined
+
var titleNum = 15
- let safetyOption = {
+ const option = {
tooltip: {
- show: true,
- trigger: 'item',
- position: 'right',
- backgroundColor: 'rgba(0,0,0,0.7)',
+ trigger: "item",
+ },
+ legend: {
+ orient: "vertical",
+ itemWidth: 10,
+ itemHeight: 10,
+ right: '30%',
+ top: 'center',
+ align: 'left',
textStyle: {
- color: '#fff',
+ color: "#fff",
},
- formatter: (values) => `${values.seriesName}
${values.marker} ${values.name} ${values.value}个(${values.percent}%)`,
},
- // title: {
- // text:titleNum,//主标题文本
- // left:'center',
- // top:'35%',
- // subtext:chartTitle,//副标题文本
- // textStyle:{
- // fontFamily : "YouSheBiaoTiHei",
- // fontSize: 20,
- // color:'#FFFFFF',
- // // align:'center'
- // },
- // subtextStyle:{
- // fontFamily : "PingFangSC-Medium PingFang SC",
- // fontSize: 12,
- // fontWeight:500,
- // color:'#E9F7FF',
- // }
- // },
- // graphic: {
- // elements: [
- // {
- // type: 'text',
- // style: {
- // text: chartTitle || '安全\n监测',
- // align: 'center',
- // fill: '#fff',
- // z: -999,
- // zlevel: -999,
- // font: '20px "YouSheBiaoTiHei", sans-serif',
- // },
- // left: 'center',
- // top: 'center',
- // position: [100, 100],
- // },
- // ],
- // },
- legend: [
+ grid: {
+ left: '10%'
+ },
- // {
- // orient: 'vertical',
- // left: 'left',
- // top: 'center',
- // textStyle: {
- // color: '#DDEFFF',
- // fontFamily: 'SourceHanSansCN-Regular',
- // fontSize: 12,
- // },
- // itemWidth: 10,
- // itemHeight: 10,
- // data: leftLegend || ['基坑', '桥梁', '地铁', '边坡', '建筑物'],
- // formatter: (name) => {
- // for (let i = 0; i < safetyOption.series[0].data.length; i += 1) {
- // if (name === safetyOption.series[0].data[i].name) {
- // return `${name} \t ${safetyOption.series[0].data[i].value}`;
- // }
- // }
- // },
- // },
+ series: [
{
- orient: 'vertical',
- textStyle: {
- color: '#DDEFFF',
- fontFamily: 'SourceHanSansCN-Regular',
- fontSize: 12,
+ name: "底层背景",
+ type: "pie",
+ hoverAnimation: false,
+ legendHoverLink: false,
+ radius: ["50%", "62%"],
+ center: ['25%', '50%'],
+ color: underColorList,
+ label: {
+ show: false
},
- right: 0,
- top: 'center',
- align: 'left',
- itemWidth: 10,
- itemHeight: 10,
- data: rightLegend || ['地灾', '隧道', '尾矿库', '水库大坝', '智慧消防'],
- formatter: (name) => {
- for (let i = 0; i < safetyOption.series[0].data.length; i += 1) {
- if (name === safetyOption.series[0].data[i].name) {
- return `${name} \t ${safetyOption.series[0].data[i].value}`;
- }
- }
+ labelLine: {
+ show: false
},
+ tooltip: {
+ show: false,
+ },
+
+ data: emptyName,
},
- ],
- series: [
{
- name: '公路等级统计',
- type: 'pie',
- radius: ['50%', '63%'],
- center:['30%','50%'],
- // emphasis: { // 设置高亮时显示标签
- // label: {
- // show: true
- // },
- // // scale: true, // 设置高亮时放大图形
- // // scaleSize: 20
- // },
+ name: "公路等级统计",
+ type: "pie",
+ radius: ["57%", "70%"],
+ center: ['25%', '50%'],
+ color: colorList,
label: {
- show: false,
- },
- // selectedMode: 'single',
- data: safetyData,
- itemStyle: {
- normal: {
- color: (color) => {
- const colorList = legendColor || [
- '#98D8CA',
- '#9494FF',
- '#2A43FF',
- '#FFD39F',
- '#9D5F8B',
- '#ADDE81',
- '#F8EBA2',
- '#5F8EFD',
- '#2BB4D3',
- '#1488C8',
- ];
- return colorList[color.dataIndex];
- },
- },
+ show: false
},
+ data: data,
},
],
};
-
let currentIndex = -1; // 当前高亮图形在饼图数据中的下标
useEffect(() => {
let myChart = echarts.init(chartRef.current);
- const highlightPie = () =>{ // 取消所有高亮并高亮当前图形
- for(var idx in safetyOption.series[0].data)
- // 遍历饼图数据,取消所有图形的高亮效果
- myChart.dispatchAction({
- type: 'downplay',
- seriesIndex: 0,
- dataIndex: idx
- });
- // 高亮当前图形
- myChart.dispatchAction({
- type: 'highlight',
- seriesIndex: 0,
- dataIndex: currentIndex
- });
- // myChart.dispatchAction({
- // type: 'showTip',
- // seriesIndex: 0,
- // dataIndex: currentIndex,
- // });
- }
- const selectPie=() =>{ // 高亮效果切换到下一个图形
- var dataLen = safetyOption.series[0].data.length;
- currentIndex = (currentIndex + 1) % dataLen;
- highlightPie();
- }
- let changePieInterval = setInterval(selectPie, 1000);
+ // const highlightPie = () =>{ // 取消所有高亮并高亮当前图形
+ // for(var idx in safetyOption.series[0].data)
+ // // 遍历饼图数据,取消所有图形的高亮效果
+ // myChart.dispatchAction({
+ // type: 'downplay',
+ // seriesIndex: 0,
+ // dataIndex: idx
+ // });
+ // // 高亮当前图形
+ // myChart.dispatchAction({
+ // type: 'highlight',
+ // seriesIndex: 0,
+ // dataIndex: currentIndex
+ // });
+ // // myChart.dispatchAction({
+ // // type: 'showTip',
+ // // seriesIndex: 0,
+ // // dataIndex: currentIndex,
+ // // });
+ // }
+ // const selectPie=() =>{ // 高亮效果切换到下一个图形
+ // var dataLen = safetyOption.series[0].data.length;
+ // currentIndex = (currentIndex + 1) % dataLen;
+ // highlightPie();
+ // }
+ // let changePieInterval = setInterval(selectPie, 1000);
- myChart.onChartReady = (instance) => {
- chartRef.current.safetyChart = instance;
- }
- myChart.setOption(safetyOption);
+ // myChart.onChartReady = (instance) => {
+ // chartRef.current.safetyChart = instance;
+ // }
+ myChart.setOption(option);
return ()=>{
clearInterval(changePieInterval)
}
diff --git a/web/client/src/sections/quanju/containers/footer/build/index.js b/web/client/src/sections/quanju/containers/footer/build/index.js
index 86884a9b..bbfac6ca 100644
--- a/web/client/src/sections/quanju/containers/footer/build/index.js
+++ b/web/client/src/sections/quanju/containers/footer/build/index.js
@@ -14,6 +14,19 @@ import './style.less'
import {getdaolutongji} from '../../../actions/example'
const Build = (props) => {
const { dispatch } = props
+ let data = [
+ { value: 435, name: "县道" },
+ { value: 679, name: "乡道" },
+ { value: 848, name: "村道" },
+ ]
+ const safetyData = [
+ {name: '一级公路', value: 42},
+ {name: '二级公路', value: 17},
+ {name: '三级公路', value: 17},
+ {name: '四级公路', value: 30},
+
+
+ ]
const [buildingnumber,setbuildingnumber] = useState(0)
const requestbuildingnumber = async ()=>{
const res = await dispatch(getdaolutongji());
@@ -97,7 +110,15 @@ const Build = (props) => {
-
+
@@ -118,7 +139,11 @@ const Build = (props) => {
-
+
diff --git a/web/client/src/sections/quanju/containers/footer/build/style.less b/web/client/src/sections/quanju/containers/footer/build/style.less
index 727ada13..6e534f0f 100644
--- a/web/client/src/sections/quanju/containers/footer/build/style.less
+++ b/web/client/src/sections/quanju/containers/footer/build/style.less
@@ -171,7 +171,7 @@
align-items: center;
justify-content: center;
position: absolute;
- left: 27%;
+ left: 16%;
top:38%;
h2{
font-size: 1.25rem;
@@ -190,7 +190,7 @@
img{
width: 19%;
position: absolute;
- left: 26.5%;
+ left: 16%;
top:29%
}
@@ -268,7 +268,7 @@
align-items: center;
justify-content: center;
position: absolute;
- left: 27%;
+ left: 16%;
top:38%;
h2{
font-size: 1.25rem;
@@ -287,7 +287,7 @@
img{
width: 19%;
position: absolute;
- left: 26.5%;
+ left: 16%;
top:29%
}
}