<template>
  <div class="avue-top">
    <div class="top-bar__left">
      <div
        v-if="showCollapse"
        :class="[{ 'avue-breadcrumb--active': isCollapse }]"
        class="avue-breadcrumb"
      >
        <i class="icon-navicon" @click="setCollapse" />
      </div>
    </div>
    <div class="top-bar__title" style="display: flex; align-items: center">
      <top-menu />
      <div
        style="
          line-height: 64px;
          cursor: pointer;
          display: flex;
          align-items: center;
          height: 64px;
        "
      >
        <!-- <div class="daili2">
          <img class="daili2img" src="/img/qh2.png" alt="" />
        </div> -->
        <div class="daili">
          {{
            orgType == 0
              ? "系统后台"
              : orgType == 1
              ? "代理商后台"
              : orgType == 2
              ? "公司后台"
              : "项目后台"
          }}
        </div>
        
          <el-button @click="goChange" class="avue-header" style="margin-left: 10px;color: #fff;padding: 10px;">切换后台</el-button>
      </div>
      <div
        v-if="companyName"
        @click="goBack"
        style="
          line-height: 64px;
          cursor: pointer;
          display: flex;
          align-items: center;
          height: 64px;
          margin-left: 20px;
        "
      >
        <!-- <div class="daili2">
          <img class="daili2img" src="/img/qh1.png" alt="" />
        </div> -->
        <div class="daili">
          {{ companyName }}
        </div>
          <el-button @click="goBack" class="avue-header" style="margin-left: 10px;color: #fff;padding: 10px;">切换项目</el-button>
      </div>
    </div>
    <div class="top-bar__right">
      <el-tooltip
        v-if="showColor"
        effect="dark"
        content="主题色"
        placement="bottom"
      >
        <div class="top-bar__item">
          <top-color />
        </div>
      </el-tooltip>
      <!-- <el-tooltip
        v-if="showDebug"
        :content="logsFlag ? '没有错误日志' : `${logsLen}条错误日志`"
        effect="dark"
        placement="bottom"
      >
        <div class="top-bar__item">
          <top-logs />
        </div>
      </el-tooltip> -->
      <el-tooltip
        v-if="showLock"
        effect="dark"
        content="锁屏"
        placement="bottom"
      >
        <div class="top-bar__item">
          <top-lock />
        </div>
      </el-tooltip>
    <!--  暂时注释下一版本开发上线 -->
      <!-- <el-popover placement="bottom" trigger="hover" width="350">
        <el-table :data="gridData" @row-click="msgTap">
          <el-table-column
            width="324"
            property="date"
            :show-header="false"
          >
          <template slot-scope="scope">
            <div class="date">
              <span>{{ scope.row.dates }}</span>
              <span>{{ scope.row.date }}</span>
            </div>
          </template>
          </el-table-column>
        </el-table>
        <i slot="reference" class="el-icon-bell" style="font-size: 18px;color: #fff;"></i>
      </el-popover> -->

      <el-tooltip
        v-if="showTheme"
        effect="dark"
        content="特色主题"
        placement="bottom"
      >
        <div class="top-bar__item top-bar__item--show">
          <top-theme />
        </div>
      </el-tooltip>
      <el-tooltip
        v-if="showFullScreen"
        :content="isFullScreen ? '退出全屏' : '全屏'"
        effect="dark"
        placement="bottom"
      >
        <div class="top-bar__item">
          <i
            :class="isFullScreen ? 'icon-zuixiaohua' : 'icon-quanpingzuidahua'"
            @click="handleScreen"
          />
        </div>
      </el-tooltip>
      <el-tooltip
        v-if="userInfo.avatar"
        effect="dark"
        content="用户头像"
        placement="bottom"
      >
      </el-tooltip>
      <el-dropdown style="cursor: pointer">
        <span class="el-dropdown-link">
          {{ userInfo.username }}
          <i class="el-icon-arrow-down el-icon--right" />
        </span>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item divided>
            <router-link to="/">首页</router-link>
          </el-dropdown-item>
          <el-dropdown-item divided>
            <router-link to="/info/index">个人信息</router-link>
          </el-dropdown-item>
          <el-dropdown-item divided @click.native="$refs.seting.open()"
            >界面设置
          </el-dropdown-item>
          <el-dropdown-item divided @click.native="logout"
            >退出系统
          </el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
      <top-setting ref="seting" />
    </div>
  </div>
</template>
<script>
import { mapGetters, mapState } from "vuex";
import { fullscreenToggel, handleImg, listenfullscreen } from "@/util/util";
import topLock from "./top-lock";
import topMenu from "./top-menu";
import topTheme from "./top-theme";
import topLogs from "./top-logs";
import topColor from "./top-color";
import topSetting from "./top-setting";
import { getStore, setStore } from "@/util/store";
export default {
  name: "Top",
  components: {
    topLock,
    topMenu,
    topTheme,
    topLogs,
    topColor,
    topSetting,
  },
  filters: {},
  data() {
    return {
      options: [],
      value: "",
      companyName: localStorage.getItem("topName"),
      orgType: localStorage.getItem("orgType"),
      info: {},
      gridData: [
        {
          date: '121',
          dates: '阿达萨达撒',
        },
        {
          dates: '阿达萨达撒',
          date: '122'
        },
        {
          dates: '阿达萨达撒',
          date: '132'
        },
        {
          dates: '阿达萨达撒',
          date: '125'
        },
        {
          dates: '阿达萨达撒',
          date: '126'
        },
        {
          dates: '阿达萨达撒',
          date: '172'
        },
        {
          dates: '阿达萨达撒',
          date: '182'
        },
        {
          dates: '阿达萨达撒',
          date: '120'
        },
      ]
    };
  },
  computed: {
    ...mapState({
      showDebug: (state) => state.common.showDebug,
      showTheme: (state) => state.common.showTheme,
      showLock: (state) => state.common.showLock,
      showFullScreen: (state) => state.common.showFullScreen,
      showCollapse: (state) => state.common.showCollapse,
      showMenu: (state) => state.common.showMenu,
      showColor: (state) => state.common.showColor,
    }),
    ...mapGetters([
      "userInfo",
      "isFullScreen",
      "tagWel",
      "tagList",
      "isCollapse",
      "tag",
      "logsLen",
      "logsFlag",
    ]),
  },
  created() {
    handleImg(this.userInfo.avatar, "thumbnail");
    // this.getHouseList() //获取当前人的所有项目
  },
  mounted() {
    listenfullscreen(this.setScreen);
    this.info = getStore({ name: "userInfo" });
  },
  methods: {


    // 弹窗消息点击触发事件
    msgTap(e) {
      console.log(e, 'asdjilksajl')
      this.$router.push('/message')
    },

    handleScreen() {
      fullscreenToggel();
    },
    selectChange(e) {
      console.log(e);
      this.$emit("selectChange"); //关闭所有
      localStorage.setItem("houseId", e);
    },
    // getHouseList(){
    //   this.$api.api.queryHouseByUsername()
    //   .then(res=>{
    //     // console.log(res);
    //     this.options=res.data
    //     this.value=res.data[0].id
    //     localStorage.setItem('houseId',this.value)
    //   })
    // },
    goBack() {
      // 判断后退是否退回去选择页面
      let idx = localStorage.getItem("orgType");
      if (idx == 0) {
        // 质控管家后台
        // localStorage.setItem("topName", "");
        // localStorage.setItem("orgCode", "");
        // localStorage.setItem("houseId", "");
        // localStorage.setItem("agentId", "");
        return;
      }
      // 当他为其他时 先获取是否只有一个选项，然后在来进行判断
      if (idx == 1) {
        this.getAgentList();
        // 代理商
      }
      if (idx == 2) {
        this.getCompanyList();
        // 公司后台
      }
      if (idx == 3) {
        this.findByUserName();
        // 项目后台
      }
    },
    goChange() {
      let that = this;
      this.$api.api.getTab().then((res) => {
        // console.log(res)
        // 循环数组，给定各种标志
        if (res.data.length == 0) {
          // this.$message.warning("您已经被禁用");
          this.$message.warning("账号已禁止登录，请联系管理员恢复");
        } else if (res.data.length == 1) {
          let idx = res.data[0].orgType;
          localStorage.setItem("orgType", idx);
          // 给定一个判断是否可以跳转的东西
          localStorage.setItem("backFlag", false);
          // 当他只有质控后台时，不需要多余操作
          if (idx == 0) {
            // 质控管家后台
            localStorage.setItem("topName", "");
            localStorage.setItem("orgCode", "");
            localStorage.setItem("houseId", "");
            localStorage.setItem("agentId", "");
            // that.$router.push({ path: "/wel" });
          }
          // 当他为其他时 先获取是否只有一个选项，然后在来进行判断
          if (idx == 1) {
            this.getAgentList();
            // 代理商
          }
          if (idx == 2) {
            this.getCompanyList();
            // 公司后台
          }
          if (idx == 3) {
            this.findByUserName();
            // 项目后台
          }
        } else {
          this.$router.push({ path: "/check", query: { backFlag: true } });
        }
      });
    },
    // 获取代理商
    getAgentList() {
      this.$api.api
        .zkagentPage({
          current: 1,
          pageSize: 10,
        })
        .then((res) => {
          // console.log(res);
          // this.list = res.data.records;
          // this.total = res.data.total;
          if (res.data.total == 0) {
            this.$message.warning("您当前并未代理商");
            return;
          } else if (res.data.total > 1) {
            // 公司后台
            this.$router.push({ path: "/chose", query: { flag: 1 } });
          } else {
            this.$message.warning("您没有多余的代理商");
            return;
            this.$router.push({ path: "/wel" });
            localStorage.setItem("topName", res.data.records[0].agentName);
            localStorage.setItem("agentId", res.data.records[0].id);
            localStorage.setItem("orgCode", "");
            localStorage.setItem("houseId", "");
          }
        });
    },
    getCompanyList() {
      this.$api.api
        .zkorg({
          current: 1,
          size: 10,
          orgType: localStorage.getItem("orgType"),
        })
        .then((res) => {
          // console.log(res);
          // this.list = res.data.records;
          // this.total = res.data.total;
          if (res.data.total == 0) {
            this.$message.warning("您当前并未绑定公司");
            return;
          } else if (res.data.total > 1) {
            // 公司后台
            this.$router.push({ path: "/chose", query: { flag: 2 } });
          } else {
            this.$message.warning("您没有多余的公司");
            return;
            // this.$router.push({ path: "/wel" });
            localStorage.setItem("topName", res.data.records[0].name);
            localStorage.setItem("orgCode", res.data.records[0].orgCode);
            localStorage.setItem("agentId", "");
            localStorage.setItem("houseId", "");
          }
        });
    },
    findByUserName() {
      this.$api.api
        .findByUserName({
          username: this.info.username,
        })
        .then((res) => {
          // console.log(res);
          this.info.selectHouseType = res.selectHouseType;
          // 获取项目
          this.zkhousePage();
        });
    },
    zkhousePage() {
      let obj = {
        current: 1,
        size: 10,
        orgType: localStorage.getItem("orgType"),
      };
      if (this.info.selectHouseType == 1) {
        this.$api.api.zkhousePage(obj).then((res) => {
          // console.log(res)
          // this.list = res.data.records;
          // this.total = res.data.total;
          if (res.data.total == 0) {
            this.$message.warning("您当前并未绑定项目");
            return;
          } else if (res.data.total > 1) {
            // 公司后台
            this.$router.push({ path: "/chose", query: { flag: 3 } });
          } else {
            this.$message.warning("您没有多余的项目");
            return;
            // this.$router.push({ path: "/wel" });
            localStorage.setItem("topName", res.data.records[0].propertyName);
            localStorage.setItem("orgCode", res.data.records[0].orgCode);
            localStorage.setItem("agentId", "");
            localStorage.setItem("houseId", res.data.records[0].id);
          }
        });
      }
      if (this.info.selectHouseType == 2) {
        this.$api.api
          .findHouseByArea({
            id: null,
            ...obj,
          })
          .then((res) => {
            // console.log(res)
            // this.list = res.data.records;
            // this.total = res.data.total;
            if (res.data.total == 0) {
              this.$message.warning("您当前并未绑定项目");
              return;
            } else if (res.data.total > 1) {
              // 公司后台
              this.$router.push({ path: "/chose", query: { flag: 3 } });
            } else {
              this.$message.warning("您没有多余的项目");
              return;
              // this.$router.push({ path: "/wel" });
              localStorage.setItem("topName", res.data.records[0].propertyName);
              localStorage.setItem("orgCode", res.data.records[0].orgCode);
              localStorage.setItem("houseId", res.data.records[0].id);
              localStorage.setItem("agentId", "");
            }
          });
      }
    },
    setCollapse() {
      this.$store.commit("SET_COLLAPSE");
    },
    setScreen() {
      this.$store.commit("SET_FULLSCREEN");
    },
    logout() {
      this.$confirm("是否退出系统, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      }).then(() => {
        this.$store.dispatch("LogOut").then(() => {
          this.$router.push({ path: "/login" });
        });
      });
    },
  },
};
</script>

<style lang="scss" scoped>
.daili {
  color: #ffffff;
  font-size: 15px;
  margin-left: 4px;
}
.daili2 {
  height: 100%;
  line-height: 58px;
  .daili2img {
    width: 15px;
    height: 14px;
  }
}

.change {
  font-size: 16px;
  // color: #2671e2;
  color: white;
  margin-left: 10px;
}

.date {
  display: flex;
  flex-direction: column;
}
</style>
