<template>
  <div :class="$store.state.themeName === 'light' ? 'home_light' : 'home'">
    <div class="top-mid-panel">
      <Map
        ref="map"
        :wpId="wpId"
        :homeSuspensionWindowsData="homeSuspensionWindowsData"
        :ForecastPowerNewHome_fc="ForecastPowerNewHome_fc"
        :ForecastPowerNewHome_gf="ForecastPowerNewHome_gf"
        :qyPower="qyPower"
        :powerDataHome="powerDataHome"
        :mapList="mapList"
        :StationinformationData="StationinformationData"
        :CurveValues="CurveValues"
        @mapClick="mapClick"
        @mapClicks="mapClicks"
        @mapClickBack="mapClickBack"
        @currentActiveTab="currentActiveTab"
        @backStation="onBackStation"
      ></Map>
    </div>

    <el-dialog
      :title="dialogTitle"
      v-model="dialogShow"
      width="80%"
      top="10vh"
      custom-class="modal"
      :close-on-click-modal="true"
      @closed="
        (res) => {
          dialogType = '';
          powerLineChartData = null;
        }
      "
    >
      <Table :data="dialogData" v-if="dialogType === 'table'" />
      <multiple-y-line-chart-normal
        height="800px"
        :list="powerLineChartData"
        :yAxises="powerLineChartYAxises"
        :showLegend="true"
        v-if="dialogType === 'powerLineChart' && powerLineChartData"
      />
      <multiple-y-line-chart-normal
        height="800px"
        :list="Powertrend"
        :yAxises="PowertrendYAxises"
        :showLegend="true"
        v-if="dialogType === 'powerLineChart' && !powerLineChartData"
      />
      <multiple-bar-chart
        height="800px"
        :units="doneLineChartData.units"
        :list="doneLineChartData.value"
        v-if="dialogType === 'doneLineChart'"
      />
    </el-dialog>
  </div>
</template>

<script>
import {
  FindBasicDataInfo,
  FindPowerInfo,
  FindProjectplan,
} from "@/api/home/home.js";

import MultipleLineChartHome from "@/components/chart/line/double-line-chart-home.vue";
import ListBarChart2Home from "../../components/chart/bar/list-bar-chart2-home.vue";
import PowerReviewHome from "./components/power-review-home.vue";

// @ is an alias to /src
import Row from "../../components/coms/grid/row.vue";
import Col from "../../components/coms/grid/col.vue";
import ComPanel from "../../components/coms/panel/panel";
// import ListBarChart from "../../components/chart/bar/list-bar-chart.vue";
import ToolbarPanel from "../../components/coms/panel/toolbar-panel.vue";
import MultipleBarChart from "../../components/chart/bar/multiple-bar-chart.vue";
import MultipleYLineChartNormal from "../../components/chart/line/multiple-y-line-chart-normal.vue";
import Panel3 from "../../components/coms/panel/panel3.vue";
import SvgIcon from "../../components/coms/icon/svg-icon.vue";
import CoulometricAnalysis from "./components/coulometric-analysis.vue";
import Weather from "./components/weather.vue";
import PowerReview from "./components/power-review.vue";
import PowerPlan from "./components/power-plan.vue";
import Map from "./components/map.vue";
import ListBarChart2 from "../../components/chart/bar/list-bar-chart2.vue";
// import ListBarChartNewHome from "../../components/chart/bar/list-bar-chart2-new-home.vue";
import DoubleLineChart from "@com/chart/line/double-line-chart.vue";
import api from "@api/cockpit/matrix/index.js";
import Table from "./dialog/table.vue";
import dayjs from "dayjs";
export default {
  name: "Home",
  components: {
    PowerReviewHome,
    ListBarChart2Home,
    MultipleLineChartHome,
    Row,
    Col,
    ComPanel,
    Weather,
    CoulometricAnalysis,
    // ListBarChart,
    PowerReview,
    ToolbarPanel,
    PowerPlan,
    MultipleBarChart,
    MultipleYLineChartNormal,
    Panel3,
    SvgIcon,
    Map,
    ListBarChart2,
    // ListBarChartNewHome,
    Table,
    DoubleLineChart,
  },
  data() {
    return {
      wpId: "KGDL_FGS",
      wpIds: "KGDL_FGS0",
      StationinformationData: [],
      powerDataHome: {},
      ForecastPowerNewHome_fc: [],
      ForecastPowerNewHome_gf: [],
      qyPower: {},
      homeSuspensionWindowsData: [],
      CurveValues: {
        value: [
          {
            title: "",
            value: [],
          },
        ],
      },
      activeTab: 0,
      tabTitle: [
        { id: 1, title: "日" },
        { id: 2, title: "月" },
        { id: 3, title: "年" },
      ],
      tabTitle_gf: [
        { id: 1, title: "日" },
        { id: 2, title: "月" },
        { id: 3, title: "年" },
      ],

      newpointmapData: {},

      //
      historyWpId: "",
      historyPlanBtnName: "全部",
      timmer: null, // 计时器
      timmer2: null,
      timmer3: null,
      powerplanShowSingle: false,
      fcNum: 0,
      gfNum: 0,

      powerData: {},
      weatherChart: [
        {
          title: "温度",
          smooth: true,
          value: [],
        },
        {
          title: "湿度",
          smooth: true,
          value: [],
        },
      ],
      tqmap5: [],
      jczbmap: {},
      wxssmap: {},
      gxkmap: {},
      mxztmap: {},
      planData: {},
      tqmap: {},
      nowTime: "",
      planBtnName: "全部",
      powerLineChartYAxises: [],
      powerLineChartData: [
        {
          title: "",
          yAxisIndex: 0, // 使用单位
          value: [],
        },
      ],
      doneLineChartData: {
        // 图表所用单位
        units: [""],
        value: [
          {
            title: "",
            yAxisIndex: 0, // 使用单位
            value: [],
          },
        ],
      },
      dialogType: null,

      xtmap: {},
      dialogShow: false,
      dialogTitle: "",
      dialogData: {},
      // 预测电量
      ForecastPower: [],
      // 日发电量
      DayPower: {
        // 图表所用单位
        units: [""],
        value: [
          {
            title: "",
            yAxisIndex: 0, // 使用单位
            value: [],
          },
        ],
      },
      PowertrendYAxises: [
        {
          name: "功率",
          min: 0,
          max: null,
          unit: "(万kWh)",
          position: "left",
        },
        {
          name: "风速",
          min: 0,
          max: 25,
          unit: "(m/s)",
          position: "right",
        },
      ],
      mapList: [
        { text: "山西", code: "sxqyxx" },
        { text: "内蒙", code: "nmqyxx" },
        { text: "新疆", code: "xjqyxx" },
        { text: "河北", code: "hbqyxx" },
        { text: "陕西", code: "xsqyxx" },
        { text: "山东", code: "sdqyxx" },
        { text: "西藏", code: "xzqyxx" },
      ],
      penetrateType: 0,
    };
  },

  methods: {
    // 获取场站24小时功率图
    getData(wpId) {
      FindPowerInfo({ id: wpId }).then((res) => {
        if (res.data) {
          let Powertrend = {
            // 图表所用单位
            units: ["(万KWh)", "(风速)"],
            value: [
              {
                title: "保证功率",
                smooth: true, // 使用单位
                value: [],
              },
              {
                title: "理论功率",
                smooth: true, // 使用单位
                value: [],
              },
              {
                title: "实际功率",
                smooth: true, // 使用单位
                value: [],
              },
            ],
          };

          Powertrend.value[0].value = res.data.map((item) => {
            return {
              dateTime: dayjs()
                .startOf("date")
                .add(item.hours, "hour")
                .format("YYYY-MM-DD HH:mm:ss"),
              value: item.bzgl,
            };
          });
          Powertrend.value[1].value = res.data.map((item) => {
            return {
              dateTime: dayjs()
                .startOf("date")
                .add(item.hours, "hour")
                .format("YYYY-MM-DD HH:mm:ss"),
              value: item.llgl,
            };
          });
          Powertrend.value[2].value = res.data.map((item) => {
            return {
              dateTime: dayjs()
                .startOf("date")
                .add(item.hours, "hour")
                .format("YYYY-MM-DD HH:mm:ss"),
              value: item.sjgl,
            };
          });
          this.CurveValues = Powertrend.value;
        }
      });
    },
    // 请求服务
    requestData() {
      FindBasicDataInfo({ wpId: this.wpIds }).then(({ data }) => {
        this.StationinformationData = data;
        this.StationinformationData.cblpoint.fcShow = true;
        this.StationinformationData.cblpoint.gfShow = true;
        if (Object.keys(data).length) {
          let mapInfos = [];
          this.mapList.forEach((item) => {
            for (var key in data.sytc) {
              if (item.code == key) {
                data.sytc[key].name = item.text;
                mapInfos.push({ ...data.sytc[key] });
              }
            }
          });
          mapInfos.forEach((element) => {
            element.industryState = true;
            element.companyState = true;
            if (element.name == "山西") {
              if (!Object.hasOwn(element, "sxgszzjrl")) {
                element.companyState = false;
              }
              if (!Object.hasOwn(element, "sxcyzzjrl")) {
                element.industryState = false;
              }
              this.homeSuspensionWindowsData.sxqyxx = { ...element };
            } else if (element.name == "新疆") {
              if (!Object.hasOwn(element, "xjgszzjrl")) {
                element.companyState = false;
              }
              if (!Object.hasOwn(element, "xjcyzzjrl")) {
                element.industryState = false;
              }
              this.homeSuspensionWindowsData.xjqyxx = { ...element };
            } else if (element.name == "内蒙") {
              if (!Object.hasOwn(element, "nmgszzjrl")) {
                element.companyState = false;
              }
              if (!Object.hasOwn(element, "nmcyzzjrl")) {
                element.industryState = false;
              }
              this.homeSuspensionWindowsData.nmqyxx = { ...element };
            } else if (element.name == "西藏") {
              if (!Object.hasOwn(element, "xzgszzjrl")) {
                element.companyState = false;
              }
              if (!Object.hasOwn(element, "xzcyzzjrl")) {
                element.industryState = false;
              }
              this.homeSuspensionWindowsData.xzqyxx = { ...element };
            } else if (element.name == "山东") {
              if (!Object.hasOwn(element, "sdgszzjrl")) {
                element.companyState = false;
              }
              if (!Object.hasOwn(element, "sdcyzzjrl")) {
                element.industryState = false;
              }
              this.homeSuspensionWindowsData.sdqyxx = { ...element };
            } else if (element.name == "陕西") {
              if (!Object.hasOwn(element, "xsgszzjrl")) {
                element.companyState = false;
              }
              if (!Object.hasOwn(element, "xscyzzjrl")) {
                element.industryState = false;
              }
              this.homeSuspensionWindowsData.xsqyxx = { ...element };
            } else if (element.name == "河北") {
              if (!Object.hasOwn(element, "hbgszzjrl")) {
                element.companyState = false;
              }
              if (!Object.hasOwn(element, "hbcyzzjrl")) {
                element.industryState = false;
              }
              this.homeSuspensionWindowsData.hbqyxx = { ...element };
            }
          });

          this.powerDataHome = [
            {
              title: "清洁能源",
              value: (data?.qt?.sjgl / 1000).toFixed(2),
              dialogTitle: "清洁能源",
              subUrl: "genreset/findGLDetail",
              targetName: "bzgl",
              dialogType: "powerLineChart",
              max: 3000,
            },
            {
              title: "风电",
              value: (data?.qt?.fdsjgl / 1000).toFixed(2),
              dialogTitle: "保证功率详情",
              subUrl: "genreset/findGLDetail",
              targetName: "bzgl",
              dialogType: "powerLineChart",
              max: 3000,
            },
            {
              title: "光伏",
              value: (data?.qt?.gfsjgl / 1000).toFixed(2),
              dialogTitle: "保证功率详情",
              subUrl: "genreset/findGLDetail",
              targetName: "bzgl",
              dialogType: "powerLineChart",
              max: 3000,
            },
          ];

          let sbztmap = {
            fd: {},
            gf: {},
          };
          for (var key in data.mxztmap) {
            let a = key.substring(3, key.length);
            if (key.includes("gf_")) {
              sbztmap.gf[a] = data.mxztmap[key];
            } else if (key.includes("fd_")) {
              sbztmap.fd[a] = data.mxztmap[key];
            }
          }
          this.StationinformationData.sbztmap = sbztmap;
        }
      });
    },
    // 发电量
    findProjectPlan() {
      FindProjectplan({ wpId: this.wpIds }).then(({ data }) => {
        this.qyPower = data.proplanmap;
        this.ForecastPowerNewHome_fc = [
          [
            {
              name: "日发电量",
              id: "day",
              value: data?.proplanmap
                ? data?.proplanmap?.fd_r_sjdl < 0
                  ? 0
                  : (data?.proplanmap?.fd_r_sjdl / 10000).toFixed(2)
                : 0,
              color: 1,
              total: data?.proplanmap
                ? data?.proplanmap?.fd_r_jhdl < 0
                  ? 0
                  : data?.proplanmap?.fd_r_jhdl
                : 0,
            },
          ],
          [
            {
              name: "月发电量",
              id: "month",
              value: data?.proplanmap
                ? data?.proplanmap?.fd_y_sjdl < 0
                  ? 0
                  : (data?.proplanmap?.fd_y_sjdl / 10000).toFixed(2)
                : 0,
              color: 1,
              total: data?.proplanmap
                ? data?.proplanmap?.fd_y_jhdl < 0
                  ? 0
                  : data?.proplanmap?.fd_y_jhdl
                : 0,
            },
          ],
          [
            {
              name: "年发电量",
              id: "year",
              value: data?.proplanmap
                ? data?.proplanmap?.fd_n_sjdl < 0
                  ? 0
                  : (data?.proplanmap?.fd_n_sjdl / 10000).toFixed(2)
                : 0,
              color: 0,
              total: data?.proplanmap
                ? data?.proplanmap?.fd_n_jhdl < 0
                  ? 0
                  : data?.proplanmap?.fd_n_jhdl
                : 0,
            },
          ],
        ];
        this.ForecastPowerNewHome_gf = [
          [
            {
              name: "日发电量",
              id: "day",
              value: data?.proplanmap
                ? data?.proplanmap?.gf_r_sjdl < 0
                  ? 0
                  : (data?.proplanmap?.gf_r_sjdl / 10000).toFixed(2)
                : 0,
              color: 1,
              total: data?.proplanmap
                ? data?.proplanmap?.gf_r_jhdl < 0
                  ? 0
                  : data?.proplanmap?.gf_r_jhdl
                : 0,
            },
          ],
          [
            {
              name: "月发电量",
              id: "month",
              value: data?.proplanmap
                ? data?.proplanmap?.gf_y_sjdl < 0
                  ? 0
                  : (data?.proplanmap?.gf_y_sjdl / 10000).toFixed(2)
                : 0,
              color: 1,
              total: data?.proplanmap
                ? data?.proplanmap?.gf_y_jhdl < 0
                  ? 0
                  : data?.proplanmap?.gf_y_jhdl
                : 0,
            },
          ],
          [
            {
              name: "年发电量",
              id: "year",
              value: data?.proplanmap
                ? data?.proplanmap?.gf_n_sjdl < 0
                  ? 0
                  : (data?.proplanmap?.gf_n_sjdl / 10000).toFixed(2)
                : 0,
              color: 0,
              total: data?.proplanmap
                ? data?.proplanmap?.gf_n_jhdl < 0
                  ? 0
                  : data?.proplanmap?.gf_n_jhdl
                : 0,
            },
          ],
        ];
      });
    },
    // 点击地图展示类型
    mapClick(wpId, activeTab) {
      clearInterval(this.timmer);
      clearInterval(this.timmer2);
      this.timmer = null;
      this.timmer2 = null;
      this.activeTab = activeTab;
      this.wpId = wpId;
      this.wpIds =
        wpId.includes("FDC") || wpId.includes("GDC") ? wpId : wpId + activeTab;
      this.requestData();
      this.findProjectPlan();
      this.timmer = setInterval(() => {
        this.requestData();
      }, 5000);

      this.timmer2 = setInterval(() => {
        this.findProjectPlan(); //发电量
        if (this.penetrateType == 3) {
          this.getData(this.wpIds); //24小时功率曲线
        }
      }, 15 * 60 * 1000);
    },
    mapClicks(wpId, activeTab) {
      this.historyWpId = wpId;
      this.mapClick(wpId, activeTab);
    },
    mapClickBack(wpId, activeTab) {
      this.historyWpId = wpId;
      this.activeTab = activeTab;
      this.mapClick(this.historyWpId, activeTab);
    },
    currentActiveTab(penetrateType) {
      this.penetrateType = penetrateType;
      if (penetrateType === 3) {
        this.getData(this.wpIds);
      }
    },
  },

  created() {},
  mounted() {},
  unmounted() {
    clearInterval(this.timmer);
    clearInterval(this.timmer2);
    this.timmer = null;
    this.timmer2 = null;
  },
};
</script>

<style lang="less">
.top-distance {
  top: 97px !important;
}
.el-col + .el-col {
  padding-left: 0;
}
.home {
  width: 100%;
  height: 100%;
  background: url(../../assets/newHome_h.png);
  background-repeat: round;
  .date {
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 12px;
    font-family: Microsoft YaHei;
    font-weight: 400;
    color: #b3b3b3;
    position: absolute;
    right: 0;
    top: -20px;

    .day {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 22px;
      border: 1px solid #0f5e30;
      border-radius: 11px 0px 0px 11px;
      background: rgba(67, 81, 107, 0.2);

      &.active {
        background: rgba(5, 187, 76, 0.4);
        color: #ffffff;
      }
    }

    .mouth {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 22px;
      border-top: 1px solid #0f5e30;
      border-bottom: 1px solid #0f5e30;
      background: rgba(67, 81, 107, 0.2);

      &.active {
        background: rgba(5, 187, 76, 0.4);
        color: #ffffff;
      }
    }

    .year {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 22px;
      border: 1px solid #0f5e30;
      border-radius: 0px 11px 11px 0px;
      background: rgba(67, 81, 107, 0.2);

      &.active {
        background: rgba(5, 187, 76, 0.4);
        color: #ffffff;
      }
    }
  }
  @keyframes safe_power {
    0% {
      left: -320px;
    }

    20% {
      left: -300px;
    }
    100% {
      left: 48px;
    }
  }
  .safe_power {
    animation: safe_power 2.5s linear;
  }
  .security-days {
    position: absolute;
    top: 65px;
    left: 37px;
    font-weight: 400;
    z-index: 4;
    .text {
      font-size: 20px;
      font-family: Microsoft YaHei;
      margin-bottom: 12px;
      color: #ffffff;
    }
    .num {
      font-size: 35px;
      font-family: Bicubik;
      color: #05bb4c;
      .unit {
        font-size: 12px;
        font-family: Microsoft YaHei;
        margin-left: 5px;
      }
    }
    .security {
      margin-top: 15px;
      .unit-t {
        font-size: 14px;
        font-family: Adobe Heiti Std;
        color: #05bb4c;
        margin-left: 5px;
      }
    }
    .lineBox {
      .fd-rl,
      .gf-rl {
        font-size: 14px;
        font-family: Microsoft YaHei;

        color: #ffffff;
        .font-num {
          font-size: 16px;
          font-family: Bicubik;
          color: #05bb4c;
          margin: 0 5px;
        }
        .unit {
          font-size: 12px;
          color: #5e6269;
        }
      }
      .gf-rl {
        margin-top: 12px;
        .font-num {
          color: #ff8300;
        }
      }
    }
  }
  .qjny-info {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    bottom: 369px;
    position: absolute;
    padding: 20px 10px;
    z-index: 5;
    left: 37px;
    .qty_img {
      position: relative;
      left: -39px;
      top: -16px;
      animation: move 1s infinite linear;
    }

    .qty_content {
      margin-top: -25px;
    }

    ul {
      display: flex;

      li {
        width: 170px;
        height: 170px;
        margin-left: 20px;
        line-height: 30px;
      }

      .line {
        border-right: 1px dashed #252e43;
        width: 1px;
        margin-left: 0;
        margin-right: 5px;
      }
    }

    .qty_tit {
      font-size: 14px;
      position: relative;
      left: 75px;
      bottom: 50px;
      color: #999999;

      .qty_u {
        position: relative;
        top: 23px;
        left: -38px;
      }
    }

    .qty_value {
      font-size: 14px;
      position: relative;
      top: 26px;
      left: -54px;
      color: #05bb4c;
      font-family: "AgencyFB-Reg";
      font-weight: bold;

      .qty_u {
        font-size: 12px;
        color: #999999;
        margin-left: 20px;
      }
    }

    .qty_imag {
      font-size: 14px;
      color: #999999;

      .qty_val {
        font-family: "AgencyFB-Reg";
        font-weight: bold;
        color: #ffffff;
        margin: 0 20px;
      }

      .qty_unit {
        font-size: 12px;
        color: #999999;
      }
    }

    .qty_imag:first-of-type {
      margin-top: 10px;
    }
  }
  .switch-jrqk {
    position: absolute;
    top: 40%;
    left: 80%;
    backdrop-filter: blur(5px);
    z-index: 5;
    font-size: 16px;
    color: #fff;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    padding: 20px 10px;
    border: 1px solid #05bb4c;

    > div {
      margin-bottom: 10px;

      > img {
        display: inline-block;
        margin-right: 10px;
        vertical-align: -4%;
      }
    }
  }
  .ecoName {
    width: 406px;
    height: 138px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    bottom: 210px;
    position: absolute;
    z-index: 4;
    left: 37px;

    .ecoTitle {
      width: 350px;
      height: 45px;
      border-bottom: 1px solid #252e43;
      margin: 0 auto;
      font-size: 16px;
      font-weight: 400;
      color: #ffffff;
      line-height: 45px;
      position: relative;

      span {
        position: absolute;
        right: 0;
        font-size: 12px;
        font-family: Source Han Sans SC;
        color: #b1b1b1;
      }
    }

    ul {
      display: flex;
      text-align: center;
      width: 350px;
      height: 92px;
      margin: 0 auto;
      justify-content: space-between;
      align-items: center;

      .eco_count {
        line-height: 23px;
        width: 25%;
        .kind {
          height: 23px;
          text-align: center;
          svg {
            width: 40px;
            height: 40px;
            margin-top: -10px;
          }
        }
        .eco_val {
          font-size: 14px;
          font-family: SourceHanSansCN;
          color: #ffffff;
          &.text-ellipsis {
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            -o-text-overflow: ellipsis;
          }
        }

        .eco_name {
          font-size: 12px;
          color: #b3b3b3;
        }
      }
    }
  }
  .my_echarts {
    width: 700px;
    height: 150px;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 6px;
    position: absolute;
    bottom: 38px;
    left: 37px;
    z-index: 4;
  }
  @keyframes card {
    0% {
      right: -360px;
    }

    20% {
      right: -300px;
    }

    100% {
      right: 37px;
    }
  }

  .card {
    width: 434px;
    background: rgba(0, 0, 0, 0.3);
    padding: 25px;
    position: absolute;
    right: 37px;
    animation: card 2.5s linear;
  }
  .wind_card {
    z-index: 5;
    height: 158px;
    top: 38px;
    .el-col {
      flex: 1;
      position: relative;
    }

    .grid-content {
      text-align: center;
      cursor: pointer;

      .img {
        position: relative;
        width: 84px;
        height: 84px;
        background: url("../../assets/imgs/instrumentPanel.png") no-repeat;

        img {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: rotateZ(360deg);
          transform-origin: left top;
        }

        .information {
          font-size: 14px;
          color: #2b99ff;
          font-family: "Arial";
          position: absolute;
          width: 100%;
          top: 32px;
        }

        > .unit {
          width: 100%;
          color: #7d838c;
          text-align: center;
          position: absolute;
          top: 65px;
        }
        p {
          position: absolute;
          left: 50%;
          bottom: -36%;
          white-space: nowrap;
          transform: translateX(-50%);
        }
      }
    }
  }
  .electric_card {
    height: 320px;
    top: 217px;
    right: 37px;
    z-index: 5;

    .el-row {
      align-items: center;
      margin-bottom: 31px;

      .el-col:first-child {
        text-align: right;
        margin-right: 10px;
        color: #b3b3b3;
      }

      .el-col:last-child {
        text-align: left;
        margin-left: 10px;
        font-size: 14px;
        font-family: "Arial";
      }
    }

    .el-row:nth-child(2) {
      .electric {
        .progress_bar {
          background: linear-gradient(90deg, #561f00, #853000, #f78712);

          .img {
            background: url("../../assets/imgs/generatingCapacityDay.png")
              no-repeat;
          }
        }

        .count {
          color: #ff8300;
        }
      }
    }

    .el-header {
      display: flex;
      justify-content: space-between;

      .title {
        font-size: 16px;
        font-family: "SourceHanSansSC-Regular";
      }

      .unit {
        color: #b1b1b1;
      }
    }

    .electric {
      width: 100%;
      height: 4.5px;
      background-color: rgba(142, 176, 255, 0.2);

      .progress_bar {
        position: relative;
        height: 100%;
        max-width: 100%;
        background: linear-gradient(90deg, #001442, #1c99ff);

        .img {
          background: url("../../assets/imgs/generatingCapacityMonth.png")
            no-repeat;
          position: absolute;
          display: inline-block;
          width: 39px;
          height: 39px;
          top: -17px;
          right: -22px;
          transform: scale(0.8);
        }

        .count {
          position: absolute;
          top: -30px;
          right: -22px;
          font-size: 14px;
          color: #2b99ff;
          font-family: "Arial";
          font-weight: bolder;
        }

        .dot {
          display: inline-block;
          width: 22.4px;
          height: 22.4px;
          border-radius: 50%;
          border: 1px solid #ff8300;
          background-color: #573e27;
          position: absolute;
          right: -11px;
          top: -9px;
          text-align: center;
          line-height: 22.4px;

          .dots_center {
            display: inline-block;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: #fec448;
            box-shadow: 0px 0px 13px 12px #e77409a8;
          }
        }

        .percentage {
          position: absolute;
          top: -8px;
          right: -50px;
          font-family: "Arial";
        }
      }
    }

    .summarize {
      position: absolute;
      bottom: 0;
      margin-bottom: 0;
      margin-left: -25px;
      width: 100%;
      height: 80px;
      background-color: rgba(0, 0, 0, 0.2);
      border-bottom-left-radius: 8px;
      border-bottom-right-radius: 8px;
      color: #b3b3b3;
      padding: 0 35px;
      justify-content: space-between;

      .summarize-left {
        text-align: left !important;
        cursor: pointer;
      }

      .summarize-right {
        text-align: left !important;
        cursor: pointer;
      }

      p:last-child {
        margin-top: 8px;

        span:first-child {
          font-size: 18px;
          color: #ffffff;
          display: inline-block;
          width: 110px;
          text-align: left;
          font-family: "Arial";
        }
      }

      .line {
        width: 1px;
        height: 48px;
        background: #252e43;
      }
    }
  }
  .station_card {
    height: 302px;
    top: 557px;
    right: 37px;
    padding: 24px 14px;
    color: #7d838c;
    z-index: 5;

    > .card_header {
      line-height: 48px;

      .el-col:first-child {
        img {
          margin-right: 30px;
          vertical-align: -10%;
        }

        span {
          font-size: 20px;
          color: #05bb4c;
          display: inline-block;
          width: 70px;
          font-family: Arial;
          line-height: 33px;
        }
      }

      .el-col:last-child {
        text-align: right;

        span {
          padding: 0 6px;
          font-size: 20px;
          text-align: center;
          font-family: AgencyFB-Reg-Light;
          color: #ffffff;
          line-height: 33px;
        }
      }
    }

    > .el-row:last-child {
      border: none;
      margin-bottom: 0;
    }
  }

  .infos-echarts {
    padding: 10px;
    background-color: rgba(3, 5, 9, 0.5);
  }
  .model-bg-new-right {
    width: 100%;
    min-height: 135px;
    background-color: rgba(3, 5, 9, 0.5);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    // padding: 1% 5%;
    .power-charts {
      display: flex;
      flex-direction: row;
      align-items: flex-end;
      width: 100%;
      margin-top: 10px;
      .power-name-old {
        width: 80px;
        margin-bottom: 10px;
        color: #999999;
      }
      .power-name {
        width: 80px;
        margin-bottom: 20px;
        color: #999999;
      }
      .power-item {
        display: flex;
        flex-direction: column;
        width: 360px;
        .power-value-old {
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: space-between;
          margin-bottom: -12px;
          padding: 0 15px;
          .green-value {
            color: #05bb4c;
          }
          .purple-value {
            color: #4b55ae;
          }
        }
        .power-value {
          font-size: 12px;
          margin-bottom: -31px;
          font-family: Bicubik;
          margin-left: 255px;
          span:nth-child(1) {
            width: 5px;
            height: 5px;
            border-radius: 5px;
            display: inline-block;
            background-color: #fff;
            margin-right: 5px;
          }
          .green-value {
            color: #05bb4c;
          }
          .purple-value {
            color: #4b55ae;
          }
        }
      }
    }
    .infos {
      display: flex;
      flex-direction: column;
      width: 50%;
      height: 100%;
      width: 100%;
      .titles {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        // padding: 0 15px;
        height: 50%;
        .amount {
          display: flex;
          flex-direction: row;
          align-items: center;

          .amount-image {
            margin-left: -42px;
          }

          .amount-nums {
            font-size: 12px;
            color: #7d838c;
            margin-left: 10px;
            display: flex;
            flex-direction: row;
            align-items: baseline;

            .num-item {
              font-size: 20px;
              color: #ffffff;
              margin-right: 5px;
            }
          }
        }

        .info-nums {
          display: flex;
          align-items: baseline;
          font-size: 14px;
          color: #7d838c;

          .nums {
            font-size: 20px;
            color: #ffffff;
            margin: 0 5px;
          }
        }
      }
      .tabSwitchover {
        // height: 23px;
        margin-top: 5px;
        .tabSwitchover-item {
          width: 42px;
          line-height: 23px;
          text-align: center;
          color: #b3b3b3;
          float: left;
          cursor: pointer;
        }
        .tab-active {
          border-bottom: 1px solid rgb(39, 219, 54);
          background: linear-gradient(
            to top,
            rgba(5, 187, 76, 0.5),
            rgba(5, 187, 76, 0)
          );
        }
        .unit {
          text-align: right;
          color: #b1b1b1;
          font-size: 12px;
          // float: right;
        }
      }
      .types {
        display: flex;
        flex-direction: row;
        align-items: center;
        height: 50%;
        width: 100%;
        margin-top: 15px;
        padding-bottom: 10px;
        border-bottom: 1px solid #302c2c;
        .type-model {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          align-items: center;
          width: 16%;
          // height: 75%;
          font-size: 16px;
          .type-name {
            font-size: 14px;
            font-family: Agency FB;
            margin-bottom: 10px;
          }
          .type-num {
            height: 15px;
          }
        }
      }
    }
  }
  .base-info {
    height: 186px;
    background: rgba(3, 5, 9, 0.5);
    position: absolute;
    bottom: 4%;
    left: 43px;
    display: flex;
    flex-direction: row;
    border-radius: 6px;
    .charts {
      width: 100%;
      height: 100%;
      position: relative;
      margin-left: 1%;
      .energy-title {
        // margin-left: 2%;
        margin-top: 1%;
        font-size: 16px;
        color: #fff;
      }
      .dots {
        width: 0.185vh;
        height: 0.185vh;
        border-radius: 50%;
        background-color: @write;
        position: absolute;

        &.left {
          left: 0.37vh;
        }

        &.top {
          top: 0.37vh;
        }
      }

      .charts-item {
        // margin-left: 5%;
        margin-top: 10px;
      }
    }
  }
  .model-bg-new {
    width: 100%;
    min-height: 135px;
    background-color: rgba(3, 5, 9, 0.5);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    padding: 10px;

    .titles {
      height: 45px;
      border-bottom: 1px solid #333333;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;

      .name {
        font-size: 16px;
        color: #ffffff;
      }

      .unit {
        font-size: 12px;
        color: #b1b1b1;
      }
    }

    .save {
      display: flex;
      flex-direction: row;
      align-items: center;
      width: 100%;
      margin: 17px 0;

      .save-item {
        width: 25%;
        display: flex;
        flex-direction: column;
        align-items: center;

        .kind {
          width: 20px;
          height: 22px;

          .kind-img {
            width: 100%;
            height: 100%;
          }
        }

        .save-value {
          font-size: 16px;
          color: #ffffff;
          margin: 10px 0;
        }

        .save-name {
          font-size: 12px;
          color: #b3b3b3;
        }
      }
    }
  }
  .model-bg {
    width: 100%;
    min-height: 135px;
    background-color: rgba(3, 5, 9, 0.5);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    padding: 1% 5%;

    .titles {
      height: 45px;
      border-bottom: 1px solid #333333;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;

      .name {
        font-size: 16px;
        color: #ffffff;
      }

      .unit {
        font-size: 12px;
        color: #b1b1b1;
      }
    }

    .save {
      display: flex;
      flex-direction: row;
      align-items: center;
      width: 100%;
      margin: 17px 0;

      .save-item {
        width: 25%;
        display: flex;
        flex-direction: column;
        align-items: center;

        .kind {
          width: 20px;
          height: 22px;

          .kind-img {
            width: 100%;
            height: 100%;
          }
        }

        .save-value {
          font-size: 16px;
          color: #ffffff;
          margin: 10px 0;
        }

        .save-name {
          font-size: 12px;
          color: #b3b3b3;
        }
      }
    }
  }
}

.home_light {
  width: 100%;
  height: 100%;
  background: url(../../assets/newHome_b.png);
  background-repeat: round;
  .model-bg-new-right {
    width: 100%;
    min-height: 135px;
    background-color: rgba(83, 98, 104, 0.2);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    // padding: 1% 5%;
    .infos {
      display: flex;
      flex-direction: column;
      width: 50%;
      height: 100%;
      width: 100%;
      .titles {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        // padding: 0 15px;
        height: 50%;
        .amount {
          display: flex;
          flex-direction: row;
          align-items: center;

          .amount-image {
            margin-left: -42px;
          }

          .amount-nums {
            font-size: 12px;
            color: #7d838c;
            margin-left: 10px;
            display: flex;
            flex-direction: row;
            align-items: baseline;

            .num-item {
              font-size: 20px;
              color: #ffffff;
              margin-right: 5px;
            }
          }
        }

        .info-nums {
          display: flex;
          align-items: baseline;
          font-size: 14px;
          color: #7d838c;

          .nums {
            font-size: 20px;
            color: #ffffff;
            margin: 0 5px;
          }
        }
      }
      .tabSwitchover {
        // height: 23px;
        margin-top: 5px;
        .tabSwitchover-item {
          width: 42px;
          line-height: 23px;
          text-align: center;
          color: #000;
          float: left;
          cursor: pointer;
        }
        .tab-active {
          border-bottom: 1px solid rgb(39, 219, 54);
          background: linear-gradient(
            to top,
            rgba(5, 187, 76, 0.5),
            rgba(5, 187, 76, 0)
          );
        }
        .unit {
          height: 35px;
          line-height: 35px;
          color: #000;
          font-size: 12px;
          // float: right;
        }
      }
      .types {
        display: flex;
        flex-direction: row;
        align-items: center;
        height: 50%;
        width: 100%;
        margin-top: 15px;
        padding-bottom: 10px;
        border-bottom: 1px solid #302c2c;
        .type-model {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          align-items: center;
          width: 16%;
          // height: 75%;
          font-size: 16px;
          .type-name {
            font-size: 14px;
            font-family: Agency FB;
            margin-bottom: 10px;
          }
          .type-num {
            height: 15px;
          }
        }
      }
    }
    // .power-charts {
    //   display: flex;
    //   flex-direction: row;
    //   align-items: flex-end;
    //   width: 100%;
    //   margin-top: 10px;

    //   .power-name {
    //     width: 80px;
    //     margin-bottom: 10px;
    //     color: #000;
    //   }

    //   .power-item {
    //     display: flex;
    //     flex-direction: column;
    //     width: 300px;

    //     .power-value {
    //       border: 1px solid #fff;
    //       margin-bottom: -12px;
    //       padding: 0 15px;

    //       .green-value {
    //         color: #05BB4C;
    //       }

    //       .purple-value {
    //         color: #4B55AE;
    //       }
    //     }
    //   }
    // }
  }

  .base-info {
    height: 186px;
    background: rgba(83, 98, 104, 0.2);
    position: absolute;
    bottom: 4%;
    left: 117px;
    display: flex;
    flex-direction: row;
    border-radius: 6px;
    .charts {
      width: 100%;
      height: 100%;
      position: relative;
      margin-left: 1%;
      .energy-title {
        // margin-left: 2%;
        margin-top: 1%;
        font-size: 16px;
        color: #000;
      }
      .dots {
        width: 0.185vh;
        height: 0.185vh;
        border-radius: 50%;
        background-color: @write;
        position: absolute;

        &.left {
          left: 0.37vh;
        }

        &.top {
          top: 0.37vh;
        }
      }

      .charts-item {
        // margin-left: 5%;
        margin-top: 10px;
      }
    }
  }
  .model-bg-new {
    width: 100%;
    min-height: 135px;
    background-color: #d1d6d9;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    padding: 1% 5%;

    .titles {
      height: 45px;
      border-bottom: 1px solid #333333;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;

      .name {
        font-size: 16px;
        color: #000;
      }

      .unit {
        font-size: 12px;
        color: #000;
      }
    }

    .save {
      display: flex;
      flex-direction: row;
      align-items: center;
      width: 100%;
      margin: 17px 0;

      .save-item {
        width: 25%;
        display: flex;
        flex-direction: column;
        align-items: center;

        .kind {
          width: 20px;
          height: 22px;

          .kind-img {
            width: 100%;
            height: 100%;
          }
        }

        .save-value {
          font-size: 16px;
          color: #ffffff;
          margin: 10px 0;
        }

        .save-name {
          font-size: 12px;
          color: #b3b3b3;
        }
      }
    }
  }
  .model-bg {
    width: 100%;
    min-height: 135px;
    background-color: rgba(83, 98, 104, 0.2);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    padding: 1% 5%;

    .titles {
      height: 45px;
      border-bottom: 1px solid #333333;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;

      .name {
        font-size: 16px;
        color: #000000;
      }

      .unit {
        font-size: 12px;
        color: #606769;
      }
    }

    .save {
      display: flex;
      flex-direction: row;
      align-items: center;
      width: 100%;
      margin: 17px 0;

      .save-item {
        width: 25%;
        display: flex;
        flex-direction: column;
        align-items: center;

        .kind {
          width: 20px;
          height: 22px;

          .kind-img {
            width: 100%;
            height: 100%;
          }
        }

        .save-value {
          font-size: 16px;
          color: #ffffff;
          margin: 10px 0;
        }

        .save-name {
          font-size: 12px;
          color: #b3b3b3;
        }
      }
    }
  }
}

// .right {
//   width: 400px;
//   height: 100px;
//   position: absolute;
//   right: 25px;
//   top: 60px;
//   z-index: 2;
//   margin-top: 20px;
// }

.right {
  width: 450px;
  height: 100px;
  position: absolute;
  right: 25px;
  top: 25px;
  z-index: 2;
}

.com-panel {
  height: 100%;

  .panel-body {
    height: calc(100% - 32px);
  }
}

.top-mid-panel {
  flex: 1 1 auto;
  height: 100%;
}

.model-item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.infos {
  display: flex;
  flex-direction: column;
  width: 50%;
  height: 100%;
  width: 370px;
  padding: 10px;
  .titles {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    height: 50%;

    .amount {
      display: flex;
      flex-direction: row;
      align-items: center;

      .amount-image {
        margin-left: -42px;
      }

      .amount-nums {
        font-size: 12px;
        color: #7d838c;
        margin-left: 10px;
        display: flex;
        flex-direction: row;
        align-items: baseline;

        .num-item {
          font-size: 20px;
          color: #ffffff;
          margin-right: 5px;
        }
      }
    }

    .info-nums {
      display: flex;
      align-items: baseline;
      font-size: 14px;
      color: #7d838c;

      .nums {
        font-size: 20px;
        color: #ffffff;
        margin: 0 5px;
      }
    }
  }

  .types {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 50%;
    width: 100%;

    .type-model {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: center;
      width: 14%;
      height: 75%;
      font-size: 16px;

      .type-name {
        font-size: 14px;
      }
    }
  }
}

.fengji-icon {
  border-radius: 50%;
  width: 49px;
  height: 49px;
  box-shadow: inset 1.5px -1px 1px 0px @green;
  animation: fadenum 5s linear infinite;

  @keyframes fadenum {
    100% {
      transform: rotate(360deg);
    }
  }

  svg {
    width: 25px;
    height: 22px;
  }
}

.jnjp-icon {
  svg {
    width: 25px;
    height: 25px;
  }
}

.jnjp-icon1 {
  margin-top: -10px;

  svg {
    width: 40px;
    height: 40px;
  }
}
.power-charts {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  width: 100%;
  margin-top: 10px;
  .power-name-old {
    width: 80px;
    margin-bottom: 10px;
    color: #7a8385;
  }
  .power-name {
    width: 80px;
    margin-bottom: 20px;
    color: #000;
  }
  .power-item {
    display: flex;
    flex-direction: column;
    width: 360px;
    .power-value-old {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      margin-bottom: -12px;
      padding: 0 15px;
      .green-value {
        color: #05bb4c;
      }
      .purple-value {
        color: #4b55ae;
      }
    }
    .power-value {
      font-size: 12px;
      margin-bottom: -31px;
      font-family: Bicubik;
      margin-left: 255px;
      span:nth-child(1) {
        width: 5px;
        height: 5px;
        border-radius: 5px;
        display: inline-block;
        background-color: #fff;
        margin-right: 5px;
      }
      .green-value {
        color: #05bb4c;
      }
      .purple-value {
        color: #4b55ae;
      }
    }
  }
}
// .power-charts {
//   display: flex;
//   flex-direction: row;
//   align-items: flex-end;
//   width: 100%;
//   margin-top: 10px;

//   .power-name {
//     width: 80px;
//     margin-bottom: 20px;
//     color: #7a8385;
//   }

//   .power-item {
//     display: flex;
//     flex-direction: column;
//     width: 300px;
//     .power-value-old {
//       display: flex;
//       flex-direction: row;
//       align-items: center;
//       justify-content: space-between;
//       margin-bottom: -12px;
//       padding: 0 15px;
//       .green-value {
//         color: #05BB4C;
//       }
//       .purple-value {
//         color: #4B55AE;
//       }
//     }
//     .power-value {
//       font-size: 12px;
//       margin-bottom: -31px;
//       font-family: Bicubik;
//       margin-left: 255px;
//       span:nth-child(1) {
//         width: 5px;
//         height: 5px;
//         border-radius: 5px;
//         display: inline-block;
//         background-color: #fff;
//         margin-right: 5px;
//       }
//       .green-value {
//         color: #05BB4C;
//       }
//       .purple-value {
//         color: #4B55AE;
//       }
//     }
//   }
// }
</style>
