彭宇 2 роки тому
батько
коміт
b5ae77fc06

+ 174 - 0
src/views/bigdata/chart-ancientTree.vue

@@ -0,0 +1,174 @@
+<!-- **************************************NO.8 养殖场分布*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="farm" style="width: 100%; height:23vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'farm',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=KH0XpN7nyKZZae11
+
+			myEcharts() {
+
+
+				var chartDom = document.getElementById('farm');
+				var myChart = echarts.init(chartDom);
+				var color = ['#02CDFF', '#62FBE7', '#7930FF', '#ef5f9d', '#ecb935'];
+				var option;
+				var data =  [20, 80, 100, 40, 34];
+				option = {
+				    color: ["#41FF80"],
+				    title: {
+				        show: false
+				    },
+				    grid: {
+				        top: '15%',
+				        right: '12%',
+				        bottom: '22%',
+				        left: '15%'
+				    },
+				    tooltip: {
+				        show: false
+				    },
+				    xAxis: {
+				        data: [
+				            "双辽市",
+				            "梨树县",
+				            "伊通县",
+				            "铁东区",
+				            "铁西区",
+				        ],
+				        axisLine: {
+				            show: true, //隐藏X轴轴线
+				            lineStyle: {
+				                color: '#2D455A'
+				            }
+				        },
+				        axisTick: {
+				            show: false //隐藏X轴刻度
+				        },
+				        axisLabel: {
+				            show: true,
+				            margin: 14,
+				            fontSize: 10,
+				            textStyle: {
+				                color: '#ffffff' //X轴文字颜色
+				            }
+				        }
+				    },
+				    yAxis: [{
+				        type: 'value',
+				        gridIndex: 0,
+				        interval: 25,
+				        // splitNumber: 4,
+				        splitLine: {
+				            show: true,
+				            lineStyle: {
+				                type: 'solid',
+				                color: '#325A9F',
+				                width: 1
+				            }
+				        },
+				        axisTick: {
+				            show: false
+				        },
+				        axisLine: {
+				            show: false
+				        },
+				        axisLabel: {
+				            show: true,
+				            formatter: '{value}',
+				            fontSize: 10,
+				            textStyle: {
+				                color: '#6ad8ff' //X轴文字颜色
+				            }
+				        }
+				    }],
+				    series: [{
+				            name: '养殖场分布',
+				            type: 'bar',
+				            barWidth: 8,
+				            itemStyle: {
+				                normal: {
+				                    label: {
+				                        show: true, //开启显示
+				                        position: 'top', //在上方显示
+				                        textStyle: { //数值样式
+				                            color: '#fff',
+				                        }
+				                    },
+				                    color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
+				                            offset: 0,
+				                            color: '#fffa55'
+				                        },
+				                        {
+				                            offset: 0.5,
+				                            color: '#55ff18'
+				                        },
+				                        {
+				                            offset: 1,
+				                            color: '#29eeff'
+				                        }
+				                    ])
+				                }
+				            },
+				            data:data,
+				            z: 10,
+				            zlevel: 0
+				        },
+				        {
+				            // 分隔
+				            type: 'pictorialBar',
+				            itemStyle: {
+				                normal: {
+				                    color: '#0F375F'
+				                }
+				            },
+				            symbolRepeat: 'fixed',
+				            symbolMargin: 2,
+				            symbol: 'rect',
+				            symbolClip: true,
+				            symbolSize: [8, 2],
+				            symbolPosition: 'start',
+				            symbolOffset: [0, -1],
+				            // symbolBoundingData: this.total,
+				            data:data,
+				            width: "100%",
+				            z: 0,
+				            zlevel: 1
+				        }
+				    ]
+				};
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+</style>

+ 149 - 0
src/views/bigdata/chart-deviceReportingEvents.vue

@@ -0,0 +1,149 @@
+<!-- **************************************NO.5 林场*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="forestfarm" style="width: 100%; height:23vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'forestfarm',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=2nuQSYycLWN0P_EG
+
+			myEcharts() {
+
+
+				var chartDom = document.getElementById('forestfarm');
+				var myChart = echarts.init(chartDom);
+				var color = ['#02CDFF', '#62FBE7', '#7930FF', '#E148EB', '#ecb935']
+				var option;
+				option = {
+				        tooltip: {
+				          trigger: 'axis',
+				          axisPointer: { // 坐标轴指示器,坐标轴触发有效
+				            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
+				          }
+				        },
+				        grid: {
+				          left: '10%',
+				          right: '10%',
+				          bottom: '10%',
+				          top:'16%',
+				          containLabel: true
+				        },
+				        
+				        xAxis: {
+				          type: 'category',
+				          data: ['双辽市','梨树县','伊通县','铁东区','铁西区'],
+				          axisLine: {
+				            lineStyle: {
+				              color: '#1cc6a1'
+				
+				            }
+				          },
+				          axisLabel: {
+				            // interval: 0,
+				            // rotate: 40,
+				            textStyle: {
+				              fontFamily: 'Microsoft YaHei'
+				            }
+				          },
+				        },
+				
+				        yAxis: {
+				          type: 'value',
+				          max:'500',
+				          axisLine: {
+				            show: false,
+				            lineStyle: {
+				              color: '#19b1e8'
+				            }
+				          },
+				          splitLine: {
+				            show: true,
+				            lineStyle: {
+				              color: 'rgba(255,255,255,0.1)'
+				            }
+				          },
+				          axisLabel: {}
+				        },
+				        
+				        series: [{
+				          type: 'bar',
+				          barWidth: '15%',
+				          itemStyle: {
+				            normal: {
+				                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+				                    offset: 0,
+				                    color: '#fccb05'
+				                }, {
+				                    offset: 1,
+				                    color: '#1689f5'
+				                }]),
+				                barBorderRadius: 12,
+				            },
+				          },
+				          data: [400, 400, 300, 300, 300]
+				        }]
+				      };
+				
+				      var app = {
+				        currentIndex: -1,
+				      };
+				      setInterval(function () {
+				        var dataLen = option.series[0].data.length;
+				
+				        // 取消之前高亮的图形
+				        myChart.dispatchAction({
+				          type: 'downplay',
+				          seriesIndex: 0,
+				          dataIndex: app.currentIndex
+				        });
+				        app.currentIndex = (app.currentIndex + 1) % dataLen;
+				        //console.log(app.currentIndex);
+				        // 高亮当前图形
+				        myChart.dispatchAction({
+				          type: 'highlight',
+				          seriesIndex: 0,
+				          dataIndex: app.currentIndex,
+				        });
+				        // 显示 tooltip
+				        myChart.dispatchAction({
+				          type: 'showTip',
+				          seriesIndex: 0,
+				          dataIndex: app.currentIndex
+				        });
+				
+				
+				      }, 1000);
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+</style>

+ 393 - 0
src/views/bigdata/chart-equipmentDistribution.vue

@@ -0,0 +1,393 @@
+<!-- **************************************NO.16 摄像头*************************************** -->
+<template>
+	<div class="chart-container">
+		<!-- <div id="camera1" style="width: 100%; height:25vh; ">
+		</div> -->
+		<div id="camera2" style="width: 100%; height:85vh; ">
+		</div>
+		<!-- <div id="camera3" style="width: 100%; height:30vh; ">
+		</div> -->
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'camera',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			// this.myEcharts1();
+			this.myEcharts2();
+			// this.myEcharts3();
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=TMyJh73uiXkeu3_v
+			myEcharts1() {
+				var chartDom = document.getElementById('camera1');
+				var myChart = echarts.init(chartDom);
+				var option;
+				const dfColor = ['#92E1FF', '#0097FB', '#30ECA6', '#FFC227', '#FF4848'];
+				option = {
+					dataset: {
+						dimensions: ['name', '摄像头'],
+						source: [{
+								name: '双辽市',
+								'摄像头': 50
+							},
+							{
+								name: '梨树县',
+								'摄像头': 40
+							},
+							{
+								name: '伊通县',
+								'摄像头': 30
+							},
+							{
+								name: '铁东区',
+								'摄像头': 20
+							},
+							{
+								name: '铁西区',
+								'摄像头': 30
+							}
+						]
+					},
+					tooltip: {
+						trigger: 'item',
+						position: function(point, params, dom, rect, size) {
+							const x = point[0];
+							const y = point[1];
+				 		const viewWidth = size.viewSize[0];
+							const viewHeight = size.viewSize[1];
+							const boxWidth = size.contentSize[0];
+				 		const boxHeight = size.contentSize[1];
+							let posX = 0;
+							let posY = 0;
+				 		if (x < boxWidth) {
+								// 左边放不开
+								posX = 5;
+							} else {
+								// 左边放的下
+								posX = x - boxWidth;
+							}
+							if (y < boxHeight) {
+								// 上边放不开
+								posY = 5;
+							} else {
+								// 上边放得下
+								posY = y - boxHeight;
+							}
+							return [posX, posY];
+						},
+					},
+					angleAxis: {
+						max(value) {
+							return value.max * 1.1;
+						},
+						axisLabel: {
+							show: false
+						},
+						axisTick: {
+							show: false
+						},
+				  axisLine: {
+							show: false
+						},
+						splitLine: {
+							show: false
+						},
+						startAngle: 270
+					},
+					radiusAxis: {
+						type: 'category',
+						minorTick: {
+							show: false
+						},
+						axisLine: {
+							show: false
+						},
+						axisTick: {
+							show: false
+						},
+						axisLabel: {
+							show: false
+						},
+					},
+					polar: {
+				 	radius: ['40%', '90%'],
+				 },
+					// angleAxis:{
+					//     clockwise:false
+					// },
+					series: [{
+						type: 'bar',
+						coordinateSystem: 'polar',
+						itemStyle: {
+				  	color(params) {
+								const idx = params.dataIndex;
+								return dfColor[idx];
+							},
+						},
+						barWidth: 5,
+						roundCap: true,
+						showBackground: true,
+						backgroundStyle: {
+							color: 'RGBA(0, 69, 117, 0.5)',
+						},
+					}],
+				};
+				option && myChart.setOption(option);
+			},
+
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=pAD_0lcRq_zOGf_k
+			myEcharts2() {
+				var chartDom = document.getElementById('camera2');
+				var myChart = echarts.init(chartDom);
+				var option;
+				const dfColor = ['#92E1FF', '#0097FB', '#30ECA6', '#FFC227', '#FF4848'];
+				option = {
+					dataset: {
+						source: [
+							["类型1", 1200],
+							["类型2", 1000],
+							["类型3", 746],
+							["类型4", 636],
+							["类型5", 581],
+							["类型6", 426],
+							["类型7", 326]
+						],
+					},
+					tooltip: {
+						trigger: 'item',
+
+					},
+					grid: {
+						top: "0%",
+						left: "6%",
+						// right: "4%",
+						bottom: "5%",
+						width: '75%',
+						containLabel: true,
+					},
+					xAxis: {
+						show: false,
+						type: "value",
+					},
+					yAxis: {
+						type: "category", // 不设置类目轴,抽离的dataset数据展示不出来
+						inverse: true,
+						axisLabel: {
+							show: true,
+							textStyle: {
+								color: '#5deaff',
+								fontSize: '12'
+							}
+						},
+				  splitLine: {
+							show: false
+						},
+						axisTick: {
+							show: false
+						},
+						axisLine: {
+							show: false
+						},
+					},
+
+					series: [{
+
+						type: "bar",
+						animationCurve: "easeOutBack",
+						barWidth: 8,
+						label: {
+							show: true,
+							position: "right",
+							offset: [0, 0],
+							color: "#88dfd5",
+							// fontSize: "12",
+							style: {
+				   	fill: "#fff"
+							},
+						},
+						backgroundBar: {
+							show: true,
+							style: {
+								fill: "rgba(97,152,255,0.30)",
+							},
+						},
+						barStyle: {
+							stroke: "rgba(41,244,236,1)",
+						},
+						gradient: {
+							color: ["rgba(41,244,236,1)", "rgba(41,244,236,0)"],
+						},
+						itemStyle: {
+							label: {
+								show: true
+							},
+							labelLine: {
+								show: false,
+							},
+							color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
+				 				offset: 0,
+									color: "rgba(41,244,236,0)"
+								},
+								{
+									offset: 1,
+									color: "rgba(41,244,236,1)"
+								},
+							]),
+							borderColor: "#a2f9f7",
+							shadowBlur: 16,
+							shadowColor: "#a2f9f7",
+						},
+					}, ],
+				};
+				option && myChart.setOption(option);
+			},
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=ELjN7o3m72tLtmbv
+			myEcharts3() {
+				var chartDom = document.getElementById('camera3');
+				var myChart = echarts.init(chartDom);
+				var option;
+				option = {
+					color: ['#3D91F7', '#61BE67'],
+					tooltip: {},
+					legend: {
+						show: true,
+						icon: "circle",
+						bottom: 30,
+						center: 0,
+						itemWidth: 14,
+						itemHeight: 14,
+						itemGap: 21,
+						orient: "horizontal",
+						data: ['a', 'b'],
+						textStyle: {
+							color: '#8C8C8C'
+						},
+					},
+
+					radar: {
+						// shape: 'circle',
+						radius: '80%',
+						triggerEvent: true,
+						name: {
+							textStyle: {
+								color: '#fff',
+								fontSize: '10',
+								borderRadius: 3,
+								padding: [3, 5]
+							}
+						},
+						nameGap: '2',
+						indicator: [{ //[4300, 10000, 28000, 35000, 50000, 19000, 21000]
+								name: '型号1',
+								max: 6500
+							},
+							{
+								name: '型号2',
+								max: 16000
+							},
+							{
+								name: '型号3',
+								max: 30000
+							},
+							{
+								name: '型号4',
+								max: 38000
+							},
+							{
+								name: '型号5',
+								max: 52000
+							},
+							{
+								name: '型号6',
+								max: 25000
+							},
+							{
+								name: '型号7',
+								max: 25000
+							}
+						],
+						splitArea: {
+							areaStyle: {
+								color: [
+									'rgba(222,134,85, 0.1)', 'rgba(222,134,85, 0.2)',
+									'rgba(222,134,85, 0.4)', 'rgba(222,134,85, 0.6)',
+									'rgba(222,134,85, 0.8)', 'rgba(222,134,85, 1)'
+								].reverse()
+							}
+						},
+						// axisLabel:{//展示刻度
+						//     show: true
+						// },
+						axisLine: { //指向外圈文本的分隔线样式
+							lineStyle: {
+								color: 'rgba(0,0,0,0)'
+							}
+						},
+						splitLine: {
+							lineStyle: {
+								width: 2,
+								color: [
+									'rgba(224,134,82, 0.1)', 'rgba(224,134,82, 0.2)',
+									'rgba(224,134,82, 0.4)', 'rgba(224,134,82, 0.6)',
+									'rgba(224,134,82, 0.8)', 'rgba(224,134,82, 1)'
+								].reverse()
+							}
+						},
+
+					},
+
+					series: [{
+						name: '型号统计',
+						type: 'radar',
+						//areaStyle: {normal: {}},
+						areaStyle: {
+							normal: {
+								color: 'rgba(252,211,3, 0.3)'
+							}
+						},
+						symbolSize: 0,
+						lineStyle: {
+							normal: {
+								color: 'rgba(252,211,3, 1)',
+								width: 1
+				  	}
+						},
+						data: [{
+							value: [4300, 10000, 28000, 35000, 50000, 19000, 21000],
+							name: '型号统计',
+
+
+
+						}]
+					}]
+				};
+				option && myChart.setOption(option);
+			},
+
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+		flex-direction: column;
+	}
+</style>

+ 117 - 0
src/views/bigdata/chart-equipmentType.vue

@@ -0,0 +1,117 @@
+<!-- **************************************NO.3 企业*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="enterprise" style="width: 100%; height:23vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'enterprise',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods:{
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=XWNjkKJQ3NBt1FK6
+			
+			myEcharts() {
+				
+				
+				var chartDom = document.getElementById('enterprise');
+				var myChart = echarts.init(chartDom);
+				var color = ['#02CDFF', '#62FBE7', '#7930FF','#E148EB','#ecb935']
+				var option;
+				 var value = [987, 634, 413, 312, 123];
+				var temp = 0;
+				option = {
+				  
+				    tooltip: {
+				        trigger: 'item',
+				        formatter: '{a} <br/>{b} : {c} ',
+				    },
+				   
+				    legend: {
+				        // show: false,
+						textStyle:{
+							color:'#fffff',
+							fontSize:10
+						},
+						itemWidth:19,
+						top:'2%',
+				        data: ['双辽市', '梨树县', '伊通县', '铁东区', '铁西区'],
+				    },
+				    series: [
+				        {
+				            name: '企业分布',
+				            type: 'funnel',
+							top:'25%',
+				            left: '10%',
+				            width: '70%',
+							height:'68%',
+							
+				            label: {
+				                show: true,
+				                color: '#07faa9',
+				                formatter: function () {
+				                    for (var i in value) {
+				                        console.log(value[i]);
+				                        if (i == temp) {
+				                            temp++;
+				                            return value[i] ;
+				                        }
+				                    }
+				                },
+				            },
+				            labelLine: {
+				                show: true,
+				            },
+				            itemStyle: {
+				                opacity: 1,
+				            },
+				            emphasis: {
+				                label: {
+				                    position: 'inside',
+				                    // formatter: '{b}Expected: {c}%',
+				                },
+				            },
+				            data: [
+				                { value: 100, name: '双辽市', itemStyle: { color: '#4672F7' } },
+				                { value: 80, name: '梨树县', itemStyle: { color: '#4C9DFF' } },
+				                { value: 60, name: '伊通县', itemStyle: { color: '#36DC88' } },
+				                { value: 40, name: '铁东区', itemStyle: { color: '#FBC71B' } },
+				                { value: 20, name: '铁西区', itemStyle: { color: '#F9A646' } },
+				            ],
+				        },
+				    ],
+				};
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+
+
+
+
+</style>

+ 314 - 0
src/views/bigdata/chart-event.vue

@@ -0,0 +1,314 @@
+<!-- **************************************NO.2 事件类型 分类*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="event" style="width: 50%; height:21vh;">
+		</div>
+		<div id="event2" style="width: 50%; height:21vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'event',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+			this.myEcharts2()
+
+		},
+
+		methods:{
+			// 出处 https://echarts.apache.org/examples/zh/editor.html?c=pie-borderRadius
+			//http://192.144.199.210:8080/editor/index.html?chart_id=K8nTnNyu0caN65uT
+			
+			myEcharts() {
+				
+				
+				var chartDom = document.getElementById('event');
+				var myChart = echarts.init(chartDom);
+				var color = ['#02CDFF', '#62FBE7', '#7930FF','#E148EB','#ecb935']
+				var option;
+				
+				
+				option = {
+				  color: color,
+				  tooltip: {
+				    trigger: 'item',
+					position: 'top'
+				  },
+				  series: [
+				    {
+				      name: '事件类型',
+				      type: 'pie',
+					  center:['50%','60%'],
+				      radius: ['55%', '70%'],
+				      avoidLabelOverlap: false,
+				      
+				      label: {
+				        show: false,
+				        position: 'center'
+				      },
+				      emphasis: {
+				        label: {
+				          show: true,
+				          fontSize: '12',
+				          fontWeight: 'bold'
+				        }
+				      },
+				      labelLine: {
+				        show: false
+				      },
+				      data: [
+				        { value: 1048, name: '事件1' },
+				        { value: 735, name: '事件2' },
+				        { value: 580, name: '事件3' },
+				        { value: 484, name: '事件4' },
+				        { value: 300, name: '事件5' }
+				      ]
+				    },
+					
+				  ]
+				};
+				
+				option && myChart.setOption(option);
+				
+			},
+			myEcharts2() {
+				
+				
+				var chartDom = document.getElementById('event2');
+				var myChart = echarts.init(chartDom);
+				 let dashedPic =
+				    'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM8AAAAOBAMAAAB6G1V9AAAAD1BMVEX////Kysrk5OTj4+TJycoJ0iFPAAAAG0lEQVQ4y2MYBaNgGAMTQQVFOiABhlEwCugOAMqzCykGOeENAAAAAElFTkSuQmCC';
+				let color = ['#FF8700', '#ffc300', '#00e473', '#009DFF', '#0034ff','#E148EB'];
+				var option;
+				let chartData = [
+				    {
+				        name: '双辽市',
+				        value: 40083,
+				        unit: '列',
+				    },
+				    {
+				        name: '梨树县',
+				        value: 33974,
+				        unit: '列',
+				    },
+				    {
+				        name: '伊通县',
+				        value: 15400,
+				        unit: '列',
+				    },
+				    {
+				        name: '铁东区',
+				        value: 11021,
+				        unit: '列',
+				    },
+				    {
+				        name: '铁西区',
+				        value: 30696,
+				        unit: '列',
+				    },
+				
+				];
+				let arrName = [];
+				let arrValue = [];
+				let sum = 0;
+				let pieSeries = [],
+				    lineYAxis = [];
+				
+				// 数据处理
+				chartData.forEach((v, i) => {
+				    arrName.push(v.name);
+				    arrValue.push(v.value);
+				    sum = sum + v.value;
+				});
+				
+				// 图表option整理
+				chartData.forEach((v, i) => {
+				    pieSeries.push({
+				        name: '沪昆线到达晚点情况',
+				        type: 'pie',
+				        clockWise: false,
+				        hoverAnimation: false,
+				        radius: [65 - i * 10 + '%', 66.5 - i * 10 + '%'],
+				        center: ['35%', '60%'],
+				        label: {
+				            show: false,
+				        },
+				        itemStyle: {
+				            borderRadius: 20,
+				        },
+				        data: [
+				            {
+				                value: v.value,
+				                name: v.name,
+				                 itemStyle: {
+				                    normal: {
+				                        borderWidth: 5,
+				                        borderColor:color[i]
+				                    }
+				                }
+				            },
+				            {
+				                value: sum - v.value,
+				                name: '',
+				                itemStyle: {
+				                    color: 'rgba(0,0,0,0)',
+				                },
+				            },
+				        ],
+				    });
+				    pieSeries.push({
+				        name: '',
+				        type: 'pie',
+				        silent: true,
+				        z: 1,
+				        clockWise: false, //顺时加载
+				        hoverAnimation: false, //鼠标移入变大
+				        radius: [65 - i * 10 + '%', 66.5 - i * 10 + '%'],
+				        center: ['35%', '60%'],
+				        label: {
+				            show: false,
+				        },
+				        itemStyle: {
+				            borderCap: 'round',
+				            borderJoin: 'round',
+				        },
+				        data: [
+				            {
+				                value: 7.5,
+				                itemStyle: {
+				                    color: '#E3F0FF',
+				                },
+				            },
+				            {
+				                value: 2.5,
+				                name: '',
+				                itemStyle: {
+				                    color: 'rgba(0,0,0,0)',
+				                },
+				            },
+				        ],
+				    });
+				    v.percent = ((v.value / sum) * 100).toFixed(1) + '%';
+				    lineYAxis.push({
+				        value: i,
+				        textStyle: {
+				            rich: {
+				                circle: {
+				                    color: color[i],
+				                    padding: [0, 0],
+				                },
+				            },
+				        },
+				    });
+				});
+				
+				option = {
+				    color: color,
+				    grid: {
+				        top: '20%',
+				        bottom: '45%',
+				        left: '40%',
+				        containLabel: false,
+				    },
+				    yAxis: [
+				        {
+				            type: 'category',
+				            inverse: true,
+				            axisLine: {
+				                show: false,
+				            },
+				            axisTick: {
+				                show: false,
+				            },
+				            axisLabel: {
+				                formatter: function (params) {
+				                    let item = chartData[params];
+				                    console.log(item);
+				                    return (
+				                        '{circle|●}{name|' +
+				                        item.name +
+				                        '}{bd||}{percent|' +
+				                        item.percent +
+				                        '}'
+				                    );
+				                },
+				                interval: 0,
+				                inside: true,
+				                textStyle: {
+				                    color: '#333',
+				                    fontSize: 10,
+				                    rich: {
+				                        line: {
+				                            width: 170,
+				                            height: 5,
+				                            backgroundColor: { image: dashedPic },
+				                        },
+				                        name: {
+				                            color: '#fff',
+				                            fontSize: 10,
+				                        },
+				                        bd: {
+				                            color: '#72afff',
+				                            padding: [0, 5],
+				                            fontSize: 10,
+				                        },
+				                        percent: {
+				                            color: '#5cdad0',
+				                            fontSize: 10,
+				                        },
+				                        value: {
+				                            color: '#333',
+				                            fontSize: 16,
+				                            fontWeight: 500,
+				                            padding: [0, 0, 0, 10],
+				                        },
+				                        unit: {
+				                            fontSize: 14,
+				                        },
+				                    },
+				                },
+				                show: true,
+				            },
+				            data: lineYAxis,
+				        },
+				    ],
+				    xAxis: [
+				        {
+				            show: false,
+				        },
+				    ],
+				    series: pieSeries,
+				};
+				
+				option && myChart.setOption(option);
+				
+			},
+
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+
+
+
+
+</style>

+ 111 - 0
src/views/bigdata/chart-eventTrend.vue

@@ -0,0 +1,111 @@
+<!-- **************************************NO.6 矿坑*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="pit" style="width: 100%; height:24vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'pit',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=udduEFcFiEYEEj4Q
+
+			myEcharts() {
+
+
+				var chartDom = document.getElementById('pit');
+				var myChart = echarts.init(chartDom);
+				var color = ['#02CDFF', '#62FBE7', '#7930FF','#ef5f9d','#ecb935'];
+				var option;
+        option = {
+          xAxis: {
+            data: [
+              '2021-05-17',
+              '2021-05-18',
+              '2021-05-19',
+              '2021-05-20',
+              '2021-05-21',
+              '2021-05-24',
+              '2021-05-25',
+              '2021-05-26',
+              '2021-05-27',
+            ],
+          },
+          yAxis: {
+            axisLabel: {
+              fontSize: 10,
+              color: '#999',
+              verticalAlign: 'bottom',
+              formatter: function (value, index) {
+                return `${value.toFixed(2)}%`;
+              },
+            },
+          },
+          series: [
+            {
+              type: 'line',
+              lineStyle: {
+                color: '#C22F43',
+                width: 1,
+                type: 'solid',
+              },
+              areaStyle: {
+                color: {
+                  type: 'linear',
+                  x: 0,
+                  y: 0,
+                  x2: 0,
+                  y2: 1,
+                  colorStops: [
+                    {
+                      offset: 0,
+                      color: 'rgba(194, 47, 67, 1.0)',
+                    },
+                    {
+                      offset: 1,
+                      color: 'rgba(194, 47, 67, 0.03)',
+                    },
+                  ],
+                  global: false,
+                },
+                origin: 'start',
+              },
+              opacity: 0.2,
+              shadowColor: 'rgba(194, 47, 67)',
+              shadowBlur: 0,
+              shadowOffsetX: 0,
+              data: [1.56, -1.34, 0.57, 2.34, -0.45, 0.57, 2.34, 1.2, 0.34],
+            },
+          ],
+        };
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: 100%;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+</style>

+ 171 - 0
src/views/bigdata/chart-fireBrigade.vue

@@ -0,0 +1,171 @@
+<!-- **************************************NO.12 处理中心*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="processing" style="width: 100%; height:23vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'processing',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=vNg2RQ3LrePk4CnZ
+			myEcharts() {
+
+
+				var chartDom = document.getElementById('processing');
+				var myChart = echarts.init(chartDom);
+				var color = ['#0E7CE2', '#FF8352', '#E271DE', '#F8456B', '#00FFFF', '#4AEAB0'];
+				var option;
+				let dataList = [{
+				    name: '双辽市',
+				    value: '56'
+				}, {
+				    name: '梨树县',
+				    value: '75'
+				}, {
+				    name: '伊通县',
+				    value: '85'
+				}, {
+				    name: '铁东区',
+				    value: '78'
+				}, {
+				    name: '铁西区',
+				    value: '76'
+				}];
+				
+				option = {
+				        grid: {
+				            left: "16%", //距离左边的距离
+				            right: "12%", //距离右边的距离
+				            bottom: "15%", //距离下边的距离
+				            top: "10%" //距离上边的距离
+				        },
+				        title: {
+				            text: '',
+				            left: 26,
+				            top: 26,
+				            textStyle: {
+				                color: '#FFFFFF',
+				                fontSize: 15,
+				                fontWeight: 50000,
+				                fontFamily: 'PingFang SC'
+				            }
+				        },
+				        tooltip: {
+				            trigger: "axis",
+				            axisPointer: {
+				                type: "shadow",
+				                crossStyle: {
+				                    color: "#134d74"
+				                }
+				            },
+				        },
+				        xAxis: [{
+				            type: "category",
+				            data: ['双辽市', '梨树县', '伊通县', '铁东区', '铁西区'],
+				            axisLabel: {
+				                textStyle: {
+				                    color: "#42a7ff",
+				                    fontSize: 10,
+				                }
+				            },
+				            axisLine: {
+				                show: false
+				            },
+				            axisTick: {
+				                show: false
+				            }
+				        }],
+				        yAxis: [{
+				                type: "value",
+				                axisLabel: {
+				                    formatter: "{value}%",
+				                    textStyle: {
+				                        color: "#42a7ff",
+				                        fontSize: 10,
+				                    },
+				                },
+				                splitLine: {
+				                    lineStyle: {
+				                        color: "#1f3335"
+				                    }
+				                },
+				                axisLine: {
+				                    show: false
+				                },
+				                axisTick: {
+				                    show: false
+				                }
+				            },
+				            
+				        ],
+				        dataZoom: [{
+				            type: 'inside',
+				            start: 0,
+				            end: dataList.length > 15 ? 35 : 100
+				        }],
+				        series: [{
+				                name: "",
+				                type: "bar",
+				                data: dataList,
+				                barGap: '-100%',
+				                barCategoryGap: '80%',
+				                itemStyle: {
+				                    normal: {
+				                        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+				                                offset: 0,
+				                                color: 'rgba(27,168,240,1)'
+				                            },
+				                            {
+				                                offset: 1,
+				                                color: 'rgba(32,40,95,0.3)'
+				                            }
+				                        ])
+				                    },
+				                    emphasis: {
+				                        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+				                                offset: 0,
+				                                color: 'rgba(27,168,240,1)'
+				                            },
+				                            {
+				                                offset: 1,
+				                                color: 'rgba(27,168,240,0.3)'
+				                            }
+				                        ])
+				                    }
+				                },
+				            },
+				            
+				        ]
+				};
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+</style>

+ 289 - 0
src/views/bigdata/chart-fireCause.vue

@@ -0,0 +1,289 @@
+<!-- **************************************NO.4 隐患*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="danger" style="width: 100%; height:23vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'danger',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=XWNjkKJQ3NBt1FK6
+
+			myEcharts() {
+
+
+				var chartDom = document.getElementById('danger');
+				var myChart = echarts.init(chartDom);
+				var color = ['#02CDFF', '#62FBE7', '#7930FF', '#E148EB', '#ecb935']
+				var option;
+				let data = [582, 421, 622, 625, 265]
+				let indicator = [{
+						name: '双辽市',
+						max: 1000
+					},
+					{
+						name: '梨树县',
+						max: 1000
+					},
+					{
+						name: '伊通县',
+						max: 1000
+					},
+					{
+						name: '铁东区',
+						max: 1000
+					},
+					{
+						name: '铁西区',
+						max: 1000
+					},
+				]
+
+				option = {
+
+					radar: {
+						center: ['50%', '50%'],
+						radius: '89%',
+						name: {
+							formatter: function(name, indicator) {
+								let arr;
+								//   if(name=='开卡绑定数'||name=='渠道批量办理业务'){
+								//         arr = [
+								//         '{a|'+name+'}{b|'+indicator.value+'万}'
+								//     ]
+								//   }else{
+								arr = [
+									'{a|' + name + '}'
+								]
+								//   }
+
+								return arr.join('\n')
+							},
+							textStyle: {
+								rich: { //根据文字的组设置格式
+									a: {
+										color: '#13ffdc',
+										fontSize: 12,
+										fontFamily: 'Source Han Sans CN',
+									},
+									// b:{
+									//     fontSize:14,
+									//     verticalAlign:'top',
+									//     width:57,
+									//     color:'#8E88FE',
+									//     fontWeight:600,
+									//     align:'center'
+									// },
+								}
+
+							}
+						},
+						nameGap: 0,
+						indicator: indicator,
+						splitLine: {
+							show: false
+
+						},
+						splitArea: {
+							show: false
+						},
+						axisLine: {
+							show: false
+						}
+					},
+					series: [{
+							// name: '家庭融合包',
+							type: 'radar',
+							data: [data],
+							// value:14,
+							label: {
+								show: true,
+								formatter: function(params) {
+									console.log(params)
+									return params.value ;
+								},
+								color: '#ffffff',
+								// position:[-20,-10,-10,-10],
+								align: 'right',
+								distance: 10,
+								align: 'right'
+							},
+							symbolSize: [6, 6],
+							lineStyle: { //边缘颜色
+								width: 0
+							},
+							itemStyle: {
+								borderWidth: 1,
+								color: '#fff',
+								borderColor: '#F2F063',
+							},
+							areaStyle: {
+								color: '#7D77F1',
+								opacity: 0.6
+							}
+						},
+						{
+							type: 'radar',
+							data: [
+								[1000, 1000, 1000, 1000, 1000, 1000],
+							],
+							symbol: 'none',
+							lineStyle: {
+								width: 0
+							},
+							itemStyle: {
+								color: '#4175F5'
+							},
+
+							areaStyle: {
+								color: '#4175F5',
+								opacity: 0.06
+							}
+						},
+						{
+							type: 'radar',
+							data: [
+								[900, 900, 900, 900, 900, 900],
+							],
+
+							symbol: 'none',
+							lineStyle: {
+								width: 0
+							},
+							itemStyle: {
+								color: '#2C72C8'
+							},
+
+							areaStyle: {
+								color: '#2C72C8',
+								opacity: 0.12
+							}
+						},
+						{
+							type: 'radar',
+							data: [
+								[800, 800, 800, 800, 800, 800]
+							],
+
+							symbol: 'none',
+							lineStyle: {
+								width: 0
+							},
+							itemStyle: {
+								color: '#4175F5'
+							},
+
+							areaStyle: {
+								color: '#4175F5',
+								opacity: 0.18
+							}
+						},
+						{
+							type: 'radar',
+							data: [
+								[700, 700, 700, 700, 700, 700]
+							],
+
+							symbol: 'none',
+							lineStyle: {
+								width: 0
+							},
+							itemStyle: {
+								color: '#4175F5'
+							},
+
+							areaStyle: {
+								color: '#4175F5',
+								opacity: 0.19
+							}
+						},
+						{
+							type: 'radar',
+							data: [
+								[600, 600, 600, 600, 600, 600],
+							],
+
+							symbol: 'none',
+							lineStyle: {
+								width: 0
+							},
+							itemStyle: {
+								color: '#4175F5'
+							},
+
+							areaStyle: {
+								color: '#4175F5',
+								opacity: 0.17
+							}
+						},
+						{
+							type: 'radar',
+							data: [
+								[500, 500, 500, 500, 500, 500],
+							],
+							symbol: 'none',
+							lineStyle: {
+								width: 0
+							},
+							itemStyle: {
+								color: '#4175F5'
+							},
+
+							areaStyle: {
+								color: '#4175F5',
+								opacity: 0.16
+							}
+						},
+						{
+							type: 'radar',
+							data: [
+								[400, 400, 400, 400, 400, 400],
+							],
+
+							symbol: 'none',
+							lineStyle: {
+								width: 0
+							},
+							itemStyle: {
+								color: '#4175F5'
+							},
+
+							areaStyle: {
+								color: '#4175F5',
+								opacity: 0.13
+							}
+						},
+					]
+				};
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+</style>

Різницю між файлами не показано, бо вона завелика
+ 223 - 0
src/views/bigdata/chart-forestFarm.vue


+ 137 - 0
src/views/bigdata/chart-gridDistribution.vue

@@ -0,0 +1,137 @@
+<!-- **************************************NO.10 收集点*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="collection" style="width: 100%; height:50vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'collection',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=UDNqxg4NZdRORp80
+			myEcharts() {
+
+
+				var chartDom = document.getElementById('collection');
+				var myChart = echarts.init(chartDom);
+				var color = ['#0E7CE2', '#FF8352', '#E271DE', '#F8456B', '#00FFFF', '#4AEAB0'];
+				var option;
+				let bgColor = '#fff';
+				let title = '总量';
+				let echartData = [
+				    {
+				        name: '双辽市',
+				        value: '3720',
+				    },
+				    {
+				        name: '梨树县',
+				        value: '2920',
+				    },
+				    {
+				        name: '伊通县',
+				        value: '2200',
+				    },
+				    {
+				        name: '铁东区',
+				        value: '1420',
+				    },
+					{
+					    name: '铁西区',
+					    value: '1620',
+					},
+				];
+				
+				let formatNumber = function (num) {
+				    let reg = /(?=(\B)(\d{3})+$)/g;
+				    return num.toString().replace(reg, ',');
+				};
+				let total = echartData.reduce((a, b) => {
+				    return a + b.value * 1;
+				}, 0);
+				
+				option = {
+				    color: color,
+				    series: [
+				        {
+				            type: 'pie',
+				            radius: ['60%', '80%'],
+				            center: ['50%', '50%'],
+				            data: echartData,
+				            hoverAnimation: false,
+				            itemStyle: {
+				                normal: {
+				                    borderWidth:1,
+				                },
+				
+				                emphasis: {
+				                    borderColor: bgColor,
+				                    borderWidth: 2,
+				                         shadowBlur: 8,
+				                borderColor: "#00ffff",
+				                shadowColor: "#00ffff",
+				                },
+				            },
+				            labelLine: {
+				                normal: {
+				                    length: 20,
+				                    length2:10,
+				                    lineStyle: {
+				                        color: '#356781',
+				                    },
+				                },
+				            },
+				            label: {
+				                normal: {
+				                    formatter: (params) => {
+				                        return '{icon|●}{name|' + params.name + '}{value|' + formatNumber(params.value) + '}';
+				                    },
+				                    rich: {
+				                        icon: {
+				                            fontSize: 10,
+				                        },
+				                        name: {
+				                            fontSize:10,
+				                            padding: [0, 3, 0, 4],
+				                            color: '#23c9ea',
+				                        },
+				                        value: {
+				                            fontSize: 10,
+				                            color: '#ffffff',
+				                        },
+				                    },
+				                },
+				            },
+				        },
+				    ],
+				};
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+</style>

+ 165 - 0
src/views/bigdata/chart-gridStaff.vue

@@ -0,0 +1,165 @@
+<!-- **************************************NO.13 消火栓*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="hydrant" style="width: 100%; height:55vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'hydrant',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=Ve9zCnhVwZvXTdD0
+			myEcharts() {
+
+
+				var chartDom = document.getElementById('hydrant');
+				var myChart = echarts.init(chartDom);
+        function rand(m, n) {
+          if (!n) {
+            return Math.floor(Math.random() * m);
+          } else {
+            var c = n - m + 1;
+            return Math.floor(Math.random() * c + m);
+          }
+        }
+
+        function getMax(arr, key) {
+          var max = 0,
+            len = arr.length;
+          for (var i = 0; i < len; i++) {
+            var item = arr[i][key];
+            if (max < item) max = item;
+          }
+          return max;
+        }
+
+        function getValArr(arr, key) {
+          var val = [],
+            len = arr.length;
+          for (var i = 0; i < len; i++) {
+            val.push(arr[i][key]);
+          }
+          return val;
+        }
+
+        var arr = [];
+        for (var i = 0; i < 10; i++) {
+          arr.push({
+            name: '类目名称' + rand(99),
+            amount: rand(99999) / 100 // 采购金额
+          });
+        }
+
+        var max = getMax(arr, 'amount'),
+          angleAxisData = getValArr(arr, 'name');
+        $.each(arr, function(i, e) {
+          e.value = (e.amount / max * 100).toFixed(2);
+        });
+        var option = {
+          backgroundColor: '#222',
+          tooltip: {
+            trigger: 'item',
+            textStyle: {
+              fontSize: 16,
+              color: '#fff',
+              fontFamily: 'Microsoft YaHei'
+            }
+          },
+          angleAxis: {
+            type: 'category',
+            axisLine: {
+              lineStyle: {
+                color: '#6d8a92'
+              }
+            },
+            axisLabel: {
+              interval: 0,
+              fontSize: 14,
+              color: '#fff',
+              fontFamily: 'Microsoft YaHei'
+            },
+            axisTick: {
+              show: false
+            },
+            data: angleAxisData,
+            z: 10
+          },
+          radiusAxis: {
+            max: 100,
+            min: 0,
+            axisTick: {
+              show: false
+            },
+            axisLine: {
+              show: true,
+              lineStyle: {
+                color: '#6d8a92'
+              }
+            },
+            axisLabel: {
+              formatter: '{value}%',
+              textStyle: {
+                fontSize: 11,
+                color: '#61d9fb',
+                fontFamily: 'Microsoft YaHei'
+              }
+            },
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: '#6d8a92'
+              }
+            },
+            splitArea: {
+              areaStyle: {
+                color: 'transparent'
+              }
+            }
+          },
+          polar: {
+            center: ['50%', '50%'],
+            radius: '74%',
+          },
+          series: [{
+            type: 'bar',
+            data: arr,
+            itemStyle: {
+              color: function(params) {
+                var colorList = ['#5cc6ca', '#d87a7f', '#f5b97f', '#5ab1ef', '#b6a2de', '#8d98b3', '#e5d02d', '#97b552', '#956f6d', '#d0579c'];
+                return colorList[params.dataIndex];
+              }
+            },
+            coordinateSystem: 'polar',
+          }]
+        };
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+</style>

+ 378 - 0
src/views/bigdata/chart-keyArea.vue

@@ -0,0 +1,378 @@
+<!-- **************************************NO.7 散养户分布*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="freelyraise" style="width: 100%; height:23vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'freelyraise',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210/forum.php?mod=viewthread&tid=6785&highlight=%E6%9F%B1%E7%8A%B6%E5%9B%BE
+
+			myEcharts() {
+
+
+				var chartDom = document.getElementById('freelyraise');
+				var myChart = echarts.init(chartDom);
+				var color = ['#02CDFF', '#62FBE7', '#7930FF', '#ef5f9d', '#ecb935'];
+				var option;
+				let data = [{
+						"name": "双辽市",
+						"num": "18.987691"
+					},
+					{
+						"name": "梨树县",
+						"num": "20.377176"
+					},
+					{
+						"name": "伊通县",
+						"num": "19.127404"
+					},
+					{
+						"name": "铁东区",
+						"num": "18.40882"
+					},
+					{
+						"name": "铁西区",
+						"num": "17.980597"
+					},
+				]
+
+				function contains(arr, dst) {
+					var i = arr.length;
+					while ((i -= 1)) {
+						if (arr[i] == dst) {
+							return i;
+						}
+					}
+					return false;
+				}
+
+			 var attackSourcesColor = [
+					new echarts.graphic.LinearGradient(0, 1, 1, 1, [{
+							offset: 0,
+							color: "#EB3B5A"
+						},
+						{
+							offset: 1,
+							color: "#FE9C5A"
+						}
+					]),
+					new echarts.graphic.LinearGradient(0, 1, 1, 1, [{
+							offset: 0,
+							color: "#FA8231"
+						},
+						{
+							offset: 1,
+							color: "#FFD14C"
+						}
+					]),
+					new echarts.graphic.LinearGradient(0, 1, 1, 1, [{
+							offset: 0,
+							color: "#F7B731"
+						},
+						{
+							offset: 1,
+							color: "#FFEE96"
+						}
+					]),
+					new echarts.graphic.LinearGradient(0, 1, 1, 1, [{
+							offset: 0,
+							color: "#21fe8f"
+						},
+						{
+							offset: 1,
+							color: "#38911f"
+						}
+					]),
+					new echarts.graphic.LinearGradient(0, 1, 1, 1, [{
+							offset: 0,
+							color: "#395CFE"
+						},
+						{
+							offset: 1,
+							color: "#2EC7CF"
+						}
+					])
+					
+				];
+				var attackSourcesColor1 = [
+					"#EB3B5A",
+					"#FA8231",
+					"#F7B731",
+					"#38911f",
+					"#3860FC",
+					"#F57474",
+					"#56D0E3",
+					"#1089E7",
+					"#F57474",
+					"#1089E7",
+					"#F57474",
+					"#F57474"
+				];
+				var attaData = [];
+				var attaName = [];
+				var topName = []
+				data.forEach((it, index) => {
+					attaData[index] = parseFloat(it.num).toFixed(0);
+					//attaData[index] = parseInt(it.num);
+					attaName[index] = it.name;
+					topName[index] = `${it.name}`
+				});
+				var salvProMax = [];
+				var max = attaData[0];
+				for (let i = 0; i < attaData.length; i++) {
+					max = max < attaData[i + 1] ? attaData[i + 1] : max;
+				}
+				for (let i = 0; i < attaData.length; i++) {
+					salvProMax.push(max); //背景按最大值
+				}
+
+				function attackSourcesDataFmt(sData) {
+					var sss = [];
+					sData.forEach(function(item, i) {
+						let itemStyle = {
+							color: i > 5 ? attackSourcesColor[5] : attackSourcesColor[i]
+						};
+						sss.push({
+							value: item,
+							itemStyle: itemStyle
+						});
+					});
+					return sss;
+				}
+
+				option = {
+					tooltip: {
+						show: false,
+						backgroundColor: "rgba(3,169,244, 0.5)", //背景颜色(此时为默认色)
+						textStyle: {
+							fontSize: 12
+						}
+			  },
+					color: ["#F7B731"],
+					legend: {
+						show: false,
+						pageIconSize: [12, 12],
+						itemWidth: 20,
+						itemHeight: 10,
+						textStyle: {
+							//图例文字的样式
+							fontSize: 12,
+							color: "#fff"
+						},
+						selectedMode: false,
+						data: ["个人所得(亿元)"]
+					},
+					grid: {
+						left: '12%',
+						width: '70%',
+						bottom: '5%',
+						top: "8%",
+					},
+					xAxis: {
+						type: "value",
+
+						splitLine: {
+							show: false
+						},
+						axisLabel: {
+							show: false
+						},
+						axisTick: {
+							show: false
+			  	},
+						axisLine: {
+							show: false
+						}
+					},
+					yAxis: [{ //左侧排行数字
+							type: "category",
+							inverse: true,
+			  		axisLine: {
+								show: false
+							},
+							axisTick: {
+								show: false
+							},
+							axisPointer: {
+								label: {
+									show: true,
+									//margin: 30
+								}
+			 			},
+							padding: [5, 0, 0, 0],
+							postion: "right",
+							data: attaName,
+							axisLabel: {
+								margin: 30,
+								fontSize: 12,
+			  			align: "left",
+								padding: [2, 0, 0, 0],
+								color: "#000",
+								rich: {
+									nt1: {
+										color: "#fff",
+										backgroundColor: attackSourcesColor1[0],
+										width: 15,
+										height: 15,
+										fontSize: 12,
+										align: "center",
+										borderRadius: 100,
+										lineHeight: "5",
+										padding: [0, 1, 2, 1]
+										// padding:[0,0,2,0],
+									},
+									nt2: {
+										color: "#fff",
+										backgroundColor: attackSourcesColor1[1],
+										width: 15,
+										height: 15,
+										fontSize: 12,
+										align: "center",
+										borderRadius: 100,
+										padding: [0, 1, 2, 1]
+									},
+									nt3: {
+										color: "#fff",
+										backgroundColor: attackSourcesColor1[2],
+										width: 15,
+										height: 15,
+										fontSize: 12,
+										align: "center",
+										borderRadius: 100,
+										padding: [0, 1, 2, 1]
+									},
+									nt: {
+										color: "#fff",
+										backgroundColor: attackSourcesColor1[3],
+										width: 15,
+			  					height: 15,
+										fontSize: 12,
+										align: "center",
+										lineHeight: 3,
+										borderRadius: 100,
+										padding: [0, 1, 2, 1],
+										lineHeight: 5
+									}
+								},
+								
+							}
+						},
+						{ //右侧名字
+							type: "category",
+							inverse: true,
+							axisTick: "none",
+							axisLine: "none",
+							show: true,
+							axisLabel: {
+								textStyle: {
+									color: "#fff",
+									fontSize: "12"
+								}
+							},
+							//data: attackSourcesDataFmt(attaName) 
+							data: attackSourcesDataFmt(attaData) //数字
+						},
+						{ //名称
+							type: 'category',
+							offset: -10,
+							position: "left",
+							axisLabel: {
+								color: `#fff`,
+								fontSize: 10
+							},
+			  		axisLine: {
+								show: false
+							},
+							inverse: true,
+							axisTick: {
+								show: false
+							},
+							axisLabel: {
+								interval: 0,
+								color: ["#fff"],
+								align: "left",
+								verticalAlign: "bottom",
+								lineHeight: 32,
+								fontSize: 12
+							},
+							data: topName
+			 		},
+					],
+					series: [{ //条形图数值
+							zlevel: 1,
+							name: "个人所得(亿元)",
+							type: "bar",
+							barWidth: "8px",
+							animationDuration: 1500,
+							data: attackSourcesDataFmt(attaData),
+							align: "center",
+							itemStyle: {
+								normal: {
+									barBorderRadius: 10
+								}
+							},
+							label: {
+								show: false,
+			 				fontSize: 12,
+			  			color: "#fff",
+								textBorderWidth: 2,
+								padding: [2, 0, 0, 0]
+							}
+						},
+						{ //最大值背景条形图
+							name: "个人所得(亿元)",
+							type: "bar",
+							barWidth: 8,
+							barGap: "-100%",
+							margin: "20",
+							data: salvProMax,
+							textStyle: {
+								//图例文字的样式
+								fontSize: 12,
+								color: "#fff"
+							},
+							itemStyle: {
+								normal: {
+									color: "#05325F",
+									//width:"100%",
+									fontSize: 12,
+									barBorderRadius: 30
+								},
+							}
+						}
+					]
+				};
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+</style>

+ 137 - 0
src/views/bigdata/chart-weatherStation.vue

@@ -0,0 +1,137 @@
+<!-- **************************************NO.14 泡沫液*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="foam" style="width: 100%; height:23vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'foam',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=daPJGrcYMpZanpxR
+			myEcharts() {
+
+
+				var chartDom = document.getElementById('foam');
+				var myChart = echarts.init(chartDom);
+				var zdslColorList = ['#D0A00E', '#34DA62', '#00C0E9', '#0096F3', '#33CCFF'];
+				var option;
+				  option = {
+				      grid: {
+				          top: '5%',
+				          left: '10%',
+				          right: '12%',
+				          bottom: '0',
+				          containLabel: true
+				      },
+				      tooltip: {
+				      },
+				      xAxis: {
+				          show: false,
+				          type: 'value'
+				      },
+				      yAxis: [{
+				              type: 'category',
+							  inverse:true,
+				              data: ['双辽市', '梨树县', '伊通县', '铁东区', '铁西区'],
+				              axisLabel: {
+				                  show: true,
+				                  textStyle: {
+				                      color: '#ADD6FF',
+				                      fontSize: '12'
+				                  }
+				              },
+				              splitLine: {
+				                  show: false
+				              },
+				              axisTick: {
+				                  show: false
+				              },
+				              axisLine: {
+				                  show: false
+				              },
+				          },
+				          {
+				              splitLine: {
+				                  show: false
+				              },
+				              axisTick: {
+				                  show: false
+				              },
+				              axisLine: {
+				                  show: false
+				              },
+				              axisLabel: {
+				                  show: true,
+				                  textStyle: {
+				                      color: '#ADD6FF',
+				                      fontSize: '12'
+				                  }
+				              },
+				              data: [150, 298, 206, 75, 154]
+				          }
+				      ],
+				 
+				      series: [{
+				              name: "受理数", // bar图的外边框
+				              type: "bar",
+				              barWidth: "20%",
+				              yAxisIndex: 0,
+				              data: [500, 500, 500, 500, 500].map((item, i) => {
+				                  return {
+				                      value: item,
+				                      itemStyle: {
+				                          color: "rgba(0,0,0,0)",
+				                          barBorderColor: zdslColorList[i],
+				                          borderWidth: 1,
+				                          shadowColor: "#33CCFF",
+				                          shadowBlur: 4
+				                      }
+				                  }
+				              }),
+				          },
+				          {
+				              name: "受理数", //这个是Bar图
+				              type: 'bar',
+				              yAxisIndex: 1,
+				              barWidth: "10%",
+				              data: [150, 298, 206, 75, 154]
+				          }
+				      ],
+				      itemStyle: {
+				          color: function(params) {
+				              return zdslColorList[params.dataIndex]
+				          }
+				      }
+				  }
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+</style>

+ 219 - 0
src/views/bigdata/chart-weatherTrends.vue

@@ -0,0 +1,219 @@
+<!-- **************************************NO.9 散养户、养殖场养殖种类*************************************** -->
+<template>
+	<div class="chart-container">
+		<div id="farmtype" style="width: 100%; height:24vh;">
+		</div>
+	</div>
+</template>
+
+<script>
+	import * as echarts from 'echarts';
+	export default {
+		name: 'farmtype',
+		data() {
+			return {
+				count: 0
+			}
+		},
+		mounted() {
+			this.myEcharts()
+
+		},
+
+		methods: {
+			// 出处 http://192.144.199.210:8080/editor/index.html?chart_id=smh2KYnoCMWnT1IN
+
+			myEcharts() {
+
+
+				var chartDom = document.getElementById('farmtype');
+				var myChart = echarts.init(chartDom);
+        var xData = ['2022年1月','2022年2月','2022年3月','2022年4月','2022年5月','2022年6月','2022年7月','2022年8月','2022年9月','2022年10月','2022年11月','2022年12月'];
+        var option;
+        option = {
+          backgroundColor:'#232d36',
+          tooltip: {
+            trigger: 'axis',
+            axisPointer: {
+              lineStyle: {
+                color: {
+                  type: 'linear',
+                  x: 0,
+                  y: 0,
+                  x2: 0,
+                  y2: 1,
+                  colorStops: [{
+                    offset: 0,
+                    color: 'rgba(0, 255, 233,0)'
+                  }, {
+                    offset: 0.5,
+                    color: 'rgba(255, 255, 255,1)',
+                  }, {
+                    offset: 1,
+                    color: 'rgba(0, 255, 233,0)'
+                  }],
+                  global: false
+                }
+              },
+            },
+          },
+          grid: {
+            top: '15%',
+            left: '10%',
+            right: '5%',
+            bottom: '15%',
+          },
+          legend:{
+            data:['最高气温','最低气温'],
+            textStyle:{
+              color:'#fff',
+              align: 'center',
+              fontSize: 16
+            },
+            x:'center'
+          },
+          xAxis: [{
+            type: 'category',
+            // 轴线
+            axisLine: {
+              show: true,
+              lineStyle:{
+                color: '#85B1B4',
+              }
+            },
+            // 轴刻度线
+            axisTick:{
+              show:false,
+            },
+            // 坐标轴名称
+            axisLabel: {
+              color: '#fff',
+              margin:6,
+            },
+            // 轴分隔线
+            splitLine: {
+              show: false
+            },
+            // 轴两侧留白
+            boundaryGap: ['5%','5%'],
+            data: xData
+
+          }],
+
+          yAxis: [{
+            type: 'value',
+            min: 0,
+            // max: 140,
+            splitNumber: 4,
+            splitLine: {
+              show: false,
+            },
+            axisLine: {
+              show: true,
+              lineStyle:{
+                color: '#85B1B4'
+              }
+            },
+            axisLabel: {
+              show: true,
+              margin: 10,
+              textStyle: {
+                color: '#fff',
+
+              },
+            },
+            axisTick: {
+              show: false,
+            },
+          }],
+          series: [
+            {
+              name:'最高气温',
+              type: 'line',
+              showAllSymbol: true,
+              symbol: 'circle',
+              symbolSize: 4,
+              lineStyle: {
+                normal: {
+                  color: "#FF8736",
+                },
+              },
+              label: {
+                show: false,
+              },
+              itemStyle: {
+                color: "#FF8736",
+                borderColor: "#FF8736",
+                borderWidth: 2,
+              },
+              // areaStyle: {
+              //     normal: {
+              //         color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+              //             {
+              //                 offset: 0,
+              //                 color: 'rgba(43,193,145,0.3)'
+              //             },
+              //             {
+              //                 offset: 1,
+              //                 color: 'rgba(43,193,145,0)'
+              //             }
+              //         ], false),
+              //     }
+              // },
+              data: [4,7,8,12,15,23,24,24,25,28,27,24,21,23]//data.values
+            },
+            {
+              name:'最低气温',
+              type: 'line',
+              showAllSymbol: true,
+              symbol: 'circle',
+              symbolSize:4,
+              lineStyle: {
+                normal: {
+                  color: "#13EFB7",
+                },
+              },
+              label: {
+                show: false,
+              },
+              itemStyle: {
+                color: "#13EFB7",
+                borderColor: "#13EFB7",
+                borderWidth: 2,
+              },
+              areaStyle: {
+                normal: {
+                  color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                    {
+                      offset: 0,
+                      color: 'rgba(81,150,164,0.3)'
+                    },
+                    {
+                      offset: 1,
+                      color: 'rgba(81,150,164,0)'
+                    }
+                  ], false),
+                }
+              },
+              data: [3,5,4,2,1,7,6,3,4,5,6,7,1,2]//data.values
+            },
+          ]
+        };
+				option && myChart.setOption(option);
+			},
+
+		},
+
+
+	}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+	.chart-container {
+		width: 100%;
+		height: auto;
+		position: relative;
+		padding-bottom: 10px;
+		display: flex;
+	}
+</style>

+ 207 - 0
src/views/bigdata/tabbar.vue

@@ -0,0 +1,207 @@
+<template>
+	<div class="bigdata-map-tabbar">
+				<el-row :gutter="20">
+					<el-col :span="4" v-for="(regionNum,index) in regionNum" :key="index">
+						<div class="list-content">
+							<span>{{regionNum.count}}</span>
+							<h5>{{regionNum.name}}</h5>
+						</div>
+					</el-col>
+				</el-row>
+	</div>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				//tab默认停留项el-tab-pane > name = "?"
+				activeName: 'sp',
+				//地区分类tabtitle
+				district:[
+					{
+						label:'四平市',
+						name:'sp',
+						id:''
+					},
+					{
+						label:'双辽市',
+						name:'sl',
+						id:''
+					},
+					{
+						label:'梨树县',
+						name:'ls',
+						id:''
+					},
+					{
+						label:'伊通县',
+						name:'yt',
+						id:''
+					},
+					{
+						label:'铁东区',
+						name:'td',
+						id:''
+					},
+					{
+						label:'铁西区',
+						name:'tx',
+						id:''
+					},
+				],
+				// 本地区内分类项数量
+				regionNum:[
+					{
+				       count:641,
+					   name:'事件'
+					},
+					{
+					   count:351,
+					   name:'隐患'
+					},
+					{
+					   count:785,
+					   name:'人口'
+					},
+					{
+					   count:512,
+					   name:'企业'
+					},
+					{
+					   count:786,
+					   name:'林场'
+					},
+					{
+					   count:544,
+					   name:'矿坑'
+					},
+					{
+					   count:320,
+					   name:'收集点'
+					},
+					{
+					   count:321,
+					   name:'水鹤'
+					},
+					{
+					   count:400,
+					   name:'取水口'
+					},
+					{
+					   count:654,
+					   name:'消火栓'
+					},
+					{
+					   count:806,
+					   name:'摄像头'
+					},
+					{
+					   count:312,
+					   name:'养殖场'
+					},
+					{
+					   count:713,
+					   name:'处理中心'
+					},
+					{
+					   count:132,
+					   name:'泡沫液'
+					},
+					{
+					   count:466,
+					   name:'泡沫液'
+					},
+					{
+					   count:897,
+					   name:'消防力量'
+					},
+					{
+					   count:132,
+					   name:'探测器'
+					}
+				]
+			};
+		},
+		methods: {
+			handleClick(tab, event) {
+				console.log(tab, event);
+			}
+		}
+	};
+</script>
+
+<style rel="stylesheet/scss" lang="scss">
+	@import '@/assets/styles/base.scss';
+	.bigdata-map-tabbar {
+		width: 100%;
+		height: 28.5vh;
+		padding: 0 1rem 1rem 1rem!important;
+		box-shadow: 0 0 1px rgba($color: #163696, $alpha: .1),
+			-0 -0 20px rgba($color: #163696, $alpha: .6) inset;
+
+		.el-tabs__item {
+			color: #fff;
+			font-size: 12px;
+			height: 32px;
+			line-height: 32px;
+			padding: 0 10px;
+		}
+
+		.el-tabs__item.is-active {
+			color: #3ec6fc;
+		}
+
+		.el-tabs__nav-wrap::after {
+			background: none;
+		}
+
+		.el-tabs__active-bar {
+			// background-color: #ffbc30;
+			border-radius: 20px;
+		}
+
+		.el-tab-pane {
+			color: #fff;
+		}
+
+		.el-tabs__nav-next,
+		.el-tabs__nav-prev {
+			line-height: 40px;
+		}
+
+		.el-tabs__header {
+			margin: 0 0 10px;
+		}
+
+		.list-content {
+			width: 95%;
+			margin: 0 auto;
+			text-align: center;
+			margin-top: 1rem;
+
+			h5 {
+				width: 100%;
+				color: #0aaef2;
+				padding: .2rem 0;
+				border: 1px solid #091641;
+				font-size: 12px;
+			}
+
+			span {
+				width: 100%;
+				display: flex;
+				flex-direction: column;
+				font-size: 12px;
+				color: $white;
+				padding: .5rem 0;
+				font-weight: bolder;
+				border: 1px solid #091641;
+				border-bottom:none ;
+			}
+		}
+		.list-content:hover{
+			filter: brightness(2.3);
+		}
+	}
+</style>