mainIndex.vue 7.96 KB
<template>
  <div class="container">
    <ul class="nav-list" v-if="type == '学校管理员'">
      <li class="nav-item item1" @click="links('setUpAccount')">
        <img class="icon" src="../../assets/nav/setUpAccount.png" alt="" />
        <div class="text">
          <p class="p1">账号管理</p>
          <p class="p2">管理32个任课教师,14个班主任,3个备课组长账号信息。</p>
        </div>
      </li>
      <li class="nav-item item1" @click="links('setUpSchool')">
        <img class="icon" src="../../assets/nav/setUpSchool.png" alt="" />
        <div class="text">
          <p class="p1">学校管理</p>
          <p class="p2">管理6个年级,3个班级,397名学生信息。</p>
        </div>
      </li>
      <li class="nav-item item2" @click="links('device')">
        <img class="icon" src="../../assets/nav/device.png" alt="" />
        <div class="text">
          <p class="p1">设备状态</p>
          <p class="p2">管理14个基站,396套答题器设备。</p>
        </div>
      </li>
      <li class="item3">
        <div class="nav-item item1 item-child1" @click="links('analysis')">
          <img class="icon" src="../../assets/nav/analysis.png" alt="" />
          <div class="text">
            <p class="p1">使用分析</p>
            <p class="p2">按班级、科目等维度分析设备使用频率。</p>
          </div>
        </div>
        <div class="nav-item item1 item-child2" @click="links('card')">
          <img class="icon" src="../../assets/nav/card.png" alt="" />
          <p class="p1">发卡补卡</p>
          <p class="p2">为学生办理发卡、补卡业务。</p>
        </div>
        <div class="nav-item item1 item-child2" @click="links('down')">
          <img class="icon" src="../../assets/nav/down.png" alt="" />
          <p class="p1">软件下载</p>
          <p class="p2">设置参数,下载授课端软件。</p>
        </div>
      </li>
    </ul>
    <ul class="nav-list" v-if="type == '集团管理员'">
      <li v-for="item in navList" :key="item.path" class="nav-item item4" @click="links(item.path)">
        <img class="icon" :src="getImgs(item.path)" alt="" />
          <div class="text" v-if="item.path == 'setUpConglomerate'">
            <p class="p1">学校管理</p>
            <p class="p2">管理3个区域,14个学校。</p>
          </div>
          <div class="text" v-else-if="item.path == 'setUpAccount'">
            <p class="p1">账号管理</p>
            <p class="p2">共35个各层级管理员账号。</p>
          </div>
          <div class="text" v-else-if="item.path == 'device'">
            <p class="p1">设备状态</p>
            <p class="p2">管理14个基站,396套答题器设备。</p>
          </div>
          <div class="text" v-else>
            <p class="p1">使用分析</p>
            <p class="p2">按软件功能、题型统计使用频率。</p>
          </div>
      </li>
    </ul>
    <ul class="nav-list" v-if="type == '班主任' || type == '任课老师' ">
      <li v-for="item in navList" :key="item.path" class="nav-item item4" @click="links(item.path)">
        <img class="icon" :src="getImgs(item.path)" alt="" />
          <div class="text" v-if="item.path == 'examinationPaper'">
            <p class="p1">备题组卷</p>
            <p class="p2">管理32套答题卡。</p>
          </div>
          <div class="text" v-else-if="item.path == 'portrait'">
            <p class="p1">学生画像</p>
            <p class="p2">共分析532名学生成绩。</p>
          </div>
          <div class="text" v-else-if="item.path == 'ask'">
            <p class="p1">随堂问报表</p>
            <p class="p2">对41套随堂问答题记录分析。</p>
          </div>
          <div class="text" v-else>
            <p class="p1">即时测报表</p>
            <p class="p2">对28套即时测答题记录分析。</p>
          </div>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  name: "mainIndex",
  data() {
    return {
      // type: "学校管理员",
      // type: "集团管理员",
      // type: "班主任",
      type: "任课老师",
      navList: [
        // {
        //   name: "学校管理",
        //   path: "setUpConglomerate",
        // },
        // {
        //   name: "账号管理",
        //   path: "setUpAccount",
        // },
        // {
        //   name: "设备状态",
        //   path: "device",
        // },
        // {
        //   name: "使用分析",
        //   path: "analysis",
        // },
        {
          name: "备题组卷",
          path: "examinationPaper",
        },
        {
          name: "学生画像",
          path: "portrait",
        },
        {
          name: "随堂问报表",
          path: "ask",
        },
        {
          name: "即时测报表",
          path: "test",
        },
      ],
    };
  },
  mounted() {},
  methods: {
    getImgs(path) {
      return require(`@/assets/nav/${path}.png`)
    },
    links(path) {
      this.$router.push({
        path: `/${path}`,
      });
    },
  },
};
</script>

<style lang="scss">
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 100px 90px 0 50px;
  .nav-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    .nav-item {
      background: #f8f8f8;
      border-radius: 20px;
      box-shadow: 3px 3px 3px #aaaaaa59;
      cursor: pointer;
      &:hover {
        background-color: #ededed;
      }
      .icon {
        width: 110px;
        height: 110px;
        border-radius: 50%;
      }
      .p1 {
        font-size: 18px;
        color: #333;
        line-height: 18px;
        margin-bottom: 12px;
        font-weight: 500;
      }
      .p2 {
        font-size: 14px;
        color: #999;
      }
    }
    .item1 {
      width: calc(50% - 10px);
      flex-shrink: 0;
      display: flex;
      justify-content: center;
      margin-right: 20px;
      margin-bottom: 20px;
      box-sizing: border-box;
      padding: 40px 80px;
      &:nth-child(2) {
        margin-right: 0;
      }
      .icon {
        margin-right: 20px;
      }
      .text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-top: 10px;
      }
      .p2 {
        line-height: 24px;
      }
      &.item-child1 {
        width: 100%;
        height: calc(50% - 8px);
        margin-bottom: 16px;
        padding: 0 20px;
        align-items: center;
        .icon {
          width: 80px;
          height: 80px;
        }
      }
      &.item-child2 {
        height: calc(50% - 8px);
        margin-right: 20px;
        flex-wrap: wrap;
        padding: 12px 30px;
        .icon {
          width: 60px;
          height: 60px;
        }
        .p1 {
          flex: 1;
          line-height: 60px;
          margin-bottom: 0;
        }
        .p2 {
          width: 100%;
        }
        &:last-of-type {
          margin-right: 0;
        }
      }
    }
    .item2 {
      width: calc(50% - 10px);
      height: 240px;
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      margin-right: 20px;
      box-sizing: border-box;
      padding: 30px 0;
      text-align: center;
      &:last-of-type {
        margin-right: 0;
      }
      .icon {
        margin-bottom: 20px;
      }
      .p2 {
        line-height: 16px;
      }
    }
    .item3 {
      width: calc(50% - 10px);
      height: 240px;
      display: flex;
      flex-wrap: wrap;
    }
    .item4 {
      width: calc(50% - 10px);
      flex-shrink: 0;
      display: flex;
      justify-content: flex-start;
      margin-right: 20px;
      margin-bottom: 20px;
      box-sizing: border-box;
      padding: 40px 80px;
      &:nth-child(2n) {
        margin-right: 0;
      }
      .icon {
        margin-right: 20px;
      }
      .text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-top: 10px;
      }
      .p2 {
        line-height: 24px;
      }
    }
  }
}
</style>