uDay.vue 5.21 KB
<template>
  <div class="app-uDayBox">
    <div class="theme-card2">
      <div class="title"><span>今日车流量</span></div>
      <div class="content" style="padding: 10px;box-sizing:border-box;padding-left: 0px;">
        <div class="contentBox">
          <div class="lineChart"></div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
  import echarts from 'echarts'
    export default {
      name: "uDay",
      data() {
        return {
          name: '进出场折线图',
          lineChart: {},
        }
      },
      /*
       * 进出场折线图
       * */
      mounted() {

        this.axios.post('urban/intelligence/orderPark/queryOrderParkNumForToday',{
          orgIds: [10003,10005]
        }).then((response)=>{
          let  data = response.data.data
          console.log(data)
          let  xData=[],inNum=[],outNum=[]
          for(let i=0;i<data.length;i++){
            xData.push(data[i].queryDate)
            inNum.push(data[i].inNum)
            outNum.push(data[i].outNum)
          }

          this.lineChart=this.createLine(xData,inNum,outNum);
          window.addEventListener('resize', function() {
            this.lineChart.resize()
          }.bind(this));
        }).catch((response)=>{
          console.log(response);
        })

      },
      methods: {
        createLine(xAxis_data,series_in,series_out){
          // 基于准备好的dom,初始化echarts实例
          let lineChart = echarts.init(document.querySelector('.lineChart'));
          let axisLineColor="#10377c";
          let axisLabelColor="#7c8799";
          let legend_data=['进场', '出场'];
          // let xAxis_data=['06:00', '07:00', '08:00', '09:00', '10:00', '11:00', '12:00'];
          // let series_in=[220, 182, 191, 134, 150, 120,100];
          // let series_out=[120, 82, 125, 145, 122, 191,150];
          const option={
            grid: {
              top: 13,left: 10,
              right: 10,bottom: 20,
              containLabel: true
            },
            tooltip: {
              trigger: 'axis',
              axisPointer: {
                lineStyle: {
                  color: '#072d6e',
                  fontSize: 12,
                }
              },
              formatter:this._formatTooltip
            },
            legend: {
              itemWidth: 15,itemHeight: 8,
              itemGap: 13,
              data:legend_data ,bottom: 0,
              textStyle: {fontSize: 12,color: '#59AAF7'}
            },
            xAxis: [{
              type: "category",
              boundaryGap: true,
              axisTick: {show: false},
              axisLine: {
                lineStyle: {color: axisLineColor}
              },
              axisLabel: {
                margin: 5,
                textStyle: {
                  color:axisLabelColor,fontSize: 12
                }
              },
              splitLine: {
                lineStyle: {color: '#57617B'}
              },
              data: xAxis_data
            }],
            yAxis: [{
              type: 'value',
              //name: '单位(%)',
              axisTick: {show: false},
              axisLine: {lineStyle: { color: axisLineColor}},
              axisLabel: {
                margin: 5,
                textStyle: {color:axisLabelColor,fontSize: 12}
              },
              splitLine: {lineStyle: {color: '#10377c'}}
            }],
            series: [
              {
                name: '进场',type: 'line',symbol: 'circle',symbolSize: 5,
                // smooth: true,// showSymbol: false,
                lineStyle: {normal: { width: 0.8}},
                itemStyle: {
                  normal: {
                    color: 'rgb(255,177,48)',
                    borderColor: 'rgba(216,152,57,0.17)',
                    borderWidth: 8
                  }
                },
                data:series_in//[220, 182, 191, 134, 150, 120]
              },
              {
                name: '出场',type: 'line',symbol: 'circle',symbolSize: 5,
                // showSymbol: false, // smooth: true,
                lineStyle: {normal: { width: 0.8}},
                itemStyle: {
                  normal: {
                    color: 'rgb(8,185,252)',
                    borderColor: 'rgba(8,185,252,0.2)',
                    borderWidth: 8
                  }
                },
                data: series_out
              }
            ]
          };
          lineChart.setOption(option);
          return lineChart;
        },
        _formatTooltip:function(ticket,html){
          //debugger;
          let tmpHtml=ticket[0].name;
          for(let i=0;i<ticket.length;i++){
            let tmpObj=ticket[i];
            tmpHtml +="<br />"+tmpObj.seriesName+" : "+tmpObj.data+" (辆)";
          }
          return tmpHtml;
        }
      },

    }
</script>

<style scoped  lang="scss">
  .app-uDayBox {
    width: 100%;
    .theme-card2{
      height: 100%;
    }
    .lineChart{
      position: absolute;
      margin:auto;
      top:0;
      bottom: 0;
      left:0;
      width: 100%;
      height: 100%;
    }
  .contentBox{
    background: url(../../images/com/border.svg) no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 100%;
    position: relative;
  }
  }
</style>