whychw
2020-10-12 b0f8dd496fb95813e554e95427ccc2eac8520959
U 2MW电源主界面可以设置电流电压 值可以输入
9个文件已修改
518 ■■■■■ 已修改文件
src/script/chargepower.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/chargePower/alone.vue 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/chargePower/main.vue 309 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/chargePower/mixture.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/chargePower/parallel.vue 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/chargePower/series.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/waterCooling/index1.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/waterCooling/index2.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/waterCooling/index3.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/script/chargepower.js
@@ -598,7 +598,7 @@
      endX: opts.lineOnEndX,
      endY: opts.lineOnEndY,
      lineWidth: opts.lineWidth,
      strokeStyle: 'green'
      strokeStyle: 'red'
    }, this.context);
  } else {
    // 画开关线段
@@ -608,7 +608,7 @@
      endX: opts.lineEndX,
      endY: opts.lineEndY,
      lineWidth: opts.lineWidth,
      strokeStyle: 'red'
      strokeStyle: 'green'
    }, this.context);
  }
  this.context.restore();
src/views/chargePower/alone.vue
@@ -21,7 +21,7 @@
            <div class="posA_full flexC_center">
              <div class="status flexR_center">
                <label>通讯状态:</label>
                <div :class="['indicator', {'status_off': !1, 'status_normal': !0}]"></div>
                <div :class="['indicator', {'status_off': !connectFlag, 'status_normal': connectFlag}]"></div>
              </div>
              <div class="info flexR_center" :class="{'upper_pulse_block': upper_pulse_block}">{{upper_pulse_block ? '脉冲封锁' : ''}}</div>
            </div>
@@ -117,7 +117,7 @@
          <div class="sub-title">{{group}}机组{{modelStr}}运行电流电压设置</div>
          <div class="content">
            <div class="part_left">
              <div class="_row">本机给定电流<span>{{local_set_cur}}</span>A</div>
              <div class="_row">本机给定电流<el-input class="input transparent" size="mini" type="number" v-model="local_set_cur"></el-input>A</div>
              <div class="_row">实际给定电流<span>{{real_set_cur}}</span>A</div>
              <div class="_row">
                <div class="btn_3d" @click="curAdd(10)">+10</div>
@@ -131,7 +131,7 @@
            </div>
          
            <div class="part_right">
              <div class="_row">本机给定电压<span>{{local_set_vol}}</span>V</div>
              <div class="_row">本机给定电压<el-input class="input transparent" size="mini" type="number" v-model="local_set_vol"></el-input>V</div>
              <div class="_row">实际给定电压<span>{{real_set_vol}}</span>V</div>
              <div class="_row">
                <div class="btn_3d" @click="volAdd(10)">+10</div>
@@ -173,6 +173,10 @@
let can, can1;
let resizeHandler;
const DEV = {
  A: 6001
  ,B: 6002
};
export default {
  name: 'chargePower_alone',
  components: {
@@ -187,6 +191,7 @@
      cbParam: null,
      cur_vol_setVisible: false,
      switchFlag: false,
      connectFlag: false,
      local_set_cur: 0,
      real_set_cur: 0,
      local_set_vol: 0,
@@ -310,6 +315,19 @@
      });
    }
    ,getConnect () {
      this.$api.common.getConnect().then((res) => {
        res = JSON.parse(res.data.result);
        if (res.code) {
          let data = res.data;
          data.forEach((v) => {
            if (DEV[this.group] == v.dev_id) {
              this.connectFlag = !!v.connect_en;
            }
          });
        }
      });
    }
    // 轮询
    ,loop () {
      this.timer.start(() => {
@@ -318,11 +336,12 @@
        this.getAlarm();
        draw.update(can1, this.switchFlag, this.model);
        this.updateGraph();
        this.getConnect();
        this.timer.open();
      }, 1000);
    }
    ,curAdd (val) {
      if (this.local_set_cur > 500) {
      if (this.local_set_cur + val > 500) {
        return false;
      }
      this.local_set_cur += val;
@@ -334,6 +353,12 @@
      this.local_set_cur -= val;
    }
    ,setCur () {
      if (this.local_set_cur > 500) {
        this.local_set_cur = 500;
      }
      if (this.local_set_cur < 0 || parseInt(this.local_set_cur) < 0 || parseInt(this.local_set_cur)) {
        this.local_set_cur = 0;
      }
      let param = {
        num: 20,
        currset: this.local_set_cur,
@@ -374,9 +399,10 @@
      });
    }
    ,volAdd (val) {
      if (this.local_set_vol > 500) {
      if (this.local_set_vol + val > 500) {
        return false;
      }
      this.local_set_vol *= 1;
      this.local_set_vol += val;
    }
    ,volSub (val) {
@@ -386,6 +412,12 @@
      this.local_set_vol -= val;
    }
    ,setVol () {
      if (this.local_set_vol > 500) {
        this.local_set_vol = 500;
      }
      if (this.local_set_vol < 0 || parseInt(this.local_set_vol) < 0 || parseInt(this.local_set_vol)) {
        this.local_set_vol = 0;
      }
      let param = {
        num: 21,
        volset: this.local_set_vol,
@@ -786,6 +818,7 @@
    padding: 10px;
    line-height: 20px;
    text-align: right;
    align-items: center;
  }
  .cur_vol_set ._row label {
    width: 8.4em;
@@ -808,6 +841,15 @@
    align-items: center;
    margin: 0 20px;
  }
  .input {
    font-size: 14px;
    width: 6em;
    padding-right: .4em;
    padding-left: .4em;
  }
  .input >>> input {
    padding: 0 6px;
  }
  .upper_pulse_block {
    -webkit-animation: flicker 0.6s infinite;
    animation: flicker 0.6s infinite;
src/views/chargePower/main.vue
@@ -42,33 +42,40 @@
          <div class="center_con">{{local_remote_control[item] ? '上位机控制' : '触摸屏控制'}}</div>
          <div class="btn_3d" v-btn-confirm="handleConfirm" data-fn="setLocalControl" data-confirmTxt="控制切换确认" :param="JSON.stringify([item])">{{item}}机组切换到就地控制</div>
        </div>
        <div class="text_row vertical_middle">
          <div class="inner">
            <span>{{item}}实际给定电压</span><em class="edit-val">{{controlData[item].real_set_vol}}</em>V
        <div class="group_set">
          <div class="part_left">
            <div class="text_row vertical_middle">
              <div class="inner">
                <span>{{item}}机组实际给定电压</span><em class="edit-val">{{controlData[item].real_set_vol}}</em>V
              </div>
            </div>
            <div class="text_row vertical_middle">
              <div class="inner">
                <span>{{item}}机组实际给定电流</span><em class="edit-val">{{controlData[item].real_set_cur}}</em>A
              </div>
            </div>
          </div>
        </div>
        <div class="text_row vertical_middle">
          <div class="inner">
            <span>{{item}}实际给定电流</span><em class="edit-val">{{controlData[item].real_set_cur}}</em>A
          <div class="vertical_middle">
            <div class="btn_3d" @click="showCurVolSettings(item)">{{item}}机组电流电压设定</div>
          </div>
        </div>
        <!-- 套输出合分闸 -->
        <div class="flex_2btn_grp vertical_middle">
          <!-- <div class="btn_3d">{{item}}套输出合闸</div> -->
          <div class="label">{{item}}高压开关</div>
          <div class="label">{{item}}机组高压开关状态</div>
          <div class="center_con">
            <div class="indicator" :class="{'status_normal': !0, 'status_error': !1}"></div>
            <div class="indicator" :class="{'status_normal': !controlData[item].switchFlag, 'status_error': controlData[item].switchFlag}"></div>
          </div>
          <div class="label"></div>
          <!-- <div class="btn_3d">{{item}}套输出分闸</div> -->
        </div>
        <!-- 启动停止 -->
        <div class="flex_2btn_grp vertical_middle">
          <div class="btn_3d" v-btn-confirm="handleConfirm" data-fn="remoteStart" data-confirmTxt="启动确认" :param="JSON.stringify([item])">{{item}}启动</div>
          <div class="btn_3d" v-btn-confirm="handleConfirm" data-fn="remoteStart" data-confirmTxt="启动确认" :param="JSON.stringify([item])">{{item}}机组启动</div>
          <div class="center_con">
            <div class="indicator" :class="{'status_normal': !0, 'status_error': !1}"></div>
            <!-- <div class="indicator" :class="{'status_normal': !0, 'status_error': !1}"></div> -->
          </div>
          <div class="btn_3d" v-btn-confirm="handleConfirm" data-fn="remoteStop" data-confirmTxt="停止确认" :param="JSON.stringify([item])">{{item}}停止</div>
          <div class="btn_3d" v-btn-confirm="handleConfirm" data-fn="remoteStop" data-confirmTxt="停止确认" :param="JSON.stringify([item])">{{item}}机组停止</div>
        </div>
      </div>
      <!-- 右侧按钮 -->
@@ -195,6 +202,51 @@
        </div>
      </div>
    </el-dialog>
    <!-- 电流电压给定 -->
    <el-dialog
      title="电流电压设置"
      :visible.sync="cur_vol_setVisible"
      :modal="false"
      v-dialogDrag
      class="dialog-bg dialog-drag">
      <div class="D-content cur_vol_set">
        <div class="tab_content">
          <div class="sub-title">{{current_grp}}机组运行电流电压设置</div>
          <div class="content">
            <div class="part_left">
              <div class="_row">本机给定电流<el-input class="input transparent" size="mini" type="number" v-model="local_set_cur"></el-input>A</div>
              <div class="_row">实际给定电流<span>{{real_set_cur}}</span>A</div>
              <div class="_row">
                <div class="btn_3d" @click="curAdd(10)">+10</div>
                <div class="btn_3d" @click="curSub(10)">-10</div>
              </div>
              <div class="_row">
                <div class="btn_3d" @click="curAdd(100)">+100</div>
                <div class="btn_3d" @click="curSub(100)">-100</div>
              </div>
              <div class="btn_3d" @click="setCur()">确定</div>
            </div>
            <div class="part_right">
              <div class="_row">本机给定电压<el-input class="input transparent" size="mini" type="number" v-model="local_set_vol"></el-input>V</div>
              <div class="_row">实际给定电压<span>{{real_set_vol}}</span>V</div>
              <div class="_row">
                <div class="btn_3d" @click="volAdd(10)">+10</div>
                <div class="btn_3d" @click="volSub(10)">-10</div>
              </div>
              <div class="_row">
                <div class="btn_3d" @click="volAdd(100)">+100</div>
                <div class="btn_3d" @click="volSub(100)">-100</div>
              </div>
              <div class="btn_3d" @click="setVol()">确定</div>
            </div>
          </div>
        </div>
      </div>
      <span slot="footer" class="dialog-footer h-center">
        <el-button type="primary" @click="cur_vol_setVisible = false">关闭</el-button>
      </span>
    </el-dialog>
    <!-- 按钮二次确认 -->
    <el-dialog
      :title="confirmTxt"
@@ -233,6 +285,12 @@
        value: 0,
        text: '',
      },
      current_grp: 'A',
      cur_vol_setVisible: false,
      local_set_cur: 0,
      real_set_cur: 0,
      local_set_vol: 0,
      real_set_vol: 0,
      confirmTxt: '',
      confirmVisible: false,
      cbFn: null,
@@ -263,6 +321,9 @@
          brachdcvol: 0,
          real_set_cur: 0,
          real_set_vol: 0,
          local_set_cur: 0,
          local_set_vol: 0,
          switchFlag: false,
          controlangle: 0
        },
        B: {
@@ -270,6 +331,9 @@
          brachdcvol: 0,
          real_set_cur: 0,
          real_set_vol: 0,
          local_set_cur: 0,
          local_set_vol: 0,
          switchFlag: false,
          controlangle: 0
        }
      },
@@ -336,6 +400,141 @@
        }
      });
    }
    // 显示电流电压设置框
    ,showCurVolSettings (grp) {
      // console.log(grp);
      // 确定当前机组
      this.current_grp = grp;
      // 切换数据
      this.local_set_cur = this.controlData[grp].local_set_cur;
      this.local_set_vol = this.controlData[grp].local_set_vol;
      this.real_set_cur = this.controlData[grp].real_set_cur;
      this.real_set_vol = this.controlData[grp].real_set_vol;
      this.cur_vol_setVisible = true;
    }
    ,curAdd (val) {
      if (this.local_set_cur + val > 500) {
        return false;
      }
      this.local_set_cur *= 1;
      this.local_set_cur += val;
    }
    ,curSub (val) {
      if (this.local_set_cur < val) {
        return false;
      }
      this.local_set_cur -= val;
    }
    ,setCur () {
      if (this.local_set_cur > 500) {
        this.local_set_cur = 500;
      }
      if (this.local_set_cur < 0 || parseInt(this.local_set_cur) < 0 || parseInt(this.local_set_cur)) {
        this.local_set_cur = 0;
      }
      let param = {
        num: 20,
        currset: this.local_set_cur,
        electric2KW_id: this.groupInfo[this.current_grp].electric2KW_id
      };
      this.controlData[this.current_grp].local_set_cur = this.local_set_cur;
      this.$api.chargepower.upDateControlData(param).then((res) => {
        res = JSON.parse(res.data.result);
        if (res.code) {
          this.$message({
            type: 'success',
            message: res.msg
          });
        } else {
          this.$message({
            type: 'warning',
            message: res.msg
          });
        }
      });
      let param1 = {
        num: 7,
        currset_confirm: 1,
        electric2KW_id: this.groupInfo[this.current_grp].electric2KW_id
      };
      this.$api.chargepower.upDateControlData(param1).then((res) => {
        res = JSON.parse(res.data.result);
        if (res.code) {
          this.$message({
            type: 'success',
            message: res.msg
          });
        } else {
          this.$message({
            type: 'warning',
            message: res.msg
          });
        }
      });
    }
    ,volAdd (val) {
      if (this.local_set_vol + val > 500) {
        return false;
      }
      this.local_set_vol *= 1;
      this.local_set_vol += val;
    }
    ,volSub (val) {
      if (this.local_set_vol < val) {
        return false;
      }
      this.local_set_vol -= val;
    }
    ,setVol () {
      if (this.local_set_vol > 500) {
        this.local_set_vol = 500;
      }
      if (this.local_set_vol < 0 || parseInt(this.local_set_vol) < 0 || parseInt(this.local_set_vol)) {
        this.local_set_vol = 0;
      }
      let param = {
        num: 21,
        volset: this.local_set_vol,
        electric2KW_id: this.groupInfo[this.current_grp].electric2KW_id
      };
      this.controlData[this.current_grp].local_set_vol = this.local_set_vol;
      this.$api.chargepower.upDateControlData(param).then((res) => {
        res = JSON.parse(res.data.result);
        if (res.code) {
          this.$message({
            type: 'success',
            message: res.msg
          });
        } else {
          this.$message({
            type: 'warning',
            message: res.msg
          });
        }
      });
      let param1= {
        num: 6,
        volset_confirm: 1,
        electric2KW_id: this.groupInfo[this.current_grp].electric2KW_id
      };
      this.$api.chargepower.upDateControlData(param1).then((res) => {
        res = JSON.parse(res.data.result);
        if (res.code) {
          this.$message({
            type: 'success',
            message: res.msg
          });
        } else {
          this.$message({
            type: 'warning',
            message: res.msg
          });
        }
      });
    }
    // 查询实时数据
    ,getRTData (group) {
      let param = {
@@ -350,7 +549,7 @@
          this.constantvolflag[group] = data.constantvolflag;
          this.local_remote_control[group] = data.local_remote_control;
          // 高压开关
          this.switchFlag = !data.dc_voltage_state;
          this.controlData[group].switchFlag = !data.dc_voltage_state;
        }
      });
@@ -823,6 +1022,28 @@
  .item > div {
    flex: 1;
  }
  .item .group_set {
    flex: 3.2;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
  }
  .item .group_set .btn_3d {
    width: 16.6em;
  }
  .item .group_set .part_left {
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    margin-right: 0.2rem;
    width: 23.4em;
    -webkit-transform: translateX(-2em);
    transform: translateX(-2em);
  }
  .item .group_set .part_left .text_row {
    flex: 1;
    justify-content: flex-end;
  }
  .text_row em,
  .text_row span {
    padding-right: 10px;
@@ -839,7 +1060,7 @@
    max-width: 16.6em;
  }
  .flex_2btn_grp .label {
    width: 6em;
    width: 10em;
  }
  .flex_2btn_grp .center_con {
    width: 1.6rem;
@@ -935,4 +1156,64 @@
  .wrap-table {
    width: 100%;
  }
  .cur_vol_set .btn_3d {
    width: 6em;
  }
  .cur_vol_set .tab_content {
    flex: 1;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    /*align-items: center;*/
    /*text-align: center;*/
  }
  .cur_vol_set .sub-title {
    font-size: 20px;
    text-align: center;
    line-height: 36px;
  }
  .cur_vol_set .content {
    display: -webkit-flex;
    display: flex;
    justify-content: center;
  }
  .cur_vol_set ._row {
    display: -webkit-flex;
    display: flex;
    padding: 10px;
    line-height: 20px;
    text-align: right;
    align-items: center;
  }
  .cur_vol_set ._row label {
    width: 8.4em;
    text-align: right;
  }
  .cur_vol_set ._row span {
    width: 6em;
    text-align: right;
    padding-right: .4em;
    color: #15e3f3;
  }
  .cur_vol_set ._row .btn_3d {
    margin: 10px 10px;
  }
  .cur_vol_set .content [class*=part] {
    flex: 1;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 20px;
  }
  .input {
    font-size: 14px;
    width: 6em;
    padding-right: .4em;
    padding-left: .4em;
  }
  .input >>> input {
    padding: 0 6px;
  }
</style>
src/views/chargePower/mixture.vue
@@ -21,7 +21,7 @@
            <div class="posA_full flexC_center">
              <div class="status flexR_center">
                <label>通讯状态:</label>
                <div :class="['indicator', {'status_off': !1, 'status_normal': !0}]"></div>
                <div :class="['indicator', {'status_off': !controlData[0 == key ? 'A' : 'B'].connectFlag, 'status_normal': controlData[0 == key ? 'A' : 'B'].connectFlag}]"></div>
              </div>
              <div class="info flexR_center" :class="{'upper_pulse_block': rtData[0 == key ? 'A' : 'B'].upper_pulse_block}">{{rtData[0 == key ? 'A' : 'B'].upper_pulse_block ? '脉冲封锁' : ''}}</div>
            </div>
@@ -163,7 +163,7 @@
          <div class="content">
            <div class="part_left">
              <div class="sub-title">2串2并运行电压设置</div>
              <div class="_row"><label>机组给定电压</label><span>{{local_set_vol}}</span>V</div>
              <div class="_row"><label>机组给定电压</label><el-input class="input transparent" size="mini" type="number" v-model="local_set_vol"></el-input>V</div>
              <div class="_row"><label>机组实际给定电压</label><span>{{real_set_vol}}</span>V</div>
              <div class="_row">
                <div class="btn_3d" @click="volAdd(10)">+10</div>
@@ -278,9 +278,11 @@
        alldccurr: 0,
        A: {
          controlangle: 0
          ,connectFlag: false
        },
        B: {
          controlangle: 0
          ,connectFlag: false
        }
      },
      tableData_A: [],
@@ -378,6 +380,22 @@
      });
    }
    ,getConnect () {
      this.$api.common.getConnect().then((res) => {
        res = JSON.parse(res.data.result);
        if (res.code) {
          let data = res.data;
          data.forEach((v) => {
            if (6001 == v.dev_id) {
              this.controlData.A.connectFlag = !!v.connect_en;
            }
            if (6002 == v.dev_id) {
              this.controlData.B.connectFlag = !!v.connect_en;
            }
          });
        }
      });
    }
    // 轮询
    ,loop () {
      this.timer.start(() => {
@@ -387,13 +405,15 @@
        this.getControlData('B');
        this.getAlarm();
        draw.update(can1, this.switchFlag, this.model);
        this.getConnect();
        this.timer.open();
      }, 1000);
    }
    ,volAdd (val) {
      if (this.local_set_vol > 1000) {
      if (this.local_set_vol + val > 1000) {
        return false;
      }
      this.local_set_vol *= 1;
      this.local_set_vol += val;
    }
    ,volSub (val) {
@@ -403,6 +423,12 @@
      this.local_set_vol -= val;
    }
    ,setVol () {
      if (this.local_set_vol > 1000) {
        this.local_set_vol = 1000;
      }
      if (this.local_set_vol < 0 || parseInt(this.local_set_vol) < 0 || parseInt(this.local_set_vol)) {
        this.local_set_vol = 0;
      }
      Object.keys(this.groupInfo).forEach((v) => {
        let param = {
          num: 21,
@@ -732,6 +758,7 @@
    padding: 10px;
    line-height: 20px;
    text-align: right;
    align-items: center;
  }
  .cur_vol_set ._row label {
    width: 8.4em;
@@ -754,6 +781,15 @@
    align-items: center;
    margin: 0 20px;
  }
  .input {
    font-size: 14px;
    width: 6em;
    padding-right: .4em;
    padding-left: .4em;
  }
  .input >>> input {
    padding: 0 6px;
  }
  .upper_pulse_block {
    -webkit-animation: flicker 0.6s infinite;
    animation: flicker 0.6s infinite;
src/views/chargePower/parallel.vue
@@ -21,7 +21,7 @@
            <div class="posA_full flexC_center">
              <div class="status flexR_center">
                <label>通讯状态:</label>
                <div :class="['indicator', {'status_off': !1, 'status_normal': !0}]"></div>
                <div :class="['indicator', {'status_off': !controlData[0 == key ? 'A' : 'B'].connectFlag, 'status_normal': controlData[0 == key ? 'A' : 'B'].connectFlag}]"></div>
              </div>
              <div class="info flexR_center" :class="{'upper_pulse_block': rtData[0 == key ? 'A' : 'B'].upper_pulse_block}">{{rtData[0 == key ? 'A' : 'B'].upper_pulse_block ? '脉冲封锁' : ''}}</div>
            </div>
@@ -163,7 +163,7 @@
          <div class="content">
            <div class="part_left">
              <div class="sub-title">4并恒压运行电压设置</div>
              <div class="_row"><label>机组给定电压</label><span>{{local_set_vol}}</span>V</div>
              <div class="_row"><label>机组给定电压</label><el-input class="input transparent" size="mini" type="number" v-model="local_set_vol"></el-input>V</div>
              <div class="_row"><label>机组实际给定电压</label><span>{{real_set_vol}}</span>V</div>
              <div class="_row">
                <div class="btn_3d" @click="volAdd(10)">+10</div>
@@ -178,7 +178,7 @@
          
            <div class="part_right">
              <div class="sub-title">4并恒流运行电流设置</div>
              <div class="_row"><label>机组给定电流</label><span>{{local_set_cur}}</span>A</div>
              <div class="_row"><label>机组给定电流</label><el-input class="input transparent" size="mini" type="number" v-model="local_set_cur"></el-input>A</div>
              <div class="_row"><label>机组实际给定电流</label><span>{{real_set_cur}}</span>A</div>
              <div class="_row">
                <div class="btn_3d" @click="curAdd(10)">+10</div>
@@ -295,9 +295,11 @@
        alldccurr: 0,
        A: {
          controlangle: 0
          ,connectFlag: false
        },
        B: {
          controlangle: 0
          ,connectFlag: false
        }
      },
      tableData_A: [],
@@ -396,6 +398,22 @@
      });
    }
    ,getConnect () {
      this.$api.common.getConnect().then((res) => {
        res = JSON.parse(res.data.result);
        if (res.code) {
          let data = res.data;
          data.forEach((v) => {
            if (6001 == v.dev_id) {
              this.controlData.A.connectFlag = !!v.connect_en;
            }
            if (6002 == v.dev_id) {
              this.controlData.B.connectFlag = !!v.connect_en;
            }
          });
        }
      });
    }
    // 轮询
    ,loop () {
      this.timer.start(() => {
@@ -405,11 +423,12 @@
        this.getControlData('B');
        this.getAlarm();
        draw.update(can1, this.switchFlag, this.model);
        this.getConnect();
        this.timer.open();
      }, 1000);
    }
    ,curAdd (val) {
      if (this.local_set_cur > 1000) {
      if (this.local_set_cur + val > 1000) {
        return false;
      }
      this.local_set_cur += val;
@@ -421,6 +440,12 @@
      this.local_set_cur -= val;
    }
    ,setCur () {
      if (this.local_set_cur > 1000) {
        this.local_set_cur = 1000;
      }
      if (this.local_set_cur < 0 || parseInt(this.local_set_cur) < 0 || parseInt(this.local_set_cur)) {
        this.local_set_cur = 0;
      }
      Object.keys(this.groupInfo).forEach((v) => {
        let param = {
          num: 20,
@@ -463,7 +488,7 @@
      });
    }
    ,volAdd (val) {
      if (this.local_set_vol > 1000) {
      if (this.local_set_vol + val > 1000) {
        return false;
      }
      this.local_set_vol += val;
@@ -475,6 +500,12 @@
      this.local_set_vol -= val;
    }
    ,setVol () {
      if (this.local_set_vol > 1000) {
        this.local_set_vol = 1000;
      }
      if (this.local_set_vol < 0 || parseInt(this.local_set_vol) < 0 || parseInt(this.local_set_vol)) {
        this.local_set_vol = 0;
      }
      Object.keys(this.groupInfo).forEach((v) => {
        let param = {
          num: 7,
@@ -804,6 +835,7 @@
    padding: 10px;
    line-height: 20px;
    text-align: right;
    align-items: center;
  }
  .cur_vol_set ._row label {
    width: 8.4em;
@@ -826,6 +858,15 @@
    align-items: center;
    margin: 0 20px;
  }
  .input {
    font-size: 14px;
    width: 6em;
    padding-right: .4em;
    padding-left: .4em;
  }
  .input >>> input {
    padding: 0 6px;
  }
  .upper_pulse_block {
    -webkit-animation: flicker 0.6s infinite;
    animation: flicker 0.6s infinite;
src/views/chargePower/series.vue
@@ -21,7 +21,7 @@
            <div class="posA_full flexC_center">
              <div class="status flexR_center">
                <label>通讯状态:</label>
                <div :class="['indicator', {'status_off': !1, 'status_normal': !0}]"></div>
                <div :class="['indicator', {'status_off': !controlData[0 == key ? 'A' : 'B'].connectFlag, 'status_normal': controlData[0 == key ? 'A' : 'B'].connectFlag}]"></div>
              </div>
              <div class="info flexR_center" :class="{'upper_pulse_block': rtData[0 == key ? 'A' : 'B'].upper_pulse_block}">{{rtData[0 == key ? 'A' : 'B'].upper_pulse_block ? '脉冲封锁' : ''}}</div>
            </div>
@@ -163,7 +163,7 @@
          <div class="content">
            <div class="part_left">
              <div class="sub-title">4串恒压运行电压设置</div>
              <div class="_row"><label>机组给定电压</label><span>{{local_set_vol}}</span>V</div>
              <div class="_row"><label>机组给定电压</label><el-input class="input transparent" size="mini" type="number" v-model="local_set_vol"></el-input>V</div>
              <div class="_row"><label>机组实际给定电压</label><span>{{real_set_vol}}</span>V</div>
              <div class="_row">
                <div class="btn_3d" @click="volAdd(10)">+10</div>
@@ -282,9 +282,11 @@
        alldccurr: 0,
        A: {
          controlangle: 0
          ,connectFlag: false
        },
        B: {
          controlangle: 0
          ,connectFlag: false
        }
      },
      tableData_A: [],
@@ -382,6 +384,22 @@
      });
    }
    ,getConnect () {
      this.$api.common.getConnect().then((res) => {
        res = JSON.parse(res.data.result);
        if (res.code) {
          let data = res.data;
          data.forEach((v) => {
            if (6001 == v.dev_id) {
              this.controlData.A.connectFlag = !!v.connect_en;
            }
            if (6002 == v.dev_id) {
              this.controlData.B.connectFlag = !!v.connect_en;
            }
          });
        }
      });
    }
    // 轮询
    ,loop () {
      this.timer.start(() => {
@@ -390,14 +408,16 @@
        this.getControlData('A');
        this.getControlData('B');
        this.getAlarm();
        this.getConnect();
        draw.update(can1, this.switchFlag, this.model);
        this.timer.open();
      }, 1000);
    }
    ,volAdd (val) {
      if (this.local_set_vol > 1000) {
      if (this.local_set_vol + val > 1000) {
        return false;
      }
      this.local_set_vol *= 1;
      this.local_set_vol += val;
    }
    ,volSub (val) {
@@ -407,6 +427,12 @@
      this.local_set_vol -= val;
    }
    ,setVol () {
      if (this.local_set_vol > 1000) {
        this.local_set_vol = 1000;
      }
      if (this.local_set_vol < 0 || parseInt(this.local_set_vol) < 0 || parseInt(this.local_set_vol)) {
        this.local_set_vol = 0;
      }
      Object.keys(this.groupInfo).forEach((v) => {
        let param = {
          num: 21,
@@ -736,6 +762,7 @@
    padding: 10px;
    line-height: 20px;
    text-align: right;
    align-items: center;
  }
  .cur_vol_set ._row label {
    width: 8.4em;
@@ -758,6 +785,15 @@
    align-items: center;
    margin: 0 20px;
  }
  .input {
    font-size: 14px;
    width: 6em;
    padding-right: .4em;
    padding-left: .4em;
  }
  .input >>> input {
    padding: 0 6px;
  }
  .upper_pulse_block {
    -webkit-animation: flicker 0.6s infinite;
    animation: flicker 0.6s infinite;
src/views/waterCooling/index1.vue
@@ -23,15 +23,15 @@
              <div class="content">
                <div class="row">
                  <label>{{load.data.TLabel}}</label>
                  <el-input class="input transparent" disabled size="mini" type="number" v-model="load.data.TValue"></el-input>
                  <el-input class="input transparent" disabled size="mini" type="text" v-model="load.data.TValue"></el-input>
                </div>
                <div class="row">
                  <label>{{load.data.PLabel}}</label>
                  <el-input class="input transparent" disabled size="mini" type="number" v-model="load.data.PValue"></el-input>
                  <el-input class="input transparent" disabled size="mini" type="text" v-model="load.data.PValue"></el-input>
                </div>
                <div class="row">
                  <label>{{load.data.FLabel}}</label>
                  <el-input class="input transparent" disabled size="mini" type="number" v-model="load.data.FValue"></el-input>
                  <el-input class="input transparent" disabled size="mini" type="text" v-model="load.data.FValue"></el-input>
                </div>
              </div>
            </div>
@@ -42,7 +42,7 @@
            :cssWidth="item.position.width"
            :cssHeight="item.position.height"
            :top="item.position.top" :left="item.position.left">
            <el-input class="input transparent" :class="{'alarm': item.alarm}" disabled type="number" v-model="item.value"></el-input>
            <el-input class="input transparent" :class="{'alarm': item.alarm}" disabled type="text" v-model="item.value"></el-input>
          </science-box>
          <!-- 运行状态 -->
          <div class="run_info flexR_center" :style="getStyle(run_info)">运行状态: <div :class="['indicator_css', {'status_normal': G_status.Water_system_function, 'status_off': !G_status.Water_system_function}]"></div></div>
src/views/waterCooling/index2.vue
@@ -23,15 +23,15 @@
              <div class="content">
                <div class="row">
                  <label>{{load.data.TLabel}}</label>
                  <el-input class="input transparent" disabled size="mini" type="number" v-model="load.data.TValue"></el-input>
                  <el-input class="input transparent" disabled size="mini" type="text" v-model="load.data.TValue"></el-input>
                </div>
                <div class="row">
                  <label>{{load.data.PLabel}}</label>
                  <el-input class="input transparent" disabled size="mini" type="number" v-model="load.data.PValue"></el-input>
                  <el-input class="input transparent" disabled size="mini" type="text" v-model="load.data.PValue"></el-input>
                </div>
                <div class="row">
                  <label>{{load.data.FLabel}}</label>
                  <el-input class="input transparent" disabled size="mini" type="number" v-model="load.data.FValue"></el-input>
                  <el-input class="input transparent" disabled size="mini" type="text" v-model="load.data.FValue"></el-input>
                </div>
              </div>
            </div>
@@ -42,7 +42,7 @@
            :cssWidth="item.position.width"
            :cssHeight="item.position.height"
            :top="item.position.top" :left="item.position.left">
            <el-input class="input transparent" :class="{'alarm': item.alarm}" disabled type="number" v-model="item.value"></el-input>
            <el-input class="input transparent" :class="{'alarm': item.alarm}" disabled type="text" v-model="item.value"></el-input>
          </science-box>
          <!-- 运行状态 -->
          <div class="run_info flexR_center" :style="getStyle(run_info)">运行状态: <div :class="['indicator_css', {'status_normal': G_status.Water_system_function, 'status_off': !G_status.Water_system_function}]"></div></div>
src/views/waterCooling/index3.vue
@@ -18,7 +18,7 @@
            :cssWidth="item.position.width"
            :cssHeight="item.position.height"
            :top="item.position.top" :left="item.position.left">
            <el-input class="input transparent" :class="{'alarm': item.alarm}" disabled type="number" v-model="item.value"></el-input>
            <el-input class="input transparent" :class="{'alarm': item.alarm}" disabled type="text" v-model="item.value"></el-input>
          </science-box>
          <!-- 运行状态 -->
          <div class="run_info flexR_center" :style="getStyle(run_info)">运行状态: <div :class="['indicator_css', {'status_normal': G_status.Water_system_function, 'status_off': !G_status.Water_system_function}]"></div></div>