Browse Source

提交最新代码

TheLittlePrince 7 years ago
parent
commit
129b28dafc

+ 0 - 5
index.html

@@ -4,11 +4,6 @@
 <head>
   <meta charset="utf-8">
   <title>私塾家作业批改后台</title>
-<<<<<<< HEAD
-=======
-  <link rel=icon href=/favicon.ico>
-  <link rel="shortcut icon" type="image/x-icon" href="static/favicon.ico">
->>>>>>> 5309336df77a73102e1ff47b84ac455ae67d8d75
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <!-- <meta name="viewport" content="width=1920, target-densityDpi=device-dpi, user-scalable=no"> -->
   <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />  -->

+ 17 - 3
src/api/index.js

@@ -1,7 +1,6 @@
 import { BASE_URL } from '@/config'
 
 const urlFn = v => BASE_URL + v
-
 // 微信登录
 const GET_TOKEN = urlFn('/api/kmt/login/wxlogin/scanlogin')
 // Uniconid登录
@@ -37,7 +36,7 @@ const SuperApplyTeacherList = urlFn('/api/kmt/correctSys/applyTeacherList')
 //申请审批操作
 const ApplyOperate = urlFn('/api/kmt/correctSys/applyOperate')
 //老师薪酬列表
-const GetTeacherSalaryList = urlFn('/api/kmt/correctSys/getTeacherSalaryList')
+const GetTeacherSalaryList = urlFn('/api/kmt/correctSys/getCorrectTeacherSalaryList')
 // 处理在线批改老师(升级或封号或解封)
 const DealCorrectTeacher = urlFn('/api/kmt/correctSys/dealCorrectTeacher')
 // 可分配小组管理员列表
@@ -58,6 +57,16 @@ const logout = urlFn('/api/kmt/login/logout')
 const CheckHomeworkStatus = urlFn('/api/kmt/correctSys/checkHomeworkStatus')
 // 管理员查看科目报表数据
 const FindSubjectCharts = urlFn('/api/kmt/correctSys/findSubjectCharts')
+// 匹配知识点老师薪酬列表
+const GetKnowledgeTeacherSalaryList = urlFn('/api/kmt/correctSys/getKnowledgeTeacherSalaryList')
+// 校区群管理员数据监控(知识点匹配老师)
+const MonitorKnowTeacherList = urlFn('/api/kmt/correctSys/monitorKnowTeacherList')
+// 数据监控某天(匹配知识点老师)
+const MonitorKnowTeacherOneDayList = urlFn('/api/kmt/correctSys/monitorKnowTeacherOneDayList')
+// 数据监控某月(匹配知识点老师)
+const MonitorKnowTeacherOneMonthList = urlFn('/api/kmt/correctSys/monitorKnowTeacherOneMonthList')
+// 未匹配作业列表
+const UnmatchHomeworkList = urlFn('/api/kmt/correctSys/unmatchHomeworkList')
 export {
     GET_TOKEN,
     GET_UUIONID_TOKEN,
@@ -86,5 +95,10 @@ export {
     errorDetail,
     logout,
     CheckHomeworkStatus,
-    FindSubjectCharts
+    FindSubjectCharts,
+    GetKnowledgeTeacherSalaryList,
+    MonitorKnowTeacherList,
+    MonitorKnowTeacherOneDayList,
+    MonitorKnowTeacherOneMonthList,
+    UnmatchHomeworkList
 }

+ 3 - 0
src/axios/index.js

@@ -69,6 +69,9 @@ axios.interceptors.response.use(
                 case 404:
                 Message.error('404 Not Found')
                 break;
+                case 500:
+                Message.error('系统繁忙,请稍后重试')
+                break;
                 // 其他错误,直接抛出错误提示
                 default:
                 Message.error('网络错误')

+ 25 - 25
src/components/HomeworkTotalList.vue

@@ -93,9 +93,7 @@ export default {
     },
     drawLine() {
       // 基于准备好的dom,初始化echarts实例
-      let myChart = echarts.init(document.getElementById(this.myChart), null, {
-        renderer: "svg"
-      });
+      let myChart = echarts.init(document.getElementById(this.myChart));
       // 绘制图表
       myChart.setOption({
         title: {
@@ -110,23 +108,29 @@ export default {
           extraCssText: "width:100px;height:40px;"
         },
         xAxis: {
-            type : 'category',
+          type: "category",
           data: this.dataAxis,
-          axisLabel: {
-            inside: true,
-            textStyle: {
-              color: "#fff"
-            }
-          },
           axisTick: {
-            show: true
-          },
-          axisLine: {
-            show: false
-          },
-          z: 10
+            alignWithLabel: true
+          }
         },
         yAxis: {
+          type: "value",
+          name: "(张)",
+          // scale: true,
+          min: 0,
+          // interval: maxValue / 5,
+          // max: 500,
+          // max: function(value) {
+
+          //     if (value >= 1 && value < 50) {
+          //       value = 50
+          //     }
+          //    return value;
+          // },
+          minInterval: 1,
+          splitNumber: 5,
+          boundaryGap: [0.2, 0.2],
           axisLine: {
             show: false
           },
@@ -136,14 +140,10 @@ export default {
           axisLabel: {
             textStyle: {
               color: "#999"
-            }
+            },
+            formatter: "{value}"
           }
         },
-        dataZoom: [
-          {
-            type: "inside"
-          }
-        ],
         series: [
           {
             type: "bar",
@@ -151,7 +151,7 @@ export default {
               normal: { color: "rgba(0,0,0,0.05)" }
             },
             barGap: "-100%",
-            barCategoryGap: "40%",
+            barCategoryGap: "30%",
             data: this.dataShadow,
             animation: true
           },
@@ -173,7 +173,7 @@ export default {
                 ])
               }
             },
-            data: this.chartDataINfo 
+            data: this.chartDataINfo
           }
         ]
       });
@@ -194,6 +194,6 @@ export default {
   height: 500px;
   margin: 0 auto;
   text-align: center;
-  color:brown;
+  color: brown;
 }
 </style>

+ 8 - 3
src/components/SuperComponent.vue

@@ -15,8 +15,13 @@
         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? getRemindCount.auditCount+'项审核':getRemindCount.distributeCount+'份作业'}}</span>
+      <div class="box" v-if="index==1 && getRemindCount.auditCount >0">
+            <!-- <span class="box-text">{{index==1? getRemindCount.auditCount+'项审核':getRemindCount.distributeCount+'份作业'}}</span> -->
+            <span class="box-text">{{getRemindCount.auditCount+'项审核'}}</span>
+            <!-- <span class="box-text">{{getRemindCount.distributeCount+'份作业'}}</span> -->
+      </div>
+        <div class="box" v-if="index==3 && getRemindCount.distributeCount >0">
+            <span class="box-text">{{getRemindCount.distributeCount+'份作业'}}</span>
       </div>
     </el-col>
 
@@ -95,7 +100,7 @@ export default {
           href: "HomeworkTotally"
         }
       ],
-      checkindex: 0
+      checkindex: 0,
     };
   },
   watch: {

+ 444 - 127
src/pages/home/SchoolManager.vue

@@ -17,15 +17,14 @@
         <el-row :gutter="20" class="main-header">
           <el-col :span="24">
             <el-col :span="14" :offset="0">
-              <div class="main-header-item displayBox">在线:{{monitorTeacherList.onlineCount}}人</div>
-              <div class="main-header-item displayBox">离线:{{monitorTeacherList.offlineCount}}人</div>
-              <div class="main-header-item displayBox">
-                <span>平均响应时间:{{monitorTeacherList.avgreSpeed}}/份</span>
-              </div>
-              <div class="main-header-item displayBox">
-                <span>分配未批改作业:{{monitorTeacherList.unCorrectCount}}份</span>
-                <span @click="allocation()" class="main-header-link">去分配</span>
-              </div>
+              <div
+                @click="handApor()"
+                :class="{Apporvalactive:Activeindex == false,ApporStyles:true}"
+              >批改老师</div>
+              <div
+                @click="AutoApor()"
+                :class="{Apporvalactive:Activeindex == true,ApporStyles:true}"
+              >匹配知识点老师</div>
             </el-col>
             <el-col :span="10">
               <div class="selectBox">
@@ -83,16 +82,39 @@
               </div>
             </el-col>
           </el-col>
+          <el-col :span="14" :offset="1">
+            <div class="main-header-item displayBox">在线:{{monitorTeacherList.onlineCount}}人</div>
+            <div class="main-header-item displayBox">离线:{{monitorTeacherList.offlineCount}}人</div>
+            <div class="main-header-item displayBox">
+              <span>平均响应时间:{{monitorTeacherList.avgreSpeed}}/份</span>
+            </div>
+            <div class="main-header-item displayBox"  v-if="this.Activeindex == false">
+              <span>分配未批改作业:{{monitorTeacherList.unCorrectCount}}份</span>
+              <span @click="allocation()" class="main-header-link">去分配</span>
+            </div>
+            <div class="main-header-item displayBox"  v-if="this.Activeindex == true">
+              <span>分配未匹配作业:{{monitorTeacherList.unCorrectCount}}份</span>
+              <span @click="allocationApporval()" class="main-header-link">去分配</span>
+            </div>
+          </el-col>
         </el-row>
         <el-row :gutter="20" class="main-header">
           <el-col :span="24">
-            <div class="table">
+            <div
+              class="table"
+              v-if="monitorTeacherList.list !== undefined && monitorTeacherList.list.length ==0"
+            >暂无数据!</div>
+            <div
+              class="table"
+              v-if="monitorTeacherList.list !== undefined && monitorTeacherList.list.length >0"
+            >
               <div class="table-head">
                 <div>头像</div>
                 <div>姓名</div>
                 <div>等待作业数</div>
                 <div>作业最长等待时长</div>
-                <div>今日累计批改时间</div>
+                <div v-if="this.Activeindex == false">今日累计批改时间</div>
+                <div v-if="this.Activeindex == true">今日累计匹配时间</div>
                 <div>今日响应速度</div>
                 <div>状态</div>
               </div>
@@ -199,26 +221,33 @@
                     <div
                       v-if="v.status && !(v.status === 1 && k == 0) "
                       class="tr-secondsA"
-                      style="width:30%;"
+                      style="width:50%;"
                     >{{v.spendTime}}</div>
                     <div
                       v-if="v.status === 1 && k == 0"
                       class="tr-secondsA"
-                      style="color:#52CC60;width: 30%"
+                      style="color:#52CC60;width: 50%"
                     >{{v.spendTime}}</div>
-                    <div class="tr-seconds width40" style="width: 10%">{{v.subject}}</div>
-                    <div class="tr-seconds width40" style="width: 10%">{{v.grade}}</div>
-                    <div v-if="v.status === 1" class="tr-seconds width40" style="width: 10%">未批改
-                      (<span>{{v.feedbackCount}}/{{v.picTotal}}</span>)
+                    <div class="tr-seconds widthSu" style="width: 10%">{{v.subject}}</div>
+                    <div class="tr-seconds widthSu" style="width: 10%">{{v.grade}}</div>
+                    <div v-if="v.status === 1" class="tr-seconds width40" style="width: 50%">
+                      未批改
+                      (
+                      <span>{{v.feedbackCount}}/{{v.picTotal}}</span>)
                     </div>
                     <div
                       v-if="v.status === 2"
                       class="tr-seconds width40"
-                      style="color:#FFC303;width: 10%"
-                    >批改中
-                     (<span>{{v.feedbackCount}}/{{v.picTotal}}</span>)
+                      style="color:#FFC303;width: 50%"
+                    >
+                      批改中
+                      (
+                      <span>{{v.feedbackCount}}/{{v.picTotal}}</span>)
+                    </div>
+                    <div v-if="v.status === 3" class="tr-seconds width40" style="width: 50%">
+                      已批改 (
+                      <span>{{v.feedbackCount}}/{{v.picTotal}}</span>)
                     </div>
-                    <div v-if="v.status === 3" class="tr-seconds width40" style="width: 10%">已批改 (<span>{{v.feedbackCount}}/{{v.picTotal}}</span>)</div>
                     <div class="tr-sw180" v-if="v.status === 2" style="width: 25%"></div>
                     <div class="tr-sw180" v-if="v.status === 1" style="width: 25%">
                       <el-button
@@ -281,7 +310,8 @@
               </div>
             </div>
             <!-- 分页显示 -->
-            <el-pagination
+            <div v-if="this.Activeindex == false"> 
+                 <el-pagination
               background
               @size-change="handleSizeChange"
               @current-change="pageChange"
@@ -291,55 +321,93 @@
               :total="parseInt(monitorTeacherList.pages)"
               :hide-on-single-page="true"
             ></el-pagination>
-            <div style="clear:both;"></div>
+            </div>
+             <!-- 数据监控分页匹配知识点老师 -->
+            <div v-if="this.Activeindex == true">
+             <el-pagination
+              background
+              @size-change="WatchhandleSizeChange"
+              @current-change="WatchpageChange"
+              :page-sizes="[10, 20, 30, 40]"
+              layout="total, prev, pager, next"
+              :total="parseInt(monitorTeacherList.pages)"
+              :hide-on-single-page="true"
+              :current-page.sync="currentPage"
+            ></el-pagination>
+           </div>
           </el-col>
         </el-row>
       </el-col>
       <!--当天-->
       <el-col :span="18" class="main" v-if="modelindex == 1">
         <el-row :gutter="20" class="main-header">
-          <div class="main-header-num">
+          <el-col :span="24" :offset="0">
+            <el-col :span="8" :offset="0">
+              <div
+                @click="DayhandApor()"
+                :class="{Apporvalactive:DayActiveindex == false,ApporStyles:true}"
+              >批改老师</div>
+              <div
+                @click="DayAutoApor()"
+                :class="{Apporvalactive:DayActiveindex == true,ApporStyles:true}"
+              >匹配知识点老师</div>
+            </el-col>
+            <el-col :span="16" :offset="0">
+              <div class="main-header-num">
+                <div class="teach-time">
+                  <div class="teach-block">
+                    <div class="Dayteach-Allot">
+                      <input
+                        type="text"
+                        placeholder="请输入老师名字"
+                        v-model="filters1.inputValue"
+                        class="Dayinput-with-Allot"
+                      />
+                      <span @click="InfoWatchDay" class="DaySeachIcon el-icon-search"></span>
+                    </div>
+                  </div>
+                  <div class="teach-block">
+                    <el-date-picker
+                      @change="InfoWatchDay"
+                      v-model="filters1.MaxtimeValue"
+                      value-format="yyyy-MM-dd"
+                      type="date"
+                      :picker-options="pickerOptions0"
+                      placeholder="filters1.MaxtimeValue"
+                    ></el-date-picker>
+                  </div>
+                </div>
+              </div>
+            </el-col>
+          </el-col>
+          <el-col :span="6" :offset="0">
             <div class="main-header-item">
               今日报错总次数:
               <span style="color:red;">{{DayTeacherList.wrongCount}}次</span>
             </div>
-            <div class="teach-time">
-              <div class="teach-block">
-                <div class="Dayteach-Allot">
-                  <input
-                    type="text"
-                    placeholder="请输入老师名字"
-                    v-model="filters1.inputValue"
-                    class="Dayinput-with-Allot"
-                  />
-                  <span @click="InfoWatchDay" class="DaySeachIcon el-icon-search"></span>
-                </div>
-              </div>
-              <div class="teach-block">
-                <el-date-picker
-                  @change="InfoWatchDay"
-                  v-model="filters1.MaxtimeValue"
-                  value-format="yyyy-MM-dd"
-                  type="date"
-                  placeholder="filters1.MaxtimeValue"
-                ></el-date-picker>
-              </div>
-            </div>
-          </div>
+          </el-col>
         </el-row>
         <el-row :gutter="20" class="main-header">
           <el-col :span="24">
-            <div class="table">
+            <div
+              class="table"
+              v-if="DayTeacherList.list !== undefined && DayTeacherList.list.length ==0"
+            >暂无数据!</div>
+            <div
+              class="table"
+              v-if="DayTeacherList.list !== undefined && DayTeacherList.list.length >0"
+            >
               <div class="table-head">
                 <div>头像</div>
                 <div>姓名</div>
                 <div>被报错</div>
-                 <div>纠正次数</div>
+                <div>纠正次数</div>
                 <div>科目</div>
-                <div>批改有效总张数</div>
-                 <div>正确率</div>
-                  <div>家长满意度</div>
-                <div style="width:240px;">平均批改时间</div>
+                <div v-if="this.DayActiveindex == false">批改有效总张数</div>
+                <div v-if="this.DayActiveindex == true">匹配总张数</div>
+                <div>正确率</div>
+                <div style="width:240px;" v-if="this.DayActiveindex == false">平均批改时间</div>
+                <div style="width:240px;" v-if="this.DayActiveindex == true">平均匹配时间</div>
                 <div>出勤</div>
               </div>
               <div class="tr" v-for="(v, k) of DayTeacherList.list" :key="k">
@@ -351,11 +419,10 @@
                   <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.correctNums}}次</div>
+                  <div class="tr-active">{{v.correctNums}}次</div>
                   <div class="tr-active">{{v.subject}}</div>
                   <div>{{v.homeworkPicCount}}/张</div>
-                   <div>{{v.accuracyRate}}</div>
-                    <div>{{v.satisfactionDegree}}</div>
+                  <div>{{v.accuracyRate}}</div>
                   <div style="width:240px;">{{v.avgTime}}</div>
                   <div>{{v.attendance}}</div>
                   <!-- <div v-if="v.attendance == 正常">{{v.attendance}}</div>
@@ -363,8 +430,21 @@
                 </div>
               </div>
             </div>
-            <!-- 分页显示 -->
-            <el-pagination
+               <!-- 数据监控当天分页匹配知识点老师 -->
+            <div v-if="this.DayActiveindex == true">
+                  <el-pagination
+                background
+                @size-change="handleSizeDayChange1"
+                @current-change="pageDayChange1"
+                :page-sizes="[10]"
+                layout="total, prev, pager, next"
+                :total="parseInt(DayTeacherList.pages)"
+                :current-page.sync="currentPage"
+                 :hide-on-single-page="true"
+              ></el-pagination>
+              </div>
+              <div v-if="this.DayActiveindex == false"> 
+                  <el-pagination
               background
               @size-change="handleSizeChange1"
               @current-change="pageChange1"
@@ -374,49 +454,60 @@
               :hide-on-single-page="true"
               :current-page.sync="currentPage"
             ></el-pagination>
-            <!-- <div style="float:right;margin-left:15px;">
-            <el-button @click="myVisible = false" size="small">取 消</el-button>
-            <el-button type="primary" size="small" @click="submit">确定</el-button>
-            </div>-->
-            <div style="clear:both;"></div>
+              </div>
+            <!-- 分页显示 -->
           </el-col>
         </el-row>
       </el-col>
       <!--当月-->
       <el-col :span="18" class="main" v-if="modelindex == 2">
         <el-row :gutter="20" class="main-header">
-          <div class="main-header-num">
-            <div class="main-header-item">
-              当月报错总次数:
-              <span style="color:red;">{{MothTeacherList.totalWrongCount}}次</span>
-            </div>
-            <div class="teach-time">
-              <div class="teach-block">
-                <div class="Dayteach-Allot">
-                  <input
-                    type="text"
-                    placeholder="请输入老师名字"
-                    v-model="filters2.inputValue"
-                    class="Dayinput-with-Allot"
-                  />
-                  <span @click="InfoWatchMoth" class="DaySeachIcon el-icon-search"></span>
+          <el-col :span="24" :offset="0">
+            <el-col :span="7" :offset="0">
+              <div
+                @click="MonthhandApor()"
+                :class="{Apporvalactive:MonthActiveindex == false,ApporStyles:true}"
+              >批改老师</div>
+              <div
+                @click="MonthAutoApor()"
+                :class="{Apporvalactive:MonthActiveindex == true,ApporStyles:true}"
+              >匹配知识点老师</div>
+            </el-col>
+            <el-col :span="17" :offset="0">
+                    <div class="main-header-numNew">
+                      <div class="main-header-item">
+                  当月报错总次数:
+                  <span style="color:red;">{{MothTeacherList.totalWrongCount}}次</span>
                 </div>
-                <!-- <el-input placeholder="请输入老师名字" v-model="filters2.inputValue" class="input-with-select">
+                <div class="teach-time">
+                  <div class="teach-block">
+                    <div class="Dayteach-Allot">
+                      <input
+                        type="text"
+                        placeholder="请输入老师名字"
+                        v-model="filters2.inputValue"
+                        class="Dayinput-with-Allot"
+                      />
+                      <span @click="InfoWatchMoth" class="DaySeachIcon el-icon-search"></span>
+                    </div>
+                    <!-- <el-input placeholder="请输入老师名字" v-model="filters2.inputValue" class="input-with-select">
                   <el-button @click="InfoWatchMoth" slot="append" icon="el-icon-search"></el-button>
-                </el-input>-->
-              </div>
-              <div class="teach-block">
-                <el-date-picker
-                  @change="InfoWatchMoth"
-                  v-model="filters2.MaxtimeValue"
-                  type="month"
-                  value-format="yyyy-MM"
-                  placeholder="filters2.MaxtimeValue"
-                ></el-date-picker>
+                    </el-input>-->
+                  </div>
+                  <div class="teach-block">
+                    <el-date-picker
+                      @change="InfoWatchMoth"
+                      v-model="filters2.MaxtimeValue"
+                      type="month"
+                      value-format="yyyy-MM"
+                      placeholder="filters2.MaxtimeValue"
+                      :picker-options="pickerOptions0"
+                    ></el-date-picker>
+                  </div>
+                </div>
               </div>
-            </div>
-          </div>
-          <!--</el-col>-->
+            </el-col>
+          </el-col>
         </el-row>
         <el-row :gutter="20" class="main-header">
           <el-col :span="4" :offset="1">
@@ -426,10 +517,12 @@
             <div class="main-header-item">批改总份数:{{MothTeacherList.totalHomeworkCount}}</div>
           </el-col>-->
           <el-col :span="4">
-            <div class="main-header-item">批改总张数:{{MothTeacherList.totalHomeworkPicCount }}</div>
+            <div class="main-header-item" v-if="this.MonthActiveindex == false">批改总张数:{{MothTeacherList.totalHomeworkPicCount }}</div>
+              <div class="main-header-item" v-if="this.MonthActiveindex == true">匹配总张数:{{MothTeacherList.totalHomeworkPicCount }}</div>
           </el-col>
           <el-col :span="6">
-            <div class="main-header-item">批改平均时间:{{MothTeacherList.totalAvgTime}}</div>
+            <div class="main-header-item" v-if="this.MonthActiveindex == false">批改平均时间:{{MothTeacherList.totalAvgTime}}</div>
+              <div class="main-header-item" v-if="this.MonthActiveindex == true">平均匹配时间:{{MothTeacherList.totalAvgTime}}</div>
           </el-col>
           <el-col :span="4">
             <div class="main-header-item">家长满意度:{{MothTeacherList.totalSatisfactionDegree}}</div>
@@ -440,17 +533,25 @@
         </el-row>
         <el-row :gutter="20" class="main-header">
           <el-col :span="24">
-            <div class="table">
+            <div
+              class="table"
+              v-if="MothTeacherList.list !== undefined && MothTeacherList.list.length ==0"
+            >暂无数据!</div>
+            <div
+              class="table"
+              v-if="MothTeacherList.list !== undefined && MothTeacherList.list.length >0"
+            >
               <div class="table-head">
                 <div>头像</div>
                 <div>姓名</div>
                 <div>被报错</div>
-                 <div>纠正次数</div>
+                <div>纠正次数</div>
                 <div>科目</div>
-                <div>批改有效总张数</div>
+                <div v-if="this.MonthActiveindex == false">批改有效总张数</div>
+                <div v-if="this.MonthActiveindex == true">匹配总张数</div>
                 <div>正确率</div>
-                <div>家长满意度</div>
-                <div style="width:240px;">平均批改时间</div>
+                <div style="width:240px;" v-if="this.MonthActiveindex == false">平均批改时间</div>
+                 <div style="width:240px;" v-if="this.MonthActiveindex == true">平均匹配时间</div>
                 <div>出勤率</div>
               </div>
               <div class="tr" v-for="(v, k) of MothTeacherList.list" :key="k">
@@ -462,18 +563,18 @@
                   <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.correctNums}}次</div>
+                  <div class="tr-active">{{v.correctNums}}次</div>
                   <div class="tr-active">{{v.subject}}</div>
                   <div>{{v.homeworkPicCount}}/张</div>
                   <div>{{v.accuracyRate}}</div>
-                  <div>{{v.satisfactionDegree}}</div>
                   <div style="width:240px;">{{v.avgTime}}</div>
                   <div>{{v.attendance}}</div>
                 </div>
               </div>
             </div>
             <!-- 分页显示 -->
-            <el-pagination
+            <div v-if="this.MonthActiveindex == false">
+                 <el-pagination
               background
               @size-change="handleSizeChange2"
               @current-change="pageChange2"
@@ -483,11 +584,21 @@
               :hide-on-single-page="true"
               :current-page.sync="currentPage"
             ></el-pagination>
-            <!-- <div style="float:right;margin-left:15px;">
-            <el-button @click="myVisible = false" size="small">取 消</el-button>
-            <el-button type="primary" size="small" @click="submit">确定</el-button>
-            </div>-->
-            <div style="clear:both;"></div>
+            </div>
+
+           <!-- 知识点匹配 -->
+              <div v-if="this.MonthActiveindex == true">
+                 <el-pagination
+                background
+                @size-change="handleSizeMonthChange2"
+                @current-change="pageMonthChange2"
+                :page-sizes="[10]"
+                 layout="total, prev, pager, next"
+                :total="parseInt(MothTeacherList.pages)"
+                :current-page.sync="currentPage"
+                  :hide-on-single-page="true"
+              ></el-pagination>
+              </div>
           </el-col>
         </el-row>
       </el-col>
@@ -618,7 +729,8 @@
               <el-button type="success" @click="isShow(v,5)">去分配</el-button>
             </div>
           </div>
-          <el-pagination
+          <div  v-if="this.Activeindex == false">
+              <el-pagination
             background
             @size-change="handleSizeChange7"
             @current-change="pageChange7"
@@ -627,6 +739,18 @@
             :total="parseInt(UnallotHomeworkInfo.pages)"
             :hide-on-single-page="true"
           ></el-pagination>
+          </div>
+            <div v-if="this.Activeindex == true">
+               <el-pagination
+            background
+            @size-change="WatchApporvalhandleSizeChange7"
+            @current-change="WatchApporvalpageChange7"
+            :page-sizes="[10]"
+             layout="total, prev, pager, next"
+            :total="parseInt(UnallotHomeworkInfo.pages)"
+             :hide-on-single-page="true"
+          ></el-pagination>
+          </div>
         </div>
       </div>
     </div>
@@ -750,7 +874,10 @@
           <div class="model-items-other">手机号 : {{GetTeacherDetail.phone}}</div>
           <div class="model-items-other model-active">上次登录时间 : {{GetTeacherDetail.lastOnlineTime}}</div>
           <div class="model-items-other">批改正确率 : {{GetTeacherDetail.accuracyRate}}</div>
-          <div class="model-items-other model-active">被报错总次数 : <span style="color:red;">{{GetTeacherDetail.wrongCount}}次</span></div>
+          <div class="model-items-other model-active">
+            被报错总次数 :
+            <span style="color:red;">{{GetTeacherDetail.wrongCount}}次</span>
+          </div>
           <div class="model-items-other">纠正次数 : {{GetTeacherDetail.correctNums}}次</div>
           <div
             class="model-items-other model-active"
@@ -795,7 +922,7 @@
 <script>
 import { IMG_BASE_URL, APPOR_BASE_URL } from "@/ImgConfig";
 import { mapGetters, mapActions } from "vuex";
-import { Loading } from 'element-ui';
+import { Loading } from "element-ui";
 export default {
   components: {},
   name: "actvResolveLabel",
@@ -825,8 +952,19 @@ export default {
       isDown: false,
       gardeListDown: false,
       gardeListDownage: false,
+      Activeindex: false,
+      DayActiveindex: false,
+      MonthActiveindex:false,
       selecttitlepag: "选年级",
       selecttitleage: "选科目",
+      TeacherType: 8,
+      TeacherCheackStyle:2,
+      TeacherApporvalStyle:1,
+      pickerOptions0: {
+        disabledDate(time) {
+          return time.getTime() > Date.now() - 8.64e6;
+        }
+      },
       options: [
         {
           value: "0",
@@ -978,7 +1116,7 @@ export default {
           "&teacherId=" +
           this.homeworkLIst.teacherId +
           "&state=" +
-          1
+          this.TeacherApporvalStyle
       );
     },
     // 质检当前作业状态:href="APPOR_BASE_URL+'?homeworkId='+v.homeworkId+'&unionid='+unionid+'&teacherId='+homeworkLIst.teacherId+'&state='+2"
@@ -993,7 +1131,7 @@ export default {
           "&teacherId=" +
           this.homeworkLIst.teacherId +
           "&state=" +
-          2
+           this.TeacherCheackStyle
       );
     },
     BeforetoTeacherstatues(val, oldVal) {
@@ -1005,6 +1143,7 @@ export default {
         pageNo: this.homeworkLIst.pageNo,
         pageSize: this.homeworkLIst.pageSize
       });
+      this.InfoWatch();
     },
     InfoTeacherstatues(val, oldVal) {
       //普通的watch监听
@@ -1172,7 +1311,8 @@ export default {
         maxCreateTime: this.filters.MaxtimeValue,
         pageNo: this.allotList.pageNo,
         pageSize: this.allotList.pageSize,
-        name: this.inputValueAllot
+        name: this.inputValueAllot,
+          type:this.TeacherType,
       });
     },
     // 搜索可分配老师列表
@@ -1185,7 +1325,8 @@ export default {
         originTeacherId: this.homeworkLIst.teacherId,
         pageNo: this.allotList.pageNo,
         pageSize: this.allotList.pageSize,
-        name: this.inputValueAllot
+        name: this.inputValueAllot,
+          type:this.TeacherType,
       });
     },
     // 可分配老师列表分页
@@ -1198,7 +1339,8 @@ export default {
         maxCreateTime: this.filters.MaxtimeValue,
         pageNo: this.allotList.pageNo,
         pageSize: this.allotList.pageSize,
-        name: this.inputValueAllot
+        name: this.inputValueAllot,
+          type:this.TeacherType,
       });
     },
     // 未批改作业列表列表
@@ -1209,12 +1351,22 @@ export default {
         pageSize: this.homeworkLIst.pageSize
       });
     },
+      // 未匹配作业列表列表
+    async unmatchHomework() {
+      this.$store.dispatch("UnmatchHomeworkList", {
+        maxCreateTime: this.filters.MaxtimeValue,
+        pageNo: this.homeworkLIst.pageNo,
+        pageSize: this.homeworkLIst.pageSize,
+        managerId: this.managerId
+      });
+    },
     // 未批改作业分配老师
     async GOtoTeacherAllotAppovar(v, k) {
       this.$store.dispatch("toTeacherAllot", {
         teacherId: v.teacherId,
         homeworkId: this.allNoapprovalList.homeworkId,
-        originTeacherId: this.allNoapprovalList.teacherId
+        originTeacherId: this.allNoapprovalList.teacherId,
+          type:this.TeacherType,
       });
       v.type = 1;
       this.$set(this.TeacherAllotList.list, k, v);
@@ -1228,7 +1380,8 @@ export default {
       this.$store.dispatch("toTeacherAllot", {
         teacherId: v.teacherId,
         homeworkId: this.allotList.homeworkId,
-        originTeacherId: this.homeworkLIst.teacherId
+        originTeacherId: this.homeworkLIst.teacherId,
+          type:this.TeacherType,
       });
       v.type = 1;
       this.$set(this.TeacherAllotList.list, k, v);
@@ -1240,6 +1393,116 @@ export default {
         teacherId: v.teacherId
       });
     },
+    // 数据监控手动批改
+    handApor() {
+        this.TeacherType = 8;
+        this.TeacherApporvalStyle = 1;
+         this.TeacherCheackStyle = 2;
+      this.Activeindex = false;
+      this.filters.pageNo = 1;
+      //  this.showApporAways = false;
+      this.InfoWatch();
+    },
+    // 数据监控匹配知识点老师
+    AutoApor() {
+        this.TeacherType = 13;
+           this.TeacherApporvalStyle = 3;
+         this.TeacherCheackStyle = 4;
+      this.Activeindex = true;
+      // this.showApporAways = true;
+      this.filters.pageNo = 1;
+      this.InfoKonwTeacherWatchList();
+    },
+    // 数据监控匹配知识点老师
+    InfoKonwTeacherWatchList() {
+      this.$store.dispatch("InfoKonwTeacherWatch", {
+        grade: this.filters.OptionsValue,
+        subject: this.filters.gradesValue,
+        teacherName: this.filters.inputValue,
+        maxCreateTime: "",
+        pageNo: this.filters.pageNo,
+        pageSize: this.filters.pageSize,
+        managerId: this.managerId || ""
+      });
+    },
+    // 当天数据手动批改
+    DayhandApor() {
+      this.DayActiveindex = false;
+      this.filters1.pageNo = 1;
+      //  this.showApporAways = false;
+      this.InfoWatchDay();
+    },
+    // 当天数据匹配知识点老师
+    DayAutoApor() {
+      this.DayActiveindex = true;
+      // this.showApporAways = true;
+      this.filters1.pageNo = 1;
+      this.InfoKonwTeacherDayApprvalList();
+    },
+    // 当天数据匹配知识点老师
+    InfoKonwTeacherDayApprvalList() {
+      this.$store.dispatch("MonitorKnowTeacherOneDayInfo", {
+        grade: this.filters.OptionsValue,
+        subject: this.filters.gradesValue,
+        teacherName: this.filters1.inputValue,
+        maxCreateTime: "",
+        oneDay: this.filters1.MaxtimeValue,
+        pageNo: this.filters1.pageNo,
+        pageSize: this.filters1.pageSize,
+        managerId: this.managerId || ""
+      });
+    },
+    // 当月数据手动批改
+    MonthhandApor() {
+      this.MonthActiveindex = false;
+      this.filters2.pageNo = 1;
+      //  this.showApporAways = false;
+      this.InfoWatchMoth();
+    },
+    // 当月数据匹配知识点老师
+    MonthAutoApor() {
+      this.MonthActiveindex = true;
+      // this.showApporAways = true;
+      this.filters2.pageNo = 1;
+      this.InfoKonwTeacherMonthApprvalList();
+    },
+    // 当月数据匹配知识点老师
+    InfoKonwTeacherMonthApprvalList() {
+      this.$store.dispatch("MonitorKnowTeacherOneMonthInfo", {
+          grade: this.filters.OptionsValue,
+        subject: this.filters.gradesValue,
+        teacherName: this.filters2.inputValue,
+        maxCreateTime: "",
+        oneMonth: this.filters2.MaxtimeValue,
+        pageNo: this.filters2.pageNo,
+        pageSize: this.filters2.pageSize,
+        managerId: this.managerId || ""
+      });
+    },
+      WatchhandleSizeChange(val) {
+      this.filters.pageSize = val;
+      this.InfoKonwTeacherWatchList();
+    },
+    handleSizeDayChange1(val) {
+      this.filters1.pageSize = val;
+      this.InfoKonwTeacherDayApprvalList();
+    },
+    handleSizeMonthChange2(val) {
+      this.filters2.pageSize = val;
+      this.InfoKonwTeacherMonthApprvalList();
+    },
+       WatchpageChange(val) {
+      this.filters.pageNo = val;
+      this.InfoKonwTeacherWatchList();
+    }, 
+     pageDayChange1(val) {
+      this.filters1.pageNo = val;
+      this.InfoKonwTeacherDayApprvalList();
+    },
+    pageMonthChange2(val) {
+      this.filters2.pageNo = val;
+      this.InfoKonwTeacherMonthApprvalList();
+    },
     async pesiorFun() {
       var arr = this.GetTeacherDetail.grade.split(",");
       this.arrPeriod = this.GetTeacherDetail.period.split(",");
@@ -1264,16 +1527,19 @@ export default {
     selectTitle(k) {
       this.modelindex = k;
       if (k === 0) {
+        this.Activeindex = false;
         this.filters.pageNo = 1;
         this.currentPage = 1;
         this.InfoWatch();
       }
       if (k === 1) {
+        this.DayActiveindex = false;
         this.filters1.pageNo = 1;
         this.currentPage = 1;
         this.InfoWatchDay();
       }
       if (k === 2) {
+        this.MonthActiveindex = false;
         this.filters2.pageNo = 1;
         this.currentPage = 1;
         this.InfoWatchMoth();
@@ -1311,6 +1577,10 @@ export default {
         this.AllinputValueAllot = "";
         this.NoapporvalTeacherAllot(v);
         // this.GetAllotManagerInfo()
+      } else if (str == 10) {
+         _this.isPigai = true;
+        this.homeworkLIst.pageNo = 1;
+        this.unmatchHomework();
       }
     },
     // 未批改作业可分配老师列表
@@ -1323,7 +1593,8 @@ export default {
         maxCreateTime: this.filters.MaxtimeValue,
         pageNo: 1,
         pageSize: this.allNoapprovalList.pageSize,
-        name: this.AllinputValueAllot
+        name: this.AllinputValueAllot,
+          type:this.TeacherType,
       });
     },
     // 搜索未批改作业可分配老师列表
@@ -1336,7 +1607,8 @@ export default {
         maxCreateTime: this.filters.MaxtimeValue,
         pageNo: 1,
         pageSize: this.allNoapprovalList.pageSize,
-        name: this.AllinputValueAllot
+        name: this.AllinputValueAllot,
+          type:this.TeacherType,
       });
     },
     // 未批改作业可分配老师分页列表
@@ -1349,10 +1621,11 @@ export default {
         maxCreateTime: this.filters.MaxtimeValue,
         pageNo: this.allNoapprovalList.pageNo,
         pageSize: this.allNoapprovalList.pageSize,
-        name: this.AllinputValueAllot
+        name: this.AllinputValueAllot,
+          type:this.TeacherType,
       });
     },
-    // 去分配
+    // 未批改作业去分配
     allocation() {
       var noHomework = document.getElementById("noHomework");
       this.InfoWatch();
@@ -1365,6 +1638,20 @@ export default {
         this.isShow(this.monitorTeacherList, 2);
       }
     },
+    
+      // 未分配作业去分配
+    allocationApporval() {
+      var noHomework = document.getElementById("noHomework");
+      this.InfoKonwTeacherWatchList();
+      if (this.monitorTeacherList.unCorrectCount == 0) {
+        noHomework.style.display = "block";
+        setTimeout(function() {
+          noHomework.style.display = "none";
+        }, 1000);
+      } else {
+        this.isShow(this.monitorTeacherList, 10);
+      }
+    },
     // 未批改作业列表搜索可分配老师
     SearchValueAllot() {
       this.SearchNoapporvalTeacherAllot();
@@ -1476,6 +1763,10 @@ export default {
       this.homeworkLIst.pageSize = val;
       this.UnallotHomework();
     },
+     WatchApporvalhandleSizeChange7(val) {
+      this.homeworkLIst.pageSize = val;
+      this.unmatchHomework();
+    },
     // 分页
     pageChange(val) {
       this.currentPage = val;
@@ -1509,6 +1800,10 @@ export default {
       this.homeworkLIst.pageNo = val;
       this.UnallotHomework();
     },
+     WatchApporvalpageChange7(val) {
+      this.homeworkLIst.pageNo = val;
+      this.unmatchHomework();
+    },
     // 排序
     sortChange(sort) {
       this.filters.orderField = sort.prop;
@@ -1597,6 +1892,10 @@ ul {
   margin: 0 4%;
   padding-left: 4%;
 }
+.main-header-numNew {
+  display: flex;
+  justify-content: space-between;
+}
 .teach-time {
   text-align: right;
 }
@@ -1757,7 +2056,10 @@ el-table {
   /* height: 30px; */
 }
 .width40 {
-  width: 200px !important;
+  width: 300px !important;
+}
+.widthSu {
+  width: 120px !important;
 }
 .width120 {
   width: 200px;
@@ -2110,11 +2412,11 @@ el-table {
   font-size: 16px;
   cursor: pointer;
 }
-.displayBox{
-  display:inline-block;
-  float:left;
-  text-align:left!important;
-  padding:0 25px;
+.displayBox {
+  display: inline-block;
+  float: left;
+  text-align: left !important;
+  padding: 0 25px;
 }
 .age-tip {
   width: 80%;
@@ -2172,4 +2474,19 @@ el-table {
   margin-top: 10px;
   cursor: pointer;
 }
+.ApporStyles {
+  display: inline-block;
+  width: 180px;
+  height: 40px;
+  line-height: 40px;
+  background-color: #fff;
+  border-radius: 20px;
+  font-size: 16px;
+  color: #7c819d;
+  cursor: pointer;
+}
+.Apporvalactive {
+  background-color: #52cc60;
+  color: #fff;
+}
 </style>

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

@@ -121,7 +121,7 @@
           ></el-pagination>
         </div>
       </el-col>
-
+  
 
     </el-row>
 
@@ -370,6 +370,7 @@
           reason:this.filters.textareaDesc
         });
         this.allShowModel(this.operate);
+        this.$store.dispatch("GetRemindCountInfo", {});
         // setTimeout(function () {
         //   // _that.SuperApplyTeacherList()
         //   window.location.reload();

+ 527 - 372
src/pages/super/CheckTeacherPay.vue

@@ -2,35 +2,45 @@
 <template>
   <div>
     <!-- table 表格 -->
-    <el-row :gutter="20" class="main-items" >
-
+    <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="3" :offset="1"><div class="main-header-item" >
-            <div class="block" >
-              <el-date-picker
-                v-model="selMonth"
-                type="month"
-                placeholder="选择月"
-                value-format="yyyy-MM"
-                @change="GetTeacherSalaryList()">
-              </el-date-picker>
+          <el-col :span="3" :offset="1">
+            <div class="main-header-item">
+              <div class="block">
+                <el-date-picker
+                  v-model="selMonth"
+                  type="month"
+                  placeholder="选择月"
+                  value-format="yyyy-MM"
+                  :picker-options="pickerOptions0"
+                  @change="GetTeacherSalaryList()"
+                ></el-date-picker>
+              </div>
             </div>
-          </div>
           </el-col>
-          <el-col :span="6"  :offset="3">
-            <!-- <div  @click="handApor()" :class="{superactive:Activeindex == false,ApporStyles:true}" >手动批改</div>
-            <div  @click="AutoApor()"  :class="{superactive:Activeindex == true,ApporStyles:true}" >自动批改</div> -->
+          <el-col :span="10" :offset="1">
+            <div
+              @click="handApor()"
+              :class="{superactive:Activeindex == false,ApporStyles:true}"
+            >批改老师</div>
+            <div
+              @click="AutoApor()"
+              :class="{superactive:Activeindex == true,ApporStyles:true}"
+            >匹配知识点老师</div>
           </el-col>
-          <el-col :span="4" :offset="16">
+          <el-col :span="4" :offset="4">
             <div class="main-header-item">
               <i class="el-icon-printer"></i>
-              <span @click="excel()">导出表格</span>
+              <span v-if="this.showApporAways == false" @click="excel()">导出表格</span>
+               <span v-if="this.showApporAways == true" @click="ApporvalAutoexcel()">导出表格</span>
             </div>
           </el-col>
         </el-row>
-        <el-table
+        <!--批改老师列表  -->
+        <el-col v-if="this.showApporAways == false">
+          <el-table
           :data="getTeacherSalaryList.list"
           :header-cell-class-name="tableheaderClassName"
           :header-cell-style="{
@@ -42,41 +52,29 @@
           border
           stripe
         >
-          <el-table-column
-            label="注册老师"
-            header-align="center"
-          >
+          <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">
+                <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="lowGradeCount"
-            label="1~2年级0.2元/张"
-            header-align="center"
-          >
+          <el-table-column prop="attendanceCount" label="出勤天数" header-align="center"></el-table-column>
+          <el-table-column prop label="1~2年级" header-align="center" height="200">
+            <el-table-column prop="autoLowGradeCount" label="自动批改(0.2元/张)" width="100"></el-table-column>
+            <el-table-column prop="manualLowGradeCount" label="手动批改(0.3元/张)" width="100"></el-table-column>
           </el-table-column>
-          <el-table-column
-            prop="middleGradeCount"
-            label="3~4年级0.3元/张"
-            header-align="center"
-          ></el-table-column>
-          <el-table-column
-            prop="highGradeCount"
-            label="5~6年级0.4元/张"
-            header-align="center">
+          <el-table-column prop label="3~4年级" header-align="center" height="200">
+            <el-table-column prop="autoMiddleGradeCount" label="自动批改(0.3元/张)" width="100"></el-table-column>
+            <el-table-column prop="manualMiddleGradeCount" label="手动批改(0.4元/张)" width="100"></el-table-column>
           </el-table-column>
-          <el-table-column
-            prop="total"
-            label="总计"
-            header-align="center"
-            width="400"
-          >
+          <el-table-column label="5~6年级" header-align="center" height="200">
+            <el-table-column prop="autoHighGradeCount" label="自动批改(0.4元/张)" width="100"></el-table-column>
+            <el-table-column prop="manualHighGradeCount" label="手动批改(0.5元/张)" width="100"></el-table-column>
           </el-table-column>
+          <el-table-column prop="total" label="总计" header-align="center" width="400"></el-table-column>
         </el-table>
         <!-- 分页显示 -->
         <div class="page-block" v-if="parseInt(getTeacherSalaryList.pages) > 10">
@@ -86,20 +84,67 @@
             @current-change="pageChange"
             :page-sizes="[10]"
             layout="total,prev, pager, next"
-            :total= parseInt(getTeacherSalaryList.pages)
+               :hide-on-single-page="true"
+            :total="parseInt(getTeacherSalaryList.pages)"
+          ></el-pagination>
+        </div>
+        </el-col>
+        <!-- 匹配知识点老师 -->
+            <div  v-if="this.showApporAways == true">
+          <el-table
+           style="width: 100%"
+          :data="GetKnowledgeTeacherSalaryList.list"
+          :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="attendanceCount" label="出勤天数" header-align="center"></el-table-column>
+          <el-table-column  prop="correctCount" label="批改张数(0.2元/张)" header-align="center">
+          </el-table-column>
+          <el-table-column prop="total" label="总计" header-align="center"></el-table-column>
+        </el-table>
+        <!-- 分页显示 -->
+          <el-pagination
+            background
+            @size-change="handleSizeChange1"
+            @current-change="pageChange1"
+            :page-sizes="[10]"
+            layout="total,prev, pager, next"
+               :hide-on-single-page="true"
+            :total="parseInt(GetKnowledgeTeacherSalaryList.pages)"
           ></el-pagination>
         </div>
       </el-col>
-
     </el-row>
 
-
     <!--弹框-->
-    <div class='showModel' @click="allShowModel(2)" v-if="isPigai"></div>
-    <div class='model' v-if="isPigai">
-      <div class='model-text'>
+    <div class="showModel" @click="allShowModel(2)" v-if="isPigai"></div>
+    <div class="model" v-if="isPigai">
+      <div class="model-text">
         <div class="model-text-items">
-          <div><img src="../../assets/img/del@2x.png" alt="" @click="allShowModel(2)" class="model-text-items-close"></div>
+          <div>
+            <img
+              src="../../assets/img/del@2x.png"
+              alt
+              @click="allShowModel(2)"
+              class="model-text-items-close"
+            />
+          </div>
           <div>是否导出表格?</div>
         </div>
         <div class="model-btn">
@@ -111,348 +156,458 @@
   </div>
 </template>
 <script>
-  import { mapGetters, mapActions } from "vuex";
-  import { IMG_BASE_URL } from '@/ImgConfig'
-  export default {
-    components: { },
-    name: "actvResolveLabel",
-    props: {},
-    data() {
-      return {
-        Activeindex:false,
-          BASE_URL:IMG_BASE_URL,
-        selMonth:'',
-        hiddenModel:false,
-        isPigai:false,
-        ItemList: [
-          {
-            text:'数据监控'
-          },
-          {
-            text:'当天'
-          },
-          {
-            text:'当月'
-          },
-        ],
-        filters: {
-          actvNm: "",
-          actvCrtUserId: "",
-          actvType: "",
-          actvSmallType: "",
-          // 排序
-          MaxtimeValue:'',
-          oneMonth:'',
-          pageNo: 1,
-          pageSize: 10,
-          count: 0,
-          orderField: "",
-          orderAD: ""
+import { mapGetters, mapActions } from "vuex";
+import { IMG_BASE_URL } from "@/ImgConfig";
+export default {
+  components: {},
+  name: "actvResolveLabel",
+  props: {},
+  data() {
+    return {
+      showApporAways:false,
+      Activeindex: false,
+      BASE_URL: IMG_BASE_URL,
+      selMonth: "",
+      hiddenModel: false,
+      isPigai: false,
+      ItemList: [
+        {
+          text: "数据监控"
+        },
+        {
+          text: "当天"
+        },
+        {
+          text: "当月"
         }
-      };
-    },
-    watch: {},
-    computed: {
-      ...mapGetters(["getUser","getTeacherSalaryList"])
-    },
-    methods: {
-      ...mapActions(["setUser"]),
-      // 表格头部样式
-      tableheaderClassName({ row, rowIndex }) {
-        return "table-head-th";
-      },
-      //表格导出
-      excel(){
-        try {
-          //var curTbl = document.getElementById(tableId);
-          //var lenRow = curTbl.rows.length;
-          var curTbl = $('.el-table')[0];
-          var lenRow = curTbl.rows.length;
-          //创建AX对象excel
-          var oXL = new ActiveXObject("Excel.Application");
-          //获取workbook对象
-          var oWB = oXL.Workbooks.Add();
-          var oSheet = oWB.ActiveSheet;
-
-          //取得表格行数
-          for (var i = 0; i < lenRow; i++) {
-            var lenCol = curTbl.rows(i).cells.length;
-            //取得每行的列数
-            for (var j = 0; j < lenCol; j++)
-            {
-              oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText;
-
-            }
-          }
-          oXL.Visible = true; //设置excel可见属性
-          //oXL.UserControl = true;
-          //oXL=null
-        } catch (e) {
-          if ((!+'\v1')) { //ie浏览器
-            alert("无法启动Excel,请确保电脑中已经安装了Excel!")
-          } else {
-            let arr = this.getTeacherSalaryList.list;
-            let str = '注册老师,1~2年级0.2元/张,3~4年级0.3元/张,5~6年级0.4元/张,总计/元';
-            for (let i = 0; i < arr.length; i++) {
-              str += "\n" + arr[i].name + ',' + arr[i].lowGradeCount + ',' + arr[i].middleGradeCount + ',' + arr[i].highGradeCount + ',' + arr[i].total
-            }
-            var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(str);
-            var downloadLink = document.createElement("a");
-            downloadLink.href = uri;
-            downloadLink.download = "export.csv";
-
-            document.body.appendChild(downloadLink);
-            downloadLink.click();
-            document.body.removeChild(downloadLink);
-          }
+      ],
+      pickerOptions0: {
+        disabledDate(time) {
+          return time.getTime() > Date.now() - 8.64e6;
         }
       },
-      // 手动批改
-      handApor(){
-        this.Activeindex = false;
-      },
-         // 自动批改
-      AutoApor(){
-         this.Activeindex = true;
+      filters: {
+        actvNm: "",
+        actvCrtUserId: "",
+        actvType: "",
+        actvSmallType: "",
+        // 排序
+        MaxtimeValue: "",
+        oneMonth: "",
+        pageNo: 1,
+        pageSize: 10,
+        count: 0,
+        orderField: "",
+        orderAD: ""
       },
-      //弹框
-      isShow(str){
-        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;
-        }
+      filters0: {
+        MaxtimeValue: "",
+        oneMonth: "",
+        pageNo: 1,
+        pageSize: 10
+      }
+    };
+  },
+  watch: {},
+  computed: {
+    ...mapGetters([
+      "getUser",
+      "getTeacherSalaryList",
+      "GetKnowledgeTeacherSalaryList"
+    ])
+  },
+  methods: {
+    ...mapActions(["setUser"]),
+    // 表格头部样式
+    tableheaderClassName({ row, rowIndex }) {
+      return "table-head-th";
+    },
+    //批改老师表格导出
+    excel() {
+      try {
+        //var curTbl = document.getElementById(tableId);
+        //var lenRow = curTbl.rows.length;
+        var curTbl = $(".el-table")[0];
+        var lenRow = curTbl.rows.length;
+        //创建AX对象excel
+        var oXL = new ActiveXObject("Excel.Application");
+        //获取workbook对象
+        var oWB = oXL.Workbooks.Add();
+        var oSheet = oWB.ActiveSheet;
 
-      },
-      //关闭弹框
-      allShowModel(str) {
-        let _this = this;
-        if (str == 1){
-          _this.hiddenModel = false;
-        } else if (str == 2){
-          _this.isPigai = false;
+        //取得表格行数
+        for (var i = 0; i < lenRow; i++) {
+          var lenCol = curTbl.rows(i).cells.length;
+          //取得每行的列数
+          for (var j = 0; j < lenCol; j++) {
+            oSheet.Cells(i + 1, j + 1).value = curTbl
+              .rows(i)
+              .cells(j).innerText;
+          }
         }
-      },
-      //时间封装
-      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 GetTeacherSalaryList() {
-        this.$store.dispatch("GetTeacherSalaryList", {
-          pageNo: this.filters.pageNo,
-          pageSize: this.filters.pageSize,
-          oneMonth:this.selMonth,
-          maxCreateTime: this.formatDate()
-        });
-      },
-      // 分页
-      pageChange(val) {
-        this.filters.pageNo = val;
-        this.GetTeacherSalaryList();
-      },
-      changeDateSlot(dateSlot) {
-        if (dateSlot) {
-          this.filters.startDate = dateSlot[0];
-          this.filters.endDate = dateSlot[1];
+        oXL.Visible = true; //设置excel可见属性
+        //oXL.UserControl = true;
+        //oXL=null
+      } catch (e) {
+        if (!+"\v1") {
+          //ie浏览器
+          alert("无法启动Excel,请确保电脑中已经安装了Excel!");
         } else {
-          this.filters.startDate = null;
-          this.filters.endDate = null;
+          let arr = this.getTeacherSalaryList.list;
+          let str =
+            "注册老师,出勤天数,1~2年级自动批改0.2元/张,1~2年级手动批改0.3元/张,3~4年级自动批改0.3元/张,3~4年级手动批改0.4元/张,5~6年级自动批改0.4元/张,5~6年级手动批改0.5元/张,总计/元";
+          for (let i = 0; i < arr.length; i++) {
+            str +=
+              "\n" +
+              arr[i].name +
+              "," +
+              arr[i].attendanceDays +
+              "," +
+              arr[i].autoLowGradeCount +
+              "," +
+              arr[i].manualLowGradeCount +
+              "," +
+              arr[i].autoMiddleGradeCount +
+              "," +
+              arr[i].manualMiddleGradeCount +
+              "," +
+              arr[i].autoHighGradeCount +
+              "," +
+              arr[i].manualHighGradeCount +
+              "," +
+              arr[i].total;
+          }
+          var uri = "data:text/csv;charset=utf-8," + encodeURIComponent(str);
+          var downloadLink = document.createElement("a");
+          downloadLink.href = uri;
+          downloadLink.download = "export.csv";
+
+          document.body.appendChild(downloadLink);
+          downloadLink.click();
+          document.body.removeChild(downloadLink);
         }
-      },
-      actvTypeChange(typeList) {
-        switch (typeList.length) {
-          case 1:
-            this.filters.actvType = typeList[0];
-            this.filters.actvSmallType = null;
-            break;
-          case 2:
-            this.filters.actvType = null;
-            this.filters.actvSmallType = typeList[1];
-            break;
-          default:
-            this.filters.actvType = null;
-            this.filters.actvSmallType = null;
-            break;
+      }
+    },
+       //匹配知识点老师
+    ApporvalAutoexcel() {
+      try {
+        //var curTbl = document.getElementById(tableId);
+        //var lenRow = curTbl.rows.length;
+        var curTbl = $(".el-table")[0];
+        var lenRow = curTbl.rows.length;
+        //创建AX对象excel
+        var oXL = new ActiveXObject("Excel.Application");
+        //获取workbook对象
+        var oWB = oXL.Workbooks.Add();
+        var oSheet = oWB.ActiveSheet;
+
+        //取得表格行数
+        for (var i = 0; i < lenRow; i++) {
+          var lenCol = curTbl.rows(i).cells.length;
+          //取得每行的列数
+          for (var j = 0; j < lenCol; j++) {
+            oSheet.Cells(i + 1, j + 1).value = curTbl
+              .rows(i)
+              .cells(j).innerText;
+          }
         }
-      },
-      handleSizeChange(val) {
-        this.filters.pageSize = val;
-        this.GetTeacherSalaryList();
-      },
-      // 排序
-      sortChange(sort) {
-        this.filters.orderField = sort.prop;
-        this.filters.orderAD = sort.order != null ? sort.order : "";
-        this.itemListReshow();
-      },
-      clearSearch() {
-        this.filters.actvNm = null;
-        this.filters.actvCrtUserId = null;
-        this.filters.actvType = null;
-        this.filters.actvSmallType = null;
-        this.filtersActvType = [];
-        this.createDateSlot = null;
-      },
+        oXL.Visible = true; //设置excel可见属性
+        //oXL.UserControl = true;
+        //oXL=null
+      } catch (e) {
+        if (!+"\v1") {
+          //ie浏览器
+          alert("无法启动Excel,请确保电脑中已经安装了Excel!");
+        } else {
+          let arr = this.getTeacherSalaryList.list;
+          let str =
+            "注册老师,出勤天数,批改张数(0.2元/张),总计/元";
+          for (let i = 0; i < arr.length; i++) {
+            str +=
+              "\n" +
+              arr[i].name +
+              "," +
+              arr[i].attendanceDays +
+              "," +
+              arr[i].correctCount +
+              "," +
+              arr[i].total;
+          }
+          var uri = "data:text/csv;charset=utf-8," + encodeURIComponent(str);
+          var downloadLink = document.createElement("a");
+          downloadLink.href = uri;
+          downloadLink.download = "export.csv";
 
+          document.body.appendChild(downloadLink);
+          downloadLink.click();
+          document.body.removeChild(downloadLink);
+        }
+      }
+    },
+    // 手动批改
+    handApor() {
+      this.Activeindex = false;
+       this.showApporAways = false;
+       this.filters.pageNo = 1;
+       this.GetTeacherSalaryList()
+    },
+    // 匹配知识点老师
+    AutoApor() {
+      this.Activeindex = true;
+      this.showApporAways = true;
+       this.filters0.pageNo = 1;
+      this.GetKnownleageSalaryList();
+    },
+    GetKnownleageSalaryList (){
+       this.$store.dispatch("GetKnowledgeTeacherSalaryInfo", {
+        pageNo: this.filters0.pageNo,
+        pageSize: this.filters0.pageSize,
+        oneMonth: this.selMonth,
+        maxCreateTime: this.formatDate()
+      });
+    },
+    //弹框
+    isShow(str) {
+      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;
+      }
+    },
+    //关闭弹框
+    allShowModel(str) {
+      let _this = this;
+      if (str == 1) {
+        _this.hiddenModel = false;
+      } else if (str == 2) {
+        _this.isPigai = 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;
+    },
+    // 老师薪酬列表
+    async GetTeacherSalaryList() {
+      this.$store.dispatch("GetTeacherSalaryList", {
+        pageNo: this.filters.pageNo,
+        pageSize: this.filters.pageSize,
+        oneMonth: this.selMonth,
+        maxCreateTime: this.formatDate()
+      });
     },
-    mounted() {
-      sessionStorage.setItem('tabIndex',2);
-      console.log(sessionStorage.getItem('tabIndex'))
-     this.GetTeacherSalaryList()
+    // 分页
+    pageChange(val) {
+      this.filters.pageNo = val;
+      this.GetTeacherSalaryList();
+    },
+       // 分页
+    pageChange1(val) {
+      this.filters0.pageNo = val;
+      this.GetKnownleageSalaryList();
+    },
+    changeDateSlot(dateSlot) {
+      if (dateSlot) {
+        this.filters.startDate = dateSlot[0];
+        this.filters.endDate = dateSlot[1];
+      } else {
+        this.filters.startDate = null;
+        this.filters.endDate = null;
+      }
+    },
+    actvTypeChange(typeList) {
+      switch (typeList.length) {
+        case 1:
+          this.filters.actvType = typeList[0];
+          this.filters.actvSmallType = null;
+          break;
+        case 2:
+          this.filters.actvType = null;
+          this.filters.actvSmallType = typeList[1];
+          break;
+        default:
+          this.filters.actvType = null;
+          this.filters.actvSmallType = null;
+          break;
+      }
+    },
+    handleSizeChange(val) {
+      this.filters.pageSize = val;
+      this.GetTeacherSalaryList();
+    },
+      handleSizeChange1(val) {
+      this.filters0.pageSize = val;
+      this.GetKnownleageSalaryList();
+    },
+    // 排序
+    sortChange(sort) {
+      this.filters.orderField = sort.prop;
+      this.filters.orderAD = sort.order != null ? sort.order : "";
+      this.itemListReshow();
+    },
+    clearSearch() {
+      this.filters.actvNm = null;
+      this.filters.actvCrtUserId = null;
+      this.filters.actvType = null;
+      this.filters.actvSmallType = null;
+      this.filtersActvType = [];
+      this.createDateSlot = null;
     }
-  };
+  },
+  mounted() {
+    sessionStorage.setItem("tabIndex", 2);
+    console.log(sessionStorage.getItem("tabIndex"));
+    this.GetTeacherSalaryList();
+  }
+};
 </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;
+}
 
-  .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-table {
+  color: #999999;
+  font-size: 18px;
+}
 .el-pagination.is-background .el-pager li:not(.disabled).active {
-    background-color:#52cc60!important;
-    color: #fff;
+  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;
 }
-  .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;
-  }
+.input-with-select .el-input-group__prepend {
+  background-color: #fff;
+}
 
-  .model-text{
-    background:rgba(255,255,255,1);
-    border-radius:10px;
-  }
+.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;
+}
 
-  .model-btn{
-    display: flex;
-    justify-content: space-around;
-    margin-bottom: 44px;
-  }
-  .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 .table-head-th{
-    background-color:#F6F7FB;
-    font-size: 16px !important;
-    color: #393939;
+.model-text {
+  background: rgba(255, 255, 255, 1);
+  border-radius: 10px;
+}
 
-  }
-  .page-block{
-    text-align: center !important;
-    margin-top: 15px;
-  }
-  .scope-list{
-    margin-left: 18px;
-    text-align: left;
-  }
-  .ApporStyles{
-    display:inline-block;
-    width: 100px;
-    height: 30px;
-    line-height:30px;
-    background-color: #fff;
-    border-radius:15px;
-    font-size: 14px;
-    color:#7C819D;
-    cursor: pointer;
-  }
-  .superactive{
-    background-color: #52CC60;
-    color:#fff;
-  }
+.model-btn {
+  display: flex;
+  justify-content: space-around;
+  margin-bottom: 44px;
+}
+.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 .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: 180px;
+  height: 40px;
+  line-height: 40px;
+  background-color: #fff;
+  border-radius: 20px;
+  font-size: 16px;
+  color: #7c819d;
+  cursor: pointer;
+}
+.superactive {
+  background-color: #52cc60;
+  color: #fff;
+}
 </style>

+ 16 - 7
src/pages/super/HomeworkRecycle.vue

@@ -29,6 +29,14 @@
             header-align="center"
           >
           </el-table-column>
+           <el-table-column
+            prop=""
+            label="类型"
+            header-align="center"
+          > <template slot-scope="scope">
+              <span >{{scope.row.type==8?'批改作业':'匹配知识点作业'}}</span>
+            </template>
+          </el-table-column>
           <el-table-column
             prop="studentName"
             label="学生"
@@ -55,7 +63,7 @@
             width="450"
           >
             <template slot-scope="scope">
-                <span class="allocation" @click="isShow(scope.row.grade,scope.row.subject,scope.row.homeworkId)">去分配</span>
+                <span class="allocation" @click="isShow(scope.row.grade,scope.row.subject,scope.row.homeworkId,scope.row.type)">去分配</span>
             </template>
           </el-table-column>
         </el-table>
@@ -66,11 +74,7 @@
             @size-change="handleSizeChange1"
             @current-change="pageChange1"
             :page-sizes="[10]"
-<<<<<<< HEAD
             layout="total,prev, pager, next"
-=======
-           layout="total, prev, pager, next"
->>>>>>> 5309336df77a73102e1ff47b84ac455ae67d8d75
             :total= parseInt(homeworkRecoveryList.pages)
           ></el-pagination>
         </div>
@@ -180,7 +184,8 @@
           count: 0,
           grade:'',
           subject:'',
-          homeworkId:''
+          homeworkId:'',
+          TeacherType:''
         }
       };
     },
@@ -196,11 +201,12 @@
         return "table-head-th";
       },
       //弹框
-      isShow(str,t,id){
+      isShow(str,t,id,type){
           this.isPigai = true;
           this.allotList.grade = str;
           this.allotList.subject = t;
           this.allotList.homeworkId = id
+            this.allotList.TeacherType = type
           this.TeacherAllot()
       },
       //关闭弹框
@@ -241,6 +247,7 @@
         this.$store.dispatch("TeacherAllotList", {
           grade: this.allotList.grade,
           subject: this.allotList.subject,
+          type:this.allotList.TeacherType,
           maxCreateTime: this.formatDate(),
           pageNo: this.allotList.pageNo,
           originTeacherId:"",
@@ -251,10 +258,12 @@
       async GOtoTeacherAllot(v) {
         this.$store.dispatch("toTeacherAllot", {
           teacherId: v.teacherId,
+             type: v.type,
            originTeacherId:"",
           homeworkId: this.allotList.homeworkId
         });
         this.isPigai = false
+        this.$store.dispatch("GetRemindCountInfo", {});
       },
       // 分页
       pageChange(val) {

+ 5 - 30
src/pages/super/HomeworkTotally.vue

@@ -20,6 +20,7 @@
                 end-placeholder="结束日期"
                 value-format="yyyy-MM-dd"
                 align="right"
+                 :picker-options="pickerOptions0"
               ></el-date-picker>
             </div>
           </el-col>
@@ -55,37 +56,11 @@ export default {
       chartData1: {},
       chartData2: {},
       chartData3: {},
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            }
+    pickerOptions0: {
+          disabledDate(time) {
+            return time.getTime() > Date.now() - 8.64e6
           }
-        ]
-      },
+        },  
       Timevalue: "",
       startTime: "",
       endTime: ""

File diff suppressed because it is too large
+ 775 - 433
src/pages/super/SchoolManager.vue


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

@@ -110,7 +110,9 @@
             ></el-pagination>
         </div>
       </el-col>
-
+        <el-col>
+      <!-- {{getRemindCount}} -->
+    </el-col>
     </el-row>
 
     <!--可分配老师-->
@@ -216,7 +218,7 @@
       },
     },
     computed: {
-      ...mapGetters(["getUser","getManagerList","getManagerDetail","InfoTeacherstatues"])
+      ...mapGetters(["getUser","getManagerList","getManagerDetail","InfoTeacherstatues","getRemindCount"])
     },
     methods: {
       ...mapActions(["setUser"]),

+ 1 - 0
src/store/getters.js

@@ -38,5 +38,6 @@ const getters = {
   FindSubjectCharts :state => state.user.FindSubjectCharts,
   FindSubjectmathCharts :state => state.user.FindSubjectmathCharts,
   FindSubjectEngCharts :state => state.user.FindSubjectEngCharts,
+  GetKnowledgeTeacherSalaryList:state => state.user.GetKnowledgeTeacherSalaryList,
 }
 export default getters

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

@@ -4,7 +4,8 @@ import { GET_UUIONID_TOKEN,GET_TOKEN,GetInfo,InfoWatch,InfoWatchDay,
   GetStudentDetail,GetManagerDetail,Downgrade,SuperManagerList,
   SuperApplyTeacherList,ApplyOperate,GetTeacherSalaryList,DealCorrectTeacher,
   GetAllotManagerList,AllotTeacherToManager,HomeworkRecoveryList,errorWarning,errorDetail,logout,
-  CheckHomeworkStatus,FindSubjectCharts,GetRemindCount
+  CheckHomeworkStatus,FindSubjectCharts,GetRemindCount,GetKnowledgeTeacherSalaryList,MonitorKnowTeacherList, MonitorKnowTeacherOneDayList,UnmatchHomeworkList,
+  MonitorKnowTeacherOneMonthList
   } from '@/api'
   import { APPOR_BASE_URL } from '@/ImgConfig'
 import { getToken, setToken, removeToken } from '@/utils/auth'
@@ -45,7 +46,8 @@ const user = {
     currtHomeworkStatus:"",
     FindSubjectCharts:[],
     FindSubjectmathCharts:[],
-    FindSubjectEngCharts:[]
+    FindSubjectEngCharts:[],
+    GetKnowledgeTeacherSalaryList:[]
   },
 
   mutations: {
@@ -156,6 +158,9 @@ const user = {
     FIND_SUBJECTENG_CHARTS:(state,FindSubjectEngCharts) => {
       state.FindSubjectEngCharts = FindSubjectEngCharts
     },
+    SET_UNALLOT_TEACHER_SALARY:(state,GetKnowledgeTeacherSalaryList) => {
+      state.GetKnowledgeTeacherSalaryList = GetKnowledgeTeacherSalaryList
+    },
   },
 
   actions: {
@@ -286,6 +291,7 @@ const user = {
     },
     // 校区管理员数据监控
     InfoWatch({ commit, state }, data) {
+      // commit('SET_TEACHER', [])
       return new Promise((resolve, reject) => {
         axios.post(InfoWatch, data).then(response => {
           const data = response.data || {}
@@ -296,8 +302,22 @@ const user = {
         })
       })
     },
+     // 校区管理员数据监控知识点匹配老师
+     InfoKonwTeacherWatch({ commit, state }, data) {
+      // commit('SET_TEACHER', [])
+      return new Promise((resolve, reject) => {
+        axios.post(MonitorKnowTeacherList, data).then(response => {
+          const data = response.data || {}
+          commit('SET_TEACHER', data);
+          resolve(response)
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
       // 校区管理员当月数据
       InfoWatchMoth({ commit, state }, data) {
+        commit('SET_TEACHER_MOTH', [])
         return new Promise((resolve, reject) => {
           axios.post(InfoWatchMoth, data).then(response => {
             const data = response.data || {}
@@ -308,8 +328,22 @@ const user = {
           })
         })
       },
+        // 校区管理员当月数据(匹配知识点老师)
+        MonitorKnowTeacherOneMonthInfo({ commit, state }, data) {
+          commit('SET_TEACHER_MOTH', [])
+          return new Promise((resolve, reject) => {
+            axios.post(MonitorKnowTeacherOneMonthList, data).then(response => {
+              const data = response.data || {}
+              commit('SET_TEACHER_MOTH', data);
+              resolve(response)
+            }).catch(error => {
+              reject(error)
+            })
+          })
+        },
      // 校区管理员当天数据
      InfoWatchDay({ commit, state }, data) {
+      commit('SET_TEACHER_DAY', [])
       return new Promise((resolve, reject) => {
         axios.post(InfoWatchDay, data).then(response => {
           const data = response.data || {}
@@ -320,6 +354,19 @@ const user = {
         })
       })
     },
+     // 校区管理员当天数据(匹配知识点老师)
+     MonitorKnowTeacherOneDayInfo({ commit, state }, data) {
+      commit('SET_TEACHER_DAY', [])
+      return new Promise((resolve, reject) => {
+        axios.post(MonitorKnowTeacherOneDayList, data).then(response => {
+          const data = response.data || {}
+          commit('SET_TEACHER_DAY', data);
+          resolve(response)
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
      // 查看老师批改作业列表
     TeacherHomeworkList({ commit, state }, data) {
       return new Promise((resolve, reject) => {
@@ -425,6 +472,22 @@ const user = {
         })
       })
     },
+    // GetKnowledgeTeacherSalaryList
+    GetKnowledgeTeacherSalaryInfo({ commit, state }, data) {
+      return new Promise((resolve, reject) => {
+        axios.post(GetKnowledgeTeacherSalaryList, data).then(response => {
+          const data = response.data || {}
+          if (response.code === "999"){
+            // debugger
+            commit('SET_UNALLOT_TEACHER_SALARY', data);
+          }
+          resolve(response)
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
+
         // 未批改作业列表
         UnallotHomeworkList({ commit, state }, data) {
           return new Promise((resolve, reject) => {
@@ -437,6 +500,18 @@ const user = {
             })
           })
         },
+         // 未匹配作业列表
+         UnmatchHomeworkList({ commit, state }, data) {
+          return new Promise((resolve, reject) => {
+            axios.post(UnmatchHomeworkList, data).then(response => {
+              const data = response.data || {}
+              commit('SET_UNALLOT_HONELIST', data);
+              resolve(response)
+            }).catch(error => {
+              reject(error)
+            })
+          })
+        },
            // 查看老师详情
            GetTeacherDetail({ commit, state }, data) {
             return new Promise((resolve, reject) => {
@@ -688,7 +763,7 @@ const user = {
       })
     },
 		//获取提醒次数
-		GetRemindCountInfo({ commit, state }, data) {
+		toTeacherAllotInfo({ commit, state }, data) {
 			// debugger
 		  return new Promise((resolve, reject) => {
 		    axios.post(GetRemindCount, data).then(response => {