农产品信息智能推荐平台(14)

农产品信息智能推荐平台(14)

可视化大屏(6)
降雨气温对比

对于这一部分,想到的是在降雨和气温方面进行两年的对比,得到其变化率。
效果如图:
在这里插入图片描述
在这里插入图片描述
以降雨为例,代码如下:

<template>
  <div id="centerRight1">
    <div class="bg-color-black">
      <div class="d-flex pt-2 pl-2">
        <span style="color:#5cd9e8">
          <icon name="chart-line"></icon>
        </span>
        <div class="d-flex">
          <span class="fs-xl text mx-2">降雨变化率</span>
        </div>
      </div>
      <div class="d-flex jc-center body-box" v-if="jiazai">
        <dv-scroll-board :config="config" style="width:4rem;height:4.28rem" />
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      jiazai:false,
      city:[],
      shuju1:[],
      shuju2:[],
      zengliang:[],
      option2:[],
      option3:[],
      options:[],
      config: {
        header: ["城市", "总降雨量", "变化率"],
        data: [],
        rowNum: 7, //表格行数
        headerHeight: 35,
        headerBGC: "#0f1325", //表头
        oddRowBGC: "#0f1325", //奇数行
        evenRowBGC: "#171c33", //偶数行
        index: true,
        columnWidth: [60],
        align: ["center"]
      }
    };
  },
  components: {},
  created() {
    this.$axios.get("/citycrop/city").then(res => {
      console.log(res)
      this.city = res.data.city
      for (let i = 0, len = this.city.length; i < len; i++) {
        var name = 'city'
        var all = 'year'
        var obj1 = {}
        obj1[name] = this.city[i]
        obj1[all] = 2019
        console.log(obj1)
        this.option2.push(
            obj1
        )
      }
      for (let i = 0, len = this.option2.length; i < len; i++) {
        this.$axios.post("/cityclimate/rain", this.option2[i]).then(res4 => {
          // this.options = res4.data.rain
          var rain = res4.data.rain
          var all_rain = 0
          for (let j = 0, len = rain.length; j < len; j++) {
            all_rain = all_rain + rain[j]
          }
          this.shuju1.push(all_rain)
        })
      }
      for (let i = 0, len = this.city.length; i < len; i++){
        var name2 = 'city'
        var all2 = 'year'
        var obj2 = {}
        obj2[name2] = this.city[i]
        obj2[all2] = 2018
        console.log(obj2)
        this.option3.push(
            obj2
        )
      }
      for (let i = 0, len = this.option3.length; i < len; i++) {
        this.$axios.post("/cityclimate/rain", this.option3[i]).then(res2 => {
          var rain = res2.data.rain
          var all_rain = 0
          for (let j = 0, len = rain.length; j < len; j++) {
            all_rain = all_rain + rain[j]
          }
          this.shuju2.push(all_rain)
        })
      }
    })
  },
  mounted() {
    var that=this
    setTimeout(function(){that.getdata()},15000)

  },
  methods: {
    getdata(){
      for (let j = 0, len = this.shuju1.length; j < len; j++){
        if(this.shuju1[j]>this.shuju2[j]) {
          this.zengliang.push("<span  class='colorGrass'>↑"+((this.shuju2[j]-this.shuju1[j])/this.shuju2[j]).toString().slice(0,3)+"%</span>")}
        else {
          this.zengliang.push("<span  class='colorRed'>↓"+((this.shuju2[j]-this.shuju1[j])/this.shuju2[j]).toString().slice(0,3)+"%</span>")}
      }
      for (let i = 0, len = this.shuju1.length; i < len; i++){
        this.options=[]
        this.options.push(this.city[i],this.shuju1[i].toString().slice(0,5),this.zengliang[i])
        this.config.data.push(this.options)
      }
      var that=this
      setTimeout(function (){that.jiazai=true},5000)
    }
  }
};
</script>

<style lang="scss">
#centerRight1 {
  padding: 0.2rem;
  height: 5.125rem;
  min-width: 3.75rem;
  border-radius: 0.0625rem;
  .bg-color-black {
    height: 4.8125rem;
    border-radius: 0.125rem;
  }
  .text {
    color: #c3cbde;
  }
  .body-box {
    border-radius: 0.125rem;
    overflow: hidden;
  }
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值