<template>
  <div class="login">
    <!-- 1#主变 油色谱 -->
    <!-- 标题和内容 -->
    <div class="pageCardTitle" v-show="hideSwitchShow">
      {{ dropdownData.length !== 0 ? "SF6 -" + dropdownData[0].name : "SF6 " }}
      <div class="iconSvg closeSvg" @click="changeStatus(true)">
        <svg-icon slot="prefix" icon-class="close" className="svg" />
      </div>
    </div>
    <div
      class="pageCard breaker backgroundTitle"
      :style="'background-image:url(' + breaker + ');'"
      v-show="cardShow"
    >
      <div class="tendencyChartText" @click="tendencyChartChange('5')">
        趋势图
      </div>
      <div class="cardTitle">
        <div>
          <span>SF6 - </span>
          <!-- 下拉框有数据 -->
          <el-dropdown
            v-if="dropdownData.length !== 0"
            @command="dropdownClick"
          >
            <span class="el-dropdown-link">
              {{ dropdownData[0].name
              }}<i class="el-icon-arrow-down el-icon--right"></i>
            </span>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item
                v-for="(item, index) of dropdownData"
                :key="index"
                :command="index"
                >{{ item.name }}
              </el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
          <!-- 无下拉数据 -->
          <el-dropdown v-else class="cursor" trigger="click">
            <span class="el-dropdown-link">
              SF6<i class="el-icon-arrow-down el-icon--right" />
            </span>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item>暂无数据 </el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
        </div>
        <div class="iconSvg" @click="changeStatus(false)">
          <svg-icon slot="prefix" icon-class="open" className="svg" />
        </div>
      </div>
      <div class="cardContent">
        <Tablemodule
          :table-loading="loading"
          :option="tableData.column"
          :data="tableData.data"
        ></Tablemodule>
        <div class="cardDate">采样时间 {{ samplingDate }}</div>
      </div>
    </div>
  </div>
</template>

<script>
import {
  SF6ControllerTable,
  SF6ControllerLine,
  getLxId,
  getEqmId,
} from "@/api/home/home";
// 左边
import { echartData } from "@/utils/common";
import breaker from "@/assets/page_right/breaker.png";
// 引入table组件
import Tablemodule from "@/components/Tablemodule/index";
export default {
  name: "Login",
  components: {
    Tablemodule,
  },
  data() {
    return {
      loading: false,
      // 左边
      breaker: breaker,
      //   卡片显示与否
      cardShow: true,
      tabPosition: "bottom",
      //   开关状态
      switchValue: true,
      //   标题内容是否显示
      hideSwitchShow: false,
      oilChromatographyTitle: "",
      dropdownData: [],
      tableData: {
        column: [
          {
            label: "相位",
            prop: "phase",
            width: "50px",
          },
          {
            label: "温度℃",
            prop: "temperature",
          },
          {
            label: "微水(uL/L)",
            prop: "moisture",
          },
          {
            label: "压力(Kpa)",
            prop: "pressure",
          },
        ],
        data: [],
      },
      samplingDate: "2021-10-11 15:15:30",
      legendData: [],
      xAxisData: [],
      seriesData: [],
      selectIdList: [],
    };
  },
  created() {
    // 表格数据
    this.init();
    // // 趋势图数据
    // this.tendencyChartData()
  },
  methods: {
    init() {
      getLxId(2, 8)
        .then((response) => {
          const { code, data, msg } = response;
          if (code === 200 && data.length !== 0) {
            for (let index = 0; index < data.length; index++) {
              const element = data[index];
              this.dropdownData.push({
                name: element.lmc,
                id: element.lxid,
              });
            }
            getEqmId(2, data[0].lxid, 8).then((response) => {
              const { code, data, msg } = response;
              if (code === 200 && data.length !== 0) {
                for (let index = 0; index < data.length; index++) {
                  const element = data[index];
                  this.selectIdList.push(element.id);
                }
                this.tableDataFun(data[0].id);
                this.echartDataFun(data[0].id, "1");
              }
            });
          } else {
            this.msgError(msg);
          }
        })
        .catch((err) => {
          this.msgError(err.msg);
        });
    },
    tableDataFun(data) {
      this.loading = true;
      SF6ControllerTable(data).then((response) => {
        const { code, data, msg } = response;
        if (code === 200 && data.length !== 0) {
          const dataList = data[0];
          this.samplingDate = dataList.dtime;
          this.tableData.data = [
            {
              phase: "A相",
              temperature: dataList.tempA,
              moisture: dataList.pmA,
              pressure: dataList.pressureA,
            },
            {
              phase: "B相",
              temperature: dataList.tempB,
              moisture: dataList.pmB,
              pressure: dataList.pressureB,
            },
            {
              phase: "C相",
              temperature: dataList.tempC,
              moisture: dataList.pmC,
              pressure: dataList.pressureC,
            },
          ];
        }
        this.loading = false;
      });
    },
    echartDataFun(data, type) {
      SF6ControllerLine(data).then((response) => {
        const { code, data, msg } = response;
        const arr = [];
        if (code === 200 && data.length !== 0) {
          for (let index = 0; index < data.length; index++) {
            const element = data[index];
            this.legendData.push(element.equipment);
            arr.push({
              name: element.equipment,
              data: echartData(element.currentVals),
            });
          }
          this.seriesData = arr;
          this.xAxisData = data[0].dtimes;
          if (type === '2') {
            this.tendencyChartChange();
          }
        } else {
          this.msgError(msg);
        }
      });
    },
    // 点击开关
    changeStatus: function ($event) {
      if (!$event) {
        this.cardShow = false;
        this.hideSwitchShow = true;
        this.switchValue = false;
      } else {
        this.cardShow = true;
        this.hideSwitchShow = false;
        this.switchValue = true;
      }
    },
    dropdownClick(command) {
      this.tableDataFun(this.selectIdList[command]);
      this.echartDataFun(this.selectIdList[command], "2");//后面的2，是为了区分首次加载还是选择加载
    },
    tendencyChartChange(type) {
      //   通知home页图标数据处理
      this.$emit(
        "dataDispose",
        this.legendData,
        this.xAxisData,
        this.seriesData,
        this.dropdownData.length !== 0
          ? "SF6 -" + this.dropdownData[0].name
          : "SF6 "
      );
    },
  },
};
</script>

<style rel="stylesheet/scss" lang="scss" scoped>
@import "~@/assets/stylesheet/card";

// 开光样式
.pageCard {
  // min-height: 295px;
  .cardTitle span {
    // padding: 0 5px;
    box-sizing: border-box;
  }
}
.backgroundTitle {
  margin-bottom: 0 !important;
}
/deep/ .el-table__empty-block {
  padding: 20px 0 !important;
  box-sizing: border-box;
}
</style>