whychdw
2021-10-12 07be17d70b495af8e1252b9658dffa364bcdea08
跳转修改
5个文件已修改
210 ■■■■ 已修改文件
src/assets/js/config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/chart/elePriceBar.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/alarmMager/batteryrTimequery.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/alarmMager/powerRealtimeInfo.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dataTest/components/elePriceTpl.vue 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/config.js
@@ -3,7 +3,7 @@
        label: '平台logo',
        des: '显示平台logo状态',
        fileName: 'gjdw',       // gjdw, nfdw, gjdx, qwh
        value: true,
        value: false,
    },
    uKey: {
        label: 'uKey',
@@ -44,6 +44,6 @@
    bigScreen: {
        label: '大屏数据展示',
        des: '首页显示大屏展示',
        value: true,
        value: false,
    },
};
src/components/chart/elePriceBar.vue
@@ -17,7 +17,7 @@
  props: {
    noBottom: {
      type: Boolean,
      default: false
      default: true
    },
  },
  data() {
@@ -45,6 +45,8 @@
      let valuesLength = values.length;
      let colorsLength = colors.length;
      data = data.map(item=>{
        item.value[0] = new Date(item.value[0]).getTime();
        item.value[1] = new Date(item.value[1]).getTime();
        let value = item.value[2];
        let index =  values.indexOf(value);
        let color = colors[0];
src/pages/alarmMager/batteryrTimequery.vue
@@ -673,6 +673,19 @@
    };
  },
  mounted() {
    // 根据告警类型勾选筛选条件
    let alarmType = this.$route.query.alarmType;
    if(alarmType) {
      Object.keys(this.checkbox).forEach(key=>{
        let item = this.checkbox[key];
        if(item.value1 == alarmType) {
          item.bol = true;
        }else {
          item.bol = false;
        }
      });
    }
    this.vindicateData(); /* 维护区 */
    this.computerSite(); /*机房站点 */
    this.storageBatterys(); /* 蓄电池组 */
src/pages/alarmMager/powerRealtimeInfo.vue
@@ -275,6 +275,21 @@
  },
  mounted() {
    this.searchProvince();//查询省
    // 根据告警类型勾选筛选条件
    let alarmType = this.$route.query.alarmType;
    if(alarmType) {
      Object.keys(this.checkboxs).forEach(key=>{
        let item = this.checkboxs[key];
        for(let i=0; i<item.length; i++) {
          if(item[i].value == alarmType) {
            item[i].model = true;
          }else {
            item[i].model = false;
          }
        }
      });
    }
  },
  methods: {
    startSearchData() {
src/pages/dataTest/components/elePriceTpl.vue
@@ -4,13 +4,16 @@
      <el-col :span="layout.left" class="full-height">
        <layout-box no-bg>
          <div class="layout-content">
            <flex-box title="电价分布及实时容量" size="mini">
              <div class="layout-price-bar">
                <ele-price-bar ref="elePriceBar" no-bottom></ele-price-bar>
            <flex-box title="节约电费统计折线图" size="mini">
              <div slot="tools">
                <el-select v-model="timeNum" size="mini">
                  <el-option
                      v-for="(item, key) in timeNums" :key="'key'+key"
                      :label="item.label" :value="item.value"></el-option>
                </el-select>
                <el-button size="mini" type="primary" @click="getPeakPrice">查询</el-button>
              </div>
              <div class="layout-cap-line">
                <dot-line ref="capDotLine" no-top></dot-line>
              </div>
              <dot-line ref="priceDotLine" :show-area="true"></dot-line>
            </flex-box>
          </div>
        </layout-box>
@@ -19,21 +22,34 @@
        <layout-box no-bg>
          <div class="layout-content">
            <div class="layout-content-top">
              <flex-box title="充放电容量统计" size="mini">
                <e-le-cap-pie ref="eleCapPie"></e-le-cap-pie>
              <flex-box title="电价分布图" size="mini">
                <ele-price-bar ref="elePriceBar"></ele-price-bar>
              </flex-box>
            </div>
            <div class="layout-content-bottom">
              <flex-box title="节约电费统计" size="mini">
                <div slot="tools">
                  <el-select v-model="timeNum" size="mini">
                    <el-option
                        v-for="(item, key) in timeNums" :key="'key'+key"
                        :label="item.label" :value="item.value"></el-option>
                  </el-select>
                  <el-button size="mini" type="primary">查询</el-button>
                </div>
                <dot-line ref="priceDotLine" :show-area="true"></dot-line>
              <flex-box title="节约电费统计数据" size="mini">
                <el-table
                  stripe
                  size="small"
                  :data="tblData"
                  height="100%">
                  <el-table-column
                      prop="num"
                      align="center"
                      label="编号"
                      width="80">
                  </el-table-column>
                  <el-table-column
                      prop="date"
                      align="center"
                      label="日期">
                  </el-table-column>
                  <el-table-column
                      prop="price"
                      align="center"
                      label="节约电费(度/元)">
                  </el-table-column>
                </el-table>
              </flex-box>
            </div>
          </div>
@@ -47,7 +63,6 @@
import FlexBox from "@/components/FlexBox";
import LayoutBox from "@/pages/dataTest/components/layout-box";
import ElePriceBar from "@/components/chart/elePriceBar";
import eLeCapPie from "@/components/chart/eLeCapPie";
import DotLine from "@/components/chart/line/dotLine";
import {formatSeconds} from "@/assets/js/tools";
import getItemByKey from "@/assets/js/tools/getItemByKey";
@@ -71,7 +86,6 @@
  },
  components: {
    DotLine,
    eLeCapPie,
    ElePriceBar,
    LayoutBox,
    FlexBox
@@ -122,6 +136,7 @@
          days: 365,
        }
      ],
      tblData: []
    }
  },
  watch: {
@@ -136,8 +151,6 @@
    resize() {
      this.$nextTick(()=>{
        this.$refs.elePriceBar.resize();
        this.$refs.eleCapPie.resize();
        this.$refs.capDotLine.resize();
        this.$refs.priceDotLine.resize();
      });
    },
@@ -148,8 +161,8 @@
      let batt = this.batt;
      let timeNum = getItemByKey(this.timeNum, this.timeNums);
      let num = timeNum.num;
      let recordTime = new Date().format("yyyy-MM-dd");
      let recordTime1 = new Date(new Date().getTime()+timeNum.days*24*3600*1000).format("yyyy-MM-dd");
      let recordTime1 = new Date().format("yyyy-MM-dd");
      let recordTime = new Date(new Date().getTime()-timeNum.days*24*3600*1000).format("yyyy-MM-dd");
      // 构造查询条件
      let searchParams = {
        BattGroupId: batt.BattGroupId,
@@ -161,10 +174,88 @@
      // 查询后台
      this.$apis.dcdc.getPeakPrice(searchParams).then(res=>{
        let rs = JSON.parse(res.data.result);
        console.log(rs);
        let data = [];
        if(rs.code == 1) {
          data = rs.data;
        }else {
          this.$layer.msg(rs.msg);
        }
        let formatData = this.getFormatData(data, num);
        this.tblData = formatData.xData.map((item,key)=> {
            let price = formatData.yData[key];
            return {
              num: key+1,
              date: item,
              price:price,
            }
        });
        this.$refs.priceDotLine.setData(formatData);
      }).catch(error => {
        let formatData = this.getFormatData([], num);
        this.$refs.priceDotLine.setData(formatData);
      });
    },
    getFormatData(data, type) {
      let xData = [];
      let yData = [];
      data.map(item=>{
        let times = item.perid_Time.split(" ");
        let time = times[0];
        switch (type) {
          case 1:
            time = new Date(time).format("yyyy-MM-dd");
            break;
          case 3:
            time = new Date(time).format("yyyy-MM");
            break;
        }
        xData.push(time);
        yData.push(item.price);
      });
      return {
        xData,
        yData
      }
    },
    searchElePrices() {
      let batt = this.batt;
      let loading = this.$layer.loading();
      // 查询电价
      this.$apis.dcdc
        .searchElePrices(batt.tmp_id)
        .then((res) => {
          // 关闭弹出框
          this.$layer.close(loading);
          let rs = JSON.parse(res.data.result);
          let data = [];
          if (rs.code == 1) {
            data = rs.data;
          }
          let barData = data.map((child) => {
            return {
              value: [
                "2022-10-01 " + child.tmp_starttime,
                "2022-10-01 " + child.tmp_stoptime,
                child.ele_price,
                "电费",
              ],
              itemStyle: {
                color: "#49A1FA",
              },
            };
          });
          // 设置电价的图表
          this.$refs.elePriceBar.setData({
            title: "",
            data: barData,
          });
        })
        .catch((error) => {
          // 关闭弹出框
          this.$layer.close(loading);
        });
    },
  },
  computed: {
@@ -173,36 +264,7 @@
  mounted() {
    this.searchData();
    this.getPeakPrice();
    // 设置容量
    let xData = [];
    for(let i=0; i<24; i++) {
      xData.push(formatSeconds(i*3600));
    }
    // 设置容量
    this.$refs.capDotLine.setData({
      xData: xData,
      yData: [
        150, 150, 150, 150, 150, 140, 130, 120, 130, 140, 150, 150,
        150, 150, 150, 150, 150, 140, 130, 120, 130, 140, 150, 150
      ]
    });
    // 设置省钱数
    let xData1 = [];
    for(let i=0; i<30; i++) {
      xData1.push((i+1)+"日");
    }
    this.$refs.priceDotLine.setData({
      lineColor: "#3DB790",
      xData: xData1,
      yData: [
        150, 130, 100, 120, 150, 140, 130, 120, 130, 140,
        150, 150, 110, 150, 120, 140, 130, 120, 130, 140,
        110, 120, 100, 90, 80, 140, 130, 120, 130, 140,
      ]
    });
    this.searchElePrices();
  },
  beforeDestroy() {
  }