Parcourir la source

提交最新代码

TheLittlePrince il y a 6 ans
Parent
commit
1cb1d08fbe

+ 22 - 3
src/api/scheduling.js

@@ -30,7 +30,20 @@ const FindArrangeTemplateIntervalList = urlFn('/api/kmt/arrange/findArrangeTempl
 const StudentHomeworkNoFeedbackList = urlFn('/api/kmt/correctSys/studentHomeworkNoFeedbackList')
 //查看作业详情
 const StudentHomeworkDetail = urlFn('/api/kmt/correctSys/studentHomeworkDetail')
-//
+//老师批改明细
+const GetTeacherCorrectDetail = urlFn('/api/kmt/correctSys/getTeacherCorrectDetail')
+//累计批改总张数
+const GetTeacherAllHomework = urlFn('/api/kmt/correctSys/getTeacherAllHomwork')
+//批改详情
+const AllCorrectDetail = urlFn('/api/kmt/correctSys/allCorrectDetail')
+//报错总次数
+const GetTeacherWrongCount = urlFn('/api/kmt/correctSys/getTeacherWrongCount')
+//报错总次数
+const GetWrongDetail = urlFn('/api/kmt/correctSys/getWrongDetail')
+// 查看所有学生作业列表
+const StudentHomework01List = urlFn('/api/kmt/correctSys/studentHomework01List')
+// 查看学生作业列表详情
+const StudentHomework01Detail = urlFn('/api/kmt/correctSys/studentHomework01Detail')
 export {
     FindCalendarList,
     FindHaveTeacherList,
@@ -46,6 +59,12 @@ export {
     TeacherHomeworkListForChecker,
     FindArrangeTemplateIntervalList,
     StudentHomeworkNoFeedbackList,
-    StudentHomeworkDetail
-
+    StudentHomeworkDetail,
+    GetTeacherCorrectDetail,
+    GetTeacherAllHomework,
+    AllCorrectDetail,
+    GetTeacherWrongCount,
+    GetWrongDetail,
+    StudentHomework01List,
+    StudentHomework01Detail
 }

BIN
src/assets/img/wrong (1).png


BIN
src/assets/img/wrong (2).png


BIN
src/assets/img/wrong (3).png


+ 0 - 1
src/components/SeacherHomewrokStatus.vue

@@ -1118,7 +1118,6 @@ el-table {
 }
 .model-itemss {
   padding: 10px 0;
-  float: left;
   /*display: flex;*/
   /*justify-content: space-between;*/
   /*display: inline-block;*/

+ 6 - 3
src/components/TeamWorkLists.vue

@@ -147,12 +147,12 @@
                       >
                         <!-- {{FindCalendarList}} -->
                         <div class="date-day">{{ item.date }}</div>
-                        <div class="people" v-if="item.dateList.isOpen ==0">
+                        <div class="people" v-if="item.dateList && item.dateList.intervalList && item.dateList.isOpen ==0">
                           <div class="people-items">
                             <div style="color:#999999" class="people-items-text">不开放</div>
                           </div>
                         </div>
-                        <div class="people" v-if="item.dateList.isOpen ==1">
+                        <div class="people" v-if="item.dateList && item.dateList.intervalList && item.dateList.isOpen ==1">
                           <div class="people-items">
                             <div
                               class="people-items-num"
@@ -824,7 +824,7 @@ export default {
         if (!list[i].disable) {
           const dateValue = list[i].value;
           for (let t = 0; t < that.FindCalendarList.list.length; t++) {
-            if (dateValue == that.FindCalendarList.list[t].arrangeDate) {
+            if (new Date(dateValue).getTime() == new Date(that.FindCalendarList.list[t].arrangeDate).getTime()) {
               list[i].dateList = that.FindCalendarList.list[t];
             }
           }
@@ -833,6 +833,9 @@ export default {
         }
       }
       this.calendarList = list;
+       console.log(11111111111111111111111111111)
+      console.log(this.calendarList)
+       console.log(11111111111111111111111111111)
       this.setCalendarList = setList;
     }
   },

+ 19 - 10
src/config/index.js

@@ -12,22 +12,31 @@ if (process.env.NODE_ENV === 'development') {
      IMG_BASE_URL = 'https://xtimg.sharingschool.com/' //测试环境图片地址
      APPOR_BASE_URL = 'https://xtkmt.sharingschool.com/kmt/index.html#/' //测试环境作业批改地址
 } else {
-// 1.测试环境配置
-            //  BASE_URL = 'https://xt.sharingschool.com/sz' //测试环境服务器地址
-            //  APP_ID = "wx3d4605f43beda11a"//测试环境AppId
+
+// // 1.测试环境配置
+             BASE_URL = 'https://xt.sharingschool.com/sz' //测试环境服务器地址
+             APP_ID = "wx3d4605f43beda11a"//测试环境AppId 
+             RESET_URL = "https://xtkmt.sharingschool.com/manager/index.html#/" //测试环境微信重定向页面
+             TYPE = 0
+             IMG_BASE_URL = 'https://xtimg.sharingschool.com/' //测试环境图片地址
+             APPOR_BASE_URL = 'https://xtkmt.sharingschool.com/kmt/index.html#/' //测试环境作业批改地址
+
+// 1.分表分库测试环境配置
+            // BASE_URL = ' https://xt.sharingschool.com/fk' //分表分库测试环境服务器地址
+            //  APP_ID = "wx3d4605f43beda11a"//测试环境AppId 
             //  RESET_URL = "https://xtkmt.sharingschool.com/manager/index.html#/" //测试环境微信重定向页面
             //  TYPE = 0
             //  IMG_BASE_URL = 'https://xtimg.sharingschool.com/' //测试环境图片地址
-            //  APPOR_BASE_URL = 'https://xtkmt.sharingschool.com/kmt/index.html#/' //测试环境作业批改地址
+            //  APPOR_BASE_URL = 'https://xtkmt.sharingschool.com/fk/kmt/index.html#/' //测试环境作业批改地址
 
 //  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  // 2.正式环境配置(Kmt)
-          BASE_URL = 'https://t.sharingschool.com/sz'; //正式环境地址 
-          APP_ID = "wxd18ca9555a939281"//正式环境
-          RESET_URL = "https://kmt.sharingschool.com/aijia/manager/index.html#/" //正式环境微信重定向页面
-          TYPE = 0
-          IMG_BASE_URL = 'https://img.sharingschool.com'; //正式环境图片地址;
-          APPOR_BASE_URL = 'https://kmt.sharingschool.com/aijia/kmt/index.html#/'; //正式环境作业批改地址地址;
+        //   BASE_URL = 'https://t.sharingschool.com/sz'; //正式环境地址 
+        //   APP_ID = "wxd18ca9555a939281"//正式环境
+        //   RESET_URL = "https://kmt.sharingschool.com/aijia/manager/index.html#/" //正式环境微信重定向页面
+        //   TYPE = 0
+        //   IMG_BASE_URL = 'https://img.sharingschool.com'; //正式环境图片地址;
+        //   APPOR_BASE_URL = 'https://kmt.sharingschool.com/aijia/kmt/index.html#/'; //正式环境作业批改地址地址;
 
 // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  // 3.OSS正式环境(aiKmt)

+ 376 - 0
src/pages/Qualityinspector/AllHomeWorkPictrue.vue

@@ -0,0 +1,376 @@
+<!-- 活动解析 -->
+<template>
+  <div>
+    <!-- table 表格 -->
+    <el-row :gutter="20" class="main-items">
+      <el-col :span="20" class="main" :offset="2">
+        <el-row>
+          <el-col :span="20" class :offset="2">
+            <div class="studentInfo">
+              <span class="studentName">{{StudentHomework01Detail.name}}同学/{{StudentHomework01Detail.subject}}作业</span>
+              <span v-if="StudentHomework01Detail.status ==1" style="color:#52cc60;">/未分配</span>
+               <span v-if="StudentHomework01Detail.status ==2" style="color:#52cc60;">/已分配未批改</span>
+             <span v-if="StudentHomework01Detail.status ==3" style="color:#52cc60;">/批改中</span>
+              <br />
+              <span class="timeInfo">{{StudentHomework01Detail.statusTime}}</span>
+            </div>
+          
+          </el-col>
+          <el-col :span="20" class :offset="2">
+            <div class="topLine"></div>
+          </el-col>
+          <el-col :span="20" class="pictrueShowList" :offset="2">
+              <!-- {{StudentHomework01Detail}} -->
+            <div class="beginPictrue" v-if="StudentHomework01Detail.originPicList !== undefined && StudentHomework01Detail.originPicList.length >0">
+              <div class="studentName">原图</div>
+              <ul>
+                <li class="picLists" @click="pictrueAddView(v)" v-for="(v, k) of StudentHomework01Detail.originPicList" :key="k">
+                    <img :src="BASE_URL + v.url" alt class="table-img pictrueStyle" v-if="v.url"  />
+                    <img src="../../assets/img/attt.png" alt v-if="v.url ==''"  class="table-img pictrueStyle"/>
+                  <div v-if="v.type ==21" class="TeacherWords">已分配给其他老师</div>
+                   <div v-if="v.type ==20"  class="TeacherWords">作文有评语</div>
+                  <!-- 模糊 -->
+                  <img v-if="v.type ==1" class="logoPic" src="../../assets/img/Mohu (1).png" />
+                  <!-- 不全 -->
+                  <img v-if="v.type ==3" class="logoPic" src="../../assets/img/Reless (3).png" />
+                  <!-- 登记 -->
+                  <img  v-if="v.type ==22" class="logoPic" src="../../assets/img/sigin (3).png" />
+                  <!-- 补拍 -->
+                  <img v-if="v.type ==2" class="logoPic" src="../../assets/img/ReCamrea (1).png" />
+                  <!-- 不批改 -->
+                  <img v-if="v.type ==10" class="logoPic" src="../../assets/img/NoReset (1).png" />
+                  <div class="operateTime" v-if="v.operateTime">{{v.operateTime}}上传</div>
+                </li>
+              </ul>
+            </div>
+          </el-col>
+          <el-col :span="20" class="pictrueShowList" :offset="2">
+            <div class="beginPictrue" v-if="StudentHomework01Detail.correctPicList !== undefined && StudentHomework01Detail.correctPicList.length >0">
+              <div class="studentName">批改图片</div>
+              <ul>
+                <li class="picLists" @click="pictrueAddView(v)" v-for="(v, k) of StudentHomework01Detail.correctPicList" :key="k">
+                   <img :src="BASE_URL + v.url" alt class="table-img pictrueStyle" v-if="v.url"  />
+                    <img src="../../assets/img/attt.png" alt v-if="v.url ==''"  class="table-img pictrueStyle"/>
+                  <div v-if="v.type ==21" class="TeacherWords">已分配给其他老师</div>
+                   <div v-if="v.type ==20"  class="TeacherWords">作文有评语</div>
+                  <!-- 模糊 -->
+                  <img v-if="v.type ==1" class="logoPic" src="../../assets/img/Mohu (1).png" />
+                  <!-- 不全 -->
+                  <img v-if="v.type ==3" class="logoPic" src="../../assets/img/Reless (3).png" />
+                  <!-- 登记 -->
+                  <img  v-if="v.type ==22" class="logoPic" src="../../assets/img/sigin (3).png" />
+                  <!-- 补拍 -->
+                  <img v-if="v.type ==2" class="logoPic" src="../../assets/img/ReCamrea (1).png" />
+                  <!-- 不批改 -->
+                  <img v-if="v.type ==10" class="logoPic" src="../../assets/img/NoReset (1).png" />
+                     <div class="operateTime" v-if="v.operateTime">{{v.operateTime}}批改完</div>
+                      <div class="operateTime" v-if="v.teacherName">
+                        <span class="teacherImgUrl">
+                          <img :src="BASE_URL + v.teacherImgUrl" alt="">
+                        </span>
+                         <span>{{v.teacherName}}老师批改</span>      
+                      </div>
+                </li>
+              </ul>
+            </div>
+          </el-col>
+           <el-col :span="20" class="pictrueShowList" :offset="2">
+            <div class="beginPictrue" v-if="StudentHomework01Detail.matchPicList !== undefined && StudentHomework01Detail.matchPicList.length >0">
+              <div class="studentName">匹配照片</div>
+              <ul>
+                <li class="picLists" @click="pictrueAddView(v)" v-for="(v, k) of StudentHomework01Detail.matchPicList" :key="k">
+                   <img :src="BASE_URL + v.url" alt class="table-img pictrueStyle" v-if="v.url"  />
+                    <img src="../../assets/img/attt.png" alt v-if="v.url ==''"  class="table-img pictrueStyle"/>
+                  <div v-if="v.type ==21" class="TeacherWords">已分配给其他老师</div>
+                   <div v-if="v.type ==20"  class="TeacherWords">作文有评语</div>
+                  <!-- 模糊 -->
+                  <img v-if="v.type ==1" class="logoPic" src="../../assets/img/Mohu (1).png" />
+                  <!-- 不全 -->
+                  <img v-if="v.type ==3" class="logoPic" src="../../assets/img/Reless (3).png" />
+                  <!-- 登记 -->
+                  <img  v-if="v.type ==22" class="logoPic" src="../../assets/img/sigin (3).png" />
+                  <!-- 补拍 -->
+                  <img v-if="v.type ==2" class="logoPic" src="../../assets/img/ReCamrea (1).png" />
+                  <!-- 不批改 -->
+                  <img v-if="v.type ==10" class="logoPic" src="../../assets/img/NoReset (1).png" />
+                     <div class="operateTime" v-if="v.operateTime">{{v.operateTime}}匹配完</div>
+                     <div class="operateTime" v-if="!v.operateTime">未匹配</div>
+                       <div class="operateTime" v-if="v.teacherName">
+                        <span class="teacherImgUrl">
+                          <img :src="BASE_URL + v.teacherImgUrl" alt="">
+                        </span>
+                         <span>{{v.teacherName}}老师匹配</span>      
+                      </div>
+                </li>
+              </ul>
+            </div>
+          </el-col>
+          <el-col :span="20" class="pictrueShowList" :offset="2">
+            <div class="beginPictrue" v-if="StudentHomework01Detail.checkCorrectPicList !== undefined && StudentHomework01Detail.checkCorrectPicList.length >0">
+              <div class="studentName">作业批改质检</div>
+              <ul>
+                <li class="picLists" @click="pictrueAddView(v)" v-for="(v, k) of StudentHomework01Detail.checkCorrectPicList" :key="k">
+                   <img :src="BASE_URL + v.url" alt class="table-img pictrueStyle" v-if="v.url"  />
+                    <img src="../../assets/img/attt.png" alt v-if="v.url ==''"  class="table-img pictrueStyle"/>
+                  <div v-if="v.type ==21" class="TeacherWords">已分配给其他老师</div>
+                   <div v-if="v.type ==20"  class="TeacherWords">作文有评语</div>
+                  <!-- 模糊 -->
+                  <img v-if="v.type ==1" class="logoPic" src="../../assets/img/Mohu (1).png" />
+                  <!-- 不全 -->
+                  <img v-if="v.type ==3" class="logoPic" src="../../assets/img/Reless (3).png" />
+                  <!-- 登记 -->
+                  <img  v-if="v.type ==22" class="logoPic" src="../../assets/img/sigin (3).png" />
+                  <!-- 补拍 -->
+                  <img v-if="v.type ==2" class="logoPic" src="../../assets/img/ReCamrea (1).png" />
+                  <!-- 不批改 -->
+                  <img v-if="v.type ==10" class="logoPic" src="../../assets/img/NoReset (1).png" />
+                    <!-- 报错 -->
+                  <img v-if="v.type ==23" class="logoPic" src="../../assets/img/wrong (3).png" />
+                     <div class="operateTime" v-if="v.operateTime">{{v.operateTime}}质检完</div>
+                     <div class="operateTime" v-if="!v.operateTime">未质检</div>
+                       <div class="operateTime" v-if="v.teacherName">
+                        <span class="teacherImgUrl">
+                          <img :src="BASE_URL + v.teacherImgUrl" alt="">
+                        </span>
+                         <span>{{v.teacherName}}老师质检</span>      
+                      </div>
+                </li>
+              </ul>
+            </div>
+          </el-col>
+          <el-col :span="20" class="pictrueShowList" :offset="2">
+            <div class="beginPictrue" v-if="StudentHomework01Detail.checkMatchPicList !== undefined && StudentHomework01Detail.checkMatchPicList.length >0">
+              <div class="studentName">匹配知识点质检</div>
+              <ul>
+                <li class="picLists" @click="pictrueAddView(v)" v-for="(v, k) of StudentHomework01Detail.checkMatchPicList" :key="k">
+                   <img :src="BASE_URL + v.url" alt class="table-img pictrueStyle" v-if="v.url"  />
+                    <img src="../../assets/img/attt.png" alt v-if="v.url ==''"  class="table-img pictrueStyle"/>
+                  <div v-if="v.type ==21" class="TeacherWords">已分配给其他老师</div>
+                   <div v-if="v.type ==20"  class="TeacherWords">作文有评语</div>
+                  <!-- 模糊 -->
+                  <img v-if="v.type ==1" class="logoPic" src="../../assets/img/Mohu (1).png" />
+                  <!-- 不全 -->
+                  <img v-if="v.type ==3" class="logoPic" src="../../assets/img/Reless (3).png" />
+                  <!-- 登记 -->
+                  <img  v-if="v.type ==22" class="logoPic" src="../../assets/img/sigin (3).png" />
+                  <!-- 补拍 -->
+                  <img v-if="v.type ==2" class="logoPic" src="../../assets/img/ReCamrea (1).png" />
+                  <!-- 不批改 -->
+                  <img v-if="v.type ==10" class="logoPic" src="../../assets/img/NoReset (1).png" />
+                  <!-- 报错 -->
+                  <img v-if="v.type ==23" class="logoPic" src="../../assets/img/wrong (3).png" />
+                  
+                  <div class="operateTime" v-if="v.operateTime">{{v.operateTime}}质检完</div>
+                     <div class="operateTime" v-if="!v.operateTime">未质检</div>
+                       <div class="operateTime" v-if="v.teacherName">
+                        <span class="teacherImgUrl">
+                          <img :src="BASE_URL + v.teacherImgUrl" alt="">
+                        </span>
+                         <span>{{v.teacherName}}老师质检</span>      
+                      </div>
+                </li>
+              </ul>
+            </div>
+          </el-col>
+            <el-col :span="20" class :offset="2">
+            <div style="margin-top:200px; text-align:center;">
+              <el-button @click="routerback()" type="success" round>返回</el-button>
+            </div>
+          </el-col>
+        </el-row>
+      </el-col>
+    </el-row>
+    <!-- -->
+    <div class="showModel" @click="allShowModel(1)" v-if="PictruePush"></div>
+    <div class="modelspec" v-if="PictruePush">
+      <div class="detaillogo">
+        <img src="../../assets/img/del@2x.png" alt @click="allShowModel(1)" />
+      </div>
+      <img class="LargepictrueStyle" :src="BASE_URL + this.PrewPictrue " />
+    </div>
+  </div>
+</template>
+<script>
+import { mapGetters, mapActions } from "vuex";
+import { IMG_BASE_URL, APPOR_BASE_URL } from "@/config";
+export default {
+  components: {},
+  name: "",
+  props: {},
+  data() {
+    return {
+      BASE_URL: IMG_BASE_URL,
+      PictruePush: false,
+      PrewPictrue:"",
+      homeworkId:""
+    };
+  },
+  created() {
+     const homeworkId = this.$route.query.homeworkId;
+    this.homeworkId = homeworkId;
+  },
+  methods: {
+    pictrueAddView(v) {
+        this.PrewPictrue = v.url
+      this.PictruePush = true;
+    },
+        // 回退
+    routerback() {
+      this.$router.back(-1);
+    },
+    GetStudentHomework01DetailList(){
+          this.$store.dispatch("GetStudentHomework01Detail", {
+        homeworkId: this.homeworkId,
+      });
+    },
+    //关闭弹框
+    allShowModel(str) {
+      let _this = this;
+      if (str == 1) {
+        _this.PictruePush = false;
+      }
+    }
+  },
+  watch: {},
+  mounted() {
+    this.GetStudentHomework01DetailList()
+  },
+  computed: {
+    ...mapGetters(["StudentHomework01Detail"])
+  }
+};
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style scoped>
+.main {
+  background-color: #fff;
+  margin-top: 16px;
+  padding: 0 !important;
+  border: 1px solid #e1e1e1;
+  min-height: 980px;
+}
+
+.topLine {
+  width: 100%;
+  background-color: rgba(207, 204, 204, 0.815);
+  height: 1px;
+}
+.picLists {
+  position: relative;
+  width: 200px;
+  height: 200px;
+}
+.TeacherWords {
+  position: absolute;
+  bottom: 0;
+  right: 0;
+  width: 100%;
+  height: 30px;
+  background: #000000;
+  text-align: center;
+  line-height: 30px;
+  opacity: 0.4;
+  color: #ffff;
+  font-size: 8px;
+}
+.logoPic {
+  position: absolute;
+  top: 0;
+  right: 0;
+}
+.userstyle {
+  width: 50px;
+  height: 50px;
+  border-radius: 25px;
+}
+.operateTime{
+  height: 12px;
+  margin-top:10px;
+}
+.studentInfo {
+  display: inline-block;
+  float: left;
+  /* height: 70px; */
+  margin-top: 30px;
+  text-align: left;
+}
+.pictrueShowList{
+  margin-top:100px;
+}
+.loginMock {
+  color: #333333;
+  font-size: 14px;
+  display: inline-block;
+  float: right;
+  margin-top: 30px;
+}
+.timeInfo {
+  color: #999999;
+  font-size: 14px;
+}
+.studentName {
+  font-size: 25px;
+  color: black;
+  width: 160px;
+  text-align: left;
+}
+.teacherImgUrl{
+  height: 30px;
+  width: 30px;
+}
+.teacherImgUrl img{
+  height: 30px;
+  width: 30px;
+  border-radius: 15px;
+}
+.pictrueStyle {
+  width: 200px;
+  height: 200px;
+  border-radius: 5px;
+}
+.beginPictrue ul li {
+  float: left;
+  margin: 15px 20px 15px 0px;
+  cursor: pointer;
+}
+.showModel {
+  width: 100%;
+  height: 100%;
+  position: fixed;
+  top: 0;
+  left: 0;
+  background: #000000;
+  opacity: 0.2;
+  overflow: hidden;
+  z-index: 1000;
+  color: #fff;
+}
+.modelspec {
+  margin: 0 auto;
+}
+.LargepictrueStyle {
+  width: 100%;
+  height: 100%;
+  border-radius: 5px;
+}
+.modelspec {
+  z-index: 10000;
+  width: 50%;
+  /* height: 100%; */
+  height: auto;
+  position: fixed;
+  top: 10%;
+  left: 25%;
+  bottom: 10%;
+  margin: auto;
+  border-radius: 10px;
+  text-align: center;
+}
+.detaillogo {
+  position: fixed;
+  top: 5%;
+  right: 13%;
+  cursor: pointer;
+}
+</style>

+ 402 - 0
src/pages/Qualityinspector/AllStudentHomework.vue

@@ -0,0 +1,402 @@
+<!-- 活动解析 -->
+<template>
+  <div>
+    <!-- table 表格 -->
+    <el-row :gutter="20" class="main-items">
+      <!--数据监控-->
+      <el-col :span="20" class="main" :offset="2">
+        <el-row :gutter="20" class="main-header">
+          <el-col :span="4" :offset="19">
+            <div class="teach-block">
+              <div class="Dayteach-Allot">
+                <input
+                  type="text"
+                  placeholder="请输入学生名字"
+                  v-model="inputValue"
+                  class="Dayinput-with-Allot"
+                />
+                <span @click="GetGetTeacherCorrectDetailInfo()" class="DaySeachIcon el-icon-search"></span>
+              </div>
+            </div>
+          </el-col>
+        </el-row>
+        <div>
+          <el-table
+            style="width: 100%"
+            :data="StudentHomework01List"
+            :header-cell-class-name="tableheaderClassName"
+            :header-cell-style="{
+          'background-color': '#F6F7FB',
+          'color': '#393939',
+          'font-size': '16px'
+           }"
+            size="medium"
+            border
+            stripe
+          >
+            <el-table-column label="注册老师" header-align="center">
+              <template slot-scope="scope">
+                <div class="scope-list">
+                  <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>
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column prop="subject" label="科目" header-align="center"></el-table-column>
+            <el-table-column prop="grade" label="年级" header-align="center"></el-table-column>
+            <el-table-column prop="uploadTime" label="上传时间" header-align="center"></el-table-column>
+            <el-table-column prop="uploadTime" label="作业图片" header-align="center" width="200">
+              <template slot-scope="scope">
+                <span
+                  class="ClickWork"
+                  @click="HomeworkWornglists(scope.row)"
+                >查看</span>
+              </template>
+            </el-table-column>
+          </el-table>
+          <!-- 分页显示 -->
+          <el-pagination
+            background
+            @size-change="handleSizeChange3"
+            @current-change="pageChange3"
+            :page-sizes="[10,50,100,200]"
+            :current-page.sync="currentPage"
+            layout="sizes, total,prev, pager, next"
+            :hide-on-single-page="true"
+            :total="parseInt(StudentHomework01List.pages)"
+          ></el-pagination>
+        </div>
+      </el-col>
+         <el-col :span="20" class :offset="2">
+            <div style="margin-top:200px; text-align:center;">
+              <el-button @click="routerback()" type="success" round>返回</el-button>
+            </div>
+          </el-col>
+    </el-row>
+  </div>
+</template>
+<script>
+import { mapGetters, mapActions } from "vuex";
+import { IMG_BASE_URL, APPOR_BASE_URL } from "@/config";
+export default {
+  components: {},
+  name: "actvResolveLabel",
+  props: {},
+  data() {
+    return {
+      inputValue: "",
+      BASE_URL: IMG_BASE_URL,
+      selMonth:this.monthFormatDate(),
+      currentPage: 1,
+       filters2: {
+        MaxtimeValue: "",
+        oneMonth: "",
+        pageNo: 1,
+        pageSize: 10
+      }
+    };
+  },
+  watch: {},
+  computed: {
+    ...mapGetters([
+     "StudentHomework01List"
+    ])
+  },
+  methods: {
+    ...mapActions(["setUser"]),
+    // 表格头部样式
+    tableheaderClassName({ row, rowIndex }) {
+      return "table-head-th";
+    },
+     // 作业原图
+    HomeworkWornglists(v){
+         this.$router.push({
+        path: "/Qualityinspector/checkAllHomeWorkPictrue",
+           query: {
+          homeworkId: v.homeworkId,
+        }
+      });
+    },
+            // 回退
+    routerback() {
+      this.$router.back(-1);
+    },
+    // 批改明细
+    GetGetTeacherCorrectDetailInfo() {
+      this.$store.dispatch("GetStudentHomework01List", {
+        pageNo: this.filters2.pageNo,
+        pageSize: this.filters2.pageSize,
+        oneMonth: this.selMonth,
+        maxCreateTime: this.formatDate(),
+        name: this.inputValue
+      });
+    },
+         //年月时间封装
+    monthFormatDate: function() {
+      let date = new Date();
+      let y = date.getFullYear();
+      let MM = date.getMonth() + 1;
+      MM = MM < 10 ? "0" + MM : MM;
+      return y + "-" + MM;
+    },
+    //弹框
+    isShow(str, img) {
+      let _this = this;
+      console.log(str);
+      if (str == 1) {
+        _this.hiddenModel = true;
+        _this.isPigai = false;
+      } else if (str == 2) {
+        _this.isPigai = true;
+        _this.hiddenModel = false;
+      } else if (str == 3) {
+        _this.cardShow = true;
+        _this.imgCard = img;
+      }
+    },
+    //关闭弹框
+    allShowModel(str) {
+      let _this = this;
+      if (str == 1) {
+        _this.hiddenModel = false;
+      } else if (str == 2) {
+        _this.isPigai = false;
+      } else if (str == 3) {
+        _this.cardShow = false;
+      }
+    },
+    //时间封装
+    formatDate: function() {
+      let date = new Date();
+      let y = date.getFullYear();
+      let MM = date.getMonth() + 1;
+      MM = MM < 10 ? "0" + MM : MM;
+      let d = date.getDate();
+      d = d < 10 ? "0" + d : d;
+      let h = date.getHours();
+      h = h < 10 ? "0" + h : h;
+      let m = date.getMinutes();
+      m = m < 10 ? "0" + m : m;
+      let s = date.getSeconds();
+      s = s < 10 ? "0" + s : s;
+      return y + "-" + MM + "-" + d + " " + h + ":" + m + ":" + s;
+    },
+ 
+     pageChange3(val) {
+      this.currentPage = val;
+      this.filters2.pageNo = val;
+      this.GetGetTeacherCorrectDetailInfo();
+    },
+
+    handleSizeChange3(val) {
+      this.filters2.pageSize = val;
+      this.GetGetTeacherCorrectDetailInfo();
+    },
+
+  },
+  mounted() {
+    this.GetGetTeacherCorrectDetailInfo();
+  }
+};
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style>
+.main {
+  background-color: #fff;
+  margin-top: 16px;
+  padding: 0 !important;
+  border: 1px solid #e1e1e1;
+  min-height: 980px;
+}
+
+el-table {
+  color: #999999;
+  font-size: 18px;
+}
+.el-pagination.is-background .el-pager li:not(.disabled).active {
+  background-color: #52cc60 !important;
+  color: #fff;
+}
+.main-items {
+  color: #393939;
+  text-align: center;
+  line-height: 80px;
+}
+.main-header-item {
+  cursor: pointer;
+  font-size: 16px;
+  color: #7e7e7e;
+}
+
+.input-with-select .el-input-group__prepend {
+  background-color: #fff;
+}
+
+.table-img {
+  width: 36px;
+  height: 36px;
+  border-radius: 6px;
+}
+.showModel {
+  width: 100%;
+  height: 100%;
+  position: fixed;
+  top: 0;
+  left: 0;
+  background: #000000;
+  opacity: 0.2;
+  overflow: hidden;
+  z-index: 1000;
+  color: #fff;
+}
+.model {
+  z-index: 1001;
+  width: 40%;
+  height: auto;
+  position: fixed;
+  top: 30%;
+  left: 30%;
+  margin: auto;
+  background: #fff;
+  border-radius: 10px;
+  text-align: center;
+}
+.scope-name {
+  margin-left: 13px;
+}
+.identity-card {
+  width: 52px;
+  height: 51px;
+  border-radius: 4px;
+  margin-right: 17px;
+}
+.model-text {
+  background: rgba(255, 255, 255, 1);
+  border-radius: 10px;
+}
+
+.model-btn {
+  display: flex;
+  justify-content: space-around;
+  margin-bottom: 44px;
+}
+.model-btn-info-img {
+  width: 451px;
+  height: 298px;
+}
+.model-btn-items {
+  width: 154px;
+  height: 50px;
+  line-height: 50px;
+  text-align: center;
+  font-size: 18px;
+  border-radius: 4px;
+}
+.main-gay {
+  background: rgba(246, 247, 251, 1);
+  color: #7e7e7e;
+}
+.model-grdeen {
+  background-color: #52cc60;
+  color: #fff;
+}
+.model-text-items-close {
+  position: absolute;
+  top: 10px;
+  right: 15px;
+}
+.model-text-items {
+  position: relative;
+  color: #000000;
+  font-size: 24px;
+  text-align: center;
+  padding: 40px 0 50px 0;
+}
+.el-table {
+  margin-top: 50px;
+}
+.el-table .table-head-th {
+  background-color: #f6f7fb;
+  font-size: 16px !important;
+  color: #393939;
+}
+.page-block {
+  text-align: center !important;
+  margin-top: 15px;
+}
+.scope-list {
+  margin-left: 18px;
+  text-align: left;
+}
+.ApporStyles {
+  display: inline-block;
+  width: 200px;
+  height: 40px;
+  line-height: 40px;
+  background-color: #fff;
+  border-radius: 20px;
+  font-size: 16px;
+  color: #7c819d;
+  cursor: pointer;
+}
+.navteacfertypeactive {
+  background-color: #52cc60 !important;
+  color: #fff !important;
+}
+.el-pagination .el-select .el-input {
+  /* width: 120px; */
+  margin: 0 -100px !important;
+}
+.ClickWork {
+  font-size: 16px;
+  text-decoration: underline;
+  cursor: pointer;
+}
+.bank-active {
+  color: #52cc60;
+  font-size: 16px;
+  text-decoration: underline;
+  cursor: pointer;
+}
+.Dayinput-with-Allot {
+  border: #b6b6b6;
+  border-radius: 20px;
+  height: 40px;
+  width: 300px;
+  font-size: 8px;
+  color: #b6b6b6;
+  text-align: left;
+  line-height: 40px;
+  background: #f1f2f4;
+  padding: 0 10px;
+  float: left;
+  outline: none !important;
+  box-shadow: none;
+}
+.Dayteach-Allot {
+  width: 400px;
+  position: relative;
+  height: 40px;
+  top: 15px;
+}
+.DaySeachIcon {
+  position: absolute;
+  font-size: 20px;
+  color: #b6b6b6;
+  right: 30%;
+  margin-top: 10px;
+  cursor: pointer;
+}
+</style>

+ 32 - 0
src/pages/Qualityinspector/GetCheckHomeWork.vue

@@ -11,6 +11,12 @@
           <div class="main-header-item">活跃老师数:{{GetManagerListForChecker.activeTeacherCount}}人</div>
           <div class="main-header-item">注册用户数:{{GetManagerListForChecker.registerUserCount}}人</div>
           <div class="main-header-item">活跃用户数:{{GetManagerListForChecker.activeUserCount}}人</div>
+           <div class="SearchStudent">
+              <div class="Ageclass" @click="StudentSearchPages()">
+                <span class="age-tip">搜索学生</span>
+                <span class="el-icon-search"></span>
+              </div>
+          </div>
         </el-row>
         <el-table
           :data="GetManagerListForChecker.list"
@@ -127,6 +133,11 @@ export default {
     AutoApor() {
       this.Activeindex = true;
     },
+        StudentSearchPages() {
+        this.$router.push({
+        path: "/Qualityinspector/checkAllStudentHomework",
+      });
+    },
     selectTipage(item) {
       this.filters.gradesValue = item.str;
       this.selecttitleage = item.label;
@@ -478,6 +489,27 @@ el-table {
   margin-top: 12px;
   cursor: pointer;
 }
+.SearchStudent{
+   position: absolute;
+  right: 200px;
+  top: 15px;
+}
+.Ageclass {
+  /* display: inline-block; */
+  height: 40px;
+  width: 140px;
+  background-color: #f1f2f4;
+  line-height: 40px;
+  font-size: 16px;
+  cursor: pointer;
+  text-align:center;
+}
+.age-tip {
+  width: 80%;
+  height: 40px;
+  color: #747070;
+  font-size: 12px;
+}
 .noBorderBottom {
   border-bottom: none;
 }

+ 9 - 8
src/pages/Qualityinspector/checkListInfo.vue

@@ -180,13 +180,14 @@
                 </div>
                 <div
                   class="tr-setNo"
-                  v-if="isDownindex === k && isDown && TeacherHomeworkListForChecker.list.length == 0"
+                  v-if="isDownindex === k && isDown && TeacherHomeworkListForCheckerInfo.list.length == 0"
                 >暂无数据!</div>
                 <!--&& isDownindex === k && isDown-->
                 <div v-if="isDownindex === k && isDown">
+                  <!-- {{TeacherHomeworkListForCheckerInfo}} -->
                   <div
                     class="tr-second"
-                    v-for="(v, k) of TeacherHomeworkListForChecker.list"
+                    v-for="(v, k) of TeacherHomeworkListForCheckerInfo.list"
                     :key="k"
                   >
                     <div class="tr-seconds" style="width:6%;">{{k+1}}</div>
@@ -215,7 +216,7 @@
                       >报错{{v.wrongCount}}</span>
                     </div>
                     
-                    <div v-if="v.checkCount = v.feedbackCount" class="ApporTeacher" style="width: 25%">
+                    <div v-if="v.checkCount == v.feedbackCount" class="ApporTeacher" style="width: 25%">
                       <el-button type="info" @click="CheackHomeworkStatus(v)">
                         <span href style="text-decoration:none;color:#ffffff;">已质检</span>
                       </el-button>
@@ -237,7 +238,7 @@
                     @current-change="WatchHomeWorkpageChange"
                     :page-sizes="[10, 20]"
                     layout="total, prev, pager, next"
-                    :total="parseInt(TeacherHomeworkListForChecker.pages)"
+                    :total="parseInt(TeacherHomeworkListForCheckerInfo.pages)"
                     :hide-on-single-page="true"
                   ></el-pagination>
                 </div>
@@ -478,9 +479,9 @@ export default {
     ...mapGetters([
       "GetTeacherDetail",
       "getTeacherIdStatus",
-      "currtHomeworkStatus",
+      "CheckerCuretHomeworkStatus",
       "TeacherListForChecker",
-      "TeacherHomeworkListForChecker",
+      "TeacherHomeworkListForCheckerInfo",
       "InfoTeacherstatues"
     ])
   },
@@ -550,7 +551,7 @@ export default {
     async CheackHomeworkStatus(v) {
       let CurrthomeworkIdStatus = v.homeworkId;
       this.CurrthomeworkIdStatus = CurrthomeworkIdStatus;
-      this.$store.dispatch("CheckCurrHomeworkStatus", {
+      this.$store.dispatch("CheckerCurrHomeworkStatus", {
         homeworkId: v.homeworkId,
         originTeacherId: this.homeworkLIst.teacherId
       });
@@ -702,7 +703,7 @@ export default {
       this.pesiorFun();
     },
     // 质检当前作业状态:href="APPOR_BASE_URL+'?homeworkId='+v.homeworkId+'&unionid='+unionid+'&teacherId='+homeworkLIst.teacherId+'&state='+2"
-    currtHomeworkStatus(val, oldVal) {
+    CheckerCuretHomeworkStatus(val, oldVal) {
       //去检查的watch监听
       window.open(
         APPOR_BASE_URL +

+ 16 - 12
src/pages/home/SchoolManager.vue

@@ -295,17 +295,13 @@
                     </div>
                     <div
                       class="ApporTeacher"
-                      v-if="v.status === 3 && v.isCheck ===1"
+                      v-if="v.status === 3 && v.checkCount == v.picTotal"
                       style="width: 25%"
                     >
                       <span>{{v.checkCount}}</span>
                       <span style="color:#bbbbbb;">/{{v.picTotal}}</span>
                       <el-button type="info" @click="CheackHomeworkStatus(v)">
                         <span href style="text-decoration:none;color:#ffffff;">已检查</span>
-                        <!-- <a
-                          style="text-decoration:none;color:#ffffff;"
-                          :href="APPOR_BASE_URL+'?homeworkId='+v.homeworkId+'&unionid='+unionid+'&teacherId='+homeworkLIst.teacherId+'&state='+2"
-                        >已检查</a>-->
                       </el-button>
                       <span
                         class="WorngCount"
@@ -321,16 +317,24 @@
                     </div>
                     <div
                       class="tr-sw180"
-                      v-if="v.status === 3 && v.isCheck ===0"
+                      v-if="v.status === 3 && v.checkCount < v.picTotal"
                       style="width: 25%"
                     >
+                     <span>{{v.checkCount}}</span>
+                      <span style="color:#bbbbbb;">/{{v.picTotal}}</span>
                       <el-button type="warning" @click="CheackHomeworkStatus(v)">
                         <span href style="text-decoration:none;color:#ffffff;">去检查</span>
-                        <!-- <a
-                          style="text-decoration:none;color:#ffffff;"
-                          :href="APPOR_BASE_URL+'?homeworkId='+v.homeworkId+'&unionid='+unionid+'&teacherId='+homeworkLIst.teacherId+'&state='+2"
-                        >去检查</a>-->
                       </el-button>
+                       <span
+                        class="WorngCount"
+                        v-if="v.wrongCount > 0"
+                        style="color:red;font-size:12px;"
+                      >报错{{v.wrongCount}}</span>
+                      <span
+                        class="WorngCount"
+                        v-if="v.wrongCount == 0"
+                        style="color:#fbfbfb;font-size:12px;"
+                      >报错{{v.wrongCount}}</span>
                     </div>
                   </div>
                   <!-- 分页显示 -->
@@ -427,7 +431,7 @@
             </el-col>
           </el-col>
           <el-col :span="6" :offset="0">
-            <div class="main-header-item">
+            <div class="main-header-item"   v-if="DayTeacherList.status == 1">
               今日报错总次数:
               <span style="color:red;">{{DayTeacherList.wrongCount}}次</span>
             </div>
@@ -2348,7 +2352,7 @@ el-table {
 .tr-sw180 {
   width: 400px !important;
   text-align: right;
-  padding-right: 38px;
+  padding:0px !important;
 }
 .ApporTeacher {
   width: 400px !important;

+ 376 - 0
src/pages/super/AllHomeWorkPictrue.vue

@@ -0,0 +1,376 @@
+<!-- 活动解析 -->
+<template>
+  <div>
+    <!-- table 表格 -->
+    <el-row :gutter="20" class="main-items">
+      <el-col :span="20" class="main" :offset="2">
+        <el-row>
+          <el-col :span="20" class :offset="2">
+            <div class="studentInfo">
+              <span class="studentName">{{StudentHomework01Detail.name}}同学/{{StudentHomework01Detail.subject}}作业</span>
+              <span v-if="StudentHomework01Detail.status ==1" style="color:#52cc60;">/未分配</span>
+               <span v-if="StudentHomework01Detail.status ==2" style="color:#52cc60;">/已分配未批改</span>
+             <span v-if="StudentHomework01Detail.status ==3" style="color:#52cc60;">/批改中</span>
+              <br />
+              <span class="timeInfo">{{StudentHomework01Detail.statusTime}}</span>
+            </div>
+          
+          </el-col>
+          <el-col :span="20" class :offset="2">
+            <div class="topLine"></div>
+          </el-col>
+          <el-col :span="20" class="pictrueShowList" :offset="2">
+              <!-- {{StudentHomework01Detail}} -->
+            <div class="beginPictrue" v-if="StudentHomework01Detail.originPicList !== undefined && StudentHomework01Detail.originPicList.length >0">
+              <div class="studentName">原图</div>
+              <ul>
+                <li class="picLists" @click="pictrueAddView(v)" v-for="(v, k) of StudentHomework01Detail.originPicList" :key="k">
+                    <img :src="BASE_URL + v.url" alt class="table-img pictrueStyle" v-if="v.url"  />
+                    <img src="../../assets/img/attt.png" alt v-if="v.url ==''"  class="table-img pictrueStyle"/>
+                  <div v-if="v.type ==21" class="TeacherWords">已分配给其他老师</div>
+                   <div v-if="v.type ==20"  class="TeacherWords">作文有评语</div>
+                  <!-- 模糊 -->
+                  <img v-if="v.type ==1" class="logoPic" src="../../assets/img/Mohu (1).png" />
+                  <!-- 不全 -->
+                  <img v-if="v.type ==3" class="logoPic" src="../../assets/img/Reless (3).png" />
+                  <!-- 登记 -->
+                  <img  v-if="v.type ==22" class="logoPic" src="../../assets/img/sigin (3).png" />
+                  <!-- 补拍 -->
+                  <img v-if="v.type ==2" class="logoPic" src="../../assets/img/ReCamrea (1).png" />
+                  <!-- 不批改 -->
+                  <img v-if="v.type ==10" class="logoPic" src="../../assets/img/NoReset (1).png" />
+                  <div class="operateTime" v-if="v.operateTime">{{v.operateTime}}上传</div>
+                </li>
+              </ul>
+            </div>
+          </el-col>
+          <el-col :span="20" class="pictrueShowList" :offset="2">
+            <div class="beginPictrue" v-if="StudentHomework01Detail.correctPicList !== undefined && StudentHomework01Detail.correctPicList.length >0">
+              <div class="studentName">批改图片</div>
+              <ul>
+                <li class="picLists" @click="pictrueAddView(v)" v-for="(v, k) of StudentHomework01Detail.correctPicList" :key="k">
+                   <img :src="BASE_URL + v.url" alt class="table-img pictrueStyle" v-if="v.url"  />
+                    <img src="../../assets/img/attt.png" alt v-if="v.url ==''"  class="table-img pictrueStyle"/>
+                  <div v-if="v.type ==21" class="TeacherWords">已分配给其他老师</div>
+                   <div v-if="v.type ==20"  class="TeacherWords">作文有评语</div>
+                  <!-- 模糊 -->
+                  <img v-if="v.type ==1" class="logoPic" src="../../assets/img/Mohu (1).png" />
+                  <!-- 不全 -->
+                  <img v-if="v.type ==3" class="logoPic" src="../../assets/img/Reless (3).png" />
+                  <!-- 登记 -->
+                  <img  v-if="v.type ==22" class="logoPic" src="../../assets/img/sigin (3).png" />
+                  <!-- 补拍 -->
+                  <img v-if="v.type ==2" class="logoPic" src="../../assets/img/ReCamrea (1).png" />
+                  <!-- 不批改 -->
+                  <img v-if="v.type ==10" class="logoPic" src="../../assets/img/NoReset (1).png" />
+                     <div class="operateTime" v-if="v.operateTime">{{v.operateTime}}批改完</div>
+                      <div class="operateTime" v-if="v.teacherName">
+                        <span class="teacherImgUrl">
+                          <img :src="BASE_URL + v.teacherImgUrl" alt="">
+                        </span>
+                         <span>{{v.teacherName}}老师批改</span>      
+                      </div>
+                </li>
+              </ul>
+            </div>
+          </el-col>
+           <el-col :span="20" class="pictrueShowList" :offset="2">
+            <div class="beginPictrue" v-if="StudentHomework01Detail.matchPicList !== undefined && StudentHomework01Detail.matchPicList.length >0">
+              <div class="studentName">匹配照片</div>
+              <ul>
+                <li class="picLists" @click="pictrueAddView(v)" v-for="(v, k) of StudentHomework01Detail.matchPicList" :key="k">
+                   <img :src="BASE_URL + v.url" alt class="table-img pictrueStyle" v-if="v.url"  />
+                    <img src="../../assets/img/attt.png" alt v-if="v.url ==''"  class="table-img pictrueStyle"/>
+                  <div v-if="v.type ==21" class="TeacherWords">已分配给其他老师</div>
+                   <div v-if="v.type ==20"  class="TeacherWords">作文有评语</div>
+                  <!-- 模糊 -->
+                  <img v-if="v.type ==1" class="logoPic" src="../../assets/img/Mohu (1).png" />
+                  <!-- 不全 -->
+                  <img v-if="v.type ==3" class="logoPic" src="../../assets/img/Reless (3).png" />
+                  <!-- 登记 -->
+                  <img  v-if="v.type ==22" class="logoPic" src="../../assets/img/sigin (3).png" />
+                  <!-- 补拍 -->
+                  <img v-if="v.type ==2" class="logoPic" src="../../assets/img/ReCamrea (1).png" />
+                  <!-- 不批改 -->
+                  <img v-if="v.type ==10" class="logoPic" src="../../assets/img/NoReset (1).png" />
+                     <div class="operateTime" v-if="v.operateTime">{{v.operateTime}}匹配完</div>
+                     <div class="operateTime" v-if="!v.operateTime">未匹配</div>
+                       <div class="operateTime" v-if="v.teacherName">
+                        <span class="teacherImgUrl">
+                          <img :src="BASE_URL + v.teacherImgUrl" alt="">
+                        </span>
+                         <span>{{v.teacherName}}老师匹配</span>      
+                      </div>
+                </li>
+              </ul>
+            </div>
+          </el-col>
+          <el-col :span="20" class="pictrueShowList" :offset="2">
+            <div class="beginPictrue" v-if="StudentHomework01Detail.checkCorrectPicList !== undefined && StudentHomework01Detail.checkCorrectPicList.length >0">
+              <div class="studentName">作业批改质检</div>
+              <ul>
+                <li class="picLists" @click="pictrueAddView(v)" v-for="(v, k) of StudentHomework01Detail.checkCorrectPicList" :key="k">
+                   <img :src="BASE_URL + v.url" alt class="table-img pictrueStyle" v-if="v.url"  />
+                    <img src="../../assets/img/attt.png" alt v-if="v.url ==''"  class="table-img pictrueStyle"/>
+                  <div v-if="v.type ==21" class="TeacherWords">已分配给其他老师</div>
+                   <div v-if="v.type ==20"  class="TeacherWords">作文有评语</div>
+                  <!-- 模糊 -->
+                  <img v-if="v.type ==1" class="logoPic" src="../../assets/img/Mohu (1).png" />
+                  <!-- 不全 -->
+                  <img v-if="v.type ==3" class="logoPic" src="../../assets/img/Reless (3).png" />
+                  <!-- 登记 -->
+                  <img  v-if="v.type ==22" class="logoPic" src="../../assets/img/sigin (3).png" />
+                  <!-- 补拍 -->
+                  <img v-if="v.type ==2" class="logoPic" src="../../assets/img/ReCamrea (1).png" />
+                  <!-- 不批改 -->
+                  <img v-if="v.type ==10" class="logoPic" src="../../assets/img/NoReset (1).png" />
+                    <!-- 报错 -->
+                  <img v-if="v.type ==23" class="logoPic" src="../../assets/img/wrong (3).png" />
+                     <div class="operateTime" v-if="v.operateTime">{{v.operateTime}}质检完</div>
+                     <div class="operateTime" v-if="!v.operateTime">未质检</div>
+                       <div class="operateTime" v-if="v.teacherName">
+                        <span class="teacherImgUrl">
+                          <img :src="BASE_URL + v.teacherImgUrl" alt="">
+                        </span>
+                         <span>{{v.teacherName}}老师质检</span>      
+                      </div>
+                </li>
+              </ul>
+            </div>
+          </el-col>
+          <el-col :span="20" class="pictrueShowList" :offset="2">
+            <div class="beginPictrue" v-if="StudentHomework01Detail.checkMatchPicList !== undefined && StudentHomework01Detail.checkMatchPicList.length >0">
+              <div class="studentName">匹配知识点质检</div>
+              <ul>
+                <li class="picLists" @click="pictrueAddView(v)" v-for="(v, k) of StudentHomework01Detail.checkMatchPicList" :key="k">
+                   <img :src="BASE_URL + v.url" alt class="table-img pictrueStyle" v-if="v.url"  />
+                    <img src="../../assets/img/attt.png" alt v-if="v.url ==''"  class="table-img pictrueStyle"/>
+                  <div v-if="v.type ==21" class="TeacherWords">已分配给其他老师</div>
+                   <div v-if="v.type ==20"  class="TeacherWords">作文有评语</div>
+                  <!-- 模糊 -->
+                  <img v-if="v.type ==1" class="logoPic" src="../../assets/img/Mohu (1).png" />
+                  <!-- 不全 -->
+                  <img v-if="v.type ==3" class="logoPic" src="../../assets/img/Reless (3).png" />
+                  <!-- 登记 -->
+                  <img  v-if="v.type ==22" class="logoPic" src="../../assets/img/sigin (3).png" />
+                  <!-- 补拍 -->
+                  <img v-if="v.type ==2" class="logoPic" src="../../assets/img/ReCamrea (1).png" />
+                  <!-- 不批改 -->
+                  <img v-if="v.type ==10" class="logoPic" src="../../assets/img/NoReset (1).png" />
+                  <!-- 报错 -->
+                  <img v-if="v.type ==23" class="logoPic" src="../../assets/img/wrong (3).png" />
+                  
+                  <div class="operateTime" v-if="v.operateTime">{{v.operateTime}}质检完</div>
+                     <div class="operateTime" v-if="!v.operateTime">未质检</div>
+                       <div class="operateTime" v-if="v.teacherName">
+                        <span class="teacherImgUrl">
+                          <img :src="BASE_URL + v.teacherImgUrl" alt="">
+                        </span>
+                         <span>{{v.teacherName}}老师质检</span>      
+                      </div>
+                </li>
+              </ul>
+            </div>
+          </el-col>
+            <el-col :span="20" class :offset="2">
+            <div style="margin-top:200px; text-align:center;">
+              <el-button @click="routerback()" type="success" round>返回</el-button>
+            </div>
+          </el-col>
+        </el-row>
+      </el-col>
+    </el-row>
+    <!-- -->
+    <div class="showModel" @click="allShowModel(1)" v-if="PictruePush"></div>
+    <div class="modelspec" v-if="PictruePush">
+      <div class="detaillogo">
+        <img src="../../assets/img/del@2x.png" alt @click="allShowModel(1)" />
+      </div>
+      <img class="LargepictrueStyle" :src="BASE_URL + this.PrewPictrue " />
+    </div>
+  </div>
+</template>
+<script>
+import { mapGetters, mapActions } from "vuex";
+import { IMG_BASE_URL, APPOR_BASE_URL } from "@/config";
+export default {
+  components: {},
+  name: "",
+  props: {},
+  data() {
+    return {
+      BASE_URL: IMG_BASE_URL,
+      PictruePush: false,
+      PrewPictrue:"",
+      homeworkId:""
+    };
+  },
+  created() {
+     const homeworkId = this.$route.query.homeworkId;
+    this.homeworkId = homeworkId;
+  },
+  methods: {
+    pictrueAddView(v) {
+        this.PrewPictrue = v.url
+      this.PictruePush = true;
+    },
+        // 回退
+    routerback() {
+      this.$router.back(-1);
+    },
+    GetStudentHomework01DetailList(){
+          this.$store.dispatch("GetStudentHomework01Detail", {
+        homeworkId: this.homeworkId,
+      });
+    },
+    //关闭弹框
+    allShowModel(str) {
+      let _this = this;
+      if (str == 1) {
+        _this.PictruePush = false;
+      }
+    }
+  },
+  watch: {},
+  mounted() {
+    this.GetStudentHomework01DetailList()
+  },
+  computed: {
+    ...mapGetters(["StudentHomework01Detail"])
+  }
+};
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style scoped>
+.main {
+  background-color: #fff;
+  margin-top: 16px;
+  padding: 0 !important;
+  border: 1px solid #e1e1e1;
+  min-height: 980px;
+}
+
+.topLine {
+  width: 100%;
+  background-color: rgba(207, 204, 204, 0.815);
+  height: 1px;
+}
+.picLists {
+  position: relative;
+  width: 200px;
+  height: 200px;
+}
+.TeacherWords {
+  position: absolute;
+  bottom: 0;
+  right: 0;
+  width: 100%;
+  height: 30px;
+  background: #000000;
+  text-align: center;
+  line-height: 30px;
+  opacity: 0.4;
+  color: #ffff;
+  font-size: 8px;
+}
+.logoPic {
+  position: absolute;
+  top: 0;
+  right: 0;
+}
+.userstyle {
+  width: 50px;
+  height: 50px;
+  border-radius: 25px;
+}
+.operateTime{
+  height: 12px;
+  margin-top:10px;
+}
+.studentInfo {
+  display: inline-block;
+  float: left;
+  /* height: 70px; */
+  margin-top: 30px;
+  text-align: left;
+}
+.pictrueShowList{
+  margin-top:100px;
+}
+.loginMock {
+  color: #333333;
+  font-size: 14px;
+  display: inline-block;
+  float: right;
+  margin-top: 30px;
+}
+.timeInfo {
+  color: #999999;
+  font-size: 14px;
+}
+.studentName {
+  font-size: 25px;
+  color: black;
+  width: 160px;
+  text-align: left;
+}
+.teacherImgUrl{
+  height: 30px;
+  width: 30px;
+}
+.teacherImgUrl img{
+  height: 30px;
+  width: 30px;
+  border-radius: 15px;
+}
+.pictrueStyle {
+  width: 200px;
+  height: 200px;
+  border-radius: 5px;
+}
+.beginPictrue ul li {
+  float: left;
+  margin: 15px 20px 15px 0px;
+  cursor: pointer;
+}
+.showModel {
+  width: 100%;
+  height: 100%;
+  position: fixed;
+  top: 0;
+  left: 0;
+  background: #000000;
+  opacity: 0.2;
+  overflow: hidden;
+  z-index: 1000;
+  color: #fff;
+}
+.modelspec {
+  margin: 0 auto;
+}
+.LargepictrueStyle {
+  width: 100%;
+  height: 100%;
+  border-radius: 5px;
+}
+.modelspec {
+  z-index: 10000;
+  width: 50%;
+  /* height: 100%; */
+  height: auto;
+  position: fixed;
+  top: 10%;
+  left: 25%;
+  bottom: 10%;
+  margin: auto;
+  border-radius: 10px;
+  text-align: center;
+}
+.detaillogo {
+  position: fixed;
+  top: 5%;
+  right: 13%;
+  cursor: pointer;
+}
+</style>

+ 393 - 0
src/pages/super/AllStudentHomework.vue

@@ -0,0 +1,393 @@
+<!-- 活动解析 -->
+<template>
+  <div>
+    <!-- table 表格 -->
+    <el-row :gutter="20" class="main-items">
+      <!--数据监控-->
+      <el-col :span="20" class="main" :offset="2">
+        <el-row :gutter="20" class="main-header">
+          <el-col :span="4" :offset="19">
+            <div class="teach-block">
+              <div class="Dayteach-Allot">
+                <input
+                  type="text"
+                  placeholder="请输入学生名字"
+                  v-model="inputValue"
+                  class="Dayinput-with-Allot"
+                />
+                <span @click="GetGetTeacherCorrectDetailInfo()" class="DaySeachIcon el-icon-search"></span>
+              </div>
+            </div>
+          </el-col>
+        </el-row>
+        <div>
+          <el-table
+            style="width: 100%"
+            :data="StudentHomework01List"
+            :header-cell-class-name="tableheaderClassName"
+            :header-cell-style="{
+          'background-color': '#F6F7FB',
+          'color': '#393939',
+          'font-size': '16px'
+           }"
+            size="medium"
+            border
+            stripe
+          >
+            <el-table-column label="注册老师" header-align="center">
+              <template slot-scope="scope">
+                <div class="scope-list">
+                  <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>
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column prop="subject" label="科目" header-align="center"></el-table-column>
+            <el-table-column prop="grade" label="年级" header-align="center"></el-table-column>
+            <el-table-column prop="uploadTime" label="上传时间" header-align="center"></el-table-column>
+            <el-table-column prop="uploadTime" label="作业图片" header-align="center" width="200">
+              <template slot-scope="scope">
+                <span
+                  class="ClickWork"
+                  @click="HomeworkWornglists(scope.row)"
+                >查看</span>
+              </template>
+            </el-table-column>
+          </el-table>
+          <!-- 分页显示 -->
+          <el-pagination
+            background
+            @size-change="handleSizeChange3"
+            @current-change="pageChange3"
+            :page-sizes="[10,50,100,200]"
+            :current-page.sync="currentPage"
+            layout="sizes, total,prev, pager, next"
+            :hide-on-single-page="true"
+            :total="parseInt(StudentHomework01List.pages)"
+          ></el-pagination>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+<script>
+import { mapGetters, mapActions } from "vuex";
+import { IMG_BASE_URL, APPOR_BASE_URL } from "@/config";
+export default {
+  components: {},
+  name: "actvResolveLabel",
+  props: {},
+  data() {
+    return {
+      inputValue: "",
+      BASE_URL: IMG_BASE_URL,
+      selMonth:this.monthFormatDate(),
+      currentPage: 1,
+       filters2: {
+        MaxtimeValue: "",
+        oneMonth: "",
+        pageNo: 1,
+        pageSize: 10
+      }
+    };
+  },
+  watch: {},
+  computed: {
+    ...mapGetters([
+     "StudentHomework01List"
+    ])
+  },
+  methods: {
+    ...mapActions(["setUser"]),
+    // 表格头部样式
+    tableheaderClassName({ row, rowIndex }) {
+      return "table-head-th";
+    },
+     // 作业原图
+    HomeworkWornglists(v){
+         this.$router.push({
+        path: "/super/AllHomeWorkPictrue",
+           query: {
+          homeworkId: v.homeworkId,
+        }
+      });
+    },
+    // 批改明细
+    GetGetTeacherCorrectDetailInfo() {
+      this.$store.dispatch("GetStudentHomework01List", {
+        pageNo: this.filters2.pageNo,
+        pageSize: this.filters2.pageSize,
+        oneMonth: this.selMonth,
+        maxCreateTime: this.formatDate(),
+        name: this.inputValue
+      });
+    },
+         //年月时间封装
+    monthFormatDate: function() {
+      let date = new Date();
+      let y = date.getFullYear();
+      let MM = date.getMonth() + 1;
+      MM = MM < 10 ? "0" + MM : MM;
+      return y + "-" + MM;
+    },
+    //弹框
+    isShow(str, img) {
+      let _this = this;
+      console.log(str);
+      if (str == 1) {
+        _this.hiddenModel = true;
+        _this.isPigai = false;
+      } else if (str == 2) {
+        _this.isPigai = true;
+        _this.hiddenModel = false;
+      } else if (str == 3) {
+        _this.cardShow = true;
+        _this.imgCard = img;
+      }
+    },
+    //关闭弹框
+    allShowModel(str) {
+      let _this = this;
+      if (str == 1) {
+        _this.hiddenModel = false;
+      } else if (str == 2) {
+        _this.isPigai = false;
+      } else if (str == 3) {
+        _this.cardShow = false;
+      }
+    },
+    //时间封装
+    formatDate: function() {
+      let date = new Date();
+      let y = date.getFullYear();
+      let MM = date.getMonth() + 1;
+      MM = MM < 10 ? "0" + MM : MM;
+      let d = date.getDate();
+      d = d < 10 ? "0" + d : d;
+      let h = date.getHours();
+      h = h < 10 ? "0" + h : h;
+      let m = date.getMinutes();
+      m = m < 10 ? "0" + m : m;
+      let s = date.getSeconds();
+      s = s < 10 ? "0" + s : s;
+      return y + "-" + MM + "-" + d + " " + h + ":" + m + ":" + s;
+    },
+ 
+     pageChange3(val) {
+      this.currentPage = val;
+      this.filters2.pageNo = val;
+      this.GetGetTeacherCorrectDetailInfo();
+    },
+
+    handleSizeChange3(val) {
+      this.filters2.pageSize = val;
+      this.GetGetTeacherCorrectDetailInfo();
+    },
+
+  },
+  mounted() {
+    this.GetGetTeacherCorrectDetailInfo();
+  }
+};
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style>
+.main {
+  background-color: #fff;
+  margin-top: 16px;
+  padding: 0 !important;
+  border: 1px solid #e1e1e1;
+  min-height: 980px;
+}
+
+el-table {
+  color: #999999;
+  font-size: 18px;
+}
+.el-pagination.is-background .el-pager li:not(.disabled).active {
+  background-color: #52cc60 !important;
+  color: #fff;
+}
+.main-items {
+  color: #393939;
+  text-align: center;
+  line-height: 80px;
+}
+.main-header-item {
+  cursor: pointer;
+  font-size: 16px;
+  color: #7e7e7e;
+}
+
+.input-with-select .el-input-group__prepend {
+  background-color: #fff;
+}
+
+.table-img {
+  width: 36px;
+  height: 36px;
+  border-radius: 6px;
+}
+.showModel {
+  width: 100%;
+  height: 100%;
+  position: fixed;
+  top: 0;
+  left: 0;
+  background: #000000;
+  opacity: 0.2;
+  overflow: hidden;
+  z-index: 1000;
+  color: #fff;
+}
+.model {
+  z-index: 1001;
+  width: 40%;
+  height: auto;
+  position: fixed;
+  top: 30%;
+  left: 30%;
+  margin: auto;
+  background: #fff;
+  border-radius: 10px;
+  text-align: center;
+}
+.scope-name {
+  margin-left: 13px;
+}
+.identity-card {
+  width: 52px;
+  height: 51px;
+  border-radius: 4px;
+  margin-right: 17px;
+}
+.model-text {
+  background: rgba(255, 255, 255, 1);
+  border-radius: 10px;
+}
+
+.model-btn {
+  display: flex;
+  justify-content: space-around;
+  margin-bottom: 44px;
+}
+.model-btn-info-img {
+  width: 451px;
+  height: 298px;
+}
+.model-btn-items {
+  width: 154px;
+  height: 50px;
+  line-height: 50px;
+  text-align: center;
+  font-size: 18px;
+  border-radius: 4px;
+}
+.main-gay {
+  background: rgba(246, 247, 251, 1);
+  color: #7e7e7e;
+}
+.model-grdeen {
+  background-color: #52cc60;
+  color: #fff;
+}
+.model-text-items-close {
+  position: absolute;
+  top: 10px;
+  right: 15px;
+}
+.model-text-items {
+  position: relative;
+  color: #000000;
+  font-size: 24px;
+  text-align: center;
+  padding: 40px 0 50px 0;
+}
+.el-table {
+  margin-top: 50px;
+}
+.el-table .table-head-th {
+  background-color: #f6f7fb;
+  font-size: 16px !important;
+  color: #393939;
+}
+.page-block {
+  text-align: center !important;
+  margin-top: 15px;
+}
+.scope-list {
+  margin-left: 18px;
+  text-align: left;
+}
+.ApporStyles {
+  display: inline-block;
+  width: 200px;
+  height: 40px;
+  line-height: 40px;
+  background-color: #fff;
+  border-radius: 20px;
+  font-size: 16px;
+  color: #7c819d;
+  cursor: pointer;
+}
+.navteacfertypeactive {
+  background-color: #52cc60 !important;
+  color: #fff !important;
+}
+.el-pagination .el-select .el-input {
+  /* width: 120px; */
+  margin: 0 -100px !important;
+}
+.ClickWork {
+  font-size: 16px;
+  text-decoration: underline;
+  cursor: pointer;
+}
+.bank-active {
+  color: #52cc60;
+  font-size: 16px;
+  text-decoration: underline;
+  cursor: pointer;
+}
+.Dayinput-with-Allot {
+  border: #b6b6b6;
+  border-radius: 20px;
+  height: 40px;
+  width: 300px;
+  font-size: 8px;
+  color: #b6b6b6;
+  text-align: left;
+  line-height: 40px;
+  background: #f1f2f4;
+  padding: 0 10px;
+  float: left;
+  outline: none !important;
+  box-shadow: none;
+}
+.Dayteach-Allot {
+  width: 400px;
+  position: relative;
+  height: 40px;
+  top: 15px;
+}
+.DaySeachIcon {
+  position: absolute;
+  font-size: 20px;
+  color: #b6b6b6;
+  right: 30%;
+  margin-top: 10px;
+  cursor: pointer;
+}
+</style>

Fichier diff supprimé car celui-ci est trop grand
+ 522 - 321
src/pages/super/CheckTeacherPay.vue


+ 2 - 2
src/pages/super/ComposeType.vue

@@ -165,12 +165,12 @@
                     >
                       <!-- {{FindCalendarList}} -->
                       <div class="date-day">{{ item.date }}</div>
-                      <div class="people" v-if="item.dateList.isOpen ==0">
+                      <div class="people" v-if="item.dateList && item.dateList.intervalList && item.dateList.isOpen ==0">
                         <div class="people-items">
                           <div style="color:#999999" class="people-items-text">不开放</div>
                         </div>
                       </div>
-                      <div class="people" v-if="item.dateList.isOpen ==1">
+                      <div class="people" v-if="item.dateList && item.dateList.intervalList && item.dateList.isOpen ==1">
                         <div class="people-items">
                           <div class="people-items-num">{{item.dateList.miniNum}}</div>
                           <div class="people-items-text">最少</div>

+ 290 - 0
src/pages/super/HomeworkInfoMessage.vue

@@ -0,0 +1,290 @@
+<!-- 活动解析 -->
+<template>
+  <div>
+    <!-- table 表格 -->
+    <el-row :gutter="20" class="main-items" >
+
+      <!--数据监控homeworkRecoveryList.list-->
+      <el-col :span="20" class="main" :offset="2">
+
+        <el-table
+          :data="GetTeacherAllHomework.list"
+          :header-cell-class-name="tableheaderClassName"
+          :header-cell-style="{
+          'color': '#999999',
+          'font-size': '16px'
+           }"
+          size="medium"
+          stripe
+        >
+          <el-table-column
+            label="学生"
+            prop="name"
+            header-align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="subject"
+            label="科目"
+            header-align="center"
+          >
+          </el-table-column>
+           <el-table-column
+            prop="grade"
+            label="年级"
+            header-align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="time"
+            label="时间"
+            header-align="center"
+          ></el-table-column>
+           <el-table-column prop label="作业图片" header-align="center" width="200">
+        <template slot-scope="scope">
+          <span
+            class="allocation"
+            @click="GetStudentHomeworkDetail(scope.row)"
+          >查看</span>
+        </template>
+      </el-table-column>
+        </el-table>
+        <!-- 分页显示 -->
+          <el-pagination
+            background
+            @size-change="handleSizeChange1"
+            @current-change="pageChange1"
+            :page-sizes="[10]"
+            layout="total,prev, pager, next"
+            :total= parseInt(GetTeacherAllHomework.pages)
+          ></el-pagination>
+      </el-col>
+        <el-col :span="20" class :offset="2">
+            <div style="margin-top:200px; text-align:center;">
+              <el-button @click="routerback()" type="success" round>返回</el-button>
+            </div>
+          </el-col>
+    </el-row>
+
+  </div>
+</template>
+<script>
+  import { mapGetters, mapActions } from "vuex";
+ import { IMG_BASE_URL, APPOR_BASE_URL } from "@/config";
+  export default {
+    components: { },
+    name: "actvResolveLabel",
+    props: {},
+    data() {
+      return {
+        BASE_URL:IMG_BASE_URL,
+        filters: {
+          MaxtimeValue:'',
+          pageNo: 1,
+          pageSize: 10,
+          oneMonth:'',
+          teacherId:''
+
+        },
+      };
+    },
+    watch: {},
+   created() {
+    const teacherId = this.$route.query.teacherId;
+    const oneMonth = this.$route.query.oneMonth;
+    const type = this.$route.query.type;
+    // debugger
+    this.filters.teacherId = teacherId;
+    this.filters.oneMonth = oneMonth;
+    this.TeacherType = type
+  },
+    computed: {
+      ...mapGetters(['GetTeacherAllHomework'])
+    },
+    methods: {
+      ...mapActions(["setUser"]),
+      // 表格头部样式
+      tableheaderClassName({ row, rowIndex }) {
+        return "table-head-th";
+      },
+    
+     // 查看学生作业原图详情
+    GetStudentHomeworkDetail(v) {
+    //   debugger
+      this.$store.dispatch("GetStudentHomeworkDetail", {
+        teacherId:this.filters.teacherId,
+        homeworkId: v.homeworkId,
+        type: this.TeacherType
+      });
+      this.$router.push({
+        path: "/Super/HomeWorkPictrue"
+      });
+    },
+        // 回退
+    routerback() {
+      this.$router.back(-1);
+    },
+      //时间封装
+      formatDate: function () {
+        let date = new Date();
+        let y = date.getFullYear();
+        let MM = date.getMonth() + 1;
+        MM = MM < 10 ? ('0' + MM) : MM;
+        let d = date.getDate();
+        d = d < 10 ? ('0' + d) : d;
+        let h = date.getHours();
+        h = h < 10 ? ('0' + h) : h;
+        let m = date.getMinutes();
+        m = m < 10 ? ('0' + m) : m;
+        let s = date.getSeconds();
+        s = s < 10 ? ('0' + s) : s;
+        return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
+      },
+      //累计批改总张数列表
+      async HomeworkRecoveryList() {
+        this.$store.dispatch("GetTeacherAllHomeworkInfo", {
+          pageNo: this.filters.pageNo,
+          pageSize: this.filters.pageSize,
+          maxCreateTime: this.formatDate(),
+          teacherId: this.filters.teacherId,
+          oneMonth: this.filters.oneMonth,
+        });
+      },
+      pageChange1(val) {
+        this.filters.pageNo = val;
+        this.HomeworkRecoveryList();
+      },
+    
+      handleSizeChange1(val) {
+        this.filters.pageSize = val;
+        this.HomeworkRecoveryList();
+      },
+  
+    },
+    mounted() {
+      sessionStorage.setItem('tabIndex',3);
+      this.HomeworkRecoveryList()
+    }
+  };
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style>
+
+  .main{
+    background-color: #fff;
+    margin-top: 16px;
+    padding: 0 !important;
+    border: 1px solid #E1E1E1;
+    min-height: 980px;
+  }
+
+  el-table{
+    color: #999999;
+    font-size: 18px;
+  }
+  .main-items{
+    color: #393939;
+    text-align: center;
+    line-height: 80px;
+  }
+
+
+  .input-with-select .el-input-group__prepend {
+    background-color: #fff;
+  }
+
+  .showModel {
+    width: 100%;
+    height: 100%;
+    position: fixed;
+    top: 0;
+    left: 0;
+    background: #000000;
+    opacity: 0.2;
+    overflow: hidden;
+    z-index: 1000;
+    color: #fff;
+  }
+  .model {
+    z-index: 10000;
+    width: 60%;
+    height: auto;
+    position: fixed;
+    top: 15%;
+    left: 30%;
+    margin: auto;
+    background: #fff;
+    border-radius: 10px;
+    text-align: center;
+  }
+
+  .model-text {
+    background: rgba(255, 255, 255, 1);
+    border-radius: 10px;
+    overflow: hidden;
+  }
+
+  .model-items-left {
+    /* float:left; */
+    width: 100%;
+    color: #393939;
+    font-size: 24px;
+    height: 100px;
+  }
+  .model-items-left-top {
+    display: flex;
+    justify-content: space-between;
+  }
+
+  .model-items-left-top-img {
+    width: 68px;
+    height: 68px;
+    border-radius: 8px;
+    position: relative;
+    bottom: 25px;
+  }
+  .model-items-left-top-number {
+    color: #7e7e7e;
+    font-size: 18px;
+    margin-left: 10px;
+  }
+
+  .el-table .table-head-th{
+    background-color:#F6F7FB;
+    font-size: 16px !important;
+    color: #393939;
+
+  }
+  .model-manager {
+    display: flex;
+    justify-content: space-between;
+    margin: 30px;
+    color: #393939;
+    font-size: 24px;
+  }
+  .allocation-items{
+    /* float:left; */
+    width: 45%;
+    display: inline-block;
+    margin-right: 20px;
+    margin-bottom:30px;
+   
+  }
+  .allocation{
+    color: #52CC60;
+    font-size: 20px;
+    text-decoration: underline;
+    cursor: pointer;
+  }
+.el-pagination.is-background .el-pager li:not(.disabled).active {
+    background-color:#52cc60!important;
+    color: #fff;
+}
+  .pages{
+    margin: 15px 0;
+  }
+.el-table td, .el-table th {
+    text-align: center!important;
+}
+</style>

+ 19 - 9
src/pages/super/SchoolManager.vue

@@ -288,7 +288,7 @@
                     </div>
                     <div
                       class="ApporTeacher"
-                      v-if="v.status === 3 && v.isCheck ===1"
+                      v-if="v.status === 3 && v.checkCount == v.picTotal"
                       style="width: 25%"
                     >
                       <span>{{v.checkCount}}</span>
@@ -307,12 +307,22 @@
                     </div>
                     <div
                       class="tr-sw180"
-                      v-if="v.status === 3 && v.isCheck ===0"
+                     v-if="v.status === 3 && v.checkCount < v.picTotal"
                       style="width: 25%"
                     >
+                       <span>{{v.checkCount}}</span>
+                      <span style="color:#bbbbbb;">/{{v.picTotal}}</span>
                       <el-button type="warning" @click="CheackHomeworkStatus(v)">
                         <span href style="text-decoration:none;color:#ffffff;">去检查</span>
                       </el-button>
+                          <span
+                        v-if="v.wrongCount > 0"
+                        style="color:red;font-size:12px;"
+                      >报错{{v.wrongCount}}</span>
+                      <span
+                        v-if="v.wrongCount == 0"
+                        style="color:#fbfbfb;font-size:12px;"
+                      >报错{{v.wrongCount}}</span>
                     </div>
                   </div>
                   <!-- 分页显示 -->
@@ -869,10 +879,10 @@
               </div>
               <div
                 class="closeAnOpenId"
-                style="display:inline-block"
+                style="display:inline-block"   
                 v-if="this.TeacherIdStatus ==1 || 2 && this.TeacherIdStatus !==3"
               >
-                <div class="closeTeacherID" @click="isShow(GetTeacherDetail,6)">
+                <div class="closeTeacherID"  v-if="this.teacherRoles != 11" @click="isShow(GetTeacherDetail,6)">
                   <span class="el-icon-close">封号</span>
                 </div>
                 <div
@@ -941,6 +951,7 @@
               class="UpTeacherID"
               style="width:120px;margin-top:30px;"
               @click="isShow(GetTeacherDetail,8)"
+              v-if="this.teacherRoles != 11"
             >
               <span class="el-icon-user-solid">重新分配组</span>
             </div>
@@ -1443,7 +1454,7 @@ export default {
       "BeforetoTeacherstatues",
       "InfoTeacherstatues",
       "ApporingTeacherstatues",
-      "currtHomeworkStatus"
+      "SuperCheckerCuretHomeworkStatus"
     ])
   },
   methods: {
@@ -1644,7 +1655,7 @@ export default {
     async CheackHomeworkStatus(v) {
       let CurrthomeworkIdStatus = v.homeworkId;
       this.CurrthomeworkIdStatus = CurrthomeworkIdStatus;
-      this.$store.dispatch("CheckCurrHomeworkStatus", {
+      this.$store.dispatch("SuperCheckerCurrHomeworkStatus", {
         homeworkId: v.homeworkId,
         originTeacherId: this.homeworkLIst.teacherId
       });
@@ -2015,7 +2026,7 @@ export default {
         grade: this.filters.OptionsValue,
         subject: this.filters.gradesValue,
         teacherName: this.filters1.inputValue,
-           maxCreateTime: this.dayFormatDate(),
+        maxCreateTime: this.dayFormatDate(),
         oneDay: this.filters1.MaxtimeValue,
         pageNo: this.filters1.pageNo,
         pageSize: this.filters1.pageSize,
@@ -2331,7 +2342,7 @@ export default {
       this.RefreshTeacherHomework();
     },
     // 质检当前作业状态:href="APPOR_BASE_URL+'?homeworkId='+v.homeworkId+'&unionid='+unionid+'&teacherId='+homeworkLIst.teacherId+'&state='+2"
-    currtHomeworkStatus(val, oldVal) {
+    SuperCheckerCuretHomeworkStatus(val, oldVal) {
       //去检查的watch监听
       window.open(
         APPOR_BASE_URL +
@@ -2645,7 +2656,6 @@ ul {
 .tr-sw180 {
   width: 400px !important;
   text-align: right;
-  padding-right: 38px;
 }
 .ApporTeacher {
   width: 400px !important;

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

@@ -22,6 +22,12 @@
           <div class="main-header-item">活跃用户数:{{getManagerList.activeUserCount}}人</div>
           <div class="main-header-item">上周新增用户数{{getManagerList.increaseUser}}人</div>
           <div class="main-header-item">
+            <div class="SearchStudent">
+              <div class="Ageclass" @click="StudentSearchPages()">
+                <span class="age-tip">搜索学生</span>
+                <span class="el-icon-search"></span>
+              </div>
+          </div>
             <div class="selectBox">
               <div
                 class="Ageclass"
@@ -155,23 +161,23 @@
               </div>
             </div>
             <div>
-              <div
+              <!-- <div
                 class="closeTeacherID"
                 v-if="TeacherIdstatus !='封号'"
                 @click="isShow(3,getManagerDetail.name)"
               >
                 <span class="el-icon-close">封号</span>
-              </div>
+              </div> -->
               <div class="closeTeacherID" @click="isShow(2,getManagerDetail.name)">
                 <span class="el-icon-bottom">降级</span>
               </div>
-              <div
+              <!-- <div
                 v-if="TeacherIdstatus =='封号'"
                 class="UpTeacherID"
                 @click="isShow(4,getManagerDetail.name)"
               >
                 <span class="el-icon-unlock">解封</span>
-              </div>
+              </div> -->
             </div>
           </div>
           <div class="model-items-other model-active">批改科目 : {{getManagerDetail.subject}}</div>
@@ -382,6 +388,11 @@ export default {
         _this.OpenID = false;
       }
     },
+    StudentSearchPages() {
+        this.$router.push({
+        path: "/Super/AllStudentHomework",
+      });
+    },
     // 手动批改
     handApor() {
       this.Activeindex = false;
@@ -925,6 +936,11 @@ el-table {
   right: 50px;
   top: 15px;
 }
+.SearchStudent{
+   position: absolute;
+  right: 200px;
+  top: 15px;
+}
 .Ageclass {
   /* display: inline-block; */
   height: 40px;

+ 674 - 0
src/pages/super/TeacherPay.vue

@@ -0,0 +1,674 @@
+<!-- 活动解析 -->
+<template>
+  <div>
+    <!-- table 表格 -->
+    <el-row :gutter="20" class="main-items">
+      <el-col :span="20" class="main">
+        <el-row :gutter="20" class="main-header">
+          <el-col :span="5">
+            <div class="main-header-item">
+              报错总次数:
+              <span style="color:red;">{{GetTeacherWrongCount.allErrorCount}}次</span>
+            </div>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20" class="main-header">
+          <el-col :span="24">
+            <div class="table">
+              <div class="table-head">
+                <div>时间</div>
+                <div>学生</div>
+                <div>科目</div>
+                <div style="margin-left:40px;">查看报错详情</div>
+              </div>
+              <div class="tr" v-for="(v, k) of GetTeacherWrongCount.list" :key="k">
+                <div class="tr-first" :class="{BgcColor:k%2 !== 1}">
+                  <div>{{v.date}}</div>
+                  <div>{{v.studentName}}</div>
+                  <div>{{v.subject}}</div>
+                  <div class="tr-seconds">
+                    <span
+                      @click="groupDetail(v)"
+                      style="cursor: pointer;"
+                      class="tr-second-check"
+                    >查看详情</span>
+                  </div>
+                </div>
+              </div>
+            </div>
+            <!-- 分页显示 -->
+            <el-pagination
+              background
+              @size-change="handleSizeChange1"
+              @current-change="pageChange1"
+              :page-sizes="[10]"
+              layout="total, prev, pager, next"
+              :total="parseInt(errorWarningList.pages)"
+              :hide-on-single-page="true"
+            ></el-pagination>
+            <div style="clear:both;"></div>
+          </el-col>
+        </el-row>
+      </el-col>
+         <el-col :span="20" class :offset="2">
+            <div style="margin-top:200px; text-align:center;">
+              <el-button @click="routerback()" type="success" round>返回</el-button>
+            </div>
+          </el-col>
+    </el-row>
+    <div class="showModel" @click="updateIsShowCarouselPictureModal()" v-if="NoAllotManagerModel">
+      <div class="modal-cancel" @click="updateIsShowCarouselPictureModal()">X</div>
+      <div class="detailinfo">
+     
+        <div class="detailImg">
+          <img :src="BASE_URL + GetWrongDetail[0].pictureUrl" alt />
+        </div>
+        <div class="detailword">
+          <div>
+            <h1 class="tipsesson">错误原因:</h1>
+            <span class="tipsessonWord">{{GetWrongDetail[0].errorReason}}</span>
+          </div>
+          <div class="timeAndteacher">
+            <h2 class="managertip">{{GetWrongDetail[0].checker}}</h2>
+            <div class="timeset">{{GetWrongDetail[0].checkDate}}</div>
+            <div class="timesetImg">
+              <img src="../../assets/img/pen.png" alt />
+            </div>
+          </div>
+        </div>
+        <div class="nextPrveBtn">
+          <!-- 上一页 -->
+          <!-- <div @click="Clickprvebtn" v-show='pictureIndex >0'  class="prvebtn"  style="height:50px;cursor:pointer;">
+                  <img src="../../assets/img/prev_white.png" alt="">
+                </div>
+                   <div v-show='pictureIndex == 0'  class="prvebtn"  style="height:50px">
+                  <img src="../../assets/img/prev_gray.png" alt="">
+          </div>-->
+          <!-- 张数 -->
+          <!-- <div style="color:#ffffff; font-size:25px;margin-top:40px;">
+                  <span>{{pictureIndex + 1}}</span><span style="color:#bbbbbb;">/{{errorDetailList.length}}</span>
+          </div>-->
+          <!-- 下一页 -->
+          <!-- <div @click="ClickNextebtn" v-show='pictureIndex < errorDetailList.length - 1' class="Nextebtn"  style="height:50px;cursor:pointer;">
+                  <img  src="../../assets/img/next_white.png" alt="">
+                </div>
+                <div v-show='pictureIndex == errorDetailList.length - 1'  class="Nextebtn" style="height:50px">
+                  <img  src="../../assets/img/next_gray.png" alt="">
+          </div>-->
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+import { mapGetters, mapActions } from "vuex";
+import { IMG_BASE_URL, APPOR_BASE_URL } from "@/config";
+export default {
+  components: {},
+  name: "actvResolveLabel",
+  props: {},
+  data() {
+    return {
+      BASE_URL: IMG_BASE_URL,
+      accessToken: localStorage.getItem("accessToken"),
+      NoAllotManagerModel: false, //token
+      filters1: {
+        pageNo: 1,
+        pageSize: 10,
+        teacherId:'',
+        oneMonth:""
+      },
+      pictureIndex: 0
+    };
+  },
+  created() {
+    const teacherId = this.$route.query.teacherId;
+    const oneMonth = this.$route.query.oneMonth;
+    this.teacherId = teacherId;
+     this.oneMonth = oneMonth;
+  },
+  watch: {},
+  computed: {
+    ...mapGetters(["errorWarningList","GetTeacherWrongCount","GetWrongDetail"])
+  },
+  methods: {
+    ...mapActions(["setUser"]),
+    // 去批改前分配老师
+    async GeterrorWarningLists() {
+      this.$store.dispatch("GetTeacherWrongCountInfo", {
+        pageNo: this.filters1.pageNo,
+        pageSize: this.filters1.pageSize,
+        accessToken: this.accessToken,
+        teacherId:this.teacherId,
+        oneMonth:this.oneMonth,
+      });
+    },
+    handleSizeChange1(val) {
+      this.filters1.pageSize = val;
+      this.GeterrorWarningLists();
+    },
+    pageChange1(val) {
+      this.filters1.pageNo = val;
+      this.GeterrorWarningLists();
+    },
+    updateIsShowCarouselPictureModal() {
+      this.NoAllotManagerModel = false;
+    },
+    //报错详情
+    groupDetail(str) {
+      this.pictureIndex = 0;
+      this.NoAllotManagerModel = true;
+      this.$store.dispatch("GetWrongDetailInfo", {
+        pictureId: str.pictureId,
+        teacherId:this.teacherId,
+        accessToken: this.accessToken
+      });
+    },
+            // 回退
+    routerback() {
+      this.$router.back(-1);
+    },
+    // 下一页
+    ClickNextebtn() {
+      this.pictureIndex++;
+      console.log(this.pictureIndex);
+      // if (this.pictureIndex >= errorDetailList.list.length){
+      //     return
+      // }
+    },
+    // 上一页
+    Clickprvebtn() {
+      this.pictureIndex--;
+      console.log(this.pictureIndex);
+      // if (this.pictureIndex <= errorDetailList.list.length){
+      //     return
+      // }
+    },
+  },
+  mounted() {
+    console.log(this.pictureIndex);
+    this.GeterrorWarningLists();
+  }
+};
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style scoped>
+.showModel {
+  width: 100%;
+  height: 100%;
+  position: fixed;
+  top: 0;
+  left: 0;
+  background-color: rgba(5, 5, 5, 0.5);
+  opacity: 1 !important;
+  overflow: hidden !important;
+  /* color: #fff; */
+}
+.modal-cancel {
+  position: absolute;
+  top: 20px;
+  right: 40px;
+  width: 50px;
+  height: 50px;
+  text-align: center;
+  line-height: 50px;
+  background-color: rgba(66, 56, 56, 0.5);
+  border-radius: 100px;
+  font-size: 16;
+  color: #eee;
+  cursor: pointer;
+}
+.detailinfo {
+  position: absolute;
+  left: 50%;
+  margin-left: -650px;
+  top: 10%;
+  width: 1300px;
+  height: 1000px;
+  /* background: #eee; */
+  text-align: center;
+  line-height: 50px;
+  border-radius: 100px;
+  font-size: 16;
+  z-index: 9999;
+  opacity: 1 !important;
+  color: #000000;
+  padding: 50px !important;
+}
+.detailImg {
+  background: #000000;
+  position: absolute;
+  left: 0;
+  top: 20px;
+  width: 600px;
+  height: 700px;
+  text-align: center;
+  line-height: 50px;
+  border-radius: 15px;
+  font-size: 16;
+  color: rgb(0, 0, 0);
+  opacity: 1 !important;
+  /* cursor: pointer; */
+}
+.detailword {
+  background: #eee;
+  position: absolute;
+  right: 0;
+  top: 20px;
+  width: 600px;
+  height: 700px;
+  text-align: center;
+  line-height: 50px;
+  border-radius: 15px;
+  font-size: 16;
+  color: #000000;
+  opacity: 1 !important;
+  /* cursor: pointer; */
+}
+.detailImg img {
+  width: 600px;
+  height: 700px;
+  border-radius: 15px;
+}
+.tipsesson {
+  font-size: 18px;
+  font-weight: 700;
+  position: absolute;
+  left: 10px;
+  top: 20px;
+}
+.tipsessonWord {
+  width: 100%;
+  height: 400px;
+  font-size: 14px;
+  position: absolute;
+  left: 10px;
+  top: 50px;
+  padding: 0 20px;
+  line-height: 20px;
+  text-align: left;
+}
+.BgcColor {
+  background-color: #f7fbfc;
+}
+.managertip {
+  font-size: 20px;
+  font-weight: 700;
+}
+.timeAndteacher {
+  height: 200px;
+  position: absolute;
+  right: 50px;
+  bottom: 50px;
+}
+.nextPrveBtn {
+  width: 400px;
+  left: 50%;
+  margin-left: -200px;
+  height: 200px;
+  position: absolute;
+  bottom: 50px;
+}
+.timeset {
+  color: #5de26c;
+  font-size: 16px;
+}
+.Nextebtn {
+  height: 100px;
+  position: absolute;
+  right: 50px;
+  bottom: 50px;
+}
+.prvebtn {
+  height: 100px;
+  position: absolute;
+  left: 50px;
+  bottom: 50px;
+}
+.el-pagination.is-background .el-pager li:not(.disabled).active {
+  background-color: #52cc60 !important;
+  color: #fff;
+}
+html,
+body {
+  height: 100%;
+  overflow: hidden;
+}
+ul {
+  text-align: center;
+  margin: 0 !important;
+}
+.aside {
+  /* background-color: #fbfbfb; */
+  margin-top: 16px;
+  padding: 0;
+  min-height: 880px;
+}
+.main {
+  background-color: #fff;
+  margin: 16px;
+  padding: 0 !important;
+  margin-left: 180px;
+  min-height: 980px;
+}
+.table-aside {
+  color: #666666;
+  font-size: 18px;
+  text-align: center;
+  line-height: 60px;
+  cursor: pointer;
+}
+el-table {
+  color: #999999;
+  font-size: 18px;
+}
+.main-items {
+  color: #393939;
+  text-align: center;
+  line-height: 80px;
+}
+.main-header-item {
+  font-size: 16px;
+}
+.model-manager {
+  display: flex;
+  justify-content: space-between;
+  margin: 30px;
+  color: #393939;
+  font-size: 24px;
+}
+.main-header-link {
+  color: #52cc60;
+  font-size: 18px;
+  margin-left: 10px;
+  cursor: pointer;
+  text-decoration: underline;
+}
+.el-select {
+  width: 100px;
+  margin: 0 5px;
+}
+.input-with-select .el-input-group__prepend {
+  background-color: #fff;
+}
+.input-with-new {
+  border: 1px solid #cccccc;
+  border-radius: 15px;
+  height: 30px;
+  line-height: 30px;
+  padding: 10px;
+  font-size: 12px;
+  color: #eeeeee;
+  width: 180px;
+}
+.active {
+  background-color: #52cc60;
+  color: #fff;
+}
+.el-input__inner {
+  height: 32px;
+}
+
+.table-img {
+  width: 36px;
+  height: 36px;
+  border-radius: 6px;
+  margin-left: 14px;
+  cursor: pointer;
+}
+.table {
+  width: 94.5%;
+  border-top: 1px solid #e5e5e5;
+  margin: 0 43px;
+}
+.table-head {
+  margin-right: 6%;
+  color: #999999;
+  font-size: 18px;
+  text-align: center;
+  display: flex;
+  justify-content: space-around;
+}
+.table-heads {
+  margin-left: 15%;
+  width: 60%;
+  color: #3ab548;
+  font-size: 14px;
+  text-align: center;
+  display: flex;
+  justify-content: space-around;
+}
+.table-heads > div {
+  width: 13.528%;
+}
+.table-head > div {
+  width: 13.528%;
+}
+.tr {
+  width: 100%;
+  color: #393939;
+  text-align: center;
+  /* font-weight: 700; */
+  font-family: "PingFang-SC-Bold";
+  font-size: 16px;
+}
+.tr-first {
+  margin-right: 2%;
+  display: flex;
+  justify-content: space-around;
+}
+.tr-first > div {
+  width: 14.528%;
+}
+.tr-s {
+  display: flex;
+  justify-content: space-around;
+}
+.tr-set {
+  background-color: #fbfbfb;
+  display: flex;
+  justify-content: space-around;
+  color: #393939;
+  font-size: 12px;
+  margin: 20px;
+}
+.tr-setNo {
+  display: flex;
+  justify-content: space-around;
+  color: #000000f1;
+  font-size: 16px;
+  margin: 20px;
+}
+.tr-secon {
+  font-size: 12px;
+  text-align: center;
+  word-wrap: break-word;
+  width: 40px;
+}
+.tr-second {
+  background-color: #fbfbfb;
+  display: flex;
+  color: #393939;
+  font-size: 20px;
+  word-wrap: break-word;
+}
+.tr-seconds {
+  text-align: center;
+  font-size: 14px;
+  word-wrap: break-word;
+  margin: 0 50px;
+  /* height: 30px; */
+}
+.width40 {
+  width: 60px;
+}
+.tr-sw180 {
+  width: 230px;
+  text-align: center;
+}
+.tr-secondsA {
+  text-align: center;
+  font-size: 14px;
+  word-wrap: break-word;
+  width: 200px;
+}
+.tr-w120 {
+  width: 160px;
+  text-align: left;
+  display: inline-block;
+  /*height: 80px;*/
+  /*line-height: 80px;*/
+}
+.tr-second-check {
+  color: #3ab548;
+  font-size: 17px;
+  text-decoration: underline;
+}
+.Online {
+  display: inline-block;
+}
+.Onlinename {
+  display: inline-block;
+}
+.tr-active {
+  color: #3ab548;
+}
+.model {
+  z-index: 10000;
+  width: 60%;
+  height: auto;
+  position: fixed;
+  top: 15%;
+  left: 30%;
+  margin: auto;
+  background: #fff;
+  border-radius: 10px;
+  text-align: center;
+}
+.model-text {
+  background: rgba(255, 255, 255, 1);
+  border-radius: 10px;
+}
+.model-items-first {
+  padding: 0 34px;
+  width: 100%;
+  display: flex;
+  justify-content: space-between;
+}
+.model-items-first-img {
+  width: 68px;
+  height: 68px;
+  border-radius: 8px;
+  position: relative;
+  bottom: 20px;
+}
+.model-items-first-left {
+  display: inline-block;
+  color: #393939;
+  font-size: 24px;
+  margin-left: 14px;
+  text-align: left;
+}
+.model-items-first-left-down {
+  color: #7e7e7e;
+  font-size: 18px;
+}
+.model-text-head {
+  padding: 40px 50px;
+  display: flex;
+  color: #393939;
+  font-size: 24px;
+  justify-content: space-between;
+}
+.model-items-other {
+  height: 60px;
+  line-height: 60px;
+  color: #393939;
+  font-size: 20px;
+  text-align: left;
+  padding: 0 34px;
+}
+.model-active {
+  background-color: #f6f7fb;
+}
+.model-active-last {
+  border-radius: 0 0 30px 30px;
+  background-color: #f6f7fb;
+}
+.model-items-left {
+  width: 100%;
+  color: #393939;
+  font-size: 24px;
+}
+.buttonAppoval {
+  display: inline-block;
+}
+.model-items-left-top {
+  display: flex;
+  justify-content: space-between;
+}
+.model-items {
+  padding: 20px 0;
+  display: flex;
+  justify-content: space-between;
+  display: inline-block;
+  width: 100%;
+}
+.model-itemss {
+  padding: 10px 0;
+  display: flex;
+  justify-content: space-between;
+  display: inline-block;
+}
+.model-items-left-top-img {
+  width: 68px;
+  height: 68px;
+  border-radius: 8px;
+  position: relative;
+  bottom: 25px;
+}
+.model-items-left-top-number {
+  color: #7e7e7e;
+  font-size: 18px;
+  margin-left: 10px;
+}
+
+.today-time {
+  color: #7e7e7e;
+  font-size: 18px;
+  margin: 0 20px;
+}
+.el-pagination {
+  padding: 30px;
+}
+.no-homework {
+  width: 16.5%;
+  height: 328px;
+  background: rgba(255, 255, 255, 1);
+  box-shadow: 0px 0px 14px 0px rgba(228, 228, 228, 1);
+  border-radius: 10px;
+  margin: auto;
+  position: fixed;
+  top: 27%;
+  left: 41.75%;
+  text-align: center;
+  padding: 35px;
+  z-index: 1000;
+  display: none;
+}
+.no-homework > div {
+  margin-bottom: 25px;
+  font-size: 24px;
+}
+.no-homework > img {
+  width: 226px;
+  height: 203px;
+}
+.allocation-items {
+  width: 45%;
+  display: inline-block;
+  margin-right: 20px;
+  margin-bottom: 30px;
+}
+</style>

+ 42 - 0
src/router/index.js

@@ -21,10 +21,16 @@ import HomeworkRecycle from "@/pages/Super/HomeworkRecycle";
 import HomeworkTotally from "@/pages/Super/HomeworkTotally";
 import ComposeType from "@/pages/Super/ComposeType";
 import HomeWorkPictrue from "@/pages/Super/HomeWorkPictrue";
+import HomeworkInfoMessage from "@/pages/Super/HomeworkInfoMessage";
+import SuperTeacherPay from "@/pages/Super/TeacherPay";
+import AllStudentHomework from "@/pages/Super/AllStudentHomework";
+import AllHomeWorkPictrue from "@/pages/Super/AllHomeWorkPictrue";
 
 // 质检员
 import GetCheckHomeWork from "@/pages/Qualityinspector/GetCheckHomeWork";
 import checkListInfo from "@/pages/Qualityinspector/checkListInfo";
+import checkAllStudentHomework from "@/pages/Qualityinspector/AllStudentHomework";
+import checkAllHomeWorkPictrue from "@/pages/Qualityinspector/AllHomeWorkPictrue";
 Vue.use(Router);
 
 export const constantRouterMap = 
@@ -104,6 +110,30 @@ export const constantRouterMap =
 				  component: HomeWorkPictrue,
 				  meta: { title: '批改作业原图', roles: ['3'] }
         },
+        {
+				  path: "HomeworkInfoMessage",
+				  name: "HomeworkInfoMessage",
+				  component: HomeworkInfoMessage,
+				  meta: { title: '批改明细', roles: ['3'] }
+        },
+        {
+          path: "SuperTeacherPay",
+          name: "SuperTeacherPay",
+          component: SuperTeacherPay,
+          meta: { title: '报错详情', roles: ['2'] }
+        },
+        {
+          path: "AllStudentHomework",
+          name: "AllStudentHomework",
+          component: AllStudentHomework,
+          meta: { title: '所有学生作业列表', roles: ['2'] }
+        },
+        {
+          path: "AllHomeWorkPictrue",
+          name: "AllHomeWorkPictrue",
+          component: AllHomeWorkPictrue,
+          meta: { title: '所有学生作业图片列表', roles: ['2'] }
+        },
        ]
      },
     //  校区管理员角色路由
@@ -164,6 +194,18 @@ export const constantRouterMap =
           component:checkListInfo,
           meta: { title: '质检作业详情列表', roles: ['3'] }
         },
+        {
+          path: "checkAllStudentHomework",
+          name: "checkAllStudentHomework",
+          component: checkAllStudentHomework,
+          meta: { title: '所有学生作业列表', roles: ['3'] }
+        },
+        {
+          path: "checkAllHomeWorkPictrue",
+          name: "checkAllHomeWorkPictrue",
+          component: checkAllHomeWorkPictrue,
+          meta: { title: '所有学生作业图片列表', roles: ['3'] }
+        },
       ]
     },
      {

+ 11 - 2
src/store/getters.js

@@ -37,6 +37,8 @@ const getters = {
   getRemindCount:state => state.user.getRemindCount,
   ApporingTeacherstatues :state => state.user.ApporingTeacherstatues,
   currtHomeworkStatus :state => state.user.currtHomeworkStatus,
+  CheckerCuretHomeworkStatus:state => state.user.CheckerCuretHomeworkStatus,
+  SuperCheckerCuretHomeworkStatus:state => state.user.SuperCheckerCuretHomeworkStatus,
   FindSubjectCharts :state => state.user.FindSubjectCharts,
   FindSubjectmathCharts :state => state.user.FindSubjectmathCharts,
   FindSubjectEngCharts :state => state.user.FindSubjectEngCharts,
@@ -45,7 +47,14 @@ const getters = {
   AllTeacherInfoList:state => state.user.AllTeacherInfoList,
   StudentHomeworkDetail:state => state.scheduling.StudentHomeworkDetail,
   StudentHomeworkNoFeedbackList:state => state.scheduling.StudentHomeworkNoFeedbackList,
-
+  GetTeacherCorrectDetail:state => state.scheduling.GetTeacherCorrectDetail,
+  GetTeacherAllHomework:state => state.scheduling.GetTeacherAllHomework,
+  AllCorrectDetail:state => state.scheduling.AllCorrectDetail,
+  GetTeacherWrongCount:state => state.scheduling.GetTeacherWrongCount,
+  GetWrongDetail:state => state.scheduling.GetWrongDetail,
+  StudentHomework01List:state => state.scheduling.StudentHomework01List,
+  StudentHomework01Detail:state => state.scheduling.StudentHomework01Detail,
+  
   // 排班系统
   FindCalendarList:state => state.scheduling.FindCalendarList,
   FindHaveTeacherList:state => state.scheduling.FindHaveTeacherList,
@@ -65,7 +74,7 @@ const getters = {
   // 质检员
   GetManagerListForChecker:state => state.scheduling.GetManagerListForChecker,
   TeacherListForChecker:state => state.scheduling.TeacherListForChecker,
-  TeacherHomeworkListForChecker:state => state.scheduling.TeacherHomeworkListForChecker,
+  TeacherHomeworkListForCheckerInfo:state => state.scheduling.TeacherHomeworkListForCheckerInfo,
   FindArrangeTemplateIntervalList:state => state.scheduling.FindArrangeTemplateIntervalList,
   FindArrangeTemplateIntervalListStatus:state => state.scheduling.FindArrangeTemplateIntervalListStatus,
 }

+ 139 - 6
src/store/modules/scheduling .js

@@ -7,7 +7,14 @@ import {FindCalendarList,FindHaveTeacherList,FindNoHaveTeacherList,
   TeacherHomeworkListForChecker,
   FindArrangeTemplateIntervalList,
   StudentHomeworkNoFeedbackList,
-  StudentHomeworkDetail
+  StudentHomeworkDetail,
+  GetTeacherCorrectDetail,
+  GetTeacherAllHomework,
+  AllCorrectDetail,
+  GetTeacherWrongCount,
+  GetWrongDetail,
+  StudentHomework01List,
+  StudentHomework01Detail
 } from '@/api/scheduling'
   import { IMG_BASE_URL, APPOR_BASE_URL } from "@/config";
   import axios from '@/axios'
@@ -32,14 +39,42 @@ import {FindCalendarList,FindHaveTeacherList,FindNoHaveTeacherList,
       NextOrNewMonthStatus:false,
       GetManagerListForChecker:[],
       TeacherListForChecker:[],
-      TeacherHomeworkListForChecker:[],
+      TeacherHomeworkListForCheckerInfo:[],
       FindArrangeTemplateIntervalList:[],
       FindArrangeTemplateIntervalListStatus:"",
       StudentHomeworkNoFeedbackList:[],
-      StudentHomeworkDetail:[]
+      StudentHomeworkDetail:[],
+      GetTeacherCorrectDetail:[],
+      GetTeacherAllHomework:[],
+      AllCorrectDetail:[],
+      GetTeacherWrongCount:[],
+      GetWrongDetail:[],
+      StudentHomework01List:[],
+      StudentHomework01Detail:[]
     },
   
     mutations: {
+      SET_STUDENT_HOMEWORK_PICTRUE_DETAIL_LIST: (state, StudentHomework01Detail) => {
+        state.StudentHomework01Detail = StudentHomework01Detail
+      },
+      SET_STUDENT_HOMEWORK_LIST: (state, StudentHomework01List) => {
+        state.StudentHomework01List = StudentHomework01List
+      },
+      SET_TEACHER_WRONG_DETAIL_LIST: (state, GetWrongDetail) => {
+        state.GetWrongDetail = GetWrongDetail
+      },
+      SET_TEACHER_CORRECT_DETAIL_LIST: (state, GetTeacherCorrectDetail) => {
+        state.GetTeacherCorrectDetail = GetTeacherCorrectDetail
+      },
+      SET_TEACHER_ALL_HOMEWORK_LIST:  (state, GetTeacherAllHomework) => {
+        state.GetTeacherAllHomework = GetTeacherAllHomework
+      },
+      SET_ALL_CORRECT_DETAIL_LIST:  (state, AllCorrectDetail) => {
+        state.AllCorrectDetail = AllCorrectDetail
+      },
+      SET_TEACHER_WRONG_CONT_LIST:  (state, GetTeacherWrongCount) => {
+        state.GetTeacherWrongCount = GetTeacherWrongCount
+      },
       SET_STUDENT_HOMEWORK_DETAIL_LIST: (state, StudentHomeworkDetail) => {
         state.StudentHomeworkDetail = StudentHomeworkDetail
       },
@@ -55,8 +90,8 @@ import {FindCalendarList,FindHaveTeacherList,FindNoHaveTeacherList,
       SET_TEACHER_LIST_FOR_CHECKER: (state, TeacherListForChecker) => {
         state.TeacherListForChecker = TeacherListForChecker
       },
-      SET_TEACHER_HOMEWORK_FOR_CHECKER: (state, TeacherHomeworkListForChecker) => {
-        state.TeacherHomeworkListForChecker = TeacherHomeworkListForChecker
+      SET_TEACHER_HOMEWORK_FOR_CHECKER: (state, TeacherHomeworkListForCheckerInfo) => {
+        state.TeacherHomeworkListForCheckerInfo = TeacherHomeworkListForCheckerInfo
       },
       SET_MANAGER_FOR_CHECKER: (state, GetManagerListForChecker) => {
         state.GetManagerListForChecker = GetManagerListForChecker
@@ -224,9 +259,10 @@ import {FindCalendarList,FindHaveTeacherList,FindNoHaveTeacherList,
              GetTeacherHomeworkListForChecker({ commit, state }, data) {
             return new Promise((resolve, reject) => {
                 axios.post(TeacherHomeworkListForChecker, data).then(response => {
-                  
+               
                         const data = response.data || {}
                         if (response.code == "999"){
+                          // debugger
                           commit('SET_TEACHER_HOMEWORK_FOR_CHECKER', data);
                         }
                       }).catch(error => {
@@ -359,6 +395,103 @@ import {FindCalendarList,FindHaveTeacherList,FindNoHaveTeacherList,
           })
         })
       },
+        // 老师批改明细
+        GetGetTeacherCorrectDetail({ commit, state }, data) {
+          // debugger
+          return new Promise((resolve, reject) => {
+            axios.post(GetTeacherCorrectDetail, data).then(response => {
+  
+              const data = response.data || {}
+              if (response.code == "999"){
+               
+                commit('SET_TEACHER_CORRECT_DETAIL_LIST', data);
+              }
+            }).catch(error => {
+              reject(error)
+            })
+          })
+        },
+          // 累计批改总张数
+          GetTeacherAllHomeworkInfo({ commit, state }, data) {
+        return new Promise((resolve, reject) => {
+          axios.post(GetTeacherAllHomework, data).then(response => {
+            // debugger
+            const data = response.data || {}
+            if (response.code == "999"){
+              commit('SET_TEACHER_ALL_HOMEWORK_LIST', data);
+            }
+          }).catch(error => {
+            reject(error)
+          })
+        })
+      },
+        // 批改详情
+        GetAllCorrectDetail({ commit, state }, data) {
+          return new Promise((resolve, reject) => {
+            axios.post(AllCorrectDetail, data).then(response => {
+              const data = response.data || {}
+              if (response.code == "999"){
+                commit('SET_ALL_CORRECT_DETAIL_LIST', data);
+              }
+            }).catch(error => {
+              reject(error)
+            })
+          })
+        },
+          // 学生作业详情
+          GetTeacherWrongCountInfo({ commit, state }, data) {
+        return new Promise((resolve, reject) => {
+          axios.post(GetTeacherWrongCount, data).then(response => {
+            const data = response.data || {}
+            if (response.code == "999"){
+              commit('SET_TEACHER_WRONG_CONT_LIST', data);
+            }
+          }).catch(error => {
+            reject(error)
+          })
+        })
+         },
+           // 超级管理员界面报错详情
+           GetWrongDetailInfo({ commit, state }, data) {
+            return new Promise((resolve, reject) => {
+              axios.post(GetWrongDetail, data).then(response => {
+                const data = response.data.list || {}
+                if (response.code == "999"){
+                  commit('SET_TEACHER_WRONG_DETAIL_LIST', data);
+                }
+              }).catch(error => {
+                reject(error)
+              })
+            })
+             },
+        // 查看所有学生作业列表(管理员+质检员)
+        GetStudentHomework01List({ commit, state }, data) {
+            return new Promise((resolve, reject) => {
+              axios.post(StudentHomework01List, data).then(response => {
+                const data = response.data.list || {}
+                if (response.code == "999"){
+                  commit('SET_STUDENT_HOMEWORK_LIST', data);
+                }
+              }).catch(error => {
+                reject(error)
+              })
+            })
+             },
+                 // 查看所有学生作业列表详情(管理员+质检员)
+        GetStudentHomework01Detail({ commit, state }, data) {
+          return new Promise((resolve, reject) => {
+            axios.post(StudentHomework01Detail, data).then(response => {
+              const data = response.data || {}
+              if (response.code == "999"){
+                
+                commit('SET_STUDENT_HOMEWORK_PICTRUE_DETAIL_LIST', data);
+              }
+            }).catch(error => {
+              reject(error)
+            })
+          })
+           },
+             
     }
   }
   

+ 66 - 2
src/store/modules/user.js

@@ -50,7 +50,9 @@ const user = {
     AllFindSubjectEngCharts:[],
     GetKnowledgeTeacherSalaryList:[],
     AllTeacherInfoList:[],
-    NewstudentBeforetoTeacherAllotCode:""
+    NewstudentBeforetoTeacherAllotCode:"",
+    CheckerCuretHomeworkStatus:"",
+    SuperCheckerCuretHomeworkStatus:""
   },
 
   mutations: {
@@ -155,6 +157,12 @@ const user = {
     SET_CURRT_HOMEWORK_STATUS:(state,currtHomeworkStatus) => {
       state.currtHomeworkStatus = currtHomeworkStatus
     },
+    SET_CHECKER_CURET_HOMEWORK_STATUS:(state,CheckerCuretHomeworkStatus) => {
+      state.CheckerCuretHomeworkStatus = CheckerCuretHomeworkStatus
+    },
+    SET_SUPER_CHECKER_CURET_HOMEWORK_STATUS:(state,SuperCheckerCuretHomeworkStatus) => {
+      state.SuperCheckerCuretHomeworkStatus = SuperCheckerCuretHomeworkStatus
+    },
     FIND_SUBJECT_CHARTS:(state,FindSubjectCharts) => {
       state.FindSubjectCharts = FindSubjectCharts
     },
@@ -492,7 +500,7 @@ const user = {
         })
       })
     },
-        // 质检当前作业状态
+        // 校区管理员质检当前作业状态
         CheckCurrHomeworkStatus({ commit, state }, data) {
           return new Promise((resolve, reject) => {
             axios.post(CheckHomeworkStatus, data).then(response => {
@@ -520,6 +528,62 @@ const user = {
             })
           })
         },
+         // 质检员质检当前作业状态
+         CheckerCurrHomeworkStatus({ commit, state }, data) {
+          return new Promise((resolve, reject) => {
+            axios.post(CheckHomeworkStatus, data).then(response => {
+              const data = response.data || {}
+              if (response.code === '999'){
+                if (data.status == 3){
+                  commit('SET_CHECKER_CURET_HOMEWORK_STATUS',new Date());
+                  resolve(response)
+                }
+                if (data.status == 1){
+                  Message.error("当前作业还未批改,请手动刷新当前作业列表!")
+                  resolve(response)
+                }
+                if (data.status == 2){
+                  Message.error("当前作业正在批改中,请手动刷新当前作业列表!")
+                  resolve(response)
+                }
+              }
+              if (response.code === '000'){
+                Message.error(response.msg)
+                resolve(response)
+              }
+            }).catch(error => {
+              reject(error)
+            })
+          })
+        },
+         // 超级管理员质检当前作业状态
+         SuperCheckerCurrHomeworkStatus({ commit, state }, data) {
+          return new Promise((resolve, reject) => {
+            axios.post(CheckHomeworkStatus, data).then(response => {
+              const data = response.data || {}
+              if (response.code === '999'){
+                if (data.status == 3){
+                  commit('SET_SUPER_CHECKER_CURET_HOMEWORK_STATUS',new Date());
+                  resolve(response)
+                }
+                if (data.status == 1){
+                  Message.error("当前作业还未批改,请手动刷新当前作业列表!")
+                  resolve(response)
+                }
+                if (data.status == 2){
+                  Message.error("当前作业正在批改中,请手动刷新当前作业列表!")
+                  resolve(response)
+                }
+              }
+              if (response.code === '000'){
+                Message.error(response.msg)
+                resolve(response)
+              }
+            }).catch(error => {
+              reject(error)
+            })
+          })
+        },
        // 查看可分配老师列表
        TeacherAllotList({ commit, state }, data) {
         return new Promise((resolve, reject) => {