liuyg
2021-06-10 df1c052d1f0d368cb78ebb1831980745bca11edc
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)