whychdw
2025-01-14 525bd55e56898369de595975a45e0ccfdb845132
内容提交
7个文件已修改
1个文件已添加
355 ■■■■■ 已修改文件
src/assets/js/config.module.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/const/const_digit.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataMager/battGroupMager.vue 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataMager/components/AddBattGroup.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataMager/components/EditBattGroup.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataMager/js/battGroupMager.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataTest/realTime-wdd.vue 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userMager/powerMager.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/config.module.js
@@ -3,7 +3,7 @@
    label: "平台logo",
    des: "显示平台logo状态",
    fileName: "gjdw", // gjdw, nfdw, gjdx, qwh, gdnr
    value: false,
    value: true,
  },
  uKey: {
    label: "uKey",
@@ -92,11 +92,11 @@
     * 南京测控: 'njck'
     * 云南昆明供电局:'ynkm'
     */
    name: "",
    // name: "",
    // name: "sxty", // 请查看alarmPopup是否开启,logo是否开启且为gjdw
    // name: "tydc",
    // name: 'njck',
    // name: "ynkm",    // 云南昆明定制了设备实时告警和设备历史告警名称 打包时注意设置为isChangeAlarm=true,其他设置为false
    name: "ynkm",    // 云南昆明定制了设备实时告警和设备历史告警名称 打包时注意设置为isChangeAlarm=true,其他设置为false
    //value: false,
    isChangeAlarm: false,
  },
@@ -126,8 +126,8 @@
  alarmPopup: {
    label: "告警弹出框",
    des: "登录平台后,右下方告警弹出框提示",
    // value: true,
    value: false,
    // value: false,
  },
  WHYC: {
    label: "自用",
src/assets/js/const/const_digit.js
@@ -4,10 +4,11 @@
export default {
  cap: 1, // 容量
  vol: 3, // 电压
  curr: 1, // 电流
  curr: 2, // 电流
  res: 3, // 内阻
  conduct: 1, // 电导
  temp: 1, // 温度
  hum: 2, // 湿度
  freq: 1, // 频率
  monVol: 3 // 单体电压
};
src/views/dataMager/battGroupMager.vue
@@ -136,6 +136,7 @@
                  @click="showRecord(scope.row)"
                  >变更记录</el-button
                >
                <el-button type="warning" size="mini" @click="bindingDevUkey(scope.row)">绑定设备ukey</el-button>
              </div>
              <el-button slot="reference" type="success" size="mini"
                >更多</el-button
@@ -289,6 +290,41 @@
        </el-table>
      </div>
    </el-dialog>
    <!-- 变更记录 -->
    <el-dialog
      title="设备Ukey绑定"
      width="auto"
      :visible.sync="bindingUkeyVisible"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false">
      <div class="binding-ukey-container">
        <el-form
          ref="ruleForm"
          size="mini"
          label-position="top"
          :model="bindingUkeyInfo"
          class="params-dialog bg-white">
          <el-row :gutter="8">
            <el-col :span="24">
              <el-form-item label="设备名称">
                <el-input v-model="bindingUkeyInfo.stationName"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="24">
              <el-form-item label="设备ukey">
                <el-input v-model="bindingUkeyInfo.keyId"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <div class="form-footer">
            <el-button type="primary" size="mini" @click="ensureBindingUkey">确认绑定</el-button>
            <el-button type="info" size="mini" @click="bindingUkeyVisible=false">关闭</el-button>
          </div>
        </el-form>
      </div>
    </el-dialog>
  </flex-layout>
</template>
@@ -301,7 +337,7 @@
  searchCounty,
  getExistStations,
} from "@/assets/js/api.js";
import { search, del, getBattRecords } from "./js/battGroupMager";
import {search, del, getBattRecords, bindingDevUkeyAPI} from "./js/battGroupMager";
// 引入导出表格
import { ExportFile } from "@/assets/js/tools/exportFile";
import { isHasPermit } from "@/assets/js/tools";
@@ -326,6 +362,12 @@
    let isCanEdit = isHasPermit("batttest_data_edit_permit", permits);
    let config = this.$CFG;
    return {
      bindingUkeyVisible: false,
      bindingUkeyInfo: {
        stationName: '',      // 机房名称
        keyId: '',            // ukeyId
        devId: '',             //  设备Id
      },
      recordTitle: "变更记录",
      recordVisible: false,
      recordDatas: [],
@@ -549,6 +591,16 @@
          prop: "topologyMapTypeText",
          label: "电路图类型",
          minWidth: 160,
        },
        {
          prop: "commPort",
          label: "通信端口",
          minWidth: 160
        },
        {
          prop: "keyID",
          label: "设备Ukey",
          minWidth: 360
        },
      ],
      tableData: [],
@@ -897,6 +949,36 @@
          this.$layer.close(loading);
        });
    },
    bindingDevUkey(data) {
      this.bindingUkeyInfo.stationName = data.stationName;
      this.bindingUkeyInfo.devId = data.fbsdeviceId;
      this.bindingUkeyInfo.keyId = "";
      this.bindingUkeyVisible = true;
    },
    async ensureBindingUkey() {
      const info = this.bindingUkeyInfo;
      if(!info.keyId) {
        this.$message.warning("请输入设备Ukey的ID");
        return;
      }
      let loading = this.$layer.loading();
      try {
        const res = await bindingDevUkeyAPI(info.devId, info.keyId);
        this.$layer.close(loading);
        const rs = res.data;
        if(rs.code ===1 && rs.data) {
          this.$message.error("修改成功!!!");
          this.bindingUkeyVisible = false;
        }else {
          this.$message.warning("修改失败,请联系管理员");
        }
      }catch (e) {
        this.$message.error("修改失败,接口调用失败,请联系管理员");
        this.$layer.close(loading);
      }
    }
  },
  computed: {
    editTitle() {
@@ -935,4 +1017,13 @@
  height: 360px;
  background: #f0f0f0;
}
.binding-ukey-container {
  width: 400px;
  padding: 4px 8px 0 8px;
  background-color: #FFFFFF;
}
.form-footer {
  padding-bottom: 4px;
  text-align: right;
}
</style>
src/views/dataMager/components/AddBattGroup.vue
@@ -342,6 +342,11 @@
          </el-form-item>
        </el-col>
        <el-col :span="layout.span">
          <el-form-item label="通信端口号">
            <el-input v-model="params.commPort"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="layout.span">
          <el-form-item label="交直流监控屏启用">
            <el-switch
              v-model="acdcSecuityFlag"
@@ -618,6 +623,7 @@
        signType: 0, // 验签格式
        cellShowType: 0, // 电池类型
        topologyMapType: 0, // 拓扑图类型
        commPort: 102,    // 连接端口
      },
      signTypes: const_61850.signTypes,
      tmpList: [],
src/views/dataMager/components/EditBattGroup.vue
@@ -324,6 +324,11 @@
          </el-form-item>
        </el-col>
        <el-col :span="layout.span">
          <el-form-item label="通信端口号">
            <el-input v-model="params.commPort"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="layout.span">
          <el-form-item label="交直流监控屏启用">
            <el-switch
              v-model="acdcSecuityFlag"
@@ -595,6 +600,7 @@
        junChargeVoltageValue: 0, // 均充电压设定值
        signType: 0, // 验签格式
        topologyMapType: 0, // 拓扑图类型
        commPort: 102,    // 连接端口
      },
      signTypes: const_61850.signTypes,
      rules: {
src/views/dataMager/js/battGroupMager.js
@@ -157,3 +157,14 @@
    url: 'battInf/searchMonVol'
  });
}
export const bindingDevUkeyAPI = (devId, keyId)=>{
  return axios({
    method: 'GET',
    url: 'battInf/setKeyIdWithDeviceId',
    params: {
      devId,
      keyId
    },
  });
}
src/views/dataTest/realTime-wdd.vue
New file
@@ -0,0 +1,198 @@
<script>
import TableList from "@/components/TableList.vue";
export default {
  name: "realTimeWdd",
  components: {TableList},
  data() {
   return {
     tab1: 'test',
     tab1Vol: [],
     tab1Res: [],
     tab1Temp: [],
     tab2: 'test',
     tab3: 'test'
   };
  },
  mounted() {
    for(let i = 1; i<105; i++) {
      this.tab1Vol.push({
        label: '#'+i+'电压:',
        value: 0,
        unit: 'V'
      });
      this.tab1Res.push({
        label: '#'+i+'内阻:',
        value: 0,
        unit: 'Ω'
      });
      this.tab1Temp.push({
        label: '#'+i+'温度:',
        value: 0,
        unit: '℃'
      });
    }
  }
}
</script>
<template>
  <div class="wdd-wrapper">
    <el-row :gutter="8" class="full-height">
      <el-col :span="8" class="full-height">
        <table-list title="直流电源-1">
          <el-tabs
            v-model="tab1"
            type="border-card"
            class="flex-layout noborder">
            <el-tab-pane
              key="test"
              label="遥测"
              name="test">
              <el-row :gutter="8">
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">充电机输出电压:</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">V</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">充电机输出电流:</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">A</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">蓄电池电压(整组):</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">V</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">蓄电池电流(整组):</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">A</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">蓄电池温度(整组):</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">℃</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">控制母线电压:</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">V</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">一路交流A相电压:</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">V</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">一路交流B相电压:</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">V</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">一路交流C相电压:</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">V</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">二路交流A相电压:</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">V</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">二路交流B相电压:</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">V</div>
                  </div>
                </el-col>
                <el-col :span="8">
                  <div class="info-item">
                    <div class="info-label">二路交流C相电压:</div>
                    <div class="info-value">0</div>
                    <div class="info-unit">V</div>
                  </div>
                </el-col>
                <el-col :span="6" v-for="(item, key) in tab1Vol" :key="'key'+key">
                  <div class="info-item">
                    <div class="info-label">{{ item.label }}</div>
                    <div class="info-value">{{ item.value }}</div>
                    <div class="info-unit">{{ item.unit }}</div>
                  </div>
                </el-col>
                <el-col :span="6" v-for="(item, key) in tab1Res" :key="'key'+key">
                  <div class="info-item">
                    <div class="info-label">{{ item.label }}</div>
                    <div class="info-value">{{ item.value }}</div>
                    <div class="info-unit">{{ item.unit }}</div>
                  </div>
                </el-col>
                <el-col :span="6" v-for="(item, key) in tab1Temp" :key="'key'+key">
                  <div class="info-item">
                    <div class="info-label">{{ item.label }}</div>
                    <div class="info-value">{{ item.value }}</div>
                    <div class="info-unit">{{ item.unit }}</div>
                  </div>
                </el-col>
              </el-row>
            </el-tab-pane>
            <el-tab-pane
              key="sign"
              label="遥信"
              name="sign">
            </el-tab-pane>
          </el-tabs>
        </table-list>
      </el-col>
      <el-col :span="8">
        <table-list title="直流电源-2"></table-list>
      </el-col>
      <el-col :span="8">
        <table-list title="直流电源-3"></table-list>
      </el-col>
    </el-row>
  </div>
</template>
<style scoped lang="less">
.wdd-wrapper {
  padding: 0 8px;
  height: 100%;
  .info-item {
    font-size: 16px;
    padding: 4px 0;
    .info-label {
      display: inline-block;
    }
    .info-value {
      display: inline-block;
    }
    .info-unit {
      margin-left: 4px;
      display: inline-block;
    }
  }
}
</style>
src/views/userMager/powerMager.vue
@@ -329,12 +329,12 @@
            {
              id: "batt_test_op_permit",
              label: "电池测试",
              leaf: true,
              leaf: true
            },
            {
              id: "analog_loader_op_permit",
              label: "虚拟负载",
              leaf: true,
              leaf: true
            },
          ],
        },
@@ -772,6 +772,32 @@
    editGroupOk() {
      let self = this;
      let searchParams = self.getAddParams(true);
      console.log(searchParams);
      console.log(sessionStorage.getItem('userId'));
      console.log(this.user);
      let isInCurrentGroup = false;
      let userId = Number(sessionStorage.getItem('userId'));
      for(let i = 0; i<this.user.value.length; i++) {
        let item = this.user.value[i];
        if(userId === item) {
          isInCurrentGroup = true;
          break;
        }
      }
      // 本组成员无法添加自己组指定权限,编辑后回自动提出权限
      if(isInCurrentGroup) {
        let quitPower = ['batt_test_op_permit', 'analog_loader_op_permit'];
        for(let i=0; i<quitPower.length; i++) {
          for(let k=0; k<searchParams.length; k++) {
            if(searchParams[k].permitItemName === quitPower[i]) {
              searchParams[k].permitItemValue = 0;
              break;
            }
          }
        }
      }
      // 请求后台
      addPermitGroup(searchParams, "PUT")
        .then((res) => {