<template>
  <!-- 如果id为66则显示首页,否则显示有侧边栏的页面 -->
  <div>
    <Home
      v-if="
        this.$route.params.id == 66 &&
        this.$store.state.columnmessage.data == ''
      "
    />
    <div v-else class="location">
      <img
        :src="this.$store.state.columnmessage.bgImgUrl"
        alt=""
        class="banner"
      />
      <!-- 顶部展示图片横幅 -->
      <div class="bannertitle">
        <p>{{ this.$store.state.columnmessage.TopColumnname }}</p>
        <p class="english">{{ this.$store.state.columnmessage.english }}</p>
      </div>
      <div class="container clearfix">
        <!-- <li class="leftmenutop" v-if="id">
          <p>{{  id}}</p>
        </li> -->
        <!-- 栏目左侧导航栏 -->
        <el-menu
          v-if="listData.length > 0"
          unique-opened
          :default-active="$route.params.a"
          class="el-menu-vertical-demo"
          background-color="#f3f3f3"
          text-color="#000"
          active-text-color="#fff"
          @open="handleOpen"
          @close="handleClose"
        >
          <!-- 侧边栏目的具体栏目child -->
          <Child :dataList="listData"></Child>
        </el-menu>

        <router-view />
      </div>
    </div>
  </div>
</template>

<script>
import { getColumnarticle } from "@/apis/request.js";
import { getColumnchildren } from "@/apis/request.js";
import { returnColumn } from "@/apis/request.js";
import Child from "@/components/Childmenu.vue";
import Home from "@/views/Home.vue";
export default {
  data() {
    return {
      id: 0,
      path: "",
      bgImgUrl: "",
      listData: [],
      columnmessage: {
        data: [],
        showType: 0,
        styleType: 0,
      },
    };
  },
  components: {
    Child, //侧边栏目
    Home, //首页
  },
  methods: {
    handleOpen(key) {
      console.log("key=>", key);
      this.$store.state.bottomcolumnid = key;
      this.$router.push({
        path:
          "/ChuanDa/" + this.$store.state.columnmessage.id + "/leftmenu/" + key,
      });
      getColumnarticle(key, 1).then((res) => {
        this.$store.state.columnmessage.data = res.list;
        this.$store.state.columnmessage.total = res.total;
      });
      returnColumn(key).then((res) => {
        // this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
        this.$store.state.columnmessage.columnName = res[0].columnName;
        // this.$store.state.columnmessage.english = res[0].english;
        this.$store.state.columnmessage.showType = res[0].showType;
        this.$store.state.columnmessage.styleType = res[0].styleType;
        this.$store.state.columnmessage.openMethod = res[0].openMethod;
        console.log(this.$store.state.columnmessage.styleType, 0);
      });
    },
    handleClose(key) {
      this.$store.state.bottomcolumnid = key;
      this.$router.push({
        path:
          "/ChuanDa/" + this.$store.state.columnmessage.id + "/leftmenu/" + key,
      });
      getColumnarticle(key, 1).then((res) => {
        this.$store.state.columnmessage.data = res.list;
        this.$store.state.columnmessage.total = res.total;
      });
      returnColumn(key).then((res) => {
        // this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
        this.$store.state.columnmessage.columnName = res[0].columnName;
        // this.$store.state.columnmessage.english = res[0].english;
        this.$store.state.columnmessage.showType = res[0].showType;
        this.$store.state.columnmessage.openMethod = res[0].openMethod;
        this.$store.state.columnmessage.styleType = res[0].styleType;
      });
    },
  },

  watch: {
    $route(to) {
      //  console.log('变化1')
      if (to.path.indexOf("/leftmenu/0") > -1) {
        console.log("变化1");
        this.id = this.$route.params.id;
        this.path = this.$route.path;
        getColumnchildren(this.id).then((res) => {
          console.log("res=>", res);
          this.listData = JSON.parse(JSON.stringify(res));
          if (res.length == 0) {
            this.$store.state.bottomcolumnid = 0;
            getColumnarticle(this.id, 1).then((res) => {
              this.$store.state.columnmessage.data = res.list;
              returnColumn(this.id).then((data) => {
                if (res.list.length == 1 && data[0].styleType != 2) {
                  let id = res.list[0].id;
                  this.$router.push({
                    path: `/ChuanDa/${this.$store.state.columnmessage.id}/leftmenu/${this.$store.state.bottomcolumnid}/description/${id}`,
                  });
                }
              });
              this.$store.state.columnmessage.total = res.total;
            });
            returnColumn(this.$route.params.id).then((res) => {
              this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
              this.$store.state.columnmessage.columnName = res[0].columnName;
              this.$store.state.columnmessage.english = res[0].english;
              this.$store.state.columnmessage.TopColumnname = res[0].columnName; //顶部名称

              this.$store.state.columnmessage.id = res[0].id;
              this.$store.state.columnmessage.openMethod = res[0].openMethod;
              this.$store.state.columnmessage.showType = res[0].showType;
              this.$store.state.columnmessage.styleType = res[0].styleType;
            });
          } else {
            returnColumn(this.$route.params.id).then((res) => {
              console.log(res,555)
              this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
              this.$store.state.columnmessage.TopColumnname = res[0].columnName;
              this.$store.state.columnmessage.english = res[0].english;
                //   this.listData.unshift({
                //   columnName: this.$store.state.columnmessage.TopColumnname,
                //   children: [],
                //   id: -1,
                // });
            });
            this.$store.state.bottomcolumnid = res[0].id;
            
           
            getColumnarticle(res[0].id, 1).then((res) => {
               console.log("数=>",res)
              this.$store.state.columnmessage.data = res.list;
              this.$store.state.columnmessage.total = res.total;
              // returnColumn(res[0].id).then((res) => {
              //   if (res[0].list.length == 1 && res[0].styleType != 2) {
              //     let id = res.list[0].id;
              //     this.$router.push({
              //       path: `/ChuanDa/${this.$store.state.columnmessage.id}/leftmenu/${this.$store.state.bottomcolumnid}/description/${id}`,
              //     });
              //   }
              // });
            });
            returnColumn(res[0].id).then((res) => {
              // this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
              this.$store.state.columnmessage.showType = res[0].showType;
              this.$store.state.columnmessage.styleType = res[0].styleType;
              this.$store.state.columnmessage.openMethod = res[0].openMethod;
              this.$store.state.columnmessage.columnName = res[0].columnName;
              //  this.$store.state.columnmessage.english = res[0].english;
              this.$router.push({
                path: `/ChuanDa/` + this.id + "/leftmenu/" + res[0].id,
              });
            });
          }
        });
      } else {
        getColumnarticle(this.$route.params.a, 1).then((res) => {
          this.$store.state.columnmessage.data = res.list;
          this.$store.state.columnmessage.total = res.total;
          returnColumn(this.$route.params.a).then((data) => {
            if (res.list.length == 1 && data[0].styleType != 2) {
              let id = res.list[0].id;
              this.$router.push({
                path: `/ChuanDa/${this.$store.state.columnmessage.id}/leftmenu/${this.$store.state.bottomcolumnid}/description/${id}`,
              });
            }
          });
        });
        returnColumn(this.$route.params.id).then((res) => {
          this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
          this.$store.state.columnmessage.TopColumnname = res[0].columnName;
          this.$store.state.columnmessage.english = res[0].english;
        });
        returnColumn(this.$route.params.a).then((res) => {
          // this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
          this.$store.state.columnmessage.showType = res[0].showType;
          this.$store.state.columnmessage.styleType = res[0].styleType;
          this.$store.state.columnmessage.openMethod = res[0].openMethod;
          this.$store.state.columnmessage.columnName = res[0].columnName;
          //  this.$store.state.columnmessage.english = res[0].english;
        });
      }
    },
  },
  created() {
    console.log("变化3");
    this.$store.state.bgImgUrl = null;
    this.id = this.$route.params.id;
    this.$store.state.columnmessage.id = this.$route.params.id;
    this.path = this.$route.path;
    getColumnchildren(this.id).then((res) => {
      this.listData = res;
      if (res.length == 0) {
        this.$store.state.bottomcolumnid = 0;
        getColumnarticle(this.id, 1).then((res) => {
          this.$store.state.columnmessage.data = res.list;
          this.$store.state.columnmessage.total = res.total;
          returnColumn(this.id).then((res) => {
            this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
            this.$store.state.columnmessage.columnName = res[0].columnName;
            this.$store.state.columnmessage.TopColumnname = res[0].columnName;
            this.$store.state.columnmessage.english = res[0].english;
            this.$store.state.columnmessage.openMethod = res[0].openMethod;
            this.$store.state.columnmessage.id = res[0].id;
            this.$store.state.columnmessage.showType = res[0].showType;
            this.$store.state.columnmessage.styleType = res[0].styleType;
            console.log(this.$store.state.columnmessage.styleType, 1);
            if (
              this.$store.state.columnmessage.data.length == 1 &&
              res[0].styleType != 2
            ) {
              let id = this.$store.state.columnmessage.data[0].id;
              this.$router.push({
                path: `/ChuanDa/${this.$store.state.columnmessage.id}/leftmenu/${this.$store.state.bottomcolumnid}/description/${id}`,
              });
            }
            if (this.$route.params.a != 0) {
              this.$store.state.bottomcolumnid = this.$route.params.a;
              returnColumn(this.$route.params.a).then((res) => {
                // this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
                this.$store.state.columnmessage.showType = res[0].showType;
                this.$store.state.columnmessage.openMethod = res[0].openMethod;
                this.$store.state.columnmessage.styleType = res[0].styleType;
                this.$store.state.columnmessage.columnName = res[0].columnName;
                // this.$store.state.columnmessage.english = res[0].english;
              });
              getColumnarticle(this.$route.params.a, 1).then((res) => {
                this.$store.state.columnmessage.data = res.list;
                this.$store.state.columnmessage.total = res.total;
              });
            }
          });
        });
      } else {
        // console.log("a");
        this.$store.state.bottomcolumnid = res[0].id;
        returnColumn(this.id).then((res) => {
          this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
          this.$store.state.columnmessage.TopColumnname = res[0].columnName;
          this.$store.state.columnmessage.english = res[0].english;
          // this.listData.unshift({
          //   columnName: this.$store.state.columnmessage.TopColumnname,
          //   children: [],
          //   id: -1,
          // });
          console.log("数据=>",this.listData)
        });
        if (this.$route.params.a != 0) {
          // console.log("b");
          this.$store.state.bottomcolumnid = this.$route.params.a;
          getColumnarticle(this.$route.params.a, 1).then((res) => {
            this.$store.state.columnmessage.data = res.list;
            this.$store.state.columnmessage.total = res.total;
            returnColumn(this.$route.params.a).then((data) => {
              // this.$store.state.columnmessage.bgImgUrl = data[0].bgImgUrl;
              this.$store.state.columnmessage.showType = data[0].showType;
              this.$store.state.columnmessage.openMethod = data[0].openMethod;
              this.$store.state.columnmessage.styleType = data[0].styleType;
              this.$store.state.columnmessage.columnName = data[0].columnName;
              //  this.$store.state.columnmessage.english = data[0].english;
              if (res.list.length == 1 && data[0].styleType != 2) {
                let id = res.list[0].id;
                this.$router.push({
                  path: `/ChuanDa/${this.$store.state.columnmessage.id}/leftmenu/${this.$store.state.bottomcolumnid}/description/${id}`,
                });
              }
              console.log(data, 666);
              console.log(
                this.$store.state.columnmessage.styleType,
                "styleType1"
              );
            });
          });
        } else {
          if (this.$route.params.b != undefined) {
            returnColumn(this.$route.params.id).then((res) => {
              this.$store.state.columnmessage.styleType = res[0].styleType;
              console.log(res[0].bgImgUrl, 3);
            });
            // console.log("c");
            return false;
          }
          console.log("d");
          this.$router.push({
            path: `/ChuanDa/` + this.id + "/leftmenu/" + res[0].id,
          });
          getColumnarticle(res[0].id, 1).then((res) => {
            this.$store.state.columnmessage.data = res.list;
            this.$store.state.columnmessage.total = res.total;
          });
          returnColumn(res[0].id).then((res) => {
            // this.$store.state.columnmessage.bgImgUrl = res[0].bgImgUrl;
            this.$store.state.columnmessage.showType = res[0].showType;
            this.$store.state.columnmessage.openMethod = res[0].openMethod;
            this.$store.state.columnmessage.styleType = res[0].styleType;
            this.$store.state.columnmessage.columnName = res[0].columnName;
            // this.$store.state.columnmessage.english = res[0].english;
          });
        }
      }
    });
  },
  mounted() {
    
  },
  computed: {},
};
</script>

<style lang="less" scoped>
.banner {
  // display: block;
  width: 100%;
  height: 180px;

  .location {
    position: relative;
  }
}
.bannertitle {
  width: 445px;
  height: 151px;
  background: #409eff;
  opacity: 0.8;
  position: absolute;
  right: 46px;
  top: 99px;
  font-size: 36px;
  color: #fff;
  text-align: center;
  .english {
    font-size: 30px;
    text-transform: uppercase;
  }
  p {
    margin-top: 20px;
  }
}
.el-menu {
  text-align: center;
  width: 200px;
  border-right: 0px;
  float: left;
  .leftmenutop {
    line-height: 51px;
    width: 180px;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 10px;
    font-size: 18px;
    p {
      border-bottom: 2px solid #ccc;
    }
  }
  .el-menu-item {
    font-size: 16px;
  }
  .el-submenu {
    .el-submenu__title {
      span {
        font-size: 16px;
      }
    }
  }
}
</style>