he wei
2023-12-23 fc842d9e22aef1946df050257be41b4bfbd838a9
src/views/powerCabinetControl/js/const_props.js
@@ -1,4 +1,4 @@
// 交直流
// 交直流 遥信
const props1 = [
  {
    label: "交流输入1停电",
@@ -345,6 +345,7 @@
    tip: "直流配电柜任一告警",
  },
];
// 高频 遥信
const props2 = [
  {
    label: "模块N开关机状态",
@@ -595,6 +596,7 @@
  },
];
// 交直流 遥测
const param_acdc = [
  {
    label: "第1路交流A相输入电压",
@@ -718,6 +720,7 @@
  },
];
// 高频 遥测
const param_gp = [
  {
    label: "高频开关配电柜温度",
@@ -1015,9 +1018,197 @@
  },
];
// 去重
function noRepeat(arr) {
  return arr.filter(function(item, index, arr) {
      //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素
      return arr.indexOf(item, 0) === index;
  });
}
const getYXParams = (type) => {
  let list = [];
  let key = "";
  let regAc = /^ac/;
  let regDc = /^dc|^monitor/;
  switch (type) {
    case 1:
    case "ac":
      list = props1.filter((v) => {
        if (v.childrenCount) {
          key = v.key0[0];
        } else {
          key = v.key0;
        }
        return regAc.test(key);
      });
      break;
    case 2:
    case "dc":
      list = props1.filter((v) => {
        if (v.childrenCount) {
          key = v.key0[0];
        } else {
          key = v.key0;
        }
        return regDc.test(key);
      });
      break;
    case 3:
    case "gp":
      list = props2;
      break;
    default:
      list = [...props1, ...props2];
      break;
  }
  let arr = [];
  for (let i = 0, j = list.length; i < j; i++) {
    let item = list[i];
    if (item.childrenCount) {
      for (let m = 0, n = item.childrenCount; m < n; m++) {
        let idx = m + 1;
        let mIdx = Math.floor(m / 25);
        arr.push(item.label.replace("N", idx));
      }
    } else {
      arr.push(item.label);
    }
  }
  return noRepeat(arr);
};
const getYCParams = (type) => {
  let list = [];
  let key = "";
  let regAc = /^ac/;
  let regDc = /^dc/;
  switch (type) {
    case 1:
    case "ac":
      list = param_acdc.filter((v) => {
        key = v.key0;
        return regAc.test(key);
      });
      break;
    case 2:
    case "dc":
      list = param_acdc.filter((v) => {
        key = v.key0;
        return regDc.test(key);
      });
      break;
    case 3:
    case "gp":
      list = param_gp;
      break;
    default:
      list = [...param_acdc, ...param_gp];
      break;
  }
  let arr = [];
  for (let i = 0, j = list.length; i < j; i++) {
    arr.push(list[i].label);
  }
  return noRepeat(arr);
};
const getYCParamsObj = (type) => {
  let list = [];
  let key = "";
  let regAc = /^ac/;
  let regDc = /^dc/;
  switch (type) {
    case 1:
    case "ac":
      list = param_acdc.filter((v) => {
        key = v.key0;
        return regAc.test(key);
      });
      break;
    case 2:
    case "dc":
      list = param_acdc.filter((v) => {
        key = v.key0;
        return regDc.test(key);
      });
      break;
    case 3:
    case "gp":
      list = param_gp;
      break;
  }
  let arr = [];
  for (let i = 0, j = list.length; i < j; i++) {
    arr.push(list[i]);
  }
  return arr;
};
const getYXParamsObj = (type) => {
  let list = [];
  let key = "";
  let regAc = /^ac/;
  let regDc = /^dc|^monitor/;
  switch (type) {
    case 1:
    case "ac":
      list = props1.filter((v) => {
        if (v.childrenCount) {
          key = v.key0[0];
        } else {
          key = v.key0;
        }
        return regAc.test(key);
      });
      break;
    case 2:
    case "dc":
      list = props1.filter((v) => {
        if (v.childrenCount) {
          key = v.key0[0];
        } else {
          key = v.key0;
        }
        return regDc.test(key);
      });
      break;
    case 3:
    case "gp":
      list = props2;
      break;
  }
  let arr = [];
  for (let i = 0, j = list.length; i < j; i++) {
    let item = list[i];
    if (item.childrenCount) {
      for (let m = 0, n = item.childrenCount; m < n; m++) {
        let idx = m + 1;
        let mIdx = Math.floor(m / 25);
            arr.push({
              label0: item.label,
              label: item.label.replace("N", idx),
              key0: item.key0[mIdx] + '_' + idx,
              key1: item.key1[mIdx] + '_' + idx,
              flag: item.flag[mIdx] + '_' + idx,
            });
      }
    } else {
      arr.push(item);
    }
  }
  return arr;
};
export default {
  props1,
  props2,
  param_acdc,
  param_gp,
  getYXParams,
  getYCParams,
  getYXParamsObj,
  getYCParamsObj,
};