小布专享1

export default {
name: “home”,
components: {
“v-chart”: ECharts,
},
data() {
return {
controlloading: false, //控制策略的loding变量
interval: “”, //告警定时器
badge: “”, //告警条数
markers: “”, //生成的海量点标注
labelsLayer: “”, // 生成的画布
massMarks: [], //生成的海量点标记
searchList: [],
searchShow: false, //用来控制模糊搜索下面的列表是否展示
echartsshow: false,
dingjijiedianpath: “”, //用来存放顶级节点path的
marksInfo: “”, //存放点击标点的这个基站的信息
biaodianname: “”, //弹框的标点名称
marks: [], //基站标点的数组
marksShow: false, //控制基站标点的显示
inputName: “”, //input基站模糊搜索的变量
agreementtype: “1”, //存协议类型的变量
prefix: “101”, //用来存前缀的变量
prefix2: “01”, //用来存整流模块的变量
biaodianmsgarr: [
{ name: “SOC”, value: “–”, unit: “%” },
{ name: “状态”, value: “–”, unit: “” },
{ name: “SOH”, value: “–”, unit: “%” },
],
url: require(“@/assets/img/jizhan.jpg”),
srcList: [require(“@/assets/img/jizhan.jpg”)],
windows: {
position: [119.613587, 29.071318],
visible: false,
},
marks: [], //存放所有点标记的数组
// 点标记 事件
events: {
click: async (e) => {
this.biaodianmsgarr.forEach((item) => {
item.value = “–”;
}); //先把数据都清空
this.windows.position = [e.lnglat.R, e.lnglat.Q]; //弹框位置的 赋值
let marksInfo = e.target.w.vid;
this.marksInfo = e.target.w.vid;
console.log(marksInfo);
this.biaodianname = marksInfo.name; //标点弹框name的赋值
let ID = marksInfo.nodeValueList.find((item) => item.tagbaseid == 101)
.value;
// console.log(ID);
let lists = [
{ systemName: “GW_G103”, tableType: 3 },
{ systemName: “GW_G104”, tableType: 3 },
{ systemName: “GW_G109”, tableType: 3 },
];
const { data } = await reqRoutes({
devicecode: ID,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
// console.log(data);
let temp = data.result.roleResponseEntities;
if (temp[“GW_G103”] && temp[“GW_G103”].length > 0) {
this.biaodianmsgarr[0].value = (
temp[“GW_G103”][0].value - 0
).toFixed(0); // SOC赋值
}
if (temp[“GW_G104”] && temp[“GW_G104”].length > 0) {
this.biaodianmsgarr[2].value = (
temp[“GW_G104”][0].value - 0
).toFixed(0); // SOH赋值
}
if (temp[“GW_G109”] && temp[“GW_G109”].length > 0) {
if (temp[“GW_G109”][0].value == 0) {
this.biaodianmsgarr[1].value = “静止”;
} else if (temp[“GW_G109”][0].value == 1) {
this.biaodianmsgarr[1].value = “充电”;
} else if (temp[“GW_G109”][0].value == 2) {
this.biaodianmsgarr[1].value = “放电”;
}
}

      this.windows.visible = true;
    },
  },
  jizhananniushow1: false, //数据展示的显示按钮
  jizhananniushow2: false, //控制策略的显示按钮
  jizhananniushow3: false, //效益分析的显示按钮
  // 效益分析第一个表格
  tableDataFourth: [
    {
      name: "--",
      time: "8:00-11:00",
      type: "峰",
      timeLength: "3h",
      // jiage: "0.9014",
      jiage: "1.0553",
      status: "放电",
      peak: "--",
      valley: "--",
    },
    {
      name: "--",
      time: "11:00-13:00",
      type: "谷",
      timeLength: "2h",
      // jiage: "0.3784",
      jiage: "0.4302",
      status: "充电",
      peak: "--",
      valley: "--",
    },
    {
      name: "--",
      time: "13:00-19:00",
      type: "峰",
      timeLength: "6h",
      // jiage: "0.9014",
      jiage: "1.0553",
      status: "不充不放",
      peak: "--",
      valley: "--",
    },
    {
      name: "--",
      time: "19:00-21:00",
      type: "尖",
      timeLength: "2h",
      // jiage: "1.2064",
      jiage: "1.4205",
      status: "放电",
      peak: "--",
      valley: "--",
    },
    {
      name: "--",
      time: "21:00-22:00",
      type: "峰",
      timeLength: "1h",
      // jiage: "0.9014",
      jiage: "1.0553",
      status: "放电",
      peak: "--",
      valley: "--",
    },
    {
      name: "--",
      time: "22:00-08:00",
      type: "谷",
      timeLength: "10h",
      // jiage: "0.3784",
      jiage: "0.4302",
      status: "充电",
      peak: "--",
      valley: "--",
    },
  ],
  //效益分析第二个表格
  tableDataFourth_two: [
    {
      sharp: "--",
      sharpMoney: "1.4205",
      allPeak: "--",
      allPeakMoney: "1.0553",
      allCvally: "--",
      allCvallyMoney: "0.4302",
      dc: "--",
      name: "90.65%",
      name_two: "96.82%",
      avgMoney: "--",
    },
  ],
  fourthHeader: [
    { name: "节能收益", value: "--", id: 1 },
    { name: "削峰填谷收益", value: "--", id: 2 },
    { name: "效率提升收益", value: "--", id: 3 },
    { name: "其他收益", value: "--", id: 4 },
  ],
  // 效益分析顶部限制日期范围
  pickerOptions: {
    disabledDate(time) {
      return time.getTime() > Date.now() - 8.64e7;
    },
  },
  timeModel: +new Date() - 1000 * 3600 * 24, //效益分析顶部绑定的时间变量
  dialogVisible: false,
  dialogVisible2: false,
  aaa1: "",
  aaa2: "",
  tableData2: [
    {
      name: "浮充电压",
      value: "--",
      unit: "V",
      gai: "",
      config: 0,
      dianwei: "S301",
      sheding: "请输入设定值(44-58)",
    },
    {
      name: "终止电压",
      value: "--",
      unit: "V",
      gai: "",
      config: 1,
      dianwei: "S302",
      sheding: "请输入设定值(44-58)",
    },
    {
      name: "转换电压",
      value: "--",
      unit: "V",
      gai: "",
      config: 2,
      dianwei: "S316",
      sheding: "请输入设定值(44-58)",
    },
    {
      name: "单体电压",
      value: "--",
      unit: "V",
      gai: "",
      config: 3,
      dianwei: "S317",
      sheding: "请输入设定值(2.6-3.65)",
    },
    {
      name: "充电1电流系数",
      value: "--",
      unit: "C",
      gai: "",
      config: 4,
      dianwei: "S318",
      sheding: "请输入设定值(0-0.5)",
    },
    {
      name: "充电2电流系数",
      value: "--",
      unit: "C",
      gai: "",
      config: 5,
      dianwei: "S319",
      sheding: "请输入设定值(0-0.5)",
    },
    {
      name: "充电3电流系数",
      value: "--",
      unit: "C",
      gai: "",
      config: 6,
      dianwei: "S320",
      sheding: "请输入设定值(0-0.5)",
    },
    {
      name: "补电充电系数",
      value: "--",
      unit: "C",
      gai: "",
      config: 7,
      dianwei: "S321",
      sheding: "请输入设定值(0-0.5)",
    },
    {
      name: "转换系数",
      value: "--",
      unit: "C",
      gai: "",
      config: 8,
      dianwei: "S322",
      sheding: "请输入设定值(0-0.5)",
    },
    {
      name: "电池默认总容量",
      value: "--",
      unit: "Ah",
      gai: "",
      config: 9,
      dianwei: "S323",
      sheding: "请输入设定值(0-2000)",
    },
  ],
  tableData: [
    {
      name: "峰放谷充",
      shi: "有",
      kai: "--",
      jie: "--",
      checked: false,
      starttime: new Date(2016, 9, 10, 0, 0),
      endtime: new Date(2016, 9, 10, 0, 0),
      show: false,
      config: 0,
      dianwei1: "SM_S309",
    },
    {
      name: "放电第一阶段",
      shi: "有",
      kai: "09:30",
      jie: "18:30",
      checked: false,
      starttime: new Date(2016, 9, 10, 0, 0),
      endtime: new Date(2016, 9, 10, 0, 0),
      show: true,
      config: 1,
      dianwei1: "S310",
      dianwei2: "S303",
    },
    {
      name: "充电第一阶段",
      shi: "有",
      kai: "09:30",
      jie: "18:30",
      checked: false,
      starttime: new Date(2016, 9, 10, 0, 0),
      endtime: new Date(2016, 9, 10, 0, 0),
      show: true,
      config: 2,
      dianwei1: "S311",
      dianwei2: "S304",
    },
    {
      name: "放电第二阶段",
      shi: "有",
      kai: "09:30",
      jie: "18:30",
      checked: false,
      starttime: new Date(2016, 9, 10, 0, 0),
      endtime: new Date(2016, 9, 10, 0, 0),
      show: true,
      config: 3,
      dianwei1: "S312",
      dianwei2: "S305",
    },
    {
      name: "充电第二阶段",
      shi: "有",
      kai: "09:30",
      jie: "18:30",
      checked: false,
      starttime: new Date(2016, 9, 10, 0, 0),
      endtime: new Date(2016, 9, 10, 0, 0),
      show: true,
      config: 4,
      dianwei1: "S313",
      dianwei2: "S306",
    },
    {
      name: "放电第三阶段",
      shi: "有",
      kai: "09:30",
      jie: "18:30",
      checked: false,
      starttime: new Date(2016, 9, 10, 0, 0),
      endtime: new Date(2016, 9, 10, 0, 0),
      show: true,
      config: 5,
      dianwei1: "S314",
      dianwei2: "S307",
    },
    {
      name: "充电第三阶段",
      shi: "有",
      kai: "09:30",
      jie: "18:30",
      checked: false,
      starttime: new Date(2016, 9, 10, 0, 0),
      endtime: new Date(2016, 9, 10, 0, 0),
      show: true,
      config: 6,
      dianwei1: "S315",
      dianwei2: "S308",
    },
  ], //削峰填谷第一个表格数组
  options_activeBox: [
    {
      value: "01",
      label: "整流模块1",
    },
    {
      value: "02",
      label: "整流模块2",
    },
    {
      value: "03",
      label: "整流模块3",
    },
    {
      value: "04",
      label: "整流模块4",
    },
    {
      value: "05",
      label: "整流模块5",
    },
    {
      value: "06",
      label: "整流模块6",
    },
    {
      value: "07",
      label: "整流模块7",
    },
    {
      value: "08",
      label: "整流模块8",
    },
    {
      value: "09",
      label: "整流模块9",
    },
    {
      value: "10",
      label: "整流模块10",
    },
    {
      value: "11",
      label: "整流模块11",
    },
    {
      value: "12",
      label: "整流模块12",
    },
  ], //整流模块
  activeBoxData_stree: [
    {
      name: "整流模块输出电流",
      unit: "A",
      value: "--",
      systemName: "RM01_R102",
    },
    {
      name: "整流模块限流点",
      unit: "%",
      value: "--",
      systemName: "RM01_R101",
    },
    {
      name: "交流输入电压",
      unit: "V",
      value: "--",
      systemName: "RM01_R103",
    },
    {
      name: "整流模块输出电压",
      unit: "V",
      value: "--",
      systemName: "RM01_R106",
    },
    {
      name: "限流/不限流状态",
      unit: "",
      value: "--",
      systemName: "RM01_R202S",
    },
    {
      name: "开机/关机状态",
      unit: "",
      value: "--",
      systemName: "RM01_R201S",
    },
  ], //整流模块的点位
  activeBoxData_two: [
    {
      name: "总电压",
      unit: "V",
      value: "--",
      systemName: "BMS101_B101",
    },
    {
      name: "总电流",
      unit: "A",
      value: "--",
      systemName: "BMS101_B102",
    },
    {
      name: "SOC",
      unit: "%",
      value: "--",
      systemName: "BMS101_B103",
    },
    {
      name: "SOH",
      unit: "%",
      value: "--",
      systemName: "BMS101_B104",
    },
    {
      name: "单体最高电压",
      unit: "V",
      value: "--",
      systemName: "BMS101_B105",
    },
    {
      name: "单体最低电压",
      unit: "V",
      value: "--",
      systemName: "BMS101_B106",
    },
    {
      name: "单体最高温度",
      unit: "℃",
      value: "--",
      systemName: "BMS101_B107",
    },
    {
      name: "单体最低温度",
      unit: "℃",
      value: "--",
      systemName: "BMS101_B108",
    },
    {
      name: "电池插箱总容量",
      unit: "Ah",
      value: "--",
      systemName: "BMS101_B109",
    },
    {
      name: "电池插箱剩余容量",
      unit: "Ah",
      value: "--",
      systemName: "BMS101_B110",
    },
    {
      name: "累计充电容量",
      unit: "Ah",
      value: "--",
      systemName: "BMS101_B111",
    },
    {
      name: "累计放电容量",
      unit: "Ah",
      value: "--",
      systemName: "BMS101_B112",
    },
    {
      name: "累计充电能量",
      unit: "KWh",
      value: "--",
      systemName: "BMS101_B113",
    },
    {
      name: "累计放电能量",
      unit: "KWh",
      value: "--",
      systemName: "BMS101_B114",
    },
    {
      name: "累计充电时间",
      unit: "h",
      value: "--",
      systemName: "BMS101_B115",
    },
    {
      name: "累计放电时间",
      unit: "h",
      value: "--",
      systemName: "BMS101_B116",
    },
    {
      name: "充电次数",
      unit: "次",
      value: "--",
      systemName: "BMS101_B117",
    },
    {
      name: "放电次数",
      unit: "次",
      value: "--",
      systemName: "BMS101_B118",
    },
    {
      name: "单体电压1",
      unit: "V",
      value: "--",
      systemName: "BMS101_B119",
    },
    {
      name: "单体电压2",
      unit: "V",
      value: "--",
      systemName: "BMS101_B120",
    },
    {
      name: "单体电压3",
      unit: "V",
      value: "--",
      systemName: "BMS101_B121",
    },
    {
      name: "单体电压4",
      unit: "V",
      value: "--",
      systemName: "BMS101_B122",
    },
    {
      name: "单体电压5",
      unit: "V",
      value: "--",
      systemName: "BMS101_B123",
    },
    {
      name: "单体电压6",
      unit: "V",
      value: "--",
      systemName: "BMS101_B124",
    },
    {
      name: "单体电压7",
      unit: "V",
      value: "--",
      systemName: "BMS101_B125",
    },
    {
      name: "单体电压8",
      unit: "V",
      value: "--",
      systemName: "BMS101_B126",
    },
    {
      name: "单体电压9",
      unit: "V",
      value: "--",
      systemName: "BMS101_B127",
    },
    {
      name: "单体电压10",
      unit: "V",
      value: "--",
      systemName: "BMS101_B128",
    },
    {
      name: "单体电压11",
      unit: "V",
      value: "--",
      systemName: "BMS101_B129",
    },
    {
      name: "单体电压12",
      unit: "V",
      value: "--",
      systemName: "BMS101_B130",
    },
    {
      name: "单体电压13",
      unit: "V",
      value: "--",
      systemName: "BMS101_B131",
    },
    {
      name: "单体电压14",
      unit: "V",
      value: "--",
      systemName: "BMS101_B132",
    },
    {
      name: "单体电压15",
      unit: "V",
      value: "--",
      systemName: "BMS101_B133",
    },
    {
      name: "单体电压16",
      unit: "V",
      value: "--",
      systemName: "BMS101_B134",
    },
    {
      name: "单体压差",
      unit: "V",
      value: "--",
      systemName: "BMS101_B141",
    },
    {
      name: "单体温度1",
      unit: "℃",
      value: "--",
      systemName: "BMS101_B135",
    },
    {
      name: "单体温度2",
      unit: "℃",
      value: "--",
      systemName: "BMS101_B136",
    },
    {
      name: "单体温度3",
      unit: "℃",
      value: "--",
      systemName: "BMS101_B137",
    },
    {
      name: "单体温度4",
      unit: "℃",
      value: "--",
      systemName: "BMS101_B138",
    },
    {
      name: "PCB温度",
      unit: "℃",
      value: "--",
      systemName: "BMS101_B139",
    },
    {
      name: "环境温度",
      unit: "℃",
      value: "--",
      systemName: "BMS101_B140",
    },
  ],
  options_activeBox_two: [
    {
      value: "01",
      label: "插箱1",
    },
    {
      value: "02",
      label: "插箱2",
    },
    {
      value: "03",
      label: "插箱3",
    },
    {
      value: "04",
      label: "插箱4",
    },
    {
      value: "05",
      label: "插箱5",
    },
    {
      value: "06",
      label: "插箱6",
    },
    {
      value: "07",
      label: "插箱7",
    },
    {
      value: "08",
      label: "插箱8",
    },
    {
      value: "09",
      label: "插箱9",
    },
    {
      value: "10",
      label: "插箱10",
    },
    {
      value: "11",
      label: "插箱11",
    },
    {
      value: "12",
      label: "插箱12",
    },
    {
      value: "13",
      label: "插箱13",
    },
    {
      value: "14",
      label: "插箱14",
    },
    {
      value: "15",
      label: "插箱15",
    },
    {
      value: "16",
      label: "插箱16",
    },
  ], //插箱数据点 下拉框的选项数组
  value_activeBox_two: "01", //插箱数据点 下拉框的绑定值
  value_activeBox: "01", //整流模块下拉框的绑定值
  valueStart: [+new Date() - 3600 * 1000 * 24 * 7, +new Date()], //综合管理 的时间选择器数组
  stateRight: { name: "未知", color: "ccc" },
  systemStateData: [
    {
      name: "电池系统告警状态",
      state: "ccc",
      systemName: "GW_G204S",
    },
    {
      name: "电池系统保护状态",
      state: "ccc",
      systemName: "GW_G205S",
    },
    {
      name: "电池系统故障状态",
      state: "ccc",
      systemName: "GW_G206S",
    },
    {
      name: "电池系统通讯状态",
      state: "ccc",
      systemName: "GW_G202S",
    },
    {
      name: "直流防雷器故障",
      state: "ccc",
      systemName: "SM_S216A",
    },
    {
      name: "交流防雷器断",
      state: "ccc",
      systemName: "SM_S210A",
    },
    {
      name: "交流A相欠压",
      state: "ccc",
      systemName: "SM_S201A",
    },
    {
      name: "交流A相过压",
      state: "ccc",
      systemName: "SM_S202A",
    },
    {
      name: "交流B相欠压",
      state: "ccc",
      systemName: "SM_S202A",
    },
    {
      name: "交流B相过压",
      state: "ccc",
      systemName: "SM_S205A",
    },
    {
      name: "交流C相欠压",
      state: "ccc",
      systemName: "SM_S207A",
    },
    {
      name: "交流C相过压",
      state: "ccc",
      systemName: "SM_S208A",
    },
  ],
  infoShowBox_Two: [
    {
      name: "交流输入A相电压",
      unit: "V",
      value: "--",
      systemName: "SM_S101",
    },
    {
      name: "交流输入B相电压",
      unit: "V",
      value: "--",
      systemName: "SM_S102",
    },
    {
      name: "交流输入C相电压",
      unit: "V",
      value: "--",
      systemName: "SM_S103",
    },
    {
      name: "交流输入频率",
      unit: "Hz",
      value: "--",
      systemName: "SM_S104",
    },
    {
      name: "电源输出电压",
      unit: "V",
      value: "--",
      systemName: "SM_S105",
    },
    {
      name: "电源输出总电流",
      unit: "A",
      value: "--",
      systemName: "SM_S106",
    },
    {
      name: "电池侧总电流",
      unit: "A",
      value: "--",
      systemName: "SM_S137",
    },
    {
      name: "负载电流",
      unit: "A",
      value: "--",
      systemName: "SM_S139",
    },
    {
      name: "整流模块数量",
      unit: "个",
      value: "--",
      systemName: "SM_S107",
    },
    {
      name: "电源系统总输出电量",
      unit: "KWh",
      value: "--",
      systemName: "SM_S138",
    },
    {
      name: "负载总使用电量",
      unit: "kWh",
      value: "--",
      systemName: "SM_S146",
    },
    {
      name: "监控模块时间信息",
      unit: "",
      value: "--",
      systemName: "monitoring",
    },
  ], //数据展示第二个盒子
  infoShowBox_One: [
    {
      name: "系统总电压",
      unit: "V",
      value: "--",
      systemName: "GW_G101",
    },
    { name: "系统总电流", unit: "A", value: "--", systemName: "GW_G102" },
    { name: "系统SOC", unit: "%", value: "--", systemName: "GW_G103" },
    { name: "系统SOH", unit: "%", value: "--", systemName: "GW_G104" },
    {
      name: "系统单体最高电压",
      unit: "V",
      value: "--",
      systemName: "GW_G105",
    },
    {
      name: "系统单体最低电压",
      unit: "V",
      value: "--",
      systemName: "GW_G106",
    },
    {
      name: "系统最高单体温度",
      unit: "℃",
      value: "--",
      systemName: "GW_G107",
    },
    {
      name: "系统最低单体温度",
      unit: "℃",
      value: "--",
      systemName: "GW_G108",
    },
    {
      name: "系统累计充电容量",
      unit: "Ah",
      value: "--",
      systemName: "GW_G110",
    },
    {
      name: "系统累计放电容量",
      unit: "Ah",
      value: "--",
      systemName: "GW_G111",
    },
    {
      name: "系统累计充电能量",
      unit: "kWh",
      value: "--",
      systemName: "GW_G112",
    },
    {
      name: "系统累计放电能量",
      unit: "kWh",
      value: "--",
      systemName: "GW_G113",
    },
    {
      name: "系统电池插箱数量",
      unit: "个",
      value: "--",
      systemName: "GW_G114",
    },
    {
      name: "系统总标称容量",
      unit: "Ah",
      value: "--",
      systemName: "GW_G116",
    },
    {
      name: "系统总剩余容量",
      unit: "Ah",
      value: "--",
      systemName: "GW_G118",
    },
    {
      name: "系统总运行功率",
      unit: "Wh",
      value: "--",
      systemName: "GW_G120",
    },
    {
      name: "系统单体最大压差",
      unit: "mV",
      value: "--",
      systemName: "GW_G119",
    },
    {
      name: "电池系统电流偏差",
      unit: "A",
      value: "--",
      systemName: "GW_G121",
    },
    {
      name: "电池系统电压偏差",
      unit: "V",
      value: "--",
      systemName: "GW_G122",
    },
    {
      name: "直流负载功率",
      unit: "KW",
      value: "--",
      systemName: "GW_G123",
    },
  ], //数据展示第一个盒子
  mainInfoList: [
    {
      name: "单体最大压差",
      unit: "mV",
      value: "--",
      systemName: "GW_G119",
    },
    { name: "单体最高温度", unit: "℃", value: "--", systemName: "GW_G107" },
    { name: "SOC", unit: "%", value: "--", systemName: "GW_G103" },
    { name: "标称容量", unit: "Ah", value: "--", systemName: "GW_G116" },
    {
      name: "累计充电电能",
      unit: "kWh",
      value: "--",
      systemName: "GW_G112",
    },
    {
      name: "累计放电电能",
      unit: "kWh",
      value: "--",
      systemName: "GW_G113",
    },
    { name: "SOH", unit: "%", value: "--", systemName: "GW_G104" },
    { name: "剩余容量", unit: "Ah", value: "--", systemName: "GW_G118" },
    { name: "单体最高电压", unit: "V", value: "--", systemName: "GW_G105" },
    { name: "单体最低电压", unit: "V", value: "--", systemName: "GW_G106" },
    { name: "电池系统电流", unit: "A", value: "--", systemName: "GW_G102" },
    { name: "电池系统电压", unit: "V", value: "--", systemName: "GW_G101" },
  ], //关键信息的数组
  baseInfoList: [
    { name: "基站名称", value: "--" },
    { name: "设备ID", value: "--" },
    { name: "基站编号", value: "--" },
    { name: "产品类型", value: "--" },
    { name: "电池容量", value: "--" },
    { name: "电池型号", value: "--" },
  ], // 基础信息的数组
  activeName: "first",
  mapIsShow: true, //控制显示地图模板,还是基站模板的布尔值。
  showLine: true,
  treeData: [], //树的数组
  color1: "#56b77e",
  oo: "",
  polygons: [],
  markerCenter: [119.647265, 29.079195], //地图初始化中心点
  zoom: 9, //地图缩放倍数,[3,18],18放大最高级,  市级的话11
  mapEvents: {
    init: this.mapInit,
  }, // 加载地图样式
  blockarr: [
    {
      name: "分布区域",
      unit: "个",
      value: "--",
      // systemName: "nodeChildren",
      systemName: "childnodes",
    },
    { name: "基站数量", unit: "个", value: "--", systemName: "104" },
    {
      name: "储能容量",
      unit: "Ah",
      value: "--",
      systemName: "energyStorageCapacity",
    },
    {
      name: "总充电量",
      unit: "KWh",
      value: "--",
      systemName: "cumulativeCharging",
    },
    {
      name: "总放电量",
      unit: "KWh",
      value: "--",
      systemName: "cumulativeDischarge",
    },
    {
      name: "储能收益",
      unit: "RMB",
      value: "--",
      systemName: "energyBenefits",
    },
  ],
  options01: {
    lefttitle: "总负荷曲线",
    lianjie: "loadCurve",
    color: ["#536d80"],
    grid: { left: 60, height: "70%", bottom: 30 },
    tooltip: { trigger: "axis" },
    legend: {
      data: ["总负荷曲线"],
      inactiveColor: "#cccccc",
      textStyle: { color: "#60667e" },
    },
    xAxis: { data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] },
    yAxis: { axisLabel: { fontSize: 10 }, splitLine: { show: false } },
    series: [
      {
        name: "总负荷曲线",
        type: "line",
        data: [23, 34, 23, 34, 21, 24, 46, 67, 87, 43, 12, 34, 45, 23, 23],
      },
    ],
  },
  options02: {
    lefttitle: "尖/峰放电量、谷时充电量(KWh)",
    lianjie1: "sharpDischarge",
    lianjie2: "peakDischarge",
    lianjie3: "lowValleyCharging",
    grid: { left: 60, height: "70%", bottom: 20 },
    color: ["#ffff00", "#a96300", "#008000"],
    tooltip: {
      trigger: "axis",
      axisPointer: { type: "cross", crossStyle: { color: "#999" } },
    },
    legend: {
      data: ["尖峰放电", "高峰放电", "低谷充电"],
      textStyle: { fontSize: 12, color: "#60667e" },
    },
    xAxis: [
      {
        type: "category",
        axisLabel: { interval: 0 },
        data: [1, 2, 3, 4],
        axisPointer: { type: "shadow" },
      },
    ],
    yAxis: [
      {
        type: "value",
        axisLabel: { fontSize: 10 },
        splitLine: {
          show: false,
          lineStyle: { type: "dashed", width: 1, color: "#7d8590" },
        },
      },
    ],
    series: [
      {
        name: "尖峰放电",
        type: "bar",
        stack: "A",
        data: [12132, 23332, 23432],
      },
      {
        name: "高峰放电",
        type: "bar",
        stack: "A",
        data: [34353, 54232, 12345],
      },
      {
        name: "低谷充电",
        type: "bar",
        stack: "B",
        data: [46433, 23354, 23544],
      },
    ],
  },
  options03: {
    lefttitle: "储能收益(RMB)",
    lianjie: "energyBenefits",
    color: ["#86d3b1"],
    grid: { left: 60, height: "70%", bottom: 20 },
    tooltip: {
      trigger: "axis",
      axisPointer: { type: "cross", crossStyle: { color: "#999" } },
    },
    toolbox: {},
    legend: { data: ["储能收益"], textStyle: { color: "#60667e" } },
    xAxis: [
      {
        type: "category",
        axisLabel: { interval: 0 },
        data: [1, 2, 3, 4],
        axisPointer: { type: "shadow" },
      },
    ],
    yAxis: [
      {
        type: "value",
        axisLabel: { fontSize: 10 },
        splitLine: {
          show: false,
          lineStyle: { type: "dashed", width: 1, color: "#7d8590" },
        },
      },
    ],
    series: [
      { name: "储能收益", type: "bar", data: [13212, 34344, 45542, 56645] },
    ],
  },
  options04: {
    color: "#3aa1ff",
    legend: {
      type: "plain",
      show: true,
      // left: "150px",
      textStyle: { color: "#fff" },
      data: [{ name: "充放电曲线", icon: "roundRect" }],
    },
    tooltip: { trigger: "axis" },
    xAxis: {
      data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
      axisLine: { show: false },
      splitLine: { show: false },
      axisTick: { show: false },
      axisLabel: {
        color: "#fff",
        show: true,
        fontWeight: 700,
        fontSize: 14,
        margin: 10,
      },
    },
    yAxis: {
      name: "A",
      nameGap: 30,
      nameTextStyle: { color: "#fff", fontWeight: 700 },
      axisTick: { show: false },
      axisLine: { show: false },
      splitLine: { show: true, lineStyle: { type: "solid" } },
      axisLabel: {
        color: "#fff",
        show: true,
        fontWeight: 700,
        fontSize: 16,
        margin: 10,
      },
    },
    toolbox: {
      show: false,
      left: "center",
      feature: {
        dataZoom: { yAxisIndex: "none" },
        restore: {},
        saveAsImage: {},
      },
    },
    dataZoom: [
      {
        startValue: "2014-06-01",
        show: true,
        dataBackground: {
          lineStyle: { color: "rgba(9, 87, 231, 1)", width: 1 },
        },
      },
      { type: "inside" },
    ],
    series: [
      {
        name: "充放电曲线",
        type: "line",
        data: [
          324,
          354,
          567,
          354,
          576,
          697,
          234,
          364,
          568,
          234,
          355,
          686,
          123,
          325,
          576,
        ],
        lineStyle: { color: "#3aa1ff" },
        markLine: { silent: true },
      },
    ],
  },
  options05: {
    color: "#3aa1ff",
    legend: {
      type: "plain",
      show: true,
      // left: "150px",
      textStyle: { color: "#fff" },
      data: [{ name: "电流曲线", icon: "roundRect" }],
    },
    tooltip: { trigger: "axis" },
    xAxis: {
      data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
      axisLine: { show: false },
      splitLine: { show: false },
      axisTick: { show: false },
      axisLabel: {
        color: "#fff",
        show: true,
        fontWeight: 700,
        fontSize: 14,
        margin: 10,
      },
    },
    yAxis: {
      name: "A",
      nameGap: 30,
      nameTextStyle: { color: "#fff", fontWeight: 700 },
      axisTick: { show: false },
      axisLine: { show: false },
      splitLine: { show: true, lineStyle: { type: "solid" } },
      axisLabel: {
        color: "#fff",
        show: true,
        fontWeight: 700,
        fontSize: 16,
        margin: 10,
      },
    },
    toolbox: {
      show: false,
      left: "center",
      feature: {
        dataZoom: { yAxisIndex: "none" },
        restore: {},
        saveAsImage: {},
      },
    },
    dataZoom: [
      {
        startValue: "2014-06-01",
        show: true,
        dataBackground: {
          lineStyle: { color: "rgba(9, 87, 231, 1)", width: 1 },
        },
      },
      { type: "inside" },
    ],
    series: [
      {
        name: "电流曲线",
        type: "line",
        data: [
          32,
          34,
          567,
          354,
          57,
          697,
          234,
          36,
          568,
          24,
          355,
          68,
          123,
          35,
          576,
        ],
        lineStyle: { color: "#3aa1ff" },
        markLine: { silent: true },
      },
    ],
  },
  options06: {
    color: "#3aa1ff",
    legend: {
      type: "plain",
      show: true,
      // left: "150px",
      textStyle: { color: "#fff" },
      data: [{ name: "负荷曲线", icon: "roundRect" }],
    },
    tooltip: { trigger: "axis" },
    xAxis: {
      data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
      axisLine: { show: false },
      splitLine: { show: false },
      axisTick: { show: false },
      axisLabel: {
        color: "#fff",
        show: true,
        fontWeight: 700,
        fontSize: 14,
        margin: 10,
      },
    },
    yAxis: {
      name: "A",
      nameGap: 30,
      nameTextStyle: { color: "#fff", fontWeight: 700 },
      axisTick: { show: false },
      axisLine: { show: false },
      splitLine: { show: true, lineStyle: { type: "solid" } },
      axisLabel: {
        color: "#fff",
        show: true,
        fontWeight: 700,
        fontSize: 16,
        margin: 10,
      },
    },
    toolbox: {
      show: false,
      left: "center",
      feature: {
        dataZoom: { yAxisIndex: "none" },
        restore: {},
        saveAsImage: {},
      },
    },
    dataZoom: [
      {
        startValue: "2014-06-01",
        show: true,
        dataBackground: {
          lineStyle: { color: "rgba(9, 87, 231, 1)", width: 1 },
        },
      },
      { type: "inside" },
    ],
    series: [
      {
        name: "负荷曲线",
        type: "line",
        data: [
          32,
          34,
          57,
          54,
          57,
          67,
          234,
          36,
          58,
          24,
          355,
          68,
          23,
          35,
          576,
        ],
        lineStyle: { color: "#3aa1ff" },
        markLine: { silent: true },
      },
    ],
  },
};

},
computed: {},
mounted() {
this.inputChange = _.debounce(this.inputChange, 500); //基站模糊搜索 0.5s触发–防抖
this.onloadParentTree();
this.getOperationByUrl(“/Home/detail”); //查询基站详情的四个按钮权限
},
async created() {
///判断是否是从告警跳转过来的
console.log(this. r o u t e . p a r a m s ) ; i f ( t h i s . route.params); if (this. route.params);if(this.route.params.deviceid) {
setTimeout(() => {
this.mapIsShow = false;
this.baseInfoList[0].value = this. r o u t e . p a r a m s . n o d e n a m e ; t h i s . b a s e I n f o L i s t [ 1 ] . v a l u e = t h i s . route.params.nodename; this.baseInfoList[1].value = this. route.params.nodename;this.baseInfoList[1].value=this.route.params.deviceid;
this.activeName = “first”; //点开基站 展开第一个页面
this.getfirstmsg();
}, 2000);
}
定时请求告警信息
this.getDeviceAlarmList();
clearInterval(this.interval);
this.interval = setInterval(() => {
this.getDeviceAlarmList();
this.getallmarkers(this.dingjijiedianpath);
}, 60000);
定时请求告警信息
},
beforeDestroy() {
clearInterval(this.interval);
},
watch: {},
methods: {
//查询告警列表
async getDeviceAlarmList() {
const { data } = await getNotAlamCurList({
pageNo: “1”,
pageSize: “1000000”,
// nodeName: this.nodeName,
// column: this.column,
// value: this.value,
});
console.log(data);
this.badge = data.result.total;
},
//点击警铃跳转到告警页面
warmimg() {
this.$router.push({ path: “/system/warmingRed” });
},
async getwinwowshowmsg(info) {
console.log(info);
this.biaodianmsgarr.forEach((item) => {
item.value = “–”;
}); //先把数据都清空
this.windows.position = info.position; //弹框位置的 赋值
let marksInfo = info;
this.marksInfo = info;
console.log(marksInfo);
this.biaodianname = marksInfo.name; //标点弹框name的赋值
let ID = marksInfo.shebeiid;
// console.log(ID);
let lists = [
{ systemName: “GW_G103”, tableType: 3 },
{ systemName: “GW_G104”, tableType: 3 },
{ systemName: “GW_G109”, tableType: 3 },
];
const { data } = await reqRoutes({
devicecode: ID,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
// console.log(data);
let temp = data.result.roleResponseEntities;
if (temp[“GW_G103”] && temp[“GW_G103”].length > 0) {
this.biaodianmsgarr[0].value = (temp[“GW_G103”][0].value - 0).toFixed(
0
); // SOC赋值
}
if (temp[“GW_G104”] && temp[“GW_G104”].length > 0) {
this.biaodianmsgarr[2].value = (temp[“GW_G104”][0].value - 0).toFixed(
0
); // SOH赋值
}
if (temp[“GW_G109”] && temp[“GW_G109”].length > 0) {
if (temp[“GW_G109”][0].value == 0) {
this.biaodianmsgarr[1].value = “静止”;
} else if (temp[“GW_G109”][0].value == 1) {
this.biaodianmsgarr[1].value = “充电”;
} else if (temp[“GW_G109”][0].value == 2) {
this.biaodianmsgarr[1].value = “放电”;
}
}

  this.windows.visible = true;
},
async getallmarkers(path) {
  var thatis = this;
  // this.oo.remove(this.massMarks); //清除上次结果
  let jingzhi = require("@/assets/img/mark_bs_hui.png");
  let chongdian = require("@/assets/img/mark_bs_blue.png");
  let fangdian = require("@/assets/img/mark_bs_yellow.png");
  let gaojing = require("@/assets/img/mark_bs_red.png");

  let icon1 = {
    // 图标类型,现阶段只支持 image 类型
    type: "image",
    // 图片 url
    image: jingzhi,
    // 图片尺寸
    size: [11, 17],
    // 图片相对 position 的锚点,默认为 bottom-center
    anchor: "center",
  };
  let icon2 = {
    // 图标类型,现阶段只支持 image 类型
    type: "image",
    // 图片 url
    image: chongdian,
    // 图片尺寸
    size: [11, 17],
    // 图片相对 position 的锚点,默认为 bottom-center
    anchor: "center",
  };
  let icon3 = {
    // 图标类型,现阶段只支持 image 类型
    type: "image",
    // 图片 url
    image: fangdian,
    // 图片尺寸
    size: [11, 17],
    // 图片相对 position 的锚点,默认为 bottom-center
    anchor: "center",
  };
  let icon4 = {
    // 图标类型,现阶段只支持 image 类型
    type: "image",
    // 图片 url
    image: gaojing,
    // 图片尺寸
    size: [11, 17],
    // 图片相对 position 的锚点,默认为 bottom-center
    anchor: "center",
  };
  const { data } = await reqGetFindNodesRote({ path: path });
  console.log(data);
  // this.marks == data.result;
  let temp1 = data.result.filter((item) => {
    return (
      item.nodeValueList[0].value &&
      item.nodeValueList[1].value &&
      item.nodeValueList[3].value &&
      item.nodeValueList[4].value
    );
  });

  let arr = temp1.map((item) => {
    return item.nodeValueList.find((item) => item.tagbaseid == 101).value;
  });
  const res2 = await reqStatusCurrencyData("GW_G109", arr);
  let statesArr = res2.data.result;

  let markers = [];
  temp1.forEach((item, index) => {
    let tempicon = icon4;
    if (statesArr[index][0].value == 0) {
      tempicon = icon1;
    } else if (statesArr[index][0].value == 1) {
      tempicon = icon2;
    } else if (statesArr[index][0].value == 2) {
      tempicon = icon3;
    }
    let labelMarker = new AMap.LabelMarker({
      xieyi: item.nodeValueList[3].value,
      shebeiid: item.nodeValueList[4].value,
      name: item.name, // 此属性非绘制文字内容,仅最为标识使用
      position: [item.nodeValueList[0].value, item.nodeValueList[1].value],
      zIndex: 16,
      // 将第一步创建的 icon 对象传给 icon 属性
      icon: tempicon,
    });
    labelMarker.on("click", function (e) {
      thatis.getwinwowshowmsg(e.target.w);
    });
    markers.push(labelMarker);
  });
  var labelsLayer = new AMap.LabelsLayer({
    zooms: [3, 20],
    zIndex: 1000,
    // 该层内标注是否避让
    collision: false,
    // 设置 allowCollision:false,可以让标注避让用户的标注
    allowCollision: false,
  });
  if (this.labelsLayer) {
    this.labelsLayer.remove(this.markers); //移除上一次所有点标记
  }
  this.labelsLayer = labelsLayer;
  this.markers = markers;
  labelsLayer.add(markers);

  this.oo.add(labelsLayer);
},
// 失去焦点
inputBlur() {
  this.searchShow = false;
  this.searchList = [];
  this.inputName = "";
},
async loginjizhan(item) {
  // console.log(item);
  this.mapIsShow = false;
  this.baseInfoList[0].value = item.name;
  this.getdevicecode(item.id, item.nodetype);
  this.searchShow = false;
  this.inputName = "";
},
async inputChange() {
  if (this.inputName !== "") {
    this.searchShow = true;
  } else {
    this.searchShow = false;
    this.searchList = [];
    return;
  }
  const { data } = await reqGetFindName({ name: this.inputName });
  // console.log(data);
  if (data.code !== 200 || data.result == null) return;

  this.searchList = data.result;
},
async testapi() {
  // this.labelsLayer.remove(this.markers); //移除所有点标记
},
async getmapbottommsg(key) {
  // 获取2021年初的时间戳和  现在的时间戳
  let startDate13 = 1609430400000;
  let endDate13 = new Date().getTime();
  this.blockarr.forEach((item) => {
    item.value = "--";
  }); //先把地图下面的数据全部清空
  let lists = this.blockarr.map((item) => {
    return {
      systemName: item.systemName,
      tableType: 0,
    };
  });
  let templastobj = lists.pop();
  // console.log(lists);
  // console.log(templastobj);
  const { data } = await reqRoutes({
    devicecode: key,
    systemNameList: lists,
    startDate: startDate13,
    endDate: endDate13,
    step: 0,
    type: 2,
  });
  let temparr1 = data.result.roleResponseEntities;
  // console.log(temparr1);
  this.blockarr.forEach((item, index) => {
    if (temparr1[item.systemName] && temparr1[item.systemName].length > 0) {
      item.value = temparr1[item.systemName][0].value;
      item.value = item.value.toFixed(0);
    }
  });
  {
    const { data } = await reqRoutes({
      devicecode: key,
      systemNameList: [templastobj],
      startDate: startDate13,
      endDate: endDate13,
      step: 7,
      type: 2,
    });
    // console.log(data);
    let temparr2 = data.result.roleResponseEntities;
    // console.log(temparr2);
    this.blockarr.forEach((item, index) => {
      if (
        temparr2[item.systemName] &&
        temparr2[item.systemName].length > 0
      ) {
        item.value = temparr2[item.systemName][0].value;
        item.value = item.value.toFixed(0);
      }
    });
  }
},
async getecharts3data(key) {
  this.options03.xAxis[0].data = [];
  this.options03.series[0].data = [];
  let startDate1 = this.$moment()
    .year(this.$moment().year())
    .startOf("year")
    .valueOf(); //获取年开始的时间戳
  let endDate1 = this.$moment()
    .year(this.$moment().year())
    .endOf("year")
    .valueOf(); //获取年结束的时间戳
  let arr99 = [{ systemName: "energyBenefits", tableType: 0 }];
  reqRoute3({
    devicecode: key,
    systemNameList: arr99,
    startDate: startDate1,
    endDate: endDate1,
    step: 5,
    type: 2,
  }).then((res) => {
    let temparr1 = res.data.result.roleResponseEntities.energyBenefits;
    // console.log(temparr1);
    let arr31 = []; //  y轴
    let arr32 = []; //  x轴
    temparr1.forEach((item, index) => {
      arr31.push(item.value);
      item.aquicTimeStamp = item.aquicTimeStamp.slice(5, 7);
      if (item.aquicTimeStamp < 10) {
        item.aquicTimeStamp = item.aquicTimeStamp.slice(1, 2) + "月";
      } else {
        item.aquicTimeStamp = item.aquicTimeStamp + "月";
      }
      arr32.push(item.aquicTimeStamp);
    });
    this.options03.xAxis[0].data = arr32;
    this.options03.series[0].data = arr31;
  });
},
async getecharts2data(key) {
  this.options02.xAxis[0].data = [];
  this.options02.series[0].data = [];
  this.options02.series[1].data = [];
  this.options02.series[2].data = [];
  //先把图表2的数据清空
  let startDate1 = this.$moment()
    .year(this.$moment().year())
    .startOf("year")
    .valueOf(); //获取年开始的时间戳
  let endDate1 = this.$moment()
    .year(this.$moment().year())
    .endOf("year")
    .valueOf(); //获取年结束的时间戳
  let arr99 = [
    { systemName: "sharpDischarge", tableType: 0 }, //尖峰
    { systemName: "peakDischarge", tableType: 0 }, //高峰
    { systemName: "lowValleyCharging", tableType: 0 }, //低谷
  ];
  reqRoute3({
    devicecode: key,
    systemNameList: arr99,
    startDate: startDate1,
    endDate: endDate1,
    step: 5,
    type: 2,
  }).then((res) => {
    {
      let temparr1 = res.data.result.roleResponseEntities.sharpDischarge;
      // console.log(temparr1);
      let arr31 = []; //  y轴
      let arr32 = []; //  x轴
      temparr1.forEach((item, index) => {
        arr31.push(item.value);
        item.aquicTimeStamp = item.aquicTimeStamp.slice(5, 7);
        if (item.aquicTimeStamp < 10) {
          item.aquicTimeStamp = item.aquicTimeStamp.slice(1, 2) + "月";
        } else {
          item.aquicTimeStamp = item.aquicTimeStamp + "月";
        }
        arr32.push(item.aquicTimeStamp);
      });
      this.options02.xAxis[0].data = arr32;
      this.options02.series[0].data = arr31;
    }
    {
      let temparr1 = res.data.result.roleResponseEntities.peakDischarge;
      // console.log(temparr1);
      let arr31 = []; //  y轴
      temparr1.forEach((item, index) => {
        arr31.push(item.value);
      });
      this.options02.series[1].data = arr31;
    }
    {
      let temparr1 = res.data.result.roleResponseEntities.lowValleyCharging;
      // console.log(temparr1);
      let arr31 = []; //  y轴
      temparr1.forEach((item, index) => {
        arr31.push(item.value);
      });
      this.options02.series[2].data = arr31;
    }
  });
},
async getecharts1data(key) {
  this.options01.xAxis.data = [];
  this.options01.series[0].data = []; //先把图表1的数据清空

  let startDate1 = new Date().getTime() - 86400000 * 17;
  let endDate1 = new Date().getTime();
  let arr99 = [{ systemName: "loadCurve", tableType: 0 }];
  reqRoute3({
    devicecode: key,
    systemNameList: arr99,
    startDate: startDate1,
    endDate: endDate1,
    step: 1,
    type: 2,
  }).then((res) => {
    let temparr = res.data.result.roleResponseEntities.loadCurve;
    let arr31 = []; //  y轴
    let arr32 = []; //  x轴
    temparr.forEach((item, index) => {
      arr31.push(item.value);
      arr32.push(item.aquicTimeStamp);
    });
    this.options01.xAxis.data = arr32;
    this.options01.series[0].data = arr31;
  });
},
//点击行政节点的时候,获取地图下方豆腐块数据和旁边三个eacharts图表的数据
async getmapasidemsg(key, pid, title, value, path, nodetype) {
  //先查图表1的数据
  this.getecharts1data(key); //拿到图表1的数据
  this.getecharts2data(key); //拿到图表2的数据
  this.getecharts3data(key); //拿到图表3的数据
  this.getmapbottommsg(key); //拿到地图下面的数据
},
async getthirdmsg() {
  this.tableData.forEach((item) => {
    item.checked = false;
    item.starttime = 0;
    item.endtime = 0;
  });
  this.tableData2.forEach((item) => {
    item.value = "--";
  });

  //控制策略的数据先清空
  let lists = [
    { systemName: "SM_S108", tableType: 3 },
    { systemName: "SM_S112", tableType: 3 },
    { systemName: "SM_S109", tableType: 3 },
    { systemName: "SM_S113", tableType: 3 },
    { systemName: "SM_S110", tableType: 3 },
    { systemName: "SM_S114", tableType: 3 },
    { systemName: "SM_S111", tableType: 3 },
    /以上是使能的点位
    { systemName: "SM_S123", tableType: 3 },
    { systemName: "SM_S125", tableType: 3 },
    { systemName: "SM_S127", tableType: 3 },
    { systemName: "SM_S129", tableType: 3 },
    { systemName: "SM_S131", tableType: 3 },
    { systemName: "SM_S133", tableType: 3 },
    /以上是查开始时间的点位
    { systemName: "SM_S124", tableType: 3 },
    { systemName: "SM_S126", tableType: 3 },
    { systemName: "SM_S128", tableType: 3 },
    { systemName: "SM_S130", tableType: 3 },
    { systemName: "SM_S132", tableType: 3 },
    { systemName: "SM_S134", tableType: 3 },
    /以上是查结束时间的点位
    { systemName: "SM_S119", tableType: 3 },
    { systemName: "SM_S121", tableType: 3 },
    { systemName: "SM_S120", tableType: 3 },
    { systemName: "SM_S122", tableType: 3 },
    { systemName: "SM_S115", tableType: 3 },
    { systemName: "SM_S116", tableType: 3 },
    { systemName: "SM_S117", tableType: 3 },
    { systemName: "SM_S118", tableType: 3 },
    { systemName: "SM_S136", tableType: 3 },
    { systemName: "SM_S135", tableType: 3 },
    /以上是查参数设置的点位
  ];
  const { data } = await reqRoutes({
    devicecode: this.baseInfoList[1].value,
    systemNameList: lists,
    startDate: 0,
    endDate: 0,
    step: -1,
    type: 1,
  });
  // console.log(data);
  let tempdata01 = data.result.roleResponseEntities;
  // console.log(tempdata01);
  //  峰放谷充使能
  if (tempdata01["SM_S108"] && tempdata01["SM_S108"].length > 0) {
    if (tempdata01["SM_S108"][0].value == 1) {
      this.tableData[0].checked = true;
    } else {
      this.tableData[0].checked = false;
    }
  }
  //   第一阶段放电使能
  if (tempdata01["SM_S112"] && tempdata01["SM_S112"].length > 0) {
    if (tempdata01["SM_S112"][0].value == 1) {
      this.tableData[1].checked = true;
    } else {
      this.tableData[1].checked = false;
    }
  }
  //   第一阶段充电使能
  if (tempdata01["SM_S109"] && tempdata01["SM_S109"].length > 0) {
    if (tempdata01["SM_S109"][0].value == 1) {
      this.tableData[2].checked = true;
    } else {
      this.tableData[2].checked = false;
    }
  }
  //    第二阶段放电使能
  if (tempdata01["SM_S113"] && tempdata01["SM_S113"].length > 0) {
    if (tempdata01["SM_S113"][0].value == 1) {
      this.tableData[3].checked = true;
    } else {
      this.tableData[3].checked = false;
    }
  }
  //    第二阶段充电使能
  if (tempdata01["SM_S110"] && tempdata01["SM_S110"].length > 0) {
    if (tempdata01["SM_S110"][0].value == 1) {
      this.tableData[4].checked = true;
    } else {
      this.tableData[4].checked = false;
    }
  }
  //    第三阶段放电使能
  if (tempdata01["SM_S114"] && tempdata01["SM_S114"].length > 0) {
    if (tempdata01["SM_S114"][0].value == 1) {
      this.tableData[5].checked = true;
    } else {
      this.tableData[5].checked = false;
    }
  }
  //    第三阶段充电使能
  if (tempdata01["SM_S111"] && tempdata01["SM_S111"].length > 0) {
    if (tempdata01["SM_S111"][0].value == 1) {
      this.tableData[6].checked = true;
    } else {
      this.tableData[6].checked = false;
    }
  }
  //放电第一阶段开始时间
  if (tempdata01["SM_S123"] && tempdata01["SM_S123"].length > 0) {
    let temptime1 = (tempdata01["SM_S123"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    // console.log(temptime1);
    this.tableData[1].starttime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
    // console.log(this.tableData[1].starttime);
  }
  //充电第一阶段开始时间
  if (tempdata01["SM_S125"] && tempdata01["SM_S125"].length > 0) {
    let temptime1 = (tempdata01["SM_S125"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    // console.log(temptime1);
    this.tableData[2].starttime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //放电第二阶段开始时间
  if (tempdata01["SM_S127"] && tempdata01["SM_S127"].length > 0) {
    let temptime1 = (tempdata01["SM_S127"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    // console.log(temptime1);
    this.tableData[3].starttime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //充电第二阶段开始时间
  if (tempdata01["SM_S129"] && tempdata01["SM_S129"].length > 0) {
    let temptime1 = (tempdata01["SM_S129"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    // console.log(temptime1);
    this.tableData[4].starttime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //放电第三阶段开始时间
  if (tempdata01["SM_S131"] && tempdata01["SM_S131"].length > 0) {
    let temptime1 = (tempdata01["SM_S131"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    // console.log(temptime1);
    this.tableData[5].starttime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //充电第三阶段开始时间
  if (tempdata01["SM_S133"] && tempdata01["SM_S133"].length > 0) {
    let temptime1 = (tempdata01["SM_S133"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    // console.log(temptime1);
    this.tableData[6].starttime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //放电第一阶段结束时间
  if (tempdata01["SM_S124"] && tempdata01["SM_S124"].length > 0) {
    let temptime1 = (tempdata01["SM_S124"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    console.log(temptime1);
    this.tableData[1].endtime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //充电第一阶段结束时间
  if (tempdata01["SM_S126"] && tempdata01["SM_S126"].length > 0) {
    let temptime1 = (tempdata01["SM_S126"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    // console.log(temptime1);
    this.tableData[2].endtime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //放电第二阶段结束时间
  if (tempdata01["SM_S128"] && tempdata01["SM_S128"].length > 0) {
    let temptime1 = (tempdata01["SM_S128"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    // console.log(temptime1);
    this.tableData[3].endtime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //充电第二阶段结束时间
  if (tempdata01["SM_S130"] && tempdata01["SM_S130"].length > 0) {
    let temptime1 = (tempdata01["SM_S130"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    // console.log(temptime1);
    this.tableData[4].endtime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //放电第三阶段结束时间
  if (tempdata01["SM_S132"] && tempdata01["SM_S132"].length > 0) {
    let temptime1 = (tempdata01["SM_S132"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    // console.log(temptime1);
    this.tableData[5].endtime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //充电第三阶段结束时间
  if (tempdata01["SM_S134"] && tempdata01["SM_S134"].length > 0) {
    let temptime1 = (tempdata01["SM_S134"][0].value - 0).toFixed(0);
    temptime1 = (temptime1 - 0).toString(16);
    // console.log(temptime1);
    if (temptime1.length == 3) {
      temptime1 = "0" + temptime1;
    }
    if (temptime1.length == 1) {
      temptime1 = "000" + temptime1;
    }
    if (temptime1.length == 2) {
      temptime1 = "00" + temptime1;
    }
    console.log(temptime1);
    this.tableData[6].endtime = new Date(
      2016,
      9,
      10,
      parseInt(temptime1.substr(0, 2), 16),
      parseInt(temptime1.substr(2, 4), 16)
    );
  }
  //以下是参数设置的数据赋值
  if (tempdata01["SM_S119"] && tempdata01["SM_S119"].length > 0) {
    this.tableData2[0].value = tempdata01["SM_S119"][0].value;
    this.tableData2[0].value = (this.tableData2[0].value - 0).toFixed(2);
  }
  if (tempdata01["SM_S121"] && tempdata01["SM_S121"].length > 0) {
    this.tableData2[1].value = tempdata01["SM_S121"][0].value;
    this.tableData2[1].value = (this.tableData2[1].value - 0).toFixed(2);
  }
  if (tempdata01["SM_S120"] && tempdata01["SM_S120"].length > 0) {
    this.tableData2[2].value = tempdata01["SM_S120"][0].value;
    this.tableData2[2].value = (this.tableData2[2].value - 0).toFixed(2);
  }
  if (tempdata01["SM_S122"] && tempdata01["SM_S122"].length > 0) {
    this.tableData2[3].value = tempdata01["SM_S122"][0].value;
    this.tableData2[3].value = (this.tableData2[3].value - 0).toFixed(2);
  }
  if (tempdata01["SM_S115"] && tempdata01["SM_S115"].length > 0) {
    this.tableData2[4].value = tempdata01["SM_S115"][0].value;
    this.tableData2[4].value = (this.tableData2[4].value - 0).toFixed(2);
  }
  if (tempdata01["SM_S116"] && tempdata01["SM_S116"].length > 0) {
    this.tableData2[5].value = tempdata01["SM_S116"][0].value;
    this.tableData2[5].value = (this.tableData2[5].value - 0).toFixed(2);
  }
  if (tempdata01["SM_S117"] && tempdata01["SM_S117"].length > 0) {
    this.tableData2[6].value = tempdata01["SM_S117"][0].value;
    this.tableData2[6].value = (this.tableData2[6].value - 0).toFixed(2);
  }
  if (tempdata01["SM_S118"] && tempdata01["SM_S118"].length > 0) {
    this.tableData2[7].value = tempdata01["SM_S118"][0].value;
    this.tableData2[7].value = (this.tableData2[7].value - 0).toFixed(2);
  }
  if (tempdata01["SM_S136"] && tempdata01["SM_S136"].length > 0) {
    this.tableData2[8].value = tempdata01["SM_S136"][0].value;
    this.tableData2[8].value = (this.tableData2[8].value - 0).toFixed(2);
  }
  if (tempdata01["SM_S135"] && tempdata01["SM_S135"].length > 0) {
    this.tableData2[9].value = tempdata01["SM_S135"][0].value;
    this.tableData2[9].value = (this.tableData2[9].value - 0).toFixed(2);
  }
},
async getsecondmsg4(number) {
  this.activeBoxData_stree.forEach((item) => {
    item.value = "--";
    item.systemName = item.systemName.replace(this.prefix2, number);
  }); //整流模块数据全部清空
  this.prefix2 = number;
  let lists = this.activeBoxData_stree.map((item) => {
    return {
      systemName: item.systemName,
      tableType: 3,
    };
  });
  const { data } = await reqRoutes({
    devicecode: this.baseInfoList[1].value,
    systemNameList: lists,
    startDate: 0,
    endDate: 0,
    step: -1,
    type: 1,
  });
  console.log(data);
  this.activeBoxData_stree.forEach((item) => {
    if (
      data.result.roleResponseEntities[item.systemName] &&
      data.result.roleResponseEntities[item.systemName].length > 0
    ) {
      item.value =
        data.result.roleResponseEntities[item.systemName][0].value;
    } else {
      item.value = "--";
    }
  });
  this.activeBoxData_stree.forEach((item, index) => {
    if (item.value != "--" && item.value != "0") {
      item.value = item.value - 0;
      item.value = item.value.toFixed(2);
    }
  });
},
async getsecondmsg3(index) {
  let tempstr = this.agreementtype + index;
  this.activeBoxData_two.forEach((item) => {
    item.value = "--";
    item.systemName = item.systemName.replace(this.prefix, tempstr);
  }); //插箱数据全部清空
  this.prefix = this.agreementtype + index; //BMS前缀生成
  let lists = this.activeBoxData_two.map((item) => {
    return {
      systemName: item.systemName,
      tableType: 3,
    };
  });
  const { data } = await reqRoutes({
    devicecode: this.baseInfoList[1].value,
    systemNameList: lists,
    startDate: 0,
    endDate: 0,
    step: -1,
    type: 1,
  });
  console.log(data);
  this.activeBoxData_two.forEach((item) => {
    if (
      data.result.roleResponseEntities[item.systemName] &&
      data.result.roleResponseEntities[item.systemName].length > 0
    ) {
      item.value =
        data.result.roleResponseEntities[item.systemName][0].value;
    } else {
      item.value = "--";
    }
  });
  this.activeBoxData_two.forEach((item, index) => {
    if (item.value != "--" && item.value != "0") {
      item.value = item.value - 0;
      item.value = item.value.toFixed(2);
    }
  });
},
async getsecondmsg2() {
  this.systemStateData.forEach((item) => {
    item.state = "ccc";
  }); //运行状态数据全部清空
  let lists = this.systemStateData.map((item) => {
    return {
      systemName: item.systemName,
      tableType: 3,
    };
  });
  const { data } = await reqRoutes({
    devicecode: this.baseInfoList[1].value,
    systemNameList: lists,
    startDate: 0,
    endDate: 0,
    step: -1,
    type: 1,
  });
  console.log(data);
  this.systemStateData.forEach((item) => {
    if (
      data.result.roleResponseEntities[item.systemName] &&
      data.result.roleResponseEntities[item.systemName].length > 0
    ) {
      if (data.result.roleResponseEntities[item.systemName][0].value == 0) {
        item.state = "green";
      } else if (
        data.result.roleResponseEntities[item.systemName][0].value == 1
      ) {
        item.state = "red";
      } else {
        item.state = "ccc";
      }
    }
  });
},
async getsecondmsg() {
  this.getsecondmsg2();
  this.value_activeBox_two = "01";
  this.getsecondmsg3(this.value_activeBox_two);
  this.value_activeBox = "01";
  this.getsecondmsg4(this.value_activeBox);
  this.infoShowBox_One.forEach((item) => {
    item.value = "--";
  }); //电池系统数据全部清空
  this.infoShowBox_Two.forEach((item) => {
    item.value = "--";
  }); //电源插框数据全部清空
  let temparr = [...this.infoShowBox_One, ...this.infoShowBox_Two];
  let lists = temparr.map((item) => {
    return {
      systemName: item.systemName,
      tableType: 3,
    };
  });
  {
    const { data } = await reqRoutes({
      devicecode: this.baseInfoList[1].value,
      systemNameList: lists,
      startDate: 0,
      endDate: 0,
      step: -1,
      type: 1,
    });
    console.log(data);
    this.infoShowBox_One.forEach((item) => {
      if (
        data.result.roleResponseEntities[item.systemName] &&
        data.result.roleResponseEntities[item.systemName].length > 0
      ) {
        item.value =
          data.result.roleResponseEntities[item.systemName][0].value;
      } else {
        item.value = "--";
      }
    });
    this.infoShowBox_One.forEach((item, index) => {
      if (item.value != "--" && item.value != "0") {
        item.value = item.value - 0;
        item.value = item.value.toFixed(2);
      }
    });
    this.infoShowBox_Two.forEach((item) => {
      if (
        data.result.roleResponseEntities[item.systemName] &&
        data.result.roleResponseEntities[item.systemName].length > 0
      ) {
        item.value =
          data.result.roleResponseEntities[item.systemName][0].value;
      } else {
        item.value = "--";
      }
    });
    this.infoShowBox_Two.forEach((item, index) => {
      if (item.value != "--" && item.value != "0") {
        item.value = item.value - 0;
        item.value = item.value.toFixed(2);
      }
    });
  }
},
async getfirstpageechartsdata(e) {
  console.log(e);
  let startDate;
  let endDate;
  if (e) {
    console.log(e);
    startDate = +new Date(e[0]);
    endDate = +new Date(e[1]);
    console.log(startDate, endDate);
  } else {
    startDate = new Date().getTime() - 86400000 * 7;
    endDate = new Date().getTime();
  }
  ///
  this.options04.xAxis.data = [];
  this.options04.series[0].data = []; //  清空第一个图表
  this.options05.xAxis.data = [];
  this.options05.series[0].data = []; //  清空第二个图表
  this.options06.xAxis.data = [];
  this.options06.series[0].data = []; //  清空第三个图表
  ///在查之前先清空三个图表的数据

  let lists = [
    { systemName: "GW_G102", tableType: 1 },
    { systemName: "SM_S139", tableType: 1 },
    { systemName: "GW_G120", tableType: 1 },
  ];
  const { data } = await reqRoutes({
    devicecode: this.baseInfoList[1].value,
    systemNameList: lists,
    startDate,
    endDate,
    step: -1,
    type: 1,
  });
  console.log(data);
  ///如果第一个图表有数据的话,就赋值
  if (data.result.roleResponseEntities["GW_G102"]) {
    let tempecharts1 = data.result.roleResponseEntities["GW_G102"];
    let optionarrX = [];
    let optionarrY = [];
    tempecharts1.forEach((item, index) => {
      optionarrX.push(item.aquicTimeStamp);
      optionarrY.push(item.value);
    });
    this.options04.xAxis.data = optionarrX;
    this.options04.series[0].data = optionarrY;
  }
  ///如果第二个图表有数据的话,就赋值
  if (data.result.roleResponseEntities["SM_S139"]) {
    let tempecharts1 = data.result.roleResponseEntities["SM_S139"];
    let optionarrX = [];
    let optionarrY = [];
    tempecharts1.forEach((item, index) => {
      optionarrX.push(item.aquicTimeStamp);
      optionarrY.push(item.value);
    });
    this.options05.xAxis.data = optionarrX;
    this.options05.series[0].data = optionarrY;
  }
  ///如果第三个图表有数据的话,就赋值
  if (data.result.roleResponseEntities["GW_G120"]) {
    let tempecharts1 = data.result.roleResponseEntities["GW_G120"];
    let optionarrX = [];
    let optionarrY = [];
    tempecharts1.forEach((item, index) => {
      optionarrX.push(item.aquicTimeStamp);
      optionarrY.push(item.value);
    });
    this.options06.xAxis.data = optionarrX;
    this.options06.series[0].data = optionarrY;
  }
},
///获取到第一个页面的数据
async getfirstmsg() {
  this.echartsshow = false;
  setTimeout(() => {
    this.echartsshow = true;
  }, 500);
  this.mainInfoList.forEach((item) => {
    item.value = "--";
  }); //先把数据全部清空
  let lists = this.mainInfoList.map((item) => {
    return {
      systemName: item.systemName,
      tableType: 3,
    };
  });
  // console.log(this.baseInfoList[1].value); 这个是存设备ID的变量
  this.valueStart = [+new Date() - 3600 * 1000 * 24 * 7, +new Date()];
  this.getfirstpageechartsdata(false); //查三个echarts图表的数据
  {
    const { data } = await reqRoutes({
      devicecode: this.baseInfoList[1].value,
      systemNameList: lists,
      startDate: 0,
      endDate: 0,
      step: -1,
      type: 1,
    });
    console.log(data);
    this.mainInfoList.forEach((item) => {
      if (data.result.roleResponseEntities[item.systemName].length > 0) {
        item.value =
          data.result.roleResponseEntities[item.systemName][0].value;
      } else {
        item.value = "--";
      }
    });
    this.mainInfoList.forEach((item, index) => {
      console.log(item.value);
      if (item.value != "--" && item.value != "0") {
        item.value = item.value - 0;
        item.value = item.value.toFixed(2);
      }
    });
  }
  {
    this.stateRight.name = "未知";
    this.stateRight.color = "ccc"; // 先重置状态
    let lists = [
      {
        systemName: "GW_G109",
        tableType: 3,
      },
    ];
    const { data } = await reqRoutes({
      devicecode: this.baseInfoList[1].value,
      systemNameList: lists,
      startDate: 0,
      endDate: 0,
      step: -1,
      type: 1,
    });
    console.log(data);
    console.log(data.result.roleResponseEntities["GW_G109"][0].value);
    if (data.result.roleResponseEntities["GW_G109"].length > 0) {
      if (data.result.roleResponseEntities["GW_G109"][0].value == 0) {
        this.stateRight.name = "静止";
        this.stateRight.color = "static";
      } else if (
        data.result.roleResponseEntities["GW_G109"][0].value == 1
      ) {
        this.stateRight.name = "充电";
        this.stateRight.color = "blue";
      } else {
        this.stateRight.name = "放电";
        this.stateRight.color = "yellow";
      }
    }
  }
},
// 小标点 进入基站详情页面
loginjizhninfo(marksInfo) {
  console.log(marksInfo);
  this.mapIsShow = false;
  this.baseInfoList[0].value = marksInfo.name;
  this.baseInfoList[1].value = marksInfo.shebeiid; // 获取到设备id
  this.agreementtype = marksInfo.xieyi; // 获取到设备类型
  console.log(this.agreementtype);

  this.activeName = "first"; //点开基站  展开第一个页面
  this.getfirstmsg(); // 打开第一页面
},
// 关闭基站信息窗
closeWindow() {
  this.windows.visible = false;
},
// 图标样式
getMarkerContent(item, width, height) {
  // if (item[0].warming == 1) {
  //   var color = "red";
  // } else {
  //   var stateColor = item[0].states ? item[0].states : 0;
  //   var color =
  //     stateColor == 0 ? "#009ec6" : stateColor == 1 ? "green" : "yellow";
  // }
  let color = "#009ec6";
  // if (item.states == 0) {
  //   color = "#009ec6"; //静止
  // } else if (item.states == 1) {
  //   color = "#008000"; //充电
  // } else if (item.states == 2) {
  //   color = "#ffff00"; //放电
  // }
  // if (item[0].warming == 1) {
  //   color = "#f00"; //告警
  // }
  const content = `<div style = "
                      height: ${width}px;
                      width: ${height}px;
                      color: ${color};
                      background-size: cover;
                      font-size:15px;
                      z-index:9999;
                      "
                      class='iconfont icon-ditu'
                      >
                  </div>`;
  return content;
},
//查询这个角色 有基站详情的几个权限按钮
async getOperationByUrl(url) {
  const { data } = await reqGetOperationByUrl({ menuurl: url });
  // console.log(data);
  if (data.result.find((item) => item.name == "数据展示")) {
    this.jizhananniushow1 = true;
  } else {
    this.jizhananniushow1 = false;
  }
  if (data.result.find((item) => item.name == "控制策略")) {
    this.jizhananniushow2 = true;
  } else {
    this.jizhananniushow2 = false;
  }
  if (data.result.find((item) => item.name == "效益分析")) {
    this.jizhananniushow3 = true;
  } else {
    this.jizhananniushow3 = false;
  }
},
// 合并单元格
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
  if (columnIndex === 7) {
    if (rowIndex % 2 === 0) {
      return {
        rowspan: this.tableDataFourth.length,
        colspan: 1,
      };
    } else {
      return {
        rowspan: 0,
        colspan: 0,
      };
    }
  }
},
// 效益分析数据获取
async getAllelectricData(e) {
  // console.log(e);
},
yitan2(aaa) {
  this.aaa2 = aaa;
  this.dialogVisible2 = true;
},
async shezhi2(index) {
  this.controlloading = true;
  // console.log(index);
  // console.log(this.tableData2[index].gai);
  this.dialogVisible2 = false;
  // 前端先校验
  if (
    ((index == 0 || index == 1 || index == 2) &&
      this.tableData2[index].gai >= 44 &&
      this.tableData2[index].gai <= 58) ||
    (index == 3 &&
      this.tableData2[index].gai >= 2.6 &&
      this.tableData2[index].gai <= 3.65) ||
    ((index == 4 || index == 5 || index == 6 || index == 7 || index == 8) &&
      this.tableData2[index].gai > 0 &&
      this.tableData2[index].gai <= 0.5) ||
    (index == 9 &&
      this.tableData2[index].gai > 0 &&
      this.tableData2[index].gai <= 2000)
  ) {
    const { data } = await getdata7({
      command: [
        {
          clientId: this.baseInfoList[1].value,
          ver: "v2.0.0",
          dev: "SM",
          m: this.tableData2[index].dianwei,
          v: this.tableData2[index].gai,
        },
      ],
    });
    // console.log(data);
    if (data.result == "OK") {
      Message({
        message: "指令发送成功",
        type: "success",
      });
    } else {
      Message({
        message: `${data.result}`,
        type: "error",
        duration: 5000,
      });
    }
  } else {
    Message({
      message: "您输入的数值不在取值范围之内,请重新输入。",
      type: "error",
    });
  }
  this.controlloading = false;
},
input001(data, index) {
  this.tableData2[index].gai = data;
},
//控制策略第一个表格 ,设置按钮事件
yitan(aaa) {
  this.aaa1 = aaa;
  this.dialogVisible = true;
},
async shezhi1(index) {
  // let temptimestart = this.$moment("2016-09-10").startOf("day").format("x");
  // console.log(temptimestart);
  // console.log(this.tableData[index].starttime);
  // console.log(this.tableData[index].starttime - temptimestart);
  /
  this.controlloading = true;
  this.dialogVisible = false;
  let start = this.$moment(this.tableData[index].starttime).format("HHmm");
  let end = this.$moment(this.tableData[index].endtime).format("HHmm");

  let num = start + end;
  const { data } = await getdata7({
    command: [
      {
        clientId: this.baseInfoList[1].value,
        ver: "v2.0.0",
        dev: "SM",
        m: this.tableData[index].dianwei2,
        v: num,
      },
    ],
  });
  if (data.result == "OK") {
    Message({
      message: "指令发送成功",
      type: "success",
    });
  } else {
    Message({
      message: `${data.result}`,
      type: "error",
      duration: 5000,
    });
  }
  this.controlloading = false;
},
//控制策略第一个表格 ,单选change事件
async shezhi3(index) {
  this.controlloading = true;
  // console.log(index);
  let temp = "1";
  if (this.tableData[index].checked == true) {
    temp = "1";
  } else {
    temp = "0";
  }

  const { data } = await getdata7({
    command: [
      {
        clientId: this.baseInfoList[1].value,
        ver: "v2.0.0",
        dev: "SM",
        m: this.tableData[index].dianwei1,
        v: temp,
      },
    ],
  });

  if (data.result == "OK") {
    Message({
      message: "指令发送成功",
      type: "success",
    });
  } else {
    Message({
      message: `${data.result}`,
      type: "error",
      duration: 5000,
    });
  }
  this.controlloading = false;
},
async getmarkerarr(path) {
  // console.log(path);
  this.marksShow = false;
  const { data } = await reqGetFindNodesRote({ path: path });
  // console.log(data);
  // this.marks == data.result;
  this.marks = data.result.filter((item) => {
    return (
      item.nodeValueList[0].value &&
      item.nodeValueList[1].value &&
      item.nodeValueList[4].value
    );
  });

  let arr = this.marks.map((item) => {
    return item.nodeValueList.find((item) => item.tagbaseid == 101).value;
  });
  // this.marksShow = true;
  // console.log(arr);
  // {
  //   const { data } = await reqFindDeviceAlarms(arr);
  //   console.log(data);
  //   let waringsArr = data.result;
  //   this.marks.forEach((item, index) => {
  //     item[0].warming = waringsArr[index];
  //   });
  // }
  {
    const { data } = await reqStatusCurrencyData("GW_G109", arr);
    // console.log(data);
    let statesArr = data.result;
    this.marks.forEach((item, index) => {
      item.states = statesArr[index][0].value;
    });
    // console.log(this.marks);
    this.marksShow = true;
  }
},

//  基站页面,上面四个tab的改变事件
handleClick() {
  // console.log(this.activeName);
  if (this.activeName == "first") {
    this.getfirstmsg();
  }
  if (this.activeName == "second") {
    this.getsecondmsg();
  }
  if (this.activeName == "third") {
    this.getthirdmsg();
  }
},
// 时间选择器的改变事件
startDateChange(e) {
  // console.log(e);
  let startDate = +new Date(e[0]);
  let endDate = +new Date(e[1]);
  // console.log(startDate, endDate);
},
// 获取到图表1的方法
getecharts1(dingID) {
  // console.log(dingID);
  let startDate1 = new Date().getTime() - 86400000 * 7;
  let endDate1 = new Date().getTime();
  let arr99 = [{ systemName: "loadCurve", tableType: 0 }];
  reqRoute3({
    devicecode: dingID,
    systemNameList: arr99,
    startDate: startDate1,
    endDate: endDate1,
    step: 1,
    type: 2,
  }).then((res) => {
    // console.log(res);
  });
},
//点击树节点触发的事件
onSelect(selectedKeys, info) {
  const {
    value,
    pid,
    key,
    title,
    path,
    nodetype,
  } = info.selectedNodes[0].data.props.dataRef;
  // console.log(key, pid, title, value, path, nodetype);
  if (value !== "通信基站") {
    if (value == "国家") {
      this.oo.clearMap();
      this.zoom = 3;
      // this.getallmarkers(this.dingjijiedianpath);
    } else {
      this.oo.clearMap();
      this.zoom = 9;
      this.drawBounds(this.oo, title);
      // this.getallmarkers(path);
    }
    this.mapIsShow = true;
    this.windows.visible = false;
    this.getmapasidemsg(key, pid, title, value, path, nodetype);
  } else {
    this.mapIsShow = false;
    this.getdevicecode(key, nodetype);
    this.baseInfoList[0].value = title;
  }
},
//获取到设备id的方法(里面有基站的挂载信息)
async getdevicecode(key, nodetype) {
  const { data } = await reqFindTreeValue({
    nodeId: key,
    typeId: nodetype,
  });
  // console.log(data);
  this.baseInfoList[1].value = data.result.find(
    (item) => item.tagbaseid == 101
  ).value; // 获取到设备id
  this.agreementtype = data.result.find(
    (item) => item.tagbaseid == 99
  ).value; // 获取到设备类型
  // console.log(this.agreementtype);

  this.activeName = "first"; //点开基站  展开第一个页面
  this.getfirstmsg(); // 打开第一页面
},
//加载树形节点父级
onloadParentTree() {
  // console.log(11);
  reqGetRootTreeByUser().then((res) => {
    var _this = this;

    if (
      res.data.code !== 200 ||
      res.data.result == null ||
      res.data.result.length == 0
    )
      return;
    var data = res.data.result;
    // console.log(data);
    this.dingjijiedianpath = data[0][0].path;
    this.getecharts1data(data[0][0].id); //拿到图表1的数据
    this.getecharts2data(data[0][0].id); //拿到图表2的数据
    this.getecharts3data(data[0][0].id); //拿到图表3的数据
    this.getmapbottommsg(data[0][0].id); //拿到地图下面的数据
    // this.getmarkerarr(data[0][0].path); // 查询所有点标记
    this.getallmarkers(data[0][0].path); //使用海量点的方法
    data.forEach(function (item, index) {
      var tree = {
        key: item[0].id,
        title: item[0].name,
        value: item[0].valued,
        path: item[0].path,
        nodetype: item[0].nodetype,
      };
      _this.treeData.push(tree);
    });
  });
  // console.log(this.treeData);
},
//  树的异步加载
onLoadData(treeNode) {
  // console.log(treeNode);
  var pid = treeNode.dataRef.key;

  return new Promise((resolve) => {
    setTimeout(() => {
      reqGetChildrenTreeByUser({
        pid,
        nodePath: treeNode.dataRef.path,
      }).then((res) => {
        // console.log(res);
        if (!res.data.result) return resolve();

        var datas = res.data.result;
        var list = [];
        if (datas instanceof Array && datas.length > 0) {
          datas.forEach(function (item, index) {
            var tree = {
              key: item[0].id,
              title: item[0].name,
              value: item[0].valued,
              pid: item[0].pid,
              path: item[0].path,
              nodetype: item[0].nodetype,
            };
            list.push(tree);
          });
        }
        treeNode.dataRef.children = list;
        this.treeData = [...this.treeData];
        resolve();
      });
    }, 0);
  });
},
//绘制遮罩,显示某个省
drawBounds(map, cc) {
  console.log(map);
  console.log(cc);
  //加载行政区划插件
  let opts = {
    subdistrict: 0, //获取边界不需要返回下级行政区
    extensions: "all", //返回行政区边界坐标组等具体信息
    level: "city", //查询行政级别为 市
  };
  let district = new AMap.DistrictSearch(opts);
  district.setLevel(cc);
  district.search(cc, (status, result) => {
    console.log(result);
    map.remove(this.polygons); //清除上次结果
    this.polygons = [];
    let bounds = result.districtList[0].boundaries;
    if (bounds) {
      for (let i = 0, l = bounds.length; i < l; i++) {
        //生成行政区划polygon
        let polygon = new AMap.Polygon({
          strokeWeight: 3,
          path: bounds[i],
          fillOpacity: 0.2,
          fillColor: this.color1,
          strokeColor: this.color1,
        });
        this.polygons.push(polygon);
      }
    }
    map.add(this.polygons);
    map.setFitView(this.polygons); //视口自适应
    //那遥远的四个点在这
    let outer = [
      new AMap.LngLat(-360, 90, true),
      new AMap.LngLat(-360, -90, true),
      new AMap.LngLat(360, -90, true),
      new AMap.LngLat(360, 90, true),
    ];
    let holes = result.districtList[0].boundaries;

    let pathArray = [outer];
    pathArray.push.apply(pathArray, holes);
    let polygon = new AMap.Polygon({
      pathL: pathArray,
      //线条颜色,使用16进制颜色代码赋值。默认值为#006600
      // strokeColor: 'rgb(20,164,173)',
      strokeColor: "#001826",
      strokeWeight: 1,
      //轮廓线透明度,取值范围[0,1],0表示完全透明,1表示不透明。默认为0.9
      strokeOpacity: 0.8,
      //多边形填充颜色,使用16进制颜色代码赋值,如:#FFAA00
      fillColor: "#000",
      //多边形填充透明度,取值范围[0,1],0表示完全透明,1表示不透明。默认为0.9
      fillOpacity: 0,
      //轮廓线样式,实线:solid,虚线:dashed
      strokeStyle: "solid",
      /*勾勒形状轮廓的虚线和间隙的样式,此属性在strokeStyle 为dashed 时有效, 此属性在
                      ie9+浏览器有效 取值:
                      实线:[0,0,0]
                      虚线:[10,10] ,[10,10] 表示10个像素的实线和10个像素的空白(如此反复)组成的虚线
                      点画线:[10,2,10], [10,2,10] 表示10个像素的实线和2个像素的空白 + 10个像素的实
                      线和10个像素的空白 (如此反复)组成的虚线*/
      strokeDasharray: [10, 2, 10],
    });

    polygon.setPath(pathArray);

    map.add(polygon);
  });
},
jump() {
  this.$router.push({ path: "/system" });
},
mapInit(o) {
  this.oo = o;
  setTimeout(() => {
    this.zoom = 3;
    // this.drawBounds(o, "浙江省");
    // o.setMapStyle("amap://styles/21e4dee35b66d5ad9e00b16a549ea0bd"); //自定义的高德地图的样式
    o.setMapStyle("amap://styles/darkblue"); //自定义的高德地图的样式
  }, 100);
},**加粗样式**

},
};

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值