whychw
2020-09-24 0cc0613fd1fef889576072664fe9fbc5318e95c2
U 综合页面修改
3个文件已修改
1个文件已添加
380 ■■■■ 已修改文件
src/api/services/batt/index.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/services/index.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/script/draw_general.js 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/general/index.vue 314 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/services/batt/index.js
New file
@@ -0,0 +1,17 @@
import Vue from 'vue'
const self = new Vue()
export default {
  /**
    * 电池组实时数据
    */
  getRTData (data) {
    return self.$axios({
      method: 'post'
      ,url: 'Batt_rtstateAction!serchByCondition'
      ,data: 'json=' + JSON.stringify(data)
    });
  }
}
src/api/services/index.js
@@ -5,6 +5,7 @@
import electric from './electric'
import chargepower from './electric/chargepower'
import water from './water'
import batt from './batt'
export default {
    common,
@@ -13,5 +14,6 @@
    motor,
    electric,
    chargepower,
    water
    water,
    batt
}
src/script/draw_general.js
@@ -501,27 +501,31 @@
  /**
   * 画面板框
   */
  // 电源3
  can.drawRect({
    startX: 320
    ,startY: 6
    ,width: 150
    startX: 230
    ,startY: 66
    ,width: 80
    ,height: 40
    ,strokeStyle: 'transparent'
  }, true);
  // 电源2
  can.drawRect({
    startX: 320
    ,startY: 226
    ,width: 150
    startX: 230
    ,startY: 286
    ,width: 80
    ,height: 40
    ,strokeStyle: 'transparent'
  }, true);
  // 电源1
  can.drawRect({
    startX: 320
    ,startY: 446
    ,width: 150
    startX: 230
    ,startY: 516
    ,width: 80
    ,height: 40
    ,strokeStyle: 'transparent'
  }, true);
  // 电机
  can.drawRect({
    startX: 320
    ,startY: 654
@@ -582,6 +586,29 @@
    ,height: 40
    ,strokeStyle: 'transparent'
  }, true);
  // 电源3信息 index 12
  can.drawRect({
    startX: 320
    ,startY: 6
    ,width: 150
    ,height: 40
    ,strokeStyle: 'transparent'
  }, true);
  can.drawRect({
    startX: 320
    ,startY: 226
    ,width: 150
    ,height: 40
    ,strokeStyle: 'transparent'
  }, true);
  can.drawRect({
    startX: 320
    ,startY: 446
    ,width: 150
    ,height: 40
    ,strokeStyle: 'transparent'
  }, true);
  
}
src/views/general/index.vue
@@ -21,9 +21,28 @@
    :top="load.top" :left="load.left">
      <info-group :list="load.list"></info-group>
    </science-box>
    <div class="status" v-for="(item, idx) in status" :key="'status_' + idx" :style="getStyle(item)">
    <div class="status" v-for="(item, idx) in status.slice(3)" :key="'status_' + idx" :style="getStyle(item)">
      <label>通讯:</label>
      <span :class="['indicator_css', {'status_normal': item.status, 'status_error': !item.status}]"></span>
    </div>
    <!-- 电源状态 -->
    <div class="status" v-for="(item, idx) in status.slice(0, 3)" :key="'status_power_' + idx" :style="getStyle(item)">
      <div class="pos_bl flexR_center">
        <label>通讯:</label>
        <span :class="['indicator_css', {'status_normal': item.status, 'status_error': !item.status}]"></span>
      </div>
      <div class="pos_bl_o flexR_center">
        <label>运行:</label>
        <span :class="['indicator_css', {'status_normal': item.run, 'status_error': !item.run}]"></span>
      </div>
    </div>
    <div class="power-info" v-for="(item, idx) in powerInfo" :key="'info_' + idx" :style="getPowerInfoStyle(item)">
      <div class="pos_bl">
        <label>电流:</label>
        <span>{{item.cur}}A</span>
        <label>电压:</label>
        <span>{{item.vol}}V</span>
      </div>
    </div>
  </div>
  <!-- ROOTEND -->
@@ -38,6 +57,8 @@
let can, can1;
let resizeHandler;
let el = '';
// 保留位数
const bit = 1;
// 通信状态
let connects = {
      load1: false
@@ -287,6 +308,98 @@
          ]
        }
      ],
      // 电池组信息
      battInfo: [
        {
          show: false,
          title: '1#蓄电池组',
          top: 0,
          left: 0,
          list: [
            {
              text: '组端电压:',
              value: 0,
              unit: 'A'
            },
            {
              text: '在线电压:',
              value: 0,
              unit: 'V'
            },
            {
              text: '电池电流:',
              value: 0,
              unit: 'A'
            }
          ]
        }, {
          show: false,
          title: '2#蓄电池组',
          top: 0,
          left: 0,
          list: [
            {
              text: '组端电压:',
              value: 0,
              unit: 'A'
            },
            {
              text: '在线电压:',
              value: 0,
              unit: 'V'
            },
            {
              text: '电池电流:',
              value: 0,
              unit: 'A'
            }
          ]
        }, {
          show: false,
          title: '3#蓄电池组',
          top: 0,
          left: 0,
          list: [
            {
              text: '组端电压:',
              value: 0,
              unit: 'A'
            },
            {
              text: '在线电压:',
              value: 0,
              unit: 'V'
            },
            {
              text: '电池电流:',
              value: 0,
              unit: 'A'
            }
          ]
        }, {
          show: false,
          title: '4#蓄电池组',
          top: 0,
          left: 0,
          list: [
            {
              text: '组端电压:',
              value: 0,
              unit: 'A'
            },
            {
              text: '在线电压:',
              value: 0,
              unit: 'V'
            },
            {
              text: '电池电流:',
              value: 0,
              unit: 'A'
            }
          ]
        }
      ],
      loads: [
        {
          title: '水冷负载1',
@@ -381,57 +494,108 @@
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false,
          run: false
        },
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false,
          run: false
        },
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false,
          run: false
        },
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false
        },
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false
        },
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false
        },
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false
        },
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false
        },
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false
        },
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false
        },
        {
          left: 0,
          top: 0,
          width: 0,
          height: 0,
          status: false
        },
        }
      ]
      ,powerInfo: [
        {
          left: 0,
          top: 0,
          status: false
        },
        {
          left: 0,
          top: 0,
          status: false
        },
        {
          left: 0,
          top: 0,
          status: false
          top: 0
          ,left: 0
          ,width: 0
          ,height: 0
          ,vol: 0
          ,cur: 0
        }
        ,{
          top: 0
          ,left: 0
          ,width: 0
          ,height: 0
          ,vol: 0
          ,cur: 0
        }
        ,{
          top: 0
          ,left: 0
          ,width: 0
          ,height: 0
          ,vol: 0
          ,cur: 0
        }
      ]
    }
@@ -506,7 +670,6 @@
          this.status[9].status = connects.load3;
          this.status[10].status = connects.load4;
        }
        console.log(this.connects);
      });
    }
    ,getBoolFromArr (arr) {
@@ -530,6 +693,7 @@
      this.setLoadPos();
      this.setFloatBoxPos();
      this.setPanelPos();
      this.setPowerInfoPos();
      // this.setRect();
    }
    // 添加电源数据
@@ -545,12 +709,18 @@
          // let D = data[3];
          // console.log('state', AB, B, CD, D);
          this.floatBox[2].list[1].value = AB.conn_flag ? '串联' : '并联';
          this.floatBox[2].list[2].value = AB.alldcvol;
          this.floatBox[2].list[3].value = AB.alldccurr;
          this.floatBox[2].list[2].value = (AB.alldcvol).toFixed(bit);
          this.floatBox[2].list[3].value = (AB.alldccurr).toFixed(bit);
          this.powerInfo[2].vor = (AB.alldcvol).toFixed(bit);
          this.powerInfo[2].cur = (AB.alldccurr).toFixed(bit);
          this.floatBox[1].list[1].value = CD.conn_flag ? '串联' : '并联';
          this.floatBox[1].list[2].value = CD.alldcvol;
          this.floatBox[1].list[3].value = CD.alldccurr;
          this.floatBox[1].list[2].value = (CD.alldcvol).toFixed(bit);
          this.floatBox[1].list[3].value = (CD.alldccurr).toFixed(bit);
          this.powerInfo[1].vol = (CD.alldcvol).toFixed(bit);
          this.powerInfo[1].cur = (CD.alldccurr).toFixed(bit);
        }
      });
      this.$api.electric.getAllRtData().then((res)=>{
@@ -564,20 +734,20 @@
          let D = data[3];
          // console.log('data', AB, B, CD, D);
          this.floatBox[2].list[0].value = AB.consvolcurrflag ? '恒流' : '恒压';
          this.floatBox[2].list[4].value = AB.dcvol / 10;
          this.floatBox[2].list[5].value = AB.dccurr / 10;
          this.floatBox[2].list[6].value = AB.controlangle / 10;
          this.floatBox[2].list[7].value = B.dcvol / 10;
          this.floatBox[2].list[8].value = B.dccurr / 10;
          this.floatBox[2].list[9].value = B.controlangle / 10;
          this.floatBox[2].list[4].value = (AB.dcvol / 10).toFixed(bit);
          this.floatBox[2].list[5].value = (AB.dccurr / 10).toFixed(bit);
          this.floatBox[2].list[6].value = (AB.controlangle / 10).toFixed(bit);
          this.floatBox[2].list[7].value = (B.dcvol / 10).toFixed(bit);
          this.floatBox[2].list[8].value = (B.dccurr / 10).toFixed(bit);
          this.floatBox[2].list[9].value = (B.controlangle / 10).toFixed(bit);
          this.floatBox[1].list[0].value = CD.consvolcurrflag ? '恒流' : '恒压';
          this.floatBox[1].list[4].value = CD.dcvol / 10;
          this.floatBox[1].list[5].value = CD.dccurr / 10;
          this.floatBox[1].list[6].value = CD.controlangle / 10;
          this.floatBox[1].list[7].value = D.dcvol / 10;
          this.floatBox[1].list[8].value = D.dccurr / 10;
          this.floatBox[1].list[9].value = D.controlangle / 10;
          this.floatBox[1].list[4].value = (CD.dcvol / 10).toFixed(bit);
          this.floatBox[1].list[5].value = (CD.dccurr / 10).toFixed(bit);
          this.floatBox[1].list[6].value = (CD.controlangle / 10).toFixed(bit);
          this.floatBox[1].list[7].value = (D.dcvol / 10).toFixed(bit);
          this.floatBox[1].list[8].value = (D.dccurr / 10).toFixed(bit);
          this.floatBox[1].list[9].value = (D.controlangle / 10).toFixed(bit);
        }
      });
@@ -621,22 +791,24 @@
            let data = res.data[0];
            if (i) {
              // 电流
              this.floatBox[0].list[6].value = data.brachdccurr;
              this.floatBox[0].list[6].value = (data.brachdccurr).toFixed(bit);
              // 电压
              this.floatBox[0].list[7].value = data.brachdcvol;
              this.floatBox[0].list[7].value = (data.brachdcvol).toFixed(bit);
              // 控制角
              this.floatBox[0].list[9].value = data.controlangle;
              this.floatBox[0].list[9].value = (data.controlangle).toFixed(bit);
            } else {
              // 总直流电压
              this.floatBox[0].list[1].value = data.alldcvol;
              this.floatBox[0].list[1].value = (data.alldcvol).toFixed(bit);
              this.powerInfo[0].vol = (data.alldcvol).toFixed(bit);
              // 总直流电流
              this.floatBox[0].list[0].value = data.alldccurr;
              this.floatBox[0].list[0].value = (data.alldccurr).toFixed(bit);
              this.powerInfo[0].cur = (data.alldccurr).toFixed(bit);
              // 电流
              this.floatBox[0].list[2].value = data.brachdccurr;
              this.floatBox[0].list[2].value = (data.brachdccurr).toFixed(bit);
              // 电压
              this.floatBox[0].list[3].value = data.brachdcvol;
              this.floatBox[0].list[3].value = (data.brachdcvol).toFixed(bit);
              // 控制角
              this.floatBox[0].list[5].value = data.controlangle;
              this.floatBox[0].list[5].value = (data.controlangle).toFixed(bit);
              // this.real_set_cur = data.localgivecurr;
              // this.real_set_vol = data.localgivevol;
            }
@@ -644,6 +816,15 @@
        });
      });
    }
    // 设置电池组信息
    ,setBattData () {
      /*let param = {
          BattGroupId: batt.BattGroupId
      };
      this.$api.batt.getRTData(param).then((res) => {
      });*/
    }
    // 获取负载列表
    ,getLoadList () {
@@ -734,9 +915,20 @@
      this.floatBox[3].top = pos.top;
    }
    ,getStyle (obj) {
      console.log(obj, 90)
      return {
        left: obj.left + 'px',
        top: obj.top + 'px'
        top: obj.top + 'px',
        width: obj.width + 'px',
        height: obj.height + 'px'
      }
    }
    ,getPowerInfoStyle (obj) {
      return {
        left: obj.left + 'px'
        ,top: obj.top + 'px'
        ,width: obj.width + 'px'
        ,height: obj.height + 'px'
      }
    }
    ,setPanelPos () {
@@ -748,7 +940,21 @@
        this.status[i] = this.status[i] || {};
        this.status[i].left = position.left;
        this.status[i].top = position.top;
        this.status[i].width = position.width;
        this.status[i].height = position.height;
        this.status[i].status = 0;
      }
    }
    ,setPowerInfoPos () {
      const $container = this.$refs.container;
      const width = $container.offsetWidth;
      const height = $container.offsetHeight;
      for (let i = 11; i < 14; i++) {
        let position = this.$common.transSize(width, height, 1880, 810, can.getInfo('rect_' + i));
        this.powerInfo[i - 11].top = position.top;
        this.powerInfo[i - 11].left = position.left;
        this.powerInfo[i - 11].width = position.width;
        this.powerInfo[i - 11].height = position.height;
      }
    }
    // 画布点击事件
@@ -875,6 +1081,7 @@
      this.setLoadPos();
      this.setFloatBoxPos();
      this.setPanelPos();
      this.setPowerInfoPos();
    }
    window.addEventListener('resize', resizeHandler);
@@ -933,7 +1140,7 @@
    height: 100%;
    display: block;
    -o-object-fit: contain;
    object-fit: contain;
    object-fit: contain;
  }
  .can1 {
    position: absolute;
@@ -950,8 +1157,31 @@
    width: 24px;
    height: 24px;
    margin-left: .4em;
    display: inline-block;
  }
  .box {
    z-index: 1;
  }
  .power-info {
    position: absolute;
  }
  .power-info span {
    color: #df0;
    margin-right: .8em;
    margin-left: .4em;
  }
  .pos_bl {
    position: absolute;
    left: 0;
    bottom: 0;
    white-space: nowrap;
  }
  .pos_bl_o {
    position: absolute;
    top: 100%;
    left: 0;
    white-space: nowrap;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
</style>