Selaa lähdekoodia

提交最新代码

TheLittlePrince 6 vuotta sitten
vanhempi
commit
21b8f6891c

+ 1 - 1
src/App.vue

@@ -77,7 +77,7 @@ botton {
 }
 ul{
   text-align: center;
-  margin: 10px 0 !important;
+  /* margin: 10px 0 !important; */
 }
 table {
     border-collapse: initial;

+ 1 - 1
src/assets/css/element_amend.css

@@ -98,7 +98,7 @@ body {
 }
 
 .table_item {
-  width: 100%;
+  /* width: 100%; */
 }
 
 .table_item .table_button {

+ 12 - 25
src/components/MenuComponent.vue

@@ -12,10 +12,10 @@
       @click.native="secondNavClick(item,index)"
       style="text-align: center"
     >
-      <span class="lineStyle" :class="{active:index == checkindex,menu_item:true}">{{item.name}}</span>
+      <span class="lineStyle" :class="{navactive:index == checkindex,menu_item:true}">{{item.name}}</span>
     </el-col>
 
-    <el-col :span="4" :offset="12">
+    <el-col :span="4" :offset="10">
       <div class="login">   
         <img  class="userstyle"  :src="BASE_URL + avatar" alt="">
         <!-- <img class="userstyle" src="../assets/img/user.jpg"> -->
@@ -33,6 +33,7 @@
 
 <script>
 import { mapGetters } from "vuex";
+import { BASE_URL } from '@/config'
 export default {
   name: "navMenu",
   // props: {
@@ -40,7 +41,8 @@ export default {
   // },
   data() {
     return {
-       BASE_URL: "https://xt.sharingschool.com/upload/",
+       BASE_URL:'https://xtimg.sharingschool.com/',
+        // BASE_URL:'https://img.sharingschool.com', //正式环境图片地址
       menuData: [
         {
           id: "2",
@@ -51,27 +53,12 @@ export default {
           id: "2",
           name: " 在线批改老师",
           href: "TeacherApporval"
-        }
-        // {
-        //   id: "3",
-        //   name: "",
-        //   href: "TeacherPay"
-        // },
-        // {
-        //   id: "1",
-        //   name: "校区管理员",
-        //   href: "SuperAdmin"
-        // },
-        // {
-        //   id: "1",
-        //   name: " 批改老师注册审核",
-        //   href: "CheckTeacherAudit"
-        // },
-        // {
-        //   id: "3",
-        //   name: "批改老师薪酬表",
-        //   href: "CheckTeacherPay"
-        // }
+        },
+        {
+          id: "3",
+          name: "报错警告",
+          href: "TeacherPay"
+        },
       ],
       checkindex: 0
     };
@@ -138,7 +125,7 @@ export default {
   color: #52cc60;
   border-bottom: 2px solid #52cc60;
 }
-.active {
+.navactive {
   color: #52cc60 !important;
   border-bottom: 2px solid #52cc60;
 }

+ 7 - 5
src/components/SuperComponent.vue

@@ -6,10 +6,10 @@
     <!--v-show="roles.indexOf(item.id) >= 0"-->
       <el-col :span="3"   v-for="(item, index) of menuData" :key="item.id"
       @click.native="secondNavClick(item,index)" style="text-align: center">
-          <span class="lineStyle" :class="{active:index == checkindex,menu_item:true}">{{item.name}}</span>
-          <div class="box" v-if="index==1||index==3">
+          <span class="lineStyle" :class="{superactive:index == checkindex,menu_item:true}">{{item.name}}</span>
+          <!-- <div class="box" v-if="index==1||index==3">
             <span class="box-text">{{index==1?2+'项任务':3+'份作业'}}</span>
-          </div>
+          </div> -->
       </el-col>
 
       <el-col :span="4" class="aside-right">
@@ -29,6 +29,7 @@
 
 <script>
 import {mapGetters} from 'vuex'
+import { BASE_URL } from '@/config'
 export default {
   name: "navMenu",
   // props: {
@@ -36,7 +37,8 @@ export default {
   // },
   data() {
     return {
-         BASE_URL: "https://xt.sharingschool.com/upload/",
+      BASE_URL:'https://xtimg.sharingschool.com/',
+        // BASE_URL:'https://img.sharingschool.com', //正式环境图片地址
       menuData: [ {
     id: "1",
     name: "校区管理员",
@@ -123,7 +125,7 @@ export default {
   color:#52CC60 ;
   border-bottom:2px solid #52cc60;
 }
-.active {
+.superactive {
   color:#52CC60 !important;
   border-bottom:2px solid #52cc60;
 }

+ 3 - 1
src/components/teacherCompoent.vue

@@ -28,6 +28,7 @@
 
 <script>
 import {mapGetters} from 'vuex'
+import { BASE_URL } from '@/config'
 export default {
   name: "navMenu",
   // props: {
@@ -35,7 +36,8 @@ export default {
   // },
   data() {
     return {
-         BASE_URL: "https://xt.sharingschool.com/upload/",
+      BASE_URL:'https://xtimg.sharingschool.com/',
+        // BASE_URL:'https://img.sharingschool.com', //正式环境图片地址
       menuData: [ {
     id: "1",
     name: "在线批改老师",

+ 30 - 13
src/pages/Login.vue

@@ -1,5 +1,6 @@
 <template>
-  <div class="container">
+<div class="bodyImg">
+<div class="container">
     <div class="log-paper">
       <img src="../assets/img/Land_sbg.png">
     </div>
@@ -9,10 +10,10 @@
       <div @click="WxLoginCtl" class="log-qrcode">
         <div id="login_container"></div>
         <!-- <img class="log-qrcode-image" src="../assets/img/ssj_qrcode.png"> -->
-        <div class="log-qrcode-text">请使用微信扫码登陆</div>
       </div>
     </div>
   </div>
+</div>
 </template>
 
 <script>
@@ -27,7 +28,7 @@ export default {
   },
   watch: {},
   created() {
-    this.getTKByUnionid()
+    this.getTKByUnionid();
   },
   methods: {
     WxLoginCtl() {
@@ -40,17 +41,28 @@ export default {
     },
     async getTKByUnionid() {
       if (window.location.href.indexOf("unionid") >= 0) {
-        // 如果url中包含code,则保存到store中
+        // 如果url中包含unionid,则保存到store中
         let unionid = window.location.href.split("?")[1];
         unionid = unionid.substring(8);
         let WxCode = unionid;
         this.WxCode = WxCode;
-        localStorage.setItem("unionid",this.WxCode)
+        localStorage.setItem("unionid", this.WxCode);
         this.$store.dispatch("UnionidLogin", {
-         unionid: this.WxCode
-      });
+          unionid: this.WxCode
+        });
+      }
+      if (window.location.href.indexOf("code") >= 0) {
+        // 如果url中包含code,则保存到store中
+        let code = window.location.href.split("?")[1];
+        code = code.substring(5, code.indexOf("&"));
+        let WxCode = code;
+        this.WxCode = WxCode;
+        console.log("获取Code" + this.WxCode);
+        this.$store.dispatch("GET_TOKEN", {
+          code: this.WxCode
+        });
       }
-     return
+      return
     }
   },
   mounted() {
@@ -59,9 +71,8 @@ export default {
       id: "login_container",
       appid: "wxd18ca9555a939281",
       scope: "snsapi_login",
-      redirect_uri: encodeURI(
-        "https://kmt.sharingschool.com/aijia/index.html#/aikmt/Redirect_uri"
-        // "https://t.sharingschool.com/upload/ceshi/index.html"
+      redirect_uri: encodeURIComponent(
+        "https://kmt.sharingschool.com/aijia/manager/index.html"
       ),
       state: "",
       style: "width: 250px",
@@ -73,10 +84,16 @@ export default {
 
 <style scoped>
 body {
-  /* background-image: url(../assets/img/Land_bg.png); */
+  background-image: url(../assets/img/Land_bg.png);
+  background-size: 100% auto;
+}
+.bodyImg{
+   background-image: url(../assets/img/Land_bg.png);
   background-size: 100% auto;
+  height: 1000px!important;
 }
 .container {
+    max-height: 70%;
   position: absolute;
   top: 50%;
   left: 50%;
@@ -116,7 +133,7 @@ body {
   margin: 0.5rem auto;
 }
 .log-qrcode {
-  width: 80%;
+  width: 70%;
   background: #ffffff;
   -webkit-box-shadow: 0 2px 10px 0 rgba(157, 166, 195, 0.3);
   box-shadow: 0 2px 10px 0 rgba(157, 166, 195, 0.3);

+ 3 - 1
src/pages/aikmt/Redirect_uri.vue

@@ -53,13 +53,15 @@ export default {
     //   return
     // }
     async getTKByCode(){
+      console.log("获取Code")
        if (window.location.href.indexOf('code') >= 0) {
           // 如果url中包含code,则保存到store中
           let code = window.location.href.split("?")[1];
-          code = code.substring(5);
+          code = code.substring(5,code.indexOf('&'));
           let WxCode = code
           this.WxCode = WxCode
         }
+         console.log("获取Code" + this.WxCode)
              this.$store.dispatch('GET_TOKEN', {
                code: this.WxCode
           });

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 371 - 267
src/pages/home/SchoolManager.vue


+ 1 - 1
src/pages/home/TeacherApporval.vue

@@ -19,7 +19,7 @@
     computed: {},
     methods: {
       toAppovalIng(){
-            window.open('http://120.77.207.0:8081/kmt/index.html?unionid=' + this.unionid + '&state=' + 1)
+            window.open('https://kmt.sharingschool.com/aijia/kmt/index.html?unionid=' + this.unionid + '&state=' + 1)
       }
     },
     mounted() {}

+ 446 - 8
src/pages/home/TeacherPay.vue

@@ -1,23 +1,461 @@
+<!-- 活动解析 -->
 <template>
   <div>
-    老师报酬
+    <!-- table 表格 -->
+    <el-row :gutter="20"  class="main-items">
+      <!--数据监控-->
+      <!--当天-->
+      <el-col :span="20"  :offset="2" class="main">
+        <el-row :gutter="20" class="main-header">
+          <el-col :span="5">
+         <div class="main-header-item">今日报错总次数:<span style="color:red;">{{DayTeacherList.wrongCount}}次</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>科目</div>
+                <div>批改总份数</div>
+                <div>批改总张数</div>
+                <div>平均批改时间</div>
+                <div>出勤</div>
+              </div>
+              <div class="tr" v-for="(v, k) of DayTeacherList.list" :key="k">
+                <div class="tr-first">
+                  <div>
+                    <img :src="BASE_URL + v.imgUrl" alt class="table-img">
+                  </div>
+                  <div>{{v.name}}</div>
+                  <div v-if="v.wrongCount == 0">{{v.wrongCount}}次</div>
+                   <div style="color:red;" v-if="v.wrongCount > 0">{{v.wrongCount}}次</div>
+                  <div class="tr-active">{{v.subject}}</div>
+                  <div>{{v.homeworkCount}}</div>
+                  <div>{{v.homeworkPicCount}}/张</div>
+                  <div>{{v.avgTime}}</div>
+                  <div>{{v.attendance}}</div>
+                     <!-- <div v-if="v.attendance == 正常">{{v.attendance}}</div>
+                   <div style="color:#52cc60;" v-if="v.attendance == 未出勤">{{v.attendance}}</div> -->
+                </div>
+              </div>
+            </div>
+            <!-- 分页显示 -->
+            <el-pagination
+              background
+              @size-change="handleSizeChange1"
+              @current-change="pageChange1"
+              :page-sizes="[10]"
+              layout="total, sizes, prev, pager, next, jumper"
+              :total="parseInt(DayTeacherList.pages)"
+              :hide-on-single-page="true"
+            ></el-pagination>
+            <!-- <div style="float:right;margin-left:15px;">
+            <el-button @click="myVisible = false" size="small">取 消</el-button>
+            <el-button type="primary" size="small" @click="submit">确定</el-button>
+            </div>-->
+            <div style="clear:both;"></div>
+          </el-col>
+        </el-row>
+      </el-col>
+    </el-row>
   </div>
 </template>
 <script>
+import { mapGetters, mapActions } from "vuex";
+import { BASE_URL } from '@/config'
 export default {
-  name: "model",
   components: {},
+  name: "actvResolveLabel",
   props: {},
   data() {
-    return {};
+    return {
+        // BASE_URL:'https://img.sharingschool.com', //正式环境图片地址
+      BASE_URL:'https://xtimg.sharingschool.com/',
+      // BASE_URL: BASE_URL,
+    };
   },
-  watch: {},
-  computed: {},
-  methods: {},
-  mounted() {}
+  created(){
+  },
+  watch:{
+    },
+  computed: {
+    ...mapGetters([
+      "DayTeacherList",
+    ])
+  },
+  methods: {
+    ...mapActions(["setUser"]),
+       // 去批改前分配老师
+    // 获取校区管理员当天数据
+    async InfoWatchDay() {
+      this.$store.dispatch("InfoWatchDay", {
+        grade: this.filters.OptionsValue,
+        subject: this.filters.gradesValue,
+        teacherName: this.filters1.inputValue,
+        maxCreateTime: this.filters1.MaxtimeValue,
+        pageNo: this.filters1.pageNo,
+        pageSize: this.filters1.pageSize,
+         managerId:this.managerId || ''
+      });
+    },
+  },
+  mounted() {
+    this.InfoWatchDay();
+  }
 };
 </script>
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped>
+<style>
+html,
+body {
+  height: 100%;
+  overflow: hidden;
+}
+ul{
+  text-align: center;
+  margin: 0 !important
+}
+.aside {
+  background-color: #fff;
+  margin-top: 16px;
+  padding: 0;
+  min-height: 880px;
+}
+.main {
+  background-color: #fff;
+  margin: 16px;
+  padding: 0 !important;
+  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 {
+  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;
+  font-size: 20px;
+  text-align: center;
+}
+.tr-first {
+  display: flex;
+  justify-content: space-around;
+}
+.tr-first > div {
+  width: 13.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;
+}
+.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;
+}
+.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>

+ 2 - 1
src/pages/super/CheckTeacherAudit.vue

@@ -127,7 +127,8 @@
     props: {},
     data() {
       return {
-        BASE_URL:'https://xt.sharingschool.com/upload/',
+          // BASE_URL:'https://img.sharingschool.com', //正式环境图片地址
+           BASE_URL:'https://xtimg.sharingschool.com/',
         hiddenModel:false,
         applicantId:'',
         operate:'',

+ 2 - 1
src/pages/super/CheckTeacherPay.vue

@@ -111,7 +111,8 @@
     props: {},
     data() {
       return {
-        BASE_URL:'https://xt.sharingschool.com/upload/',
+        // BASE_URL:'https://img.sharingschool.com', //正式环境图片地址
+         BASE_URL:'https://xtimg.sharingschool.com/',
         selMonth:'',
         hiddenModel:false,
         isPigai:false,

+ 2 - 1
src/pages/super/HomeWorkRecover.vue

@@ -98,7 +98,8 @@
     props: {},
     data() {
       return {
-        BASE_URL:'https://xt.sharingschool.com/upload/',
+        //  BASE_URL:'https://img.sharingschool.com', //正式环境图片地址
+         BASE_URL:'https://xtimg.sharingschool.com/',
         hiddenModel:false,
         applicantId:'',
         operate:'',

+ 2 - 1
src/pages/super/HomeworkRecycle.vue

@@ -99,7 +99,8 @@
     props: {},
     data() {
       return {
-        BASE_URL:'https://xt.sharingschool.com/upload/',
+      //  BASE_URL:'https://img.sharingschool.com', //正式环境图片地址
+       BASE_URL:'https://xtimg.sharingschool.com/',
         selMonth:'',
         hiddenModel:false,
         isPigai:false,

+ 87 - 49
src/pages/super/SchoolManager.vue

@@ -87,7 +87,7 @@
                 <div v-if="v.status == '1'" class="tr-first">
                   <div>
                     <i
-                      :class="[isDown && isDownindex === k?'el-icon-caret-bottom':'el-icon-caret-top']"
+                      :class="[isDown && isDownindex === k?'el-icon-caret-bottom':'el-icon-caret-right']"
                       @click="dropDown(v,k)"
                     ></i>
                     <img :src="BASE_URL + v.imgUrl" alt class="table-img" @click="isShow(v,3)">
@@ -95,7 +95,7 @@
                   <div>{{v.name}}</div>
                   <div>{{v.waitCount}}份</div>
                   <div class="tr-active">{{v.maxWaitTime}}</div>
-                  <div>{{v.totalCorrectTime}}/时</div>
+                  <div style="width:200px;">{{v.totalCorrectTime}}</div>
                   <div>{{v.respSpeed}}</div>
                   <div>在线</div>
                 </div>
@@ -103,7 +103,7 @@
                 <div v-if="v.status == '2'" style="color:#BEBEBE" class="tr-first">
                   <div>
                     <i
-                      :class="[isDown && isDownindex === k?'el-icon-caret-bottom':'el-icon-caret-top']"
+                      :class="[isDown && isDownindex === k?'el-icon-caret-bottom':'el-icon-caret-right']"
                       @click="dropDown(v,k)"
                     ></i>
                     <img :src="BASE_URL + v.imgUrl" alt class="table-img" @click="isShow(v,3)">
@@ -111,7 +111,7 @@
                   <div>{{v.name}}</div>
                   <div>{{v.waitCount}}份</div>
                   <div>{{v.maxWaitTime}}</div>
-                  <div>{{v.totalCorrectTime}}</div>
+                  <div  style="width:200px;">{{v.totalCorrectTime}}</div>
                   <div>{{v.respSpeed}}</div>
                   <div>离线</div>
                 </div>
@@ -119,7 +119,7 @@
                 <div v-if="v.status == '3'" style="color:#FF6767" class="tr-first">
                   <div>
                     <i
-                      :class="[isDown && isDownindex === k?'el-icon-caret-bottom':'el-icon-caret-top']"
+                      :class="[isDown && isDownindex === k?'el-icon-caret-bottom':'el-icon-caret-right']"
                       @click="dropDown(v,k)"
                     ></i>
                     <img :src="BASE_URL + v.imgUrl" alt class="table-img" @click="isShow(v,3)">
@@ -127,7 +127,7 @@
                   <div>{{v.name}}</div>
                   <div>{{v.waitCount}}份</div>
                   <div>{{v.maxWaitTime}}</div>
-                  <div>{{v.totalCorrectTime}}</div>
+                  <div  style="width:200px;">{{v.totalCorrectTime}}</div>
                   <div>{{v.respSpeed}}</div>
                   <div>已封号</div>
                 </div>
@@ -136,12 +136,13 @@
                 </div>
                 <div v-if="isDownindex === k && isDown">
                   <div class="tr-second" v-for="(v, k) of TeacherHomeworkList.list" :key="k">
-                    <div class="tr-seconds">{{k+1}}</div>
+                    <div class="tr-seconds" style="width:16px;">{{k+1}}</div>
                     <div class="tr-seconds  tr-w120">
                       <span @click="isShow(v,4)" style="cursor: pointer;" class="tr-second-check">查看</span>
                       <span>{{v.name}}</span>
                     </div>
-                    <div class="tr-secondsA">{{v.spendTime}}</div>
+                    <div  v-if="v.status !== 1" class="tr-secondsA">{{v.spendTime}}</div>
+                     <div v-if="v.status === 1" class="tr-secondsA" style="color:#52CC60">{{v.spendTime}}</div>
                     <div class="tr-seconds width40">{{v.subject}}</div>
                     <div class="tr-seconds width40">{{v.grade}}</div>
                     <div v-if="v.status === 1" class="tr-seconds width40">未批改</div>
@@ -196,11 +197,11 @@
       <el-col :span="18" class="main" v-if="modelindex == 1">
         <el-row :gutter="20" class="main-header">
           <el-col :span="5">
-            <div class="main-header-item">今日报错总次数:{{DayTeacherList.wrongCount}}人</div>
+            <div class="main-header-item">今日报错总次数:<span style="color:red;">{{DayTeacherList.wrongCount}}次</span></div> 
           </el-col>
-          <el-col :span="10" :offset="4">
+          <el-col :span="4" :offset="10">
             <el-input placeholder="请输入老师名字" v-model="filters1.inputValue" class="input-with-select">
-              <el-select
+              <!-- <el-select
                 v-model="filters1.OptionsValue"
                 @change="InfoWatchDay"
                 slot="prepend"
@@ -227,7 +228,7 @@
                   :label="item.label"
                   :value="item.label"
                 ></el-option>
-              </el-select>
+              </el-select> -->
               <el-button @click="InfoWatchDay" slot="append" icon="el-icon-search"></el-button>
             </el-input>
           </el-col>
@@ -262,12 +263,15 @@
                     <img :src="BASE_URL + v.imgUrl" alt class="table-img">
                   </div>
                   <div>{{v.name}}</div>
-                  <div>{{v.wrongCount}}份</div>
+                     <div v-if="v.wrongCount == 0">{{v.wrongCount}}次</div>
+                   <div style="color:red;" v-if="v.wrongCount > 0">{{v.wrongCount}}次</div>
                   <div class="tr-active">{{v.subject}}</div>
                   <div>{{v.homeworkCount}}</div>
                   <div>{{v.homeworkPicCount}}/张</div>
                   <div>{{v.avgTime}}</div>
-                  <div>{{v.attendance}}</div>
+                   <div>{{v.attendance}}</div>
+                    <!-- <div v-if="v.attendance == 正常">{{v.attendance}}</div>
+                   <div style="color:#52cc60;" v-if="v.attendance == 未出勤">{{v.attendance}}</div> -->
                 </div>
               </div>
             </div>
@@ -295,11 +299,11 @@
       <el-col :span="18" class="main" v-if="modelindex == 2">
         <el-row :gutter="20" class="main-header">
           <el-col :span="5">
-            <div class="main-header-item">当月报错总次数:{{MothTeacherList.wrongCount}}人</div>
+            <div class="main-header-item">当月报错总次数:{{MothTeacherList.totalWrongCount}}次</div>
           </el-col>
-          <el-col :span="10" :offset="4">
+          <el-col :span="4" :offset="10">
             <el-input placeholder="请输入老师名字" v-model="filters2.inputValue" class="input-with-select">
-              <el-select
+              <!-- <el-select
                 v-model="filters2.OptionsValue"
                 @change="InfoWatchMoth"
                 slot="prepend"
@@ -326,7 +330,7 @@
                   :label="item.label"
                   :value="item.label"
                 ></el-option>
-              </el-select>
+              </el-select> -->
               <el-button @click="InfoWatchMoth" slot="append" icon="el-icon-search"></el-button>
             </el-input>
           </el-col>
@@ -344,26 +348,26 @@
         </el-row>
         <el-row :gutter="20" class="main-header">
           <el-col :span="3" :offset="1">
-            <div class="main-header-item" >月出勤率:{{MothTeacherList.attendanceRate}}</div>
+            <div class="main-header-item" >月出勤率:{{MothTeacherList.totalAttendanceRate}}</div>
           </el-col>
           <el-col :span="4">
-            <div class="main-header-item" >批改总份数:{{MothTeacherList.homeworkCount}}</div>
+            <div class="main-header-item" >批改总份数:{{MothTeacherList.totalHomeworkCount}}</div>
           </el-col>
           <el-col :span="4">
             <div
               class="main-header-item"
-            >批改总张数:{{MothTeacherList.homeworkPicCount}}</div>
+            >批改总张数:{{MothTeacherList.totalHomeworkPicCount}}</div>
           </el-col>
           <el-col :span="4">
-            <div class="main-header-item">批改平均时间:{{MothTeacherList.avgTime}}</div>
+            <div class="main-header-item">批改平均时间:{{MothTeacherList.totalAvgTime}}</div>
           </el-col>
           <el-col :span="4">
             <div
               class="main-header-item"
-            >平均满意度:{{MothTeacherList.satisfactionDegree}}</div>
+            >平均满意度:{{MothTeacherList.totalSatisfactionDegree}}</div>
           </el-col>
           <el-col :span="4">
-            <div class="main-header-item">正确率:{{MothTeacherList.accuracyRate}}</div>
+            <div class="main-header-item">正确率:{{MothTeacherList.totalAccuracyRate}}</div>
           </el-col>
         </el-row>
         <el-row :gutter="20" class="main-header">
@@ -379,7 +383,7 @@
                 <div>正确率</div>
                 <div>满意度</div>
                 <div>平均批改时间</div>
-                <div>出勤</div>
+                <div>出勤</div>
               </div>
               <div class="tr" v-for="(v, k) of MothTeacherList.list" :key="k">
                 <div class="tr-first">
@@ -387,7 +391,8 @@
                     <img :src="BASE_URL + v.imgUrl" alt class="table-img">
                   </div>
                   <div>{{v.name}}</div>
-                  <div>{{v.wrongCount}}份</div>
+                     <div v-if="v.wrongCount == 0">{{v.wrongCount}}次</div>
+                   <div style="color:red;" v-if="v.wrongCount > 0">{{v.wrongCount}}次</div>
                   <div class="tr-active">{{v.subject}}</div>
                   <div>{{v.homeworkCount}}</div>
                   <div>{{v.homeworkPicCount}}/张</div>
@@ -471,9 +476,8 @@
       </div>
     </div>
     <!-- 无未批改作业 v-if="monitorTeacherList.unCorrectCount==0"-->
-    <div class="no-homework" v-if="isNocheck" id="noHomework">
+    <div class="no-homework"  id="noHomework">
       <div>无可分配作业</div>
-      {{this.isNocheck}}
       <img src="../../assets/img/wu_fen_pei_zuo_ye.png" alt="">
     </div>
     <!--所有未批改作业-->
@@ -488,19 +492,27 @@
             <!-- <div class="tr-setNo"  v-if="UnallotHomeworkInfo.list.length == 0">
             暂无数据!
           </div> -->
+             <div class="table-heads">
+            <div>学生</div>
+            <div>等待时长</div>
+            <div>科目</div>
+            <div>年级</div>
+            <div>未批改老师</div>
+          </div>
           <div class="tr-set" v-for="(v, k) of UnallotHomeworkInfo.list" :key="k">
             <div class="tr-secon">{{k+1}}</div>
             <div class="tr-secon" style="width:50px;">
               <span>{{v.name}}</span>
             </div>
-            <div class="tr-secon" style="width:60px;">{{v.spendTime}}</div>
+            <div class="tr-secon" style="width:60px;">等待:{{v.spendTime}}</div>
             <div class="tr-secon">{{v.subject}}</div>
             <div class="tr-secon">{{v.grade}}</div>
             <div v-if="v.status === 1" class="tr-secon">未批改</div>
             <div v-if="v.status === 2" class="tr-secon">批改中</div>
             <div v-if="v.status === 3" class="tr-secon">已批改</div>
+              <div class="tr-secon">{{v.teacherName}}</div>
             <div class="tr-s">
-                 <el-button type="success" plain><a style="text-decoration:none;color:#52cc60;" :href="'http://120.77.207.0:8081/kmt/index.html?homeworkId='+v.homeworkId+'&unionid='+unionid+'&teacherId='+homeworkLIst.teacherId+'&state='+1">去批改</a></el-button>
+                 <!-- <el-button type="" plain @click="ToAppovalOline(v)">去批改</el-button> -->
               <el-button type="success" @click="isShow(v,9)">去分配</el-button>
             </div>
           </div>
@@ -565,7 +577,8 @@
           </div>
           <div class="model-items-other model-active">
             可批改时间:
-            <div v-if="v"><el-button type="info" round v-for="(v, k) of arrPeriod" :key="k">{{v}}</el-button></div>
+            <div class="buttonAppoval"  v-show="arrPeriod.length>1"><el-button type="info" round v-for="(v, k) of arrPeriod"  :key="k">{{v}}</el-button>
+            </div>
           </div>
           <div class="model-items-other">手机号 : {{GetTeacherDetail.phone}}</div>
           <div class="model-items-other model-active">上次登录时间 : {{GetTeacherDetail.lastOnlineTime}}</div>
@@ -764,8 +777,8 @@ export default {
       unionid:localStorage.getItem("unionid"),
       accessToken:localStorage.getItem("accessToken"), //token
       managerId: "", // 超级管理员登陆ID
-      // BASE_URL:'https://img.sharingschool.com',
-      BASE_URL: "https://xt.sharingschool.com/upload/",
+      // BASE_URL:'https://img.sharingschool.com', //正式环境图片地址
+      BASE_URL:'https://xtimg.sharingschool.com/',
       CS_URL: "http://120.77.207.0:8081/kmt/index.html", //作业批改测环境
       PRO_URL: "https://kmt.sharingschool.com/aijia/kmt/index.html", //作业批改生产环境
       isDownindex: "",
@@ -775,6 +788,7 @@ export default {
       TeacherIdStatus:"",
        TeacherName:"", //封号,升级,解封
       values: [],
+      newDataDay:new Date(),
       arrGrade: [],
       OpenID:false, //解封校区管理员弹框
       closeID:false, //封号校区管理员弹框
@@ -785,7 +799,6 @@ export default {
       AllotManagerModel:false, //可分配小组管理员列表弹框
       NoAllotManagerModel:false, //所有未批改可分配老师列表弹框
       ModelStudet: false, //学生详情弹框
-      isNocheck:false,//没有未批改作业
       isDown: false,
       options: [
         {
@@ -934,7 +947,8 @@ export default {
       "GetTeacherDetail",
       "GetStudentDetail",
       "getTeacherIdStatus",
-      "getAllotManagerList"
+      "getAllotManagerList",
+      "BeforetoTeacherstatues"
 
     ])
   },
@@ -962,6 +976,7 @@ export default {
     // },
     // 获取校区管理员监控数据
     async InfoWatch() {
+       this.isDown = false;
       this.$store.dispatch("InfoWatch", {
         grade: this.filters.OptionsValue,
         subject: this.filters.gradesValue,
@@ -1218,24 +1233,18 @@ export default {
     },
     // 去分配
     allocation(){
-      var _this = this;
+      var noHomework = document.getElementById('noHomework');
       this.InfoWatch()
       if (this.monitorTeacherList.unCorrectCount == 0){
-        _this.isNocheck = true;
-        _this.setTimeoutHomework()
+        noHomework.style.display = "block";
+        setTimeout(function () {
+          noHomework.style.display = "none";
+        }, 1000);
       } else {
         this.isShow(this.monitorTeacherList,2)
       }
 
     },
-    // 定时器
-    setTimeoutHomework(){
-      var noHomework = document.getElementById('noHomework');
-       let _this = this
-      setTimeout(function () {
-        _this.isNocheck = false;
-      }, 1000);
-    },
     //关闭弹框
     allShowModel(str) {
       let _this = this;
@@ -1395,12 +1404,21 @@ export default {
         getTeacherIdStatus(val, oldVal){ //普通的watch监听
          this.InfoWatch();
         },
+          BeforetoTeacherstatues(val, oldVal){ //普通的watch监听
+         // 查看老师批改作业列表
+      this.$store.dispatch("TeacherHomeworkList", {
+        teacherId: this.homeworkLIst.teacherId,
+        maxCreateTime: this.filters.MaxtimeValue,
+        pageNo: this.homeworkLIst.pageNo,
+        pageSize: this.homeworkLIst.pageSize
+      });
+        },
     }
 };
 </script>
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped>
+<style>
 html,
 body {
   height: 100%;
@@ -1429,6 +1447,9 @@ el-table {
   color: #999999;
   font-size: 18px;
 }
+.buttonAppoval{
+  display:inline-block;
+}
 .main-items {
   color: #393939;
   text-align: center;
@@ -1488,6 +1509,22 @@ el-table {
 .table-head > div {
   width: 13.528%;
 }
+.table-heads {
+  margin-left:15%;
+  width: 68%;
+  color: #3ab548;
+  font-size: 14px;
+  text-align: center;
+  display: flex;
+  justify-content: space-around;
+}
+.table-heads > div {
+  width: 13.528%;
+}
+ul{
+  text-align: center;
+  margin: 0 !important
+}
 .tr {
   width: 100%;
   color: #393939;
@@ -1524,7 +1561,6 @@ el-table {
 }
 .tr-second {
   background-color: #fbfbfb;
-  margin: 0 60px;
   display: flex;
   color: #393939;
   font-size: 20px;
@@ -1537,6 +1573,7 @@ el-table {
 }
 .tr-sw180{
   width: 180px;
+  text-align:left;
 }
 .width40{
 width: 60px;
@@ -1548,7 +1585,7 @@ width: 60px;
    width: 200px;
 }
 .tr-w120{
-  width:120px;
+  width:160px;
   text-align: left;
 }
 .tr-second-check {
@@ -1739,6 +1776,7 @@ width: 60px;
   text-align: center;
   padding: 35px;
   z-index: 1000;
+  display: none;
 }
 .no-homework>div{
   margin-bottom: 25px;

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

@@ -121,8 +121,8 @@
             </div>
           </div>
           <div class="model-items-other model-active" >批改科目 : {{getManagerDetail.subject}}</div>
-          <div class="model-items-other">批改年级 :<span v-for="(v, k) of arrGrade" :key=k class="grade-name" v-if="k>=0">{{v}}</span></div>
-          <div class="model-items-other model-active"><span>可批改时间:</span> <span ><el-button type="info" round v-for="(v, k) of arrPeriod" :key=k v-if="k>=0">{{v}}</el-button></span></div>
+          <div class="model-items-other">批改年级 :<span v-for="(v, k) of arrGrade" :key=k class="grade-name" v-show="k>=0">{{v}}</span></div>
+          <div class="model-items-other model-active"><span>可批改时间:</span> <el-button type="info" round v-for="(v, k) of arrPeriod" :key=k v-show="k>=0">{{v}}</el-button></div>
           <div class="model-items-other">手机号 : {{getManagerDetail.phone}}</div>
           <div class="model-items-other model-active-last">上次登录时间 : {{getManagerDetail.lastOnlineTime}}</div>
         </div>
@@ -153,7 +153,8 @@
     props: {},
     data() {
       return {
-        BASE_URL:'https://xt.sharingschool.com/upload/',
+         BASE_URL:'https://xtimg.sharingschool.com/',
+        // BASE_URL:'https://t.sharingschool.com/upload/',
         hiddenModel:false,
         isPigai:false,
         managerId:'',

+ 0 - 1
src/router/index.js

@@ -40,7 +40,6 @@ export const constantRouterMap =
       path: "/aikmt/redirect_uri",
       name: "微信认证重定向页",
       component: Redirect_uri,
-      meta: { title: '微信认证重定向页', roles: ['0'] }
     },
 // 超级管理员角色路由
      {

+ 1 - 0
src/store/getters.js

@@ -26,5 +26,6 @@ const getters = {
   homeworkRecoveryList: state => state.user.homeworkRecoveryList,
   BeforetoTeacherAllotCode: state => state.user.BeforetoTeacherAllotCode,
   SuperBeforetoTeacherAllotCode :state => state.user.SuperBeforetoTeacherAllotCode,
+  BeforetoTeacherstatues :state => state.user.BeforetoTeacherstatues,
 }
 export default getters

+ 13 - 3
src/store/modules/user.js

@@ -31,7 +31,8 @@ const user = {
     getTeacherIdStatus:"",
     getAllotManagerList:"",
     homeworkRecoveryList:[],
-    BeforetoTeacherAllotCode:""
+    BeforetoTeacherAllotCode:"",
+    BeforetoTeacherstatues:""
   },
 
   mutations: {
@@ -101,6 +102,9 @@ const user = {
     SET_GET_SUCCESS_CODE:(state,BeforetoTeacherAllotCode) => {
       state.BeforetoTeacherAllotCode = BeforetoTeacherAllotCode
     },
+    SET_GET_SUCCESS_TEACHER:(state,BeforetoTeacherstatues) => {
+      state.BeforetoTeacherstatues = BeforetoTeacherstatues
+    },
   },
 
   actions: {
@@ -116,9 +120,10 @@ const user = {
             commit('SET_TOKEN', data);
             localStorage.setItem("accessToken",data.accessToken)
                    dispatch('GetInfo').then(res => { // 拉取用户信息
+                    // debugger
                         const roles = res.data.role
                         const isBanned = res.data.isBanned
-                        const userId = res.data.userId 
+                        const userId = res.data.userId
                         localStorage.setItem("userId",userId)
                         if (isBanned == 0) {
                           if (roles == 0) {
@@ -157,14 +162,16 @@ const user = {
         axios.Tokenpost(GET_TOKEN, data).then(res => {
           if (res && res.code == '999') {
             const data = res.data
+            console.log("获取Code" + data)
             const accessToken = data.accessToken
-            const unionid = localStorage.getItem("unionid")
             commit('SET_TOKEN', data);
             localStorage.setItem("accessToken",data.accessToken)
                    dispatch('GetInfo').then(res => { // 拉取用户信息
+                    console.log("获取Code拉取用户信息" + res)
                         const roles = res.data.role
                         const userId = res.data.userId
                         const isBanned = res.data.isBanned
+                        const unionid = res.data.unionid
                         localStorage.setItem("userId",userId)
                         if (isBanned == 0) {
                           if (roles == 0) {
@@ -340,6 +347,9 @@ const user = {
             axios.post(TeacherAllot, data).then(response => {
               const data = response || {}
               if (data.code === '999'){
+                // debugger
+                commit('SET_GET_SUCCESS_TEACHER',new Date());
+                resolve(response)
                 Message.success('分配成功')
               }
             }).catch(error => {