HomePage.vue 3.19 KB
<template>
  <div class="HomePage">
    <Header />
    <div class="content">
      <div class="navs">
        <el-menu
          :default-active="activeMenu"
          class="el-menu-vertical-demo"
          :collapse="true"
          router
        >
          <el-menu-item index="/homePage">
            <i class="el-icon-menu"></i>
            <span slot="title">首页</span>
          </el-menu-item>
          <div v-for="v in navList" :key="v.id">
            <template v-if="v.children && v.children.length">
              <el-submenu :index="v.path">
                <template slot="title">
                  <i class="el-icon-location"></i>
                </template>
                <el-menu-item-group>
                  <span slot="title">分组一</span>
                  <el-menu-item :index="item.path" v-for="item in v.children" :key="item.id">{{item.meta.title}}</el-menu-item>
                </el-menu-item-group>
              </el-submenu>
            </template>
            <template v-else>
              <el-menu-item :index="v.path">
                <i class="el-icon-menu"></i>
                <span slot="title">{{v.meta.title}}</span>
              </el-menu-item>
            </template>
          </div>
        </el-menu>
      </div>
      <div class="table-box">
        <div class="search">
          <div class="ipt-box">
            <el-input
              placeholder="请输入应用名称,企业名称进行查询"
              v-model="searchKeyword"
            ></el-input>
            <el-button type="primary" @click="toSearchInfoList">搜索</el-button>
          </div>
          <infoForm type="add">
            <el-button type="success">新增</el-button>
          </infoForm>
          <el-button type="text" style="color: #fff; margin-left: 10px"
            >更多</el-button
          >
        </div>
        <div class="info">
          <router-view></router-view>
        </div>
      </div>
      <div class="news">
        <div class="news-item">
          <div class="icon-item">
            <i class="el-icon-s-order"></i>
          </div>
          <div class="nav-title">我的待办</div>
        </div>
        <div class="news-item">
          <div class="icon-item">
            <i class="el-icon-message-solid"></i>
            <div class="red-spot"></div>
          </div>
          <div class="nav-title">我的消息</div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
import Header from "./components/Header";
import { navArr } from "@/assets/mockdata/demodata.json";
export default {
  name: "HomePage",
  components: {
    Header,
  },
  data() {
    return {
      navList: this.$router.options.routes.filter(v => !v.hidden),
      searchKeyword: "",
    };
  },
  created() {
    console.log(this.$router.options.routes.filter(v => !v.hidden));
  },
  mounted() {},
  computed: {
    // 默认激活的菜单
    activeMenu() {
      console.log('activeMenu', this.$route.path);
      return this.$route.path;
    },
  },
  methods: {
    toSearchInfoList() {
      this.$router.push({
        path: "/infoList",
        query: { keyword: this.searchKeyword },
      });
    },
  },
};
</script>

<style scoped lang="scss">
@import "./homePage.scss";
</style>