From df1c052d1f0d368cb78ebb1831980745bca11edc Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Thu, 10 Jun 2021 11:56:18 +0800
Subject: [PATCH] 数据图表的查询渲染

---
 widgets/searchTabaPopup/Widget.js |  195 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 150 insertions(+), 45 deletions(-)

diff --git a/widgets/searchTabaPopup/Widget.js b/widgets/searchTabaPopup/Widget.js
index af7e4d3..626da8c 100644
--- a/widgets/searchTabaPopup/Widget.js
+++ b/widgets/searchTabaPopup/Widget.js
@@ -29,8 +29,32 @@
 			layers: {},
 			startup: function () {
 				// 暴露在外的接
+				var that = this;
 				$('.cloce').click(() => {
 					$('.jimu-widget-searchTabaPopup').css({ 'display': 'none' })
+				})
+
+				$('.jimu-widget-searchTabaPopup').find('#query').click(() => {
+					if (that.times[0] != 1) {
+						// console.log(that.times);
+						var stcd = $('.jimu-widget-searchTabaPopup').find('#userMyStcd').val()
+						console.log(stcd);
+						that.getOurData(that.times, stcd);
+					} else {
+						layui.use(function () { //亦可加载特定模块:layui.use(['layer', 'laydate', function(){
+							//得到各种内置组件
+							var layer = layui.layer //弹层
+							// layer.msg('请先填写关键字', { icon: 1, time: 1000, shift: 6 });
+							layer.tips('请先选择时间', '#query', {
+								tips: [1, '#FF5722']
+							});
+						})
+					}
+				})
+
+				$('.jimu-widget-searchTabaPopup').find('#empty').click(() => {
+					$('.myCHosetimeinput').val("");
+					that.times = [1];
 				})
 
 			},
@@ -42,6 +66,7 @@
 			},
 
 			onOpen: function () {
+				var that = this;
 				// $('.jimu-widget-searchTabaPopup').css({ 'display': 'block' });
 				// $('.jimu-widget-searchTabaPopup').find('.p-main').eq(1).css({ 'display': 'block' }).siblings().css({ 'display': 'none' });
 				this.creMyEcharts();
@@ -49,20 +74,130 @@
 					var laydate = layui.laydate;
 
 					laydate.render({
-						elem: '#test6'
+						elem: '#time6'
 						//设置开始日期、日期日期的 input 选择器
+						, type: 'datetime'
 						//数组格式为 2.6.6 开始新增,之前版本直接配置 true 或任意分割字符即可
 						, range: ['#test-startDate-1', '#test-endDate-1']
+						, done: function (value, date) {
+							let begintime = value.substring(0, 19),
+								endtime = value.substring(22);
+							that.times = [begintime, endtime];
+							// console.log(that.times)
+						}
 					});
+					// laydate.render({
+					// 	elem: '#test6'
+					// 	,type: 'datetime'
+					// 	,range: true
+					//   });
 				});
 				this.getEchartsData();
 			},
+			times: [1],
 			myChart: '',
+			myChart1: '',
+			myChart2: '',
 			creMyEcharts: function (id) {
 				var dom = document.getElementById('popup-threse-shuiwenEcharts');
 				this.myChart = echarts.init(dom);
+				var dom = document.getElementById('popup-threse-shuiwenEcharts1');
+				this.myChart1 = echarts.init(dom);
+				var dom = document.getElementById('popup-threse-shuiwenEcharts2');
+				this.myChart2 = echarts.init(dom);
 			},
-			getEchartsData: function () {
+			getOurData: function (time, stcd) {
+				console.log(time)
+				var that = this
+					, url = `http://171.34.76.171:8880/pyh-station/monitorData/queryStationHistoryMonitorData?stcd=${stcd}&startTime=${time[0]}&endTime=${time[1]}`,
+					token = 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJlY2hpc2FuIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2MjMyNDQxNDQsImV4cCI6MTYyNTgzNjE0NH0.wjtMw7hv8IYGxFKI9b1vo2ozMXD1pE0-02HinfPl-r8l0TYVg1YvMBxW_VzzFKoY1jeC6XByQQT-aC_mAvBnWA';
+				axios.get(url, {
+					headers: {
+						'token': token
+					}
+				}).then((res) => {
+					if (res.data.code == 200) {
+						var shui = res.data.data.MONITOR_WATER//水文
+							, legendData = []
+							, xData = []
+							, seriesData = [];
+						for (var k in shui) {
+							legendData.push(shui[k].name);
+							var once = {
+								name: shui[k].name,
+								type: 'line',
+								stack: '总量',
+								data: [],
+							}
+							var onS = shui[k].valList;
+							for (var o in onS) {
+								once.data.push(onS[o].value);
+							}
+							seriesData.push(once);
+						}
+						var ins = shui[0].valList;
+						for (var i in ins) {
+							xData.push(ins[i].startTime);
+						}
+						that.getEchartsData(legendData, xData, seriesData, 1);//水文
+
+						var air = res.data.data.MONITOR_AIR//空气
+							, legendDataair = []
+							, xDataair = []
+							, seriesDataair = [];
+						for (var k in air) {
+							legendDataair.push(air[k].name);
+							var once = {
+								name: air[k].name,
+								type: 'line',
+								stack: '总量',
+								data: [],
+							}
+							var onS = air[k].valList;
+							for (var o in onS) {
+								once.data.push(onS[o].value);
+							}
+							seriesDataair.push(once);
+						}
+						var ins = air[0].valList;
+						for (var i in ins) {
+							xDataair.push(ins[i].startTime);
+						}
+						// console.log(shui);
+						// console.log(seriesData);
+						// 渲染图表
+						that.getEchartsData(legendDataair, xDataair, seriesDataair, 2);//空气
+
+						var qi = res.data.data.MONITOR_WEATHER//气象
+							, legendDataqi = []
+							, xDataqi = []
+							, seriesDataqi = [];
+						for (var k in qi) {
+							legendDataqi.push(qi[k].name);
+							var once = {
+								name: qi[k].name,
+								type: 'line',
+								stack: '总量',
+								data: [],
+							}
+							var onS = qi[k].valList;
+							for (var o in onS) {
+								once.data.push(onS[o].value);
+							}
+							seriesDataqi.push(once);
+						}
+						var ins = qi[0].valList;
+						for (var i in ins) {
+							xDataqi.push(ins[i].startTime);
+						}
+						// console.log(shui);
+						// console.log(seriesData);
+						// 渲染图表
+						that.getEchartsData(legendDataqi, xDataqi, seriesDataqi, 3);//气象
+					}
+				})
+			},
+			getEchartsData: function (l, x, s, i) {
 				var that = this;
 
 				var option;
@@ -82,62 +217,32 @@
 						trigger: 'axis'
 					},
 					legend: {
-						data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
+						data: l
+						// data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
 					},
 					grid: {
-						left: '3%',
-						right: '4%',
+						left: '1%',
+						right: '3%',
 						bottom: '12%',
 						containLabel: true
 					},
-					// toolbox: {
-					// 	feature: {
-					// 		saveAsImage: {}
-					// 	}
-					// },
 					xAxis: {
 						type: 'category',
 						boundaryGap: false,
-						data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
+						data: x
 					},
 					yAxis: {
 						type: 'value'
 					},
-					series: [
-						{
-							name: '邮件营销',
-							type: 'line',
-							stack: '总量',
-							data: [120, 132, 101, 134, 90, 230, 210]
-						},
-						{
-							name: '联盟广告',
-							type: 'line',
-							stack: '总量',
-							data: [220, 182, 191, 234, 290, 330, 310]
-						},
-						{
-							name: '视频广告',
-							type: 'line',
-							stack: '总量',
-							data: [150, 232, 201, 154, 190, 330, 410]
-						},
-						{
-							name: '直接访问',
-							type: 'line',
-							stack: '总量',
-							data: [320, 332, 301, 334, 390, 330, 320]
-						},
-						{
-							name: '搜索引擎',
-							type: 'line',
-							stack: '总量',
-							data: [820, 932, 901, 934, 1290, 1330, 1320]
-						}
-					]
+					series: s,
 				};
-
-				option && that.myChart.setOption(option);
+				if (i == 1) {
+					option && that.myChart.setOption(option);
+				} else if (i == 2) {
+					option && that.myChart1.setOption(option);
+				} else if (i == 3) {
+					option && that.myChart2.setOption(option);
+				}
 			},
 			onClose: function () {
 				//面板关闭的时候触发 (when this panel is closed trigger)

--
Gitblit v1.9.3