he wei
2024-01-23 fe1fffd1bdc20842a4374d420e3c70d33e9588df
UA 添加告警参数 模块参数的读取和设定
4个文件已修改
4个文件已添加
734 ■■■■■ 已修改文件
src/views/hrControl/js/const_9100.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/powerCabinetControl/components/paramAlarm.vue 293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/powerCabinetControl/components/paramMode.vue 246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/powerCabinetControl/index.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/powerCabinetControl/js/apis.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/powerCabinetControl/js/const_alarm.js 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/powerCabinetControl/js/const_mode.js 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/powerCabinetControl/js/const_props.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hrControl/js/const_9100.js
@@ -84,23 +84,23 @@
      value: 0,
    },
    {
      param: "hourRate",
      param: "onlinevolLowaction",
      paramCn: "在线电压低处理",
      option: ["停止测试", "继续测试"],
      value: 0,
    },
    {
      param: "hourRate",
      param: "dcvolHighlimit",
      paramCn: "升压上限",
      value: 0,
    },
    {
      param: "hourRate",
      param: "charCurr",
      paramCn: "充电电流",
      value: 0,
    },
    {
      param: "hourRate",
      param: "monTmpHighLimit",
      paramCn: "单体温度上限",
      value: 0,
    },
src/views/powerCabinetControl/components/paramAlarm.vue
New file
@@ -0,0 +1,293 @@
<template>
  <el-form
    ref="ruleForm"
    size="mini"
    label-position="top"
    :model="params"
    :rules="rules"
    class="params-dialog"
  >
    <el-row :gutter="row.gutter">
      <el-col :span="row.span">
        <el-form-item
          label="交流配电柜交流电压告警阈值上限"
          prop="acVolHighAlmVal"
        >
          <el-input v-model="params.acVolHighAlmVal"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item
          label="交流配电柜交流电压告警阈值下限"
          prop="acVolLowAlmVal"
        >
          <el-input v-model="params.acVolLowAlmVal"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="交流配电柜温度告警阈值上限" prop="acCabinetTempHighAlmVal">
          <el-input v-model="params.acCabinetTempHighAlmVal"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="直流配电柜直流电压告警阈值上限" prop="dcVolHighAlmVal">
          <el-input v-model="params.dcVolHighAlmVal"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="直流配电柜直流电压告警阈值下限" prop="dcVolLowAlmVal">
          <el-input v-model="params.dcVolLowAlmVal"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="直流配电柜温度告警阈值上限" prop="dcCabinetTempHighAlmVal">
          <el-input v-model="params.dcCabinetTempHighAlmVal"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="高频开关柜交流电压告警阈值上限" prop="acHighVolAlmVal">
          <el-input v-model="params.acHighVolAlmVal"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="高频开关柜交流电压告警阈值下限" prop="acLowVolAlmVal">
          <el-input v-model="params.acLowVolAlmVal"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="高频开关柜直流输出电压告警阈值上限" prop="dcOutVolHighAlmVal">
          <el-input v-model="params.dcOutVolHighAlmVal"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="高频开关柜直流输出电压告警阈值下限" prop="dcOutVolLowAlmVal">
          <el-input v-model="params.dcOutVolLowAlmVal"></el-input>
        </el-form-item>
      </el-col>
    </el-row>
    <div class="form-footer">
      <gradient-btn size="sm" :disabled="!hasPermission" @click="getParam(true)"
        >读取</gradient-btn
      >
      <gradient-btn
        size="sm"
        :disabled="!hasPermission || !setTestFlag"
        @click="submitFrom"
        >设定</gradient-btn
      >
    </div>
  </el-form>
</template>
<script>
import gradientBtn from "@/components/gradientBtn.vue";
import testVal from "@/assets/js/testVal";
import const_alarm from "../js/const_alarm";
import { getAlmParams, setAlmParams } from "../js/apis";
export default {
  name: "",
  props: {
    btnText: {
      type: String,
      default: "给定",
    },
  },
  computed: {
    // title() {
    //   return this.option.label;
    // },
    // tip() {
    //   return this.option.tip;
    // },
    // setFlag() {
    //   return !!this.datas[this.option.flag];
    // },
    // value() {
    //   let { datas, option } = this;
    //   return this.setFlag ? datas[option.key1] : datas[option.key0];
    // },
    hasPermission() {
      return this.$store.state.user.downloadFlag == 1;
    },
  },
  watch: {},
  data() {
    const { logList, rules } = const_alarm;
    const validator_Num = (rule, value, callback) => {
      testVal(rule, value, callback, rules.Number);
    };
    const testNumber = [
      {
        validator: validator_Num,
        trigger: "change",
      },
    ];
    return {
      logList,
      setTestFlag: false, // 设置参数的状态
      row: {
        gutter: 16,
        span: 8,
      },
      params: {
        num: 0,
        opCmd: 0,
        acCabinetTempHighAlmVal: 0,
        acHighVolAlmVal: 0,
        acLowVolAlmVal: 0,
        acVolHighAlmVal: 0,
        acVolLowAlmVal: 0,
        dcCabinetTempHighAlmVal: 0,
        dcOutVolHighAlmVal: 0,
        dcOutVolLowAlmVal: 0,
        dcVolHighAlmVal: 0,
        dcVolLowAlmVal: 0,
      },
      rules: {
        acVolHighAlmVal: [...testNumber],
        acVolLowAlmVal: [...testNumber],
        acCabinetTempHighAlmVal: [...testNumber],
        dcVolHighAlmVal: [...testNumber],
        dcVolLowAlmVal: [...testNumber],
        dcCabinetTempHighAlmVal: [...testNumber],
        acHighVolAlmVal: [...testNumber],
        acLowVolAlmVal: [...testNumber],
        dcOutVolHighAlmVal: [...testNumber],
        dcOutVolLowAlmVal: [...testNumber],
      },
    };
  },
  components: {
    gradientBtn,
  },
  methods: {
    initParams() {
      // 初始化参数
      this.params = {
        num: 0,
        opCmd: 0,
        acCabinetTempHighAlmVal: 0,
        acHighVolAlmVal: 0,
        acLowVolAlmVal: 0,
        acVolHighAlmVal: 0,
        acVolLowAlmVal: 0,
        dcCabinetTempHighAlmVal: 0,
        dcOutVolHighAlmVal: 0,
        dcOutVolLowAlmVal: 0,
        dcVolHighAlmVal: 0,
        dcVolLowAlmVal: 0,
      };
    },
    // 获取参数
    getParam(showLoad) {
      // 定义等待框
      let loading;
      if (showLoad) {
        loading = this.$layer.loading(1);
      }
      // 查询后台
      getAlmParams()
        .then((res) => {
          let { code, data, data2, msg } = res.data;
          if (code && data) {
            this.params = {
              ...this.params,
              ...data2,
            };
            this.$layer.msg("读取成功!");
            // 设置按钮可点击
            this.setTestFlag = true;
          } else {
            // 初始化参数
            this.initParams();
            // 设置按钮不可点击
            this.setTestFlag = false;
            this.$layer.msg("读取失败!");
          }
          // 关闭等待框
          this.$layer.close(loading);
        })
        .catch((error) => {
          console.log(error);
          // 初始化参数
          this.initParams();
          // 设置按钮不可点击
          this.setTestFlag = false;
          // 关闭等待框
          this.$layer.close(loading);
          this.$layer.msg("读取失败,读取请求异常!");
        });
    },
    // 提交表单设置参数
    submitFrom() {
      this.$refs.ruleForm.validate((valid) => {
        // 校验通过
        if (valid) {
          // 设置参数
          this.setParamsCheck();
        } else {
          this.$layer.msg("存在校验未通过的数据!");
          return false;
        }
      });
    },
    setParamsCheck() {
      this.setParam();
    },
    // 设置参数
    setParam() {
      // 等待框
      let loading = this.$layer.loading(1);
      let logList = this.logList.map((v) => {
        return {
          param: v.param,
          paramCn: v.paramCn,
          value: this.params[v.param],
        };
      });
      let param = {
        ...this.params,
        // opCmd: this.cmd.setParam,
        logList,
      };
      // 请求后台
      setAlmParams(param)
        .then((res) => {
          res = res.data;
          if (res.code && res.data) {
            // 提示信息
            this.$layer.msg("设置成功");
          } else {
            // 提示信息
            this.$layer.msg("设置失败!");
          }
          // 关闭等待框
          this.$layer.close(loading);
        })
        .catch((error) => {
          console.log(error);
          // 关闭等待框
          this.$layer.close(loading);
          // 提示信息
          this.$layer.msg("设置失败,设置请求异常!");
        });
    },
  },
  mounted() {},
};
</script>
<style scoped lang="less">
:deep(.el-form-item__label) {
  color: inherit;
}
.form-footer {
  // display: inline-block;
  display: flex;
  justify-content: flex-end;
  padding-right: 6em;
}
</style>
src/views/powerCabinetControl/components/paramMode.vue
New file
@@ -0,0 +1,246 @@
<template>
  <el-form
    ref="ruleForm"
    size="mini"
    label-position="top"
    :model="params"
    :rules="rules"
    class="params-dialog"
  >
    <el-row :gutter="row.gutter">
      <el-col :span="row.span">
        <el-form-item label="电池充电限流值" prop="battChrcurrLimit">
          <el-input v-model="params.battChrcurrLimit"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="均充电压" prop="junChrvol">
          <el-input v-model="params.junChrvol"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="浮充电压" prop="floatChrvol">
          <el-input v-model="params.floatChrvol"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="模块浮充电压" prop="modeFloatChrvol">
          <el-input v-model="params.modeFloatChrvol"></el-input>
        </el-form-item>
      </el-col>
      <el-col :span="row.span">
        <el-form-item label="模块均充电压" prop="modeJunChrvol">
          <el-input v-model="params.modeJunChrvol"></el-input>
        </el-form-item>
      </el-col>
    </el-row>
    <div class="form-footer">
      <gradient-btn size="sm" :disabled="!hasPermission" @click="getParam(true)"
        >读取</gradient-btn
      >
      <gradient-btn
        size="sm"
        :disabled="!hasPermission || !setTestFlag"
        @click="submitFrom"
        >设定</gradient-btn
      >
    </div>
  </el-form>
</template>
<script>
import gradientBtn from "@/components/gradientBtn.vue";
import testVal from "@/assets/js/testVal";
import { getModeParams, setModeParams } from "../js/apis";
import const_mode from "../js/const_mode";
export default {
  name: "",
  props: {
    btnText: {
      type: String,
      default: "给定",
    },
  },
  computed: {
    // title() {
    //   return this.option.label;
    // },
    // tip() {
    //   return this.option.tip;
    // },
    // setFlag() {
    //   return !!this.datas[this.option.flag];
    // },
    // value() {
    //   let { datas, option } = this;
    //   return this.setFlag ? datas[option.key1] : datas[option.key0];
    // },
    hasPermission() {
      return this.$store.state.user.downloadFlag == 1;
    },
  },
  watch: {},
  data() {
    const { logList, rules } = const_mode;
    const validator_Num = (rule, value, callback) => {
      testVal(rule, value, callback, rules.Number);
    };
    const testNumber = [
      {
        validator: validator_Num,
        trigger: "change",
      },
    ];
    return {
      logList,
      setTestFlag: false, // 设置参数的状态
      row: {
        gutter: 16,
        span: 8,
      },
      params: {
        num: 0,
        opCmd: 0,
        battChrcurrLimit: 0, // "电池充电限流值",
        junChrvol: 0, // "均充电压",
        floatChrvol: 0, // "浮充电压",
        modeFloatChrvol: 0, // "模块浮充电压",
        modeJunChrvol: 0, // "模块均充电压",
      },
      rules: {
        battChrcurrLimit: [...testNumber],
        junChrvol: [...testNumber],
        floatChrvol: [...testNumber],
        modeFloatChrvol: [...testNumber],
        modeJunChrvol: [...testNumber],
      },
    };
  },
  components: {
    gradientBtn,
  },
  methods: {
    initParams() {
      // 初始化参数
      this.params = {
        num: 0,
        opCmd: 0,
        battChrcurrLimit: 0, // "电池充电限流值",
        junChrvol: 0, // "均充电压",
        floatChrvol: 0, // "浮充电压",
        modeFloatChrvol: 0, // "模块浮充电压",
        modeJunChrvol: 0, // "模块均充电压",
      };
    },
    // 获取参数
    getParam(showLoad) {
      // 定义等待框
      let loading;
      if (showLoad) {
        loading = this.$layer.loading(1);
      }
      // 查询后台
      getModeParams()
        .then((res) => {
          let { code, data, data2, msg } = res.data;
          if (code && data) {
            this.params = {
              ...this.params,
              ...data2,
            };
            this.$layer.msg("读取成功!");
            // 设置按钮可点击
            this.setTestFlag = true;
          } else {
            // 初始化参数
            this.initParams();
            // 设置按钮不可点击
            this.setTestFlag = false;
            this.$layer.msg("读取失败!");
          }
          // 关闭等待框
          this.$layer.close(loading);
        })
        .catch((error) => {
          console.log(error);
          // 初始化参数
          this.initParams();
          // 设置按钮不可点击
          this.setTestFlag = false;
          // 关闭等待框
          this.$layer.close(loading);
          this.$layer.msg("读取失败,读取请求异常!");
        });
    },
    // 提交表单设置参数
    submitFrom() {
      this.$refs.ruleForm.validate((valid) => {
        // 校验通过
        if (valid) {
          // 设置参数
          this.setParamsCheck();
        } else {
          this.$layer.msg("存在校验未通过的数据!");
          return false;
        }
      });
    },
    setParamsCheck() {
      this.setParam();
    },
    // 设置参数
    setParam() {
      // 等待框
      let loading = this.$layer.loading(1);
      let logList = this.logList.map((v) => {
        return {
          param: v.param,
          paramCn: v.paramCn,
          value: this.params[v.param],
        };
      });
      let param = {
        ...this.params,
        // opCmd: this.cmd.setParam,
        logList,
      };
      // 请求后台
      setModeParams(param)
        .then((res) => {
          res = res.data;
          if (res.code && res.data) {
            // 提示信息
            this.$layer.msg("设置成功");
          } else {
            // 提示信息
            this.$layer.msg("设置失败!");
          }
          // 关闭等待框
          this.$layer.close(loading);
        })
        .catch((error) => {
          console.log(error);
          // 关闭等待框
          this.$layer.close(loading);
          // 提示信息
          this.$layer.msg("设置失败,设置请求异常!");
        });
    },
  },
  mounted() {},
};
</script>
<style scoped lang="less">
:deep(.el-form-item__label) {
  color: inherit;
}
.form-footer {
  // display: inline-block;
  display: flex;
  justify-content: flex-end;
  padding-right: 6em;
}
</style>
src/views/powerCabinetControl/index.vue
@@ -192,6 +192,20 @@
          </panel>
        </div>
      </el-tab-pane>
      <el-tab-pane label="测控电源参数设置">
        <div class="tab-content content2 flex-r">
          <panel class="panel param-alarm" title="告警参数">
            <div class="content flex-c">
              <param-alarm></param-alarm>
            </div>
          </panel>
          <panel class="panel param-mode" title="模块参数">
            <div class="content">
              <param-mode></param-mode>
            </div>
          </panel>
        </div>
      </el-tab-pane>
    </el-tabs>
  </div>
</template>
@@ -204,6 +218,8 @@
import card from "./components/card";
import card2 from "./components/card2";
import IpCard from "./components/ipCard";
import paramAlarm from "./components/paramAlarm";
import paramMode from "./components/paramMode";
import props_const from "./js/const_props";
const { props1, props2, param_acdc, param_gp } = props_const;
@@ -225,6 +241,8 @@
    card,
    card2,
    IpCard,
    paramAlarm,
    paramMode,
  },
  data() {
    return {
@@ -537,6 +555,9 @@
      justify-content: space-between;
    }
  }
  &.param-alarm {
    flex: 1.2;
  }
}
.btn-grp {
  padding: 10px;
src/views/powerCabinetControl/js/apis.js
@@ -22,4 +22,49 @@
    url: "ckPowerDevSignalSet/update",
    data
  });
};
/**
 * 获取告警参数
 * @returns
 */
export const getAlmParams= () => {
  return axios({
    method: "GET",
    url: "ckPowerDevAlmParam/getAlmParam",
  });
};
/**
 * 设置告警参数
 * @returns
 */
export const setAlmParams = (data) => {
  return axios({
    method: "POST",
    url: "ckPowerDevAlmParam/setAlmParam",
    data
  });
};
/**
 * 获取模块参数
 * @returns
 */
export const getModeParams = () => {
  return axios({
    method: "GET",
    url: "cKPowerDevModeparam/getModeParam",
  });
};
/**
 * 设置模块参数
 * @returns
 */
export const setModeParams = (data) => {
  return axios({
    method: "POST",
    url: "cKPowerDevModeparam/setModeParam",
    data
  });
};
src/views/powerCabinetControl/js/const_alarm.js
New file
@@ -0,0 +1,72 @@
export default {
  cmd: {
    startDis: 56,
    stopDis: 64,
    startRes: 70,
    stopRes: 72,
    startK1: 84,
    stopK1: 86,
    restart: 98,
    setParam: 50,
    setIp: 54,
  },
  logList: [
    {
      param: "acVolHighAlmVal",
      paramCn: "交流配电柜交流电压告警阈值上限",
      value: 0,
    },
    {
      param: "acVolLowAlmVal",
      paramCn: "交流配电柜交流电压告警阈值下限",
      value: 0,
    },
    {
      param: "acCabinetTempHighAlmVal",
      paramCn: "交流配电柜温度告警阈值上限",
      value: 0,
    },
    {
      param: "dcVolHighAlmVal",
      paramCn: "直流配电柜直流电压告警阈值上限",
      value: 0,
    },
    {
      param: "dcVolLowAlmVal",
      paramCn: "直流配电柜直流电压告警阈值下限",
      value: 0,
    },
    {
      param: "dcCabinetTempHighAlmVal",
      paramCn: "直流配电柜温度告警阈值上限",
      value: 0,
    },
    {
      param: "acHighVolAlmVal",
      paramCn: "高频开关柜交流电压告警阈值上限",
      value: 0,
    },
    {
      param: "acLowVolAlmVal",
      paramCn: "高频开关柜交流电压告警阈值下限",
      value: 0,
    },
    {
      param: "dcOutVolHighAlmVal",
      paramCn: "高频开关柜直流输出电压告警阈值上限",
      value: 0,
    },
    {
      param: "dcOutVolLowAlmVal",
      paramCn: "高频开关柜直流输出电压告警阈值下限",
      value: 0,
    },
  ],
  rules: {
    Number: {
      pattern: /^[0-9]+(\.[0-9]*)?$/,
      regVal: false,
      msg: "请输入有效数值",
    },
  },
};
src/views/powerCabinetControl/js/const_mode.js
New file
@@ -0,0 +1,47 @@
export default {
  cmd: {
    startDis: 56,
    stopDis: 64,
    startRes: 70,
    stopRes: 72,
    startK1: 84,
    stopK1: 86,
    restart: 98,
    setParam: 50,
    setIp: 54,
  },
  logList: [
    {
      param: "battChrcurrLimit",
      paramCn: "电池充电限流值",
      value: 0,
    },
    {
      param: "junChrvol",
      paramCn: "均充电压",
      value: 0,
    },
    {
      param: "floatChrvol",
      paramCn: "浮充电压",
      value: 0,
    },
    {
      param: "modeFloatChrvol",
      paramCn: "模块浮充电压",
      value: 0,
    },
    {
      param: "modeJunChrvol",
      paramCn: "模块均充电压",
      value: 0,
    },
  ],
  rules: {
    Number: {
      pattern: /^[0-9]+(\.[0-9]*)?$/,
      regVal: false,
      msg: "请输入有效数值",
    },
  },
};
src/views/powerCabinetControl/js/const_props.js
@@ -725,7 +725,7 @@
// 高频 遥测
const param_gp = [
  {
    label: "高频开关配电柜温度",
    label: "高频开关电源柜温度",
    key0: "highFrqCabinetTempReal",
    key1: "highFrqCabinetTempFake",
    flag: "highFrqCabinetTempSt",