|
@@ -4,41 +4,33 @@
|
|
|
<!-- table 表格 -->
|
|
|
<el-row :gutter="20" class="main-items">
|
|
|
<!--数据监控-->
|
|
|
+ <!-- <el-col class="aside" :span="1" :offset="1" style="padding: 0 !important;">
|
|
|
+ <div></div>
|
|
|
+ </el-col> -->
|
|
|
<!--当天-->
|
|
|
- <el-col :span="20" :offset="2" class="main">
|
|
|
- <el-row :gutter="20" class="main-header">
|
|
|
+ <el-col :span="20" class="main">
|
|
|
+ <el-row :gutter="20" class="main-header">
|
|
|
<el-col :span="5">
|
|
|
- <div class="main-header-item">今日报错总次数:<span style="color:red;">{{DayTeacherList.wrongCount}}次</span></div>
|
|
|
+ <div class="main-header-item">报错总次数:<span style="color:red;">{{errorWarningList.allErrorCount}}次</span></div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20" class="main-header">
|
|
|
<el-col :span="24">
|
|
|
<div class="table">
|
|
|
<div class="table-head">
|
|
|
- <div>头像</div>
|
|
|
- <div>姓名</div>
|
|
|
- <div>被报错</div>
|
|
|
+ <div>时间</div>
|
|
|
+ <div>学生</div>
|
|
|
<div>科目</div>
|
|
|
- <div>批改总份数</div>
|
|
|
- <div>批改总张数</div>
|
|
|
- <div>平均批改时间</div>
|
|
|
- <div>出勤</div>
|
|
|
+ <div style="margin-left:40px;">查看报错详情</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 class="tr" v-for="(v, k) of errorWarningList.list" :key="k">
|
|
|
+ <div class="tr-first" :class="{BgcColor:k%2 !== 1}">
|
|
|
+ <div>{{v.date}}</div>
|
|
|
+ <div>{{v.studentName}}</div>
|
|
|
+ <div>{{v.subject}}</div>
|
|
|
+ <div class="tr-seconds">
|
|
|
+ <span @click="groupDetail(v)" style="cursor: pointer;" class="tr-second-check">查看详情</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -49,18 +41,57 @@
|
|
|
@current-change="pageChange1"
|
|
|
:page-sizes="[10]"
|
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :total="parseInt(DayTeacherList.pages)"
|
|
|
+ :total="parseInt(errorWarningList.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 class="showModel" v-if="NoAllotManagerModel">
|
|
|
+ <div class="modal-cancel" @click="updateIsShowCarouselPictureModal()">X</div>
|
|
|
+ <div class="detailinfo">
|
|
|
+ <div class="detailImg">
|
|
|
+ <img :src="BASE_URL + errorDetailList[pictureIndex].pictureUrl" alt="">
|
|
|
+ </div>
|
|
|
+ <div class="detailword">
|
|
|
+ <div>
|
|
|
+ <h1 class="tipsesson">错误原因:</h1>
|
|
|
+ <span class="tipsessonWord">
|
|
|
+ {{errorDetailList[pictureIndex].errorReason}}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="timeAndteacher">
|
|
|
+ <h2 class="managertip">{{errorDetailList[pictureIndex].checker}}</h2>
|
|
|
+ <div class="timeset">{{errorDetailList[pictureIndex].checkDate}}</div>
|
|
|
+ <div class="timesetImg">
|
|
|
+ <img src="../../assets/img/pen.png" alt="">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="nextPrveBtn">
|
|
|
+ <!-- 上一页 -->
|
|
|
+ <div @click="Clickprvebtn" v-show='pictureIndex >0' class="prvebtn" style="height:50px;cursor:pointer;">
|
|
|
+ <img src="../../assets/img/prev_white.png" alt="">
|
|
|
+ </div>
|
|
|
+ <div v-show='pictureIndex == 0' class="prvebtn" style="height:50px">
|
|
|
+ <img src="../../assets/img/prev_gray.png" alt="">
|
|
|
+ </div>
|
|
|
+ <!-- 张数 -->
|
|
|
+ <div style="color:#ffffff; font-size:25px;margin-top:40px;">
|
|
|
+ <span>{{pictureIndex + 1}}</span><span style="color:#bbbbbb;">/{{errorDetailList.length}}</span>
|
|
|
+ </div>
|
|
|
+ <!-- 下一页 -->
|
|
|
+ <div @click="ClickNextebtn" v-show='pictureIndex < errorDetailList.length - 1' class="Nextebtn" style="height:50px;cursor:pointer;">
|
|
|
+ <img src="../../assets/img/next_white.png" alt="">
|
|
|
+ </div>
|
|
|
+ <div v-show='pictureIndex == errorDetailList.length - 1' class="Nextebtn" style="height:50px">
|
|
|
+ <img src="../../assets/img/next_gray.png" alt="">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -72,9 +103,16 @@ export default {
|
|
|
props: {},
|
|
|
data() {
|
|
|
return {
|
|
|
+
|
|
|
// BASE_URL:'https://img.sharingschool.com', //正式环境图片地址
|
|
|
BASE_URL:'https://xtimg.sharingschool.com/',
|
|
|
- // BASE_URL: BASE_URL,
|
|
|
+ accessToken:localStorage.getItem("accessToken"),
|
|
|
+ NoAllotManagerModel:false,//token
|
|
|
+ filters1: {
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ },
|
|
|
+ pictureIndex:0
|
|
|
};
|
|
|
},
|
|
|
created(){
|
|
@@ -83,33 +121,197 @@ export default {
|
|
|
},
|
|
|
computed: {
|
|
|
...mapGetters([
|
|
|
- "DayTeacherList",
|
|
|
+ "errorWarningList",
|
|
|
+ "errorDetailList",
|
|
|
])
|
|
|
},
|
|
|
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,
|
|
|
+ async GeterrorWarningLists() {
|
|
|
+ this.$store.dispatch("GeterrorWarning", {
|
|
|
pageNo: this.filters1.pageNo,
|
|
|
pageSize: this.filters1.pageSize,
|
|
|
- managerId:this.managerId || ''
|
|
|
+ accessToken: this.accessToken
|
|
|
});
|
|
|
},
|
|
|
+ handleSizeChange1(val) {
|
|
|
+ this.filters1.pageSize = val;
|
|
|
+ this.GeterrorWarningLists();
|
|
|
+ },
|
|
|
+ pageChange1(val) {
|
|
|
+ this.filters1.pageNo = val;
|
|
|
+ this.GeterrorWarningLists();
|
|
|
+ },
|
|
|
+ updateIsShowCarouselPictureModal(){
|
|
|
+ this.NoAllotManagerModel = false
|
|
|
+ },
|
|
|
+ //报错详情
|
|
|
+ groupDetail(str){
|
|
|
+ this.pictureIndex = 0
|
|
|
+ this.NoAllotManagerModel = true
|
|
|
+ this.$store.dispatch("GeterrorDetail", {
|
|
|
+ homeworkId: str.homeworkId,
|
|
|
+ accessToken:this.accessToken
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 下一页
|
|
|
+ ClickNextebtn(){
|
|
|
+ this.pictureIndex++
|
|
|
+ console.log( this.pictureIndex)
|
|
|
+ // if (this.pictureIndex >= errorDetailList.list.length){
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ // 上一页
|
|
|
+ Clickprvebtn(){
|
|
|
+ this.pictureIndex--
|
|
|
+ console.log( this.pictureIndex)
|
|
|
+ // if (this.pictureIndex <= errorDetailList.list.length){
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ }
|
|
|
},
|
|
|
mounted() {
|
|
|
- this.InfoWatchDay();
|
|
|
+ console.log( this.pictureIndex)
|
|
|
+ this.GeterrorWarningLists();
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
|
-<style>
|
|
|
+<style scoped>
|
|
|
+.showModel {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ background: #000000e7;
|
|
|
+ opacity: 1!important;
|
|
|
+ overflow: hidden!important;
|
|
|
+ color: #fff;
|
|
|
+}
|
|
|
+ .modal-cancel {
|
|
|
+ position: absolute;
|
|
|
+ top: 20px;
|
|
|
+ right: 40px;
|
|
|
+ width: 50px;
|
|
|
+ height: 50px;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 50px;
|
|
|
+ background: #eee;
|
|
|
+ border-radius: 100px;
|
|
|
+ font-size: 16;
|
|
|
+ color:#000000;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ .detailinfo{
|
|
|
+ position: absolute;
|
|
|
+ left:50%;
|
|
|
+ margin-left:-490px;
|
|
|
+ top: 20px;
|
|
|
+ width: 980px;
|
|
|
+ height: 800px;
|
|
|
+ /* background: #eee; */
|
|
|
+ text-align: center;
|
|
|
+ line-height: 50px;
|
|
|
+ border-radius: 100px;
|
|
|
+ font-size: 16;
|
|
|
+ color:#000000;
|
|
|
+ padding:50px!important;
|
|
|
+ }
|
|
|
+ .detailImg{
|
|
|
+ background: #000000;
|
|
|
+ position: absolute;
|
|
|
+ left:0;
|
|
|
+ top: 20px;
|
|
|
+ width: 450px;
|
|
|
+ height: 550px;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 50px;
|
|
|
+ border-radius: 15px;
|
|
|
+ font-size: 16;
|
|
|
+ color:rgb(0, 0, 0);
|
|
|
+ opacity: 1!important;
|
|
|
+ /* cursor: pointer; */
|
|
|
+ }
|
|
|
+ .detailword{
|
|
|
+ background: #eee;
|
|
|
+ position: absolute;
|
|
|
+ right:0;
|
|
|
+ top: 20px;
|
|
|
+ width: 450px;
|
|
|
+ height: 550px;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 50px;
|
|
|
+ border-radius: 15px;
|
|
|
+ font-size: 16;
|
|
|
+ color:#000000;
|
|
|
+ opacity: 1!important;
|
|
|
+ /* cursor: pointer; */
|
|
|
+ }
|
|
|
+ .detailImg img{
|
|
|
+ width: 450px;
|
|
|
+ height: 550px;
|
|
|
+ border-radius: 15px;
|
|
|
+ }
|
|
|
+ .tipsesson{
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: 700;
|
|
|
+ position: absolute;
|
|
|
+ left:10px;
|
|
|
+ top: 20px;
|
|
|
+ }
|
|
|
+ .tipsessonWord{
|
|
|
+ width: 100%;
|
|
|
+ height: 400px;
|
|
|
+ font-size: 14px;
|
|
|
+ position: absolute;
|
|
|
+ left:10px;
|
|
|
+ top: 50px;
|
|
|
+ padding:0 20px;
|
|
|
+ line-height:20px;
|
|
|
+ text-align:left;
|
|
|
+ }
|
|
|
+ .BgcColor{
|
|
|
+ background-color: #F7FBFC;
|
|
|
+ }
|
|
|
+ .managertip{
|
|
|
+ font-size: 20px;
|
|
|
+ font-weight: 700;
|
|
|
+ }
|
|
|
+ .timeAndteacher{
|
|
|
+ height: 200px;
|
|
|
+ position: absolute;
|
|
|
+ right:50px;
|
|
|
+ bottom: 50px;
|
|
|
+ }
|
|
|
+ .nextPrveBtn{
|
|
|
+ width: 400px;
|
|
|
+ left:50%;
|
|
|
+ margin-left:-200px;
|
|
|
+ height: 200px;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 50px;
|
|
|
+ }
|
|
|
+ .timeset{
|
|
|
+ color:#5de26c;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+ .Nextebtn{
|
|
|
+ height: 100px;
|
|
|
+ position: absolute;
|
|
|
+ right:50px;
|
|
|
+ bottom: 50px;
|
|
|
+ }
|
|
|
+ .prvebtn{
|
|
|
+ height: 100px;
|
|
|
+ position: absolute;
|
|
|
+ left:50px;
|
|
|
+ bottom: 50px;
|
|
|
+ }
|
|
|
html,
|
|
|
body {
|
|
|
height: 100%;
|
|
@@ -120,7 +322,7 @@ ul{
|
|
|
margin: 0 !important
|
|
|
}
|
|
|
.aside {
|
|
|
- background-color: #fff;
|
|
|
+ /* background-color: #fbfbfb; */
|
|
|
margin-top: 16px;
|
|
|
padding: 0;
|
|
|
min-height: 880px;
|
|
@@ -129,6 +331,7 @@ ul{
|
|
|
background-color: #fff;
|
|
|
margin: 16px;
|
|
|
padding: 0 !important;
|
|
|
+ margin-left:180px;
|
|
|
min-height: 980px;
|
|
|
}
|
|
|
.table-aside {
|
|
@@ -202,6 +405,7 @@ el-table {
|
|
|
margin: 0 43px;
|
|
|
}
|
|
|
.table-head {
|
|
|
+ margin-right:6%;
|
|
|
color: #999999;
|
|
|
font-size: 18px;
|
|
|
text-align: center;
|
|
@@ -230,6 +434,7 @@ el-table {
|
|
|
text-align: center;
|
|
|
}
|
|
|
.tr-first {
|
|
|
+ margin-right:2%;
|
|
|
display: flex;
|
|
|
justify-content: space-around;
|
|
|
}
|