After Width: | Height: | Size: 1.5 MiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 404 B |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 5.2 KiB |
@ -1,14 +1,30 @@ |
|||||
|
import { Col, Row } from 'antd' |
||||
import React from 'react' |
import React from 'react' |
||||
|
import { useEffect } from 'react' |
||||
import Module from '../../../public/module' |
import Module from '../../../public/module' |
||||
|
|
||||
const LeftCenter = () => { |
const LeftCenter = () => { |
||||
const style = { height: "30%", marginTop: "5%" } |
const style = { height: "31%", marginTop: "3%" } |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
return ( |
return ( |
||||
<> |
<> |
||||
<Module style={style} title={"可绿化里程统计"}> |
<Module style={style} title={"可绿化里程统计"}> |
||||
|
|
||||
|
<Row align='middle' style={{ padding: 10 }}> |
||||
|
<Col span={15}> |
||||
|
<img src='assets/images/quanju/kelvhua_icon.png' alt='icon' /> |
||||
|
<span style={{ color: '#C2EEFF', marginLeft: 5 }}>可绿化里程总数</span> |
||||
|
</Col> |
||||
|
<Col span={9} style={{ fontSize: 28, fontFamily: 'YouSheBiaoTiHei', color: '#fff' }}>1234.123</Col> |
||||
|
</Row> |
||||
|
<div>图表</div> |
||||
|
|
||||
</Module> |
</Module> |
||||
</> |
</> |
||||
) |
) |
||||
} |
} |
||||
export default LeftCenter |
export default LeftCenter |
@ -1,14 +1,50 @@ |
|||||
|
import { Col, Row } from 'antd' |
||||
import React from 'react' |
import React from 'react' |
||||
import Module from '../../../public/module' |
import Module from '../../../public/module' |
||||
|
|
||||
const RightTop= () => { |
const RightTop = () => { |
||||
const style = { height: "30%", marginTop: "5%" } |
const style = { height: "31%", marginTop: "3%" } |
||||
|
const textStyle = { fontSize: 14, color: '#E9F7FF' } |
||||
|
const numStyle = { color: '#fff', fontSize: 24, fontFamily: 'YouSheBiaoTiHei', textShadow: '0px 0px 8px #1C60FE', marginTop: 8 } |
||||
return ( |
return ( |
||||
<> |
<> |
||||
<Module style={style} title={"道路设施数量统计"}> |
<Module style={style} title={"道路设施数量统计"}> |
||||
|
<div style={{ paddingLeft: '8%' }}> |
||||
</Module> |
<Row style={{ marginTop: 20, justifyContent: 'space-around' }}> |
||||
</> |
<Col style={{ display: 'flex', width: '50%' }}> |
||||
|
<img src='assets/images/quanju/biaoxian.png' alt='icon' /> |
||||
|
<div style={{ marginLeft: 10 }}> |
||||
|
<div style={textStyle}>标线</div> |
||||
|
<div style={numStyle}>1352km</div> |
||||
|
</div> |
||||
|
</Col> |
||||
|
<Col style={{ display: 'flex', width: '50%' }}> |
||||
|
<img src='assets/images/quanju/renxing.png' alt='icon' /> |
||||
|
<span style={{ marginLeft: 10 }}> |
||||
|
<div style={textStyle}>人行道</div> |
||||
|
<div style={numStyle}>80处</div> |
||||
|
</span> |
||||
|
</Col> |
||||
|
</Row> |
||||
|
<Row style={{ marginTop: 20, justifyContent: 'space-around' }}> |
||||
|
<Col style={{ display: 'flex', width: '50%' }}> |
||||
|
<img src='assets/images/quanju/biaozhi.png' alt='icon' /> |
||||
|
<span style={{ marginLeft: 10 }}> |
||||
|
<div style={textStyle}>标志牌</div> |
||||
|
<div style={numStyle}>4563个</div> |
||||
|
</span> |
||||
|
</Col> |
||||
|
<Col span={12} style={{ display: 'flex', width: '50%' }}> |
||||
|
<img src='assets/images/quanju/fanghu.png' alt='icon' /> |
||||
|
<span style={{ marginLeft: 10 }}> |
||||
|
<div style={textStyle}>防护栏</div> |
||||
|
<div style={numStyle}>1054km</div> |
||||
|
</span> |
||||
|
</Col> |
||||
|
</Row> |
||||
|
</div> |
||||
|
</Module> |
||||
|
</> |
||||
) |
) |
||||
} |
} |
||||
export default RightTop |
export default RightTop |
@ -0,0 +1,91 @@ |
|||||
|
import React, { useEffect, useRef } from 'react'; |
||||
|
import './style.less' |
||||
|
import * as echarts from 'echarts'; |
||||
|
export default function LeftItem() { |
||||
|
const seasonChartRef = useRef(null); |
||||
|
useEffect(() => { |
||||
|
let chartInstance = echarts.init(seasonChartRef.current); |
||||
|
const seasonOption = { |
||||
|
title: [ |
||||
|
{ |
||||
|
text: "已处理", |
||||
|
x: "center", |
||||
|
top: "55%", |
||||
|
textStyle: { |
||||
|
color: "#E9F7FF", |
||||
|
fontSize: 14, |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
text: "2333", |
||||
|
x: "center", |
||||
|
y: "35%", |
||||
|
textStyle: { |
||||
|
fontSize: "30", |
||||
|
color: "#FFFFFF", |
||||
|
fontFamily: "YouSheBiaoTiHei", |
||||
|
}, |
||||
|
}, |
||||
|
], |
||||
|
polar: { |
||||
|
radius: ["78%", "86%"], |
||||
|
center: ["50%", "50%"], |
||||
|
}, |
||||
|
angleAxis: { |
||||
|
max: 100, |
||||
|
show: false, |
||||
|
}, |
||||
|
radiusAxis: { |
||||
|
type: "category", |
||||
|
show: true, |
||||
|
axisLabel: { |
||||
|
show: false, |
||||
|
}, |
||||
|
axisLine: { |
||||
|
show: false, |
||||
|
}, |
||||
|
axisTick: { |
||||
|
show: false, |
||||
|
}, |
||||
|
}, |
||||
|
series: [ |
||||
|
{ |
||||
|
name: "", |
||||
|
type: "bar", |
||||
|
roundCap: true, |
||||
|
barWidth: 30, |
||||
|
showBackground: true, |
||||
|
data: [40], |
||||
|
coordinateSystem: "polar", |
||||
|
itemStyle: { |
||||
|
normal: { |
||||
|
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ |
||||
|
{ |
||||
|
offset: 0, |
||||
|
color: "#AAC8FF", |
||||
|
}, |
||||
|
{ |
||||
|
offset: 1, |
||||
|
color: "#0041BB", |
||||
|
}, |
||||
|
]), |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
], |
||||
|
}; |
||||
|
chartInstance.setOption(seasonOption); |
||||
|
|
||||
|
}, []) |
||||
|
return ( |
||||
|
<div className='guanli-left-item'> |
||||
|
<div className='guanli-left-item-left'> |
||||
|
<span>莲塘镇</span> |
||||
|
<div>244 <span>个</span></div> |
||||
|
</div> |
||||
|
<div className='guanli-left-item-right'> |
||||
|
<div ref={seasonChartRef} style={{ height: "100%", width: "100%" }}></div> |
||||
|
</div> |
||||
|
</div> |
||||
|
) |
||||
|
} |