<template>
  <a-dropdown>
    <slot>
      <a class="ant-dropdown-link" @click="(e) => e.preventDefault()">
        {{ user.site_name }} <a-icon type="down" />
      </a>
    </slot>
    <a-menu slot="overlay">
      <a-menu-item v-for="(item, index) in sitelist" :key="index">
        <a href="javascript:;" @click="clickSite(item.id, item.name)">{{
          item.name
        }}</a>
      </a-menu-item>
    </a-menu>
  </a-dropdown>
</template>
<script>
import { waitedListdata, waitedSavesite } from "@/services/default";
// import { setAuthorization } from "@/utils/request";
import { mapGetters, mapMutations } from "vuex";
export default {
  data() {
    return {
      sitelist: [],
    };
  },
  computed: {
    ...mapGetters("account", ["user"]),
  },
  created() {
    this.getwaitedListdata();
  },
  methods: {
    ...mapMutations("account", ["setUser"]),
    getwaitedListdata() {
      waitedListdata({}).then((res) => {
        const { code, data, msg } = res.data;
        if (code == 0) {
          this.sitelist = data;
        } else {
          this.$message.error(`站点错误:${msg}`);
        }
      });
    },
    clickSite(siteid, site_name) {
      waitedSavesite({ siteid: siteid }).then((res) => {
        const { code, data, msg } = res.data;
        if (code == 0) {
          let user = JSON.parse(
            localStorage.getItem(process.env.VUE_APP_USER_KEY)
          );
          user.siteid = siteid;
          user.site_name = site_name;
          this.setUser(user);
          // setAuthorization(data);
        } else {
          this.$message.error(msg);
        }
      });
    },
  },
};
</script>
<style lang="less" scoped>
.ant-dropdown-link {
  color: #fff;
  padding: 0 20px;
}
</style>