name 6 gadi atpakaļ
vecāks
revīzija
f385ea7ef2

+ 1 - 0
.eslintrc.js

@@ -8,6 +8,7 @@ module.exports = {
   },
   env: {
     browser: true,
+    jquery: true
   },
   // https://github.com/standard/standard/blob/master/docs/RULES-en.md
   extends: 'standard',

+ 1 - 0
build/webpack.base.conf.js

@@ -2,6 +2,7 @@ var path = require('path')
 var utils = require('./utils')
 var config = require('../config')
 var vueLoaderConfig = require('./vue-loader.conf')
+var webpack = require('webpack')
 
 function resolve (dir) {
   return path.join(__dirname, '..', dir)

+ 14 - 3
src/axios/index.js

@@ -2,6 +2,8 @@ import axios from 'axios'
 import qs from 'qs'
 import util from '@/js/util'
 import { TIME_OUT } from '@/config'
+import router from '@/router';
+import { Message } from 'element-ui'
 
 // 网络请求前拦截器
 axios.interceptors.request.use(resquest => {
@@ -28,8 +30,17 @@ axios.interceptors.response.use(response => {
 // 数据统一处理来自网络及服务器的错误
 function checkStatus (response) {
     if (response && response.status === 200 || response && response.status === 304){
+        Message.success('请求成功')
         return response.data
-    } else {
+    }
+    if (response && response.status === 401){
+        sessionStorage.removeItem("accessToken")
+        router.replace({
+            path: '/' // 到登录页重新获取token
+        })
+        Message.error('登陆失效,请重新登录')
+    }  else {
+        Message.error('网络错误')
         return response && response.statusText || '网络错误'
     }
 }
@@ -41,8 +52,8 @@ function checkCode (response) {
     }
     return response
 }
-let accessToken = sessionStorage.getItem("accessToken")
-// let accessToken = "jAf6LV0HJJiIvhgvIHCM2t10GW7lHt5VAUE13pmj2lLEWlzQyNqx9dbVG0aXpTvn"
+// let accessToken = sessionStorage.getItem("accessToken")
+let accessToken = "evbOfyzBDlwwi2Tn8KTc5h3sWKsbrpbiazL7wYh7vyTs9KtJ1vANq6j3DmOwFjbL"
 
 // export default ({method = 'post', url = '', params = {}}) => {
 // 	return new Promise((resolve, reject) => {

+ 24 - 10
src/components/MenuComponent.vue

@@ -7,7 +7,6 @@
     <!-- v-show="roles.indexOf(item.id) >= 0" -->
     <el-col
       :span="2"
-      v-show="roles.indexOf(item.id) >= 0"
       v-for="(item, index) of menuData"
       :key="item.index"
       @click.native="secondNavClick(item,index)"
@@ -16,7 +15,7 @@
       <span class="lineStyle" :class="{active:index == checkindex,menu_item:true}">{{item.name}}</span>
     </el-col>
 
-    <el-col :span="4" :offset="2">
+    <el-col :span="4" :offset="12">
       <div class="login">   
         <img  class="userstyle"  :src="BASE_URL + avatar" alt="">
         <!-- <img class="userstyle" src="../assets/img/user.jpg"> -->
@@ -44,21 +43,35 @@ export default {
        BASE_URL: "https://xt.sharingschool.com/upload/",
       menuData: [
         {
-          id: "1",
+          id: "2",
           name: "校区群管理员",
           href: "SchoolManager"
         },
         {
-          id: "1",
+          id: "2",
           name: " 在线批改老师",
           href: "TeacherApporval"
-        },
-        {
-          id: "2",
-          name: "",
-          href: "TeacherPay"
         }
-
+        // {
+        //   id: "3",
+        //   name: "",
+        //   href: "TeacherPay"
+        // },
+        // {
+        //   id: "1",
+        //   name: "校区管理员",
+        //   href: "SuperAdmin"
+        // },
+        // {
+        //   id: "1",
+        //   name: " 批改老师注册审核",
+        //   href: "CheckTeacherAudit"
+        // },
+        // {
+        //   id: "3",
+        //   name: "批改老师薪酬表",
+        //   href: "CheckTeacherPay"
+        // }
       ],
       checkindex: 0
     };
@@ -158,6 +171,7 @@ export default {
   font-size: 14px;
   color: #666666;
   display: inline-block;
+  cursor: pointer;
 }
 .out-img {
   width: 16px;

+ 32 - 11
src/components/SuperComponent.vue

@@ -10,17 +10,19 @@
 
       </el-col>
 
-      <el-col :span="3"  :offset="10">
-        <div class="login">
-          <img class="userstyle" src="../assets/img/user.jpg"/>
-          <span>李老师</span>
-          <i class="el-icon-caret-bottom"></i>
-        </div>
-        <div class="out">
-          <img src="../assets/img/out.png" alt="" class="out-img">
-          <span>退出</span>
-        </div>
-      </el-col>
+      <el-col :span="4" :offset="9">
+      <div class="login">   
+        <img  class="userstyle"  :src="BASE_URL + avatar" alt="">
+        <!-- <img class="userstyle" src="../assets/img/user.jpg"> -->
+        <span>{{name}}</span>
+        <i class="el-icon-caret-bottom"></i>
+      </div>
+      <div class="out">
+        <img src="../assets/img/out.png" alt class="out-img">
+        <span @click="Loginout">退出</span>
+      </div>
+    </el-col>
+    <el-col :span="1"></el-col>
   </el-col>
 </template>
 
@@ -33,6 +35,7 @@ export default {
   // },
   data() {
     return {
+         BASE_URL: "https://xt.sharingschool.com/upload/",
       menuData: [ {
     id: "2",
     name: "校区管理员",
@@ -66,6 +69,24 @@ export default {
     secondNavClick(val, index) {
       this.$router.push("/super/" + val.href);
       this.checkindex = index;
+    },
+     //  账号管理、退出登录
+    Loginout() {
+      this.$confirm("您确定退出吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          localStorage.removeItem("accessToken");
+          this.$store.dispatch("LogOut").then(() => {
+            location.reload(); // 为了重新实例化vue-router对象 避免bug
+          });
+        })
+        .catch(() => {
+          // console.log(err)
+          this.$message("已取消操作!");
+        });
     }
   },
   computed: {

+ 1 - 0
src/main.js

@@ -25,6 +25,7 @@ import "./assets/css/element_amend.css";
 import '../node_modules/bootstrap/dist/css/bootstrap.min.css';
 import '../node_modules/bootstrap/dist/js/bootstrap.min.js';
 import '@/permission' // permission control
+// import 'jquery'
 Vue.config.productionTip = false;
 // axios.defaults.withCredentials = true
 Vue.prototype.$zrender = zrender;

+ 116 - 84
src/pages/home/SchoolManager.vue

@@ -23,7 +23,7 @@
           </el-col>
           <el-col :span="4">
             <div class="main-header-item">
-              <span>分配批改作业:{{monitorTeacherList.unCorrectCount}}份</span>
+              <span>分配批改作业:{{monitorTeacherList.unCorrectCount}}份</span>
               <span @click="isShow(monitorTeacherList,2)" class="main-header-link">去分配</span>
             </div>
           </el-col>
@@ -60,11 +60,13 @@
               <el-button @click="InfoWatch" slot="append" icon="el-icon-search"></el-button>
             </el-input>
           </el-col>
+
           <!--<div class="block">-->
             <!--<el-date-picker-->
               <!--v-model="filters.MaxtimeValue"-->
               <!--value-format="yyyy-MM-dd HH:mm:ss"-->
               <!--type="date"-->
+                <!--@change="InfoWatch"-->
               <!--placeholder="选择日期"-->
             <!--&gt;</el-date-picker>-->
           <!--</div>-->
@@ -122,23 +124,32 @@
                       <el-button type="warning" plain>去检查</el-button>
                     </div>
                   </div>
+                     <!-- 分页显示 -->
+            <el-pagination
+            background
+            @size-change="handleSizeChange3"
+            @current-change="pageChange3"
+            :page-sizes="[10, 20, 30, 40]"
+             layout="total, sizes, prev, pager, next, jumper"
+             :total= parseInt(TeacherHomeworkList.pages)
+            ></el-pagination>
                 </div>
               </div>
             </div>
             <!-- 分页显示 -->
-            <!-- <el-pagination
+            <el-pagination
             background
             @size-change="handleSizeChange"
             @current-change="pageChange"
             :page-sizes="[10, 20, 30, 40]"
              layout="total, sizes, prev, pager, next, jumper"
-           :total="TeacherHomeworkList.pages"
-            ></el-pagination>-->
+             :total= parseInt(monitorTeacherList.pages)
+            ></el-pagination>
             <!-- <div style="float:right;margin-left:15px;">
             <el-button @click="myVisible = false" size="small">取 消</el-button>
             <el-button type="primary" size="small" @click="submit">确定</el-button>
-          </div>
-            <div style="clear:both;"></div>-->
+          </div> -->
+            <div style="clear:both;"></div>
           </el-col>
         </el-row>
       </el-col>
@@ -184,7 +195,8 @@
           <el-col :span="4">
             <div class="block">
               <el-date-picker
-                v-model="filters.MaxtimeValue"
+               @change="InfoWatchDay"
+                v-model="filters1.MaxtimeValue"
                 value-format="yyyy-MM-dd HH:mm:ss"
                 type="date"
                 placeholder="选择日期"
@@ -221,19 +233,19 @@
               </div>
             </div>
             <!-- 分页显示 -->
-            <!-- <el-pagination
+            <el-pagination
             background
-            @size-change="handleSizeChange"
-            @current-change="pageChange"
+            @size-change="handleSizeChange1"
+            @current-change="pageChange1"
             :page-sizes="[10, 20, 30, 40]"
              layout="total, sizes, prev, pager, next, jumper"
-           :total="TeacherHomeworkList.pages"
-            ></el-pagination>-->
+              :total= parseInt(DayTeacherList.pages)
+            ></el-pagination>
             <!-- <div style="float:right;margin-left:15px;">
             <el-button @click="myVisible = false" size="small">取 消</el-button>
             <el-button type="primary" size="small" @click="submit">确定</el-button>
-          </div>
-            <div style="clear:both;"></div>-->
+          </div> -->
+            <div style="clear:both;"></div>
           </el-col>
         </el-row>
       </el-col>
@@ -279,7 +291,8 @@
           <el-col :span="4">
             <div class="block">
               <el-date-picker
-                v-model="filters.MaxtimeValue"
+               @change="InfoWatchMoth"
+                v-model="filters2.MaxtimeValue"
                 value-format="yyyy-MM-dd HH:mm:ss"
                 type="date"
                 placeholder="选择日期"
@@ -288,22 +301,22 @@
           </el-col>
         </el-row>
          <el-row :gutter="20" class="main-header">
-          <el-col :span="3">
+          <el-col :span="3" :offset="1">
             <div class="main-header-item" @click="isShow(1)">月出勤率:{{MothTeacherList.attendanceRate}}</div>
           </el-col>
-           <el-col :span="3">
+           <el-col :span="4">
             <div class="main-header-item" @click="isShow(1)">批改总份数:{{MothTeacherList.homeworkCount}}</div>
           </el-col>
-           <el-col :span="3">
+           <el-col :span="4">
             <div class="main-header-item" @click="isShow(1)">批改总张数:{{MothTeacherList.homeworkPicCount}}</div>
           </el-col>
-           <el-col :span="3">
+           <el-col :span="4">
             <div class="main-header-item" @click="isShow(1)">批改平均时间:{{MothTeacherList.avgTime}}</div>
           </el-col>
-           <el-col :span="3">
+           <el-col :span="4">
             <div class="main-header-item" @click="isShow(1)">平均满意度:{{MothTeacherList.satisfactionDegree}}</div>
           </el-col>
-           <el-col :span="3">
+           <el-col :span="4">
             <div class="main-header-item" @click="isShow(1)">正确率:{{MothTeacherList.accuracyRate}}</div>
           </el-col>
         </el-row>
@@ -340,19 +353,19 @@
               </div>
             </div>
             <!-- 分页显示 -->
-            <!-- <el-pagination
+            <el-pagination
             background
-            @size-change="handleSizeChange"
-            @current-change="pageChange"
+            @size-change="handleSizeChange2"
+            @current-change="pageChange2"
             :page-sizes="[10, 20, 30, 40]"
              layout="total, sizes, prev, pager, next, jumper"
-           :total="TeacherHomeworkList.pages"
-            ></el-pagination>-->
+           :total= parseInt(MothTeacherList.pages)
+            ></el-pagination>
             <!-- <div style="float:right;margin-left:15px;">
             <el-button @click="myVisible = false" size="small">取 消</el-button>
             <el-button type="primary" size="small" @click="submit">确定</el-button>
-          </div>
-            <div style="clear:both;"></div>-->
+          </div> -->
+            <div style="clear:both;"></div>
           </el-col>
         </el-row>
       </el-col>
@@ -403,6 +416,7 @@
           <div>所有未批改作业</div>
         </div>
         <div>
+          <!-- UnallotHomeworkInfo -->
           <div class="tr-set" v-for="(v, k) of TeacherHomeworkList.list" :key="k">
             <div class="tr-secon">{{k+1}}</div>
             <div class="tr-secon" style="width:50px;">
@@ -419,12 +433,16 @@
               <el-button type="success">去分配</el-button>
             </div>
           </div>
+            <el-pagination
+            background
+            @size-change="handleSizeChange3"
+            @current-change="pageChange3"
+            :page-sizes="[10, 20, 30, 40]"
+             layout="total, sizes, prev, pager, next, jumper"
+             :total= parseInt(TeacherHomeworkList.pages)
+            ></el-pagination>
         </div>
-        <!-- <el-table :data="tableData" style="width: 100%">
-          <el-table-column prop="date" label="日期" width="180"></el-table-column>
-          <el-table-column prop="name" label="姓名" width="180"></el-table-column>
-          <el-table-column prop="address" label="地址"></el-table-column>
-        </el-table>-->
+  
       </div>
     </div>
     <!-- 老师详情弹框 -->
@@ -560,32 +578,8 @@ export default {
           text: "当月"
         }
       ],
-      dataList: [
-        {
-          img: "../../assets/img/user.jpg",
-          names: "阿三",
-          number: "3",
-          time: "14:22",
-          allTime: "14:22",
-          rate: "222",
-          status: "22"
-        },
-        {
-          img: "../../assets/img/user.jpg",
-          names: "阿三",
-          number: "3",
-          time: "14:22",
-          allTime: "14:22",
-          rate: "222",
-          status: "22"
-        }
-      ],
       filters: {
         //超级管理员的当天数据
-        actvNm: "",
-        actvCrtUserId: "",
-        actvType: "",
-        actvSmallType: "",
         // 排序
         MaxtimeValue: "",
         OptionsValue: "",
@@ -595,14 +589,11 @@ export default {
         pageSize: 10,
         count: 100,
         orderField: "",
-        orderAD: ""
+        orderAD: "",
+        managerId:''
       },
       filters1: {
         //超级管理员的当天数据
-        actvNm: "",
-        actvCrtUserId: "",
-        actvType: "",
-        actvSmallType: "",
         // 排序
         MaxtimeValue: "",
         OptionsValue: "",
@@ -616,10 +607,19 @@ export default {
       },
       filters2: {
         //超级管理员的当月数据
-        actvNm: "",
-        actvCrtUserId: "",
-        actvType: "",
-        actvSmallType: "",
+        // 排序
+        MaxtimeValue: "",
+        OptionsValue: "",
+        gradesValue: "",
+        inputValue: "",
+        pageNo: 1,
+        pageSize: 10,
+        count: 0,
+        orderField: "",
+        orderAD: ""
+      },
+        filters3: {
+        //超级管理员查看学员列表
         // 排序
         MaxtimeValue: "",
         OptionsValue: "",
@@ -633,7 +633,8 @@ export default {
       },
       homeworkLIst: {
         pageNo: 1,
-        pageSize: 10
+        pageSize: 10,
+        teacherId:""
       },
       allotList: {
         Allotgarde: "",
@@ -691,7 +692,8 @@ export default {
         teacherName: this.filters.inputValue,
         maxCreateTime: this.filters.MaxtimeValue,
         pageNo: this.filters.pageNo,
-        pageSize: this.filters.pageSize
+        pageSize: this.filters.pageSize,
+        managerId:this.filters.managerId
       });
     },
     // 获取校区管理员当天数据
@@ -718,6 +720,7 @@ export default {
     },
     // 查看老师批改作业列表
     async TeacherHomework(v) {
+      this.homeworkLIst.teacherId =  v.teacherId
       this.$store.dispatch("TeacherHomeworkList", {
         teacherId: v.teacherId,
         maxCreateTime: this.filters.MaxtimeValue,
@@ -725,6 +728,15 @@ export default {
         pageSize: this.homeworkLIst.pageSize
       });
     },
+       // 分页查看老师批改作业列表
+    async TeacherHomeworkfy() {
+      this.$store.dispatch("TeacherHomeworkList", {
+        teacherId: this.homeworkLIst.teacherId,
+        maxCreateTime: this.filters.MaxtimeValue,
+        pageNo: this.homeworkLIst.pageNo,
+        pageSize: this.homeworkLIst.pageSize
+      });
+    },
     // 可分配老师列表
     async TeacherAllot(v) {
       this.$store.dispatch("TeacherAllotList", {
@@ -735,7 +747,7 @@ export default {
         pageSize: this.allotList.pageSize
       });
     },
-    // 批改作业列表列表
+    // 批改作业列表列表
     async UnallotHomework() {
       this.$store.dispatch("UnallotHomeworkList", {
         maxCreateTime: this.filters.MaxtimeValue,
@@ -763,10 +775,8 @@ export default {
       this.$store.dispatch("GetStudentDetail", {
         vipId: v.vipId,
       });
-        debugger
     },
     selectTitle(k) {
-      console.log(k);
       this.modelindex = k;
       if (k === 0) {
         this.InfoWatch();
@@ -780,6 +790,8 @@ export default {
     },
     isShow(v, str) {
       let _this = this;
+      // scroll= (window).scrollTop();
+      // $ ( ‘html’ ).css({ ‘overflow’ : ’hidden’ , ’position’: ’fixed’, ’top’: ’- ‘+scroll+’px’})
       if (str == 1) {
         _this.hiddenModel = true;
         this.TeacherAllot(v);
@@ -825,11 +837,6 @@ export default {
         }
       }
     },
-    // 分页
-    pageChange(val) {
-      this.filters.pageNo = val;
-      this.InfoWatch();
-    },
     changeDateSlot(dateSlot) {
       if (dateSlot) {
         this.filters.startDate = dateSlot[0];
@@ -859,20 +866,41 @@ export default {
       this.filters.pageSize = val;
       this.InfoWatch();
     },
+      handleSizeChange1(val) {
+      this.filters1.pageSize = val;
+      this.InfoWatchDay();
+    },
+      handleSizeChange2(val) {
+      this.filters2.pageSize = val;
+      this.InfoWatchMoth();
+    },
+      handleSizeChange3(val) {
+      this.homeworkLIst.pageSize = val;
+      this.TeacherHomeworkfy();
+    },
+      // 分页
+    pageChange(val) {
+      this.filters.pageNo = val;
+      this.InfoWatch();
+    },  // 分页
+    pageChange1(val) {
+      this.filters1.pageNo = val;
+      this.InfoWatchDay();
+    },  // 分页
+    pageChange2(val) {
+      this.filters2.pageNo = val;
+      this.InfoWatchMoth();
+    },
+      pageChange3(val) {
+      this.homeworkLIst.pageNo = val;
+      this.TeacherHomeworkfy();
+    },
     // 排序
     sortChange(sort) {
       this.filters.orderField = sort.prop;
       this.filters.orderAD = sort.order != null ? sort.order : "";
       this.itemListReshow();
     },
-    clearSearch() {
-      this.filters.actvNm = null;
-      this.filters.actvCrtUserId = null;
-      this.filters.actvType = null;
-      this.filters.actvSmallType = null;
-      this.filtersActvType = [];
-      this.createDateSlot = null;
-    }
     // 获取创建人列表
     // async getUserNameList() {
     //   let {
@@ -894,6 +922,10 @@ export default {
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style scoped>
+  html,body{
+    height: 100%;
+    overflow: hidden;
+  }
 .aside {
   background-color: #fff;
   margin-top: 16px;

+ 5 - 6
src/pages/super/CheckTeacherAudit.vue

@@ -59,17 +59,15 @@
 
         </el-table>
         <!-- 分页显示 -->
-        <div class="page-block">
+        <div class="page-block" v-if="parseInt(applyTeacherList.pages) > 0">
           <el-pagination
             background
-            class="all_pagination"
             @size-change="handleSizeChange"
             @current-change="pageChange"
             :page-sizes="[10, 20, 30, 40]"
-            :page-size="10"
             layout="total, sizes, prev, pager, next, jumper"
-            >
-          </el-pagination>
+            :total= parseInt(applyTeacherList.pages)
+          ></el-pagination>
         </div>
       </el-col>
 
@@ -371,7 +369,7 @@
     left: 30%;
     margin:auto;
     background: #fff;
-    border-radius:30px;
+    border-radius:10px;
     text-align: center;
   }
 
@@ -415,6 +413,7 @@
   }
   .page-block{
     text-align: center;
+    margin-top: 15px;
   }
   /*.all_pagination{*/
     /*text-align: center !important;*/

+ 10 - 7
src/pages/super/CheckTeacherPay.vue

@@ -35,7 +35,8 @@
             header-align="center"
           >
             <template scope="scope">
-              <img :src="BASE_URL+scope.row.imgUrl" alt="" class="table-img">
+              <img :src='BASE_URL+scope.row.imgUrl' alt="" class="table-img" v-if="scope.row.imgUrl">
+              <img src="../../assets/img/user.jpg" alt="" v-if="!scope.row.imgUrl" class="table-img">
               <span class="scope-name">{{scope.row.name}}</span>
             </template>
           </el-table-column>
@@ -64,17 +65,15 @@
           </el-table-column>
         </el-table>
         <!-- 分页显示 -->
-        <div class="page-block">
+        <div class="page-block" v-if="parseInt(getTeacherSalaryList.pages) > 0">
           <el-pagination
             background
-            class="all_pagination"
             @size-change="handleSizeChange"
             @current-change="pageChange"
             :page-sizes="[10, 20, 30, 40]"
-            :page-size="10"
             layout="total, sizes, prev, pager, next, jumper"
-          >
-          </el-pagination>
+            :total= parseInt(getTeacherSalaryList.pages)
+          ></el-pagination>
         </div>
       </el-col>
 
@@ -357,7 +356,7 @@
     left: 30%;
     margin:auto;
     background: #fff;
-    border-radius:30px;
+    border-radius:10px;
     text-align: center;
   }
   .scope-name{
@@ -402,4 +401,8 @@
     text-align: center;
     padding: 40px 0 50px 0;
   }
+  .page-block{
+    text-align: center !important;
+    margin-top: 15px;
+  }
 </style>

+ 42 - 20
src/pages/super/SuperAdmin.vue

@@ -24,7 +24,8 @@
             header-align="center"
           >
             <template scope="scope">
-              <img :src="BASE_URL +scope.row.imgUrl" alt="" class="table-img">
+              <img :src='BASE_URL+scope.row.imgUrl' alt="" class="table-img" v-if="scope.row.imgUrl">
+              <img src="../../assets/img/user.jpg" alt="" v-if="!scope.row.imgUrl" class="table-img">
               <span class="scope-name">{{scope.row.name}}</span>
             </template>
           </el-table-column>
@@ -64,24 +65,22 @@
             header-align="center"></el-table-column>
           <el-table-column prop="status" label="" header-align="center" width="250">
             <template scope="scope">
-              <el-button type="success" plain >小组详情</el-button>
-              <el-button type="success" @click="isShow(1,scope.row.managerId)">管理员详情</el-button>
+              <el-button type="success"  @click="groupDetail(scope.row.managerId)">小组详情</el-button>
+              <el-button type="success" plain @click="isShow(1,scope.row.managerId)">管理员详情</el-button>
             </template>
           </el-table-column>
 
         </el-table>
         <!-- 分页显示 -->
-        <div class="page-block">
-          <el-pagination
-            background
-            class="all_pagination"
-            @size-change="handleSizeChange"
-            @current-change="pageChange"
-            :page-sizes="[10, 20, 30, 40]"
-            :page-size="10"
-            layout="total, sizes, prev, pager, next, jumper"
-            >
-          </el-pagination>
+        <div class="page-block" v-if="parseInt(getManagerList.pages) > 0">
+            <el-pagination
+              background
+              @size-change="handleSizeChange"
+              @current-change="pageChange"
+              :page-sizes="[10, 20, 30, 40]"
+              layout="total, sizes, prev, pager, next, jumper"
+              :total= parseInt(getManagerList.pages)
+            ></el-pagination>
         </div>
       </el-col>
 
@@ -98,7 +97,8 @@
         <div class="model-items">
           <div class="model-items-first">
             <div>
-              <img :src="BASE_URL+getManagerDetail.imgUrl" alt="" class="model-items-first-img">
+              <img :src='BASE_URL+getManagerDetail.imgUrl' alt="" class="model-items-first-img" v-if="getManagerDetail.imgUrl">
+              <img src="../../assets/img/user.jpg" alt="" v-if="!getManagerDetail.imgUrl" class="model-items-first-img">
               <div class="model-items-first-left">
                 <div>{{getManagerDetail.name}}({{getManagerDetail.status}})</div>
                 <div class="model-items-first-left-down">{{getManagerDetail.school}}</div>
@@ -110,7 +110,7 @@
           </div>
           <div class="model-items-other model-active">批改科目 : {{getManagerDetail.subject}}</div>
           <div class="model-items-other">批改年级 : <span v-for="(v, k) of arrGrade" :key=k class="scope-name">{{v}}</span></div>
-          <div class="model-items-other model-active">可批改时间:<el-button type="info" round v-for="(v, k) of arrPeriod" :key=k>{{v}}</el-button></div>
+          <div class="model-items-other model-active">可批改时间:<el-button type="info" round v-for="(v, k) of arrPeriod" :key=k v-if="v">{{v}}</el-button></div>
           <div class="model-items-other">手机号 : {{getManagerDetail.phone}}</div>
           <div class="model-items-other model-active-last">上次登录时间 : {{getManagerDetail.lastOnlineTime}}</div>
         </div>
@@ -236,8 +236,17 @@
         this.$store.dispatch("GetManagerDetail", {
           managerId: str
         });
-        var arr = this.getManagerDetail.grade.split(',');
-        this.arrPeriod = this.getManagerDetail.period.split(';');
+        var arr = [];
+        if (this.getManagerDetail.grade) {
+           arr = this.getManagerDetail.grade.split(',');
+        } else {
+           arr = []
+        }
+        if (this.getManagerDetail.period) {
+          this.arrPeriod = this.getManagerDetail.period.split(';');
+        } else {
+          this.arrPeriod = [];
+        }
         var arrList = [];
         for (var i in arr) {
           if (arr[i] == '一年级' || arr[i] == '二年级') {
@@ -248,6 +257,7 @@
             arrList.push('5-6年级')
           }
         }
+        console.log(this.getManagerDetail)
         this.arrGrade = this.uniq(arrList);
       },
       //校区管理员降级
@@ -257,6 +267,15 @@
         });
         this.allShowModel(2)
       },
+      //小组详情
+      groupDetail(str){
+        this.$router.push({
+          path: "/home/SchoolManager",
+          query: {
+            managerId: str
+          }
+        })
+      },
       // 分页
       pageChange(val) {
         this.filters.pageNo = val;
@@ -318,7 +337,6 @@
     },
     mounted() {
       this.SuperManagerList()
-      this.count = this.getManagerList.pages;
 
     }
   };
@@ -380,7 +398,7 @@
     left: 30%;
     margin:auto;
     background: #fff;
-    border-radius:30px;
+    border-radius:10px;
     text-align: center;
   }
 
@@ -471,4 +489,8 @@
   .scope-name{
     margin-left: 13px;
   }
+  .page-block{
+    text-align: center !important;
+    margin-top: 15px;
+  }
 </style>

+ 5 - 9
src/router/index.js

@@ -9,9 +9,9 @@ import Error404 from "@/pages/Error404";
 import SchoolManager from "@/pages/home/SchoolManager";
 import TeacherApporval from "@/pages/home/TeacherApporval";
 import TeacherPay from "@/pages/home/TeacherPay";
-import CheckTeacherAudit from "@/pages/home/CheckTeacherAudit";
-import CheckTeacherPay from "@/pages/home/CheckTeacherPay";
-import SuperAdmin from "@/pages/home/SuperAdmin";
+import CheckTeacherAudit from "@/pages/Super/CheckTeacherAudit";
+import CheckTeacherPay from "@/pages/Super/CheckTeacherPay";
+import SuperAdmin from "@/pages/Super/SuperAdmin";
 import Redirect_uri from "@/pages/aikmt/Redirect_uri"; //微信登陆路由重定向页面
 Vue.use(Router);
 
@@ -32,10 +32,7 @@ export const constantRouterMap =
       name: "微信认证重定向页",
       component: Redirect_uri
     },
-    {
-      path: "/super",
-      component: Super,
-    },
+
      {
        path: "/super",
        component: Super,
@@ -49,6 +46,7 @@ export const constantRouterMap =
            name: "SuperAdmin",
            component: SuperAdmin,
            meta: { title: '超级管理员', roles: ['2'] }
+
          },
          {
            path: "CheckTeacherAudit",
@@ -83,7 +81,6 @@ export const constantRouterMap =
            name: "TeacherApporval",
            component: TeacherApporval,
            meta: { title: '教师审核', roles: ['2'] }
-
          },
          {
            path: "TeacherPay",
@@ -160,4 +157,3 @@ export default new Router({
 //        ]
 //      },
 // ]
-

+ 4 - 4
src/store/getters.js

@@ -6,12 +6,12 @@ const getters = {
   routers: state => state.permission.routers,
   addRouters: state => state.permission.addRouters,
   roles: state => state.user.roles,
-  monitorTeacherList: state => state.user.monitorTeacherList,
-  TeacherHomeworkList: state => state.user.TeacherHomeworkList,
+  monitorTeacherList: state => state.user.monitorTeacherList || {},
+  TeacherHomeworkList: state => state.user.TeacherHomeworkList || {},
   TeacherAllotList: state => state.user.TeacherAllotList,
   TeacherAllotstatus: state => state.user.TeacherAllotstatus,
-  DayTeacherList: state => state.user.dayTeacherList,
-  MothTeacherList: state => state.user.mothTeacherList,
+  DayTeacherList: state => state.user.dayTeacherList || {},
+  MothTeacherList: state => state.user.mothTeacherList || {},
   UnallotHomeworkInfo: state => state.user.UnallotHomeworkList,
   GetTeacherDetail: state => state.user.GetTeacherDetail,
   GetStudentDetail: state => state.user.GetStudentDetail,

+ 16 - 12
src/store/modules/user.js

@@ -104,13 +104,19 @@ const user = {
                     Message.success('登录成功')
                    dispatch('GetInfo').then(res => { // 拉取用户信息
                         const roles = res.data.role 
-                        dispatch('GenerateRoutes', { roles }).then(() => { // 根据roles权限生成可访问的路由表
-                          console.log('addrouters', getters.addRouters)
-                          router.addRoutes(getters.addRouters) // 动态添加可访问路由表
-                          console.log(router)
+                        if (roles == 1) {
                           router.push("/home");
-                          // next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
-                        })
+                        }
+                        if (roles == 2) {
+                          router.push("/super");
+                        }
+                        // dispatch('GenerateRoutes', { roles }).then(() => { // 根据roles权限生成可访问的路由表
+                        //   console.log('addrouters', getters.addRouters)
+                        //   router.addRoutes(getters.addRouters) // 动态添加可访问路由表
+                        //   console.log(router)
+                        //   router.push("/home");
+                        //   // next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
+                        // })
                       }).catch(() => {
                         // dispatch('FedLogOut').then(() => {
                         //   Message.error('验证失败,请重新登录')
@@ -189,7 +195,6 @@ const user = {
       
       return new Promise((resolve, reject) => {
         axios.post(GetInfo, data).then((response = {}) => {
-          debugger
           const { data, code, msg } = response
           const { role, name, imgUrl } = data
           commit('SET_ROLES', role)
@@ -234,7 +239,7 @@ const user = {
       InfoWatchMoth({ commit, state }, data) {
         return new Promise((resolve, reject) => {
           axios.post(InfoWatchMoth, data).then(response => {
-            const data = response.data
+            const data = response.data || {}
             commit('SET_TEACHER_MOTH', data);
             resolve(response)
           }).catch(error => {
@@ -246,7 +251,7 @@ const user = {
      InfoWatchDay({ commit, state }, data) {
       return new Promise((resolve, reject) => {
         axios.post(InfoWatchDay, data).then(response => {
-          const data = response.data
+          const data = response.data || {}
           commit('SET_TEACHER_DAY', data);
           resolve(response)
         }).catch(error => {
@@ -308,7 +313,6 @@ const user = {
               axios.post(GetStudentDetail, data).then(response => {
                 const data = response.data || {}
                 commit('SET_GET_STUDENTDETAIL', data);
-                debugger
                 resolve(response)
               }).catch(error => {
                 reject(error)
@@ -333,7 +337,7 @@ const user = {
     SuperManagerList({ commit, state }, data) {
       return new Promise((resolve, reject) => {
         axios.post(SuperManagerList, data).then(response => {
-          const data = response.data
+          const data = response.data || {}
           commit('SET_SUPER_MANAGERLIST', data);
           resolve(response)
         }).catch(error => {
@@ -345,7 +349,7 @@ const user = {
     GetManagerDetail({ commit, state }, data) {
       return new Promise((resolve, reject) => {
         axios.post(GetManagerDetail, data).then(response => {
-          const data = response.data
+          const data = response.data || {}
           commit('SET_MANAGER_DETAIL', data);
           resolve(response)
         }).catch(error => {