|
@@ -60,7 +60,6 @@
|
|
|
<el-button @click="InfoWatch" slot="append" icon="el-icon-search"></el-button>
|
|
|
</el-input>
|
|
|
</el-col>
|
|
|
-
|
|
|
<!--<div class="block">-->
|
|
|
<!--<el-date-picker-->
|
|
|
<!--v-model="filters.MaxtimeValue"-->
|
|
@@ -85,7 +84,7 @@
|
|
|
</div>
|
|
|
<div class="tr" v-for="(v, k) of monitorTeacherList.list" :key="k">
|
|
|
<!-- 在线 -->
|
|
|
- <div v-if="v.status == '在线'" class="tr-first">
|
|
|
+ <div v-if="v.status == '1'" class="tr-first">
|
|
|
<div>
|
|
|
<i
|
|
|
:class="[isDown && isDownindex === k?'el-icon-caret-bottom':'el-icon-caret-top']"
|
|
@@ -98,10 +97,10 @@
|
|
|
<div class="tr-active">{{v.maxWaitTime}}</div>
|
|
|
<div>{{v.totalCorrectTime}}</div>
|
|
|
<div>{{v.respSpeed}}/份</div>
|
|
|
- <div>{{v.status}}</div>
|
|
|
+ <div>在线</div>
|
|
|
</div>
|
|
|
<!-- 离线 -->
|
|
|
- <div v-if="v.status == '离线'" style="color:#BEBEBE" class="tr-first">
|
|
|
+ <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']"
|
|
@@ -114,10 +113,10 @@
|
|
|
<div>{{v.maxWaitTime}}</div>
|
|
|
<div>{{v.totalCorrectTime}}</div>
|
|
|
<div>{{v.respSpeed}}/份</div>
|
|
|
- <div>{{v.status}}</div>
|
|
|
+ <div>离线</div>
|
|
|
</div>
|
|
|
<!-- 封号 -->
|
|
|
- <div v-if="v.status == '已封号'" style="color:#FF6767" class="tr-first">
|
|
|
+ <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']"
|
|
@@ -130,7 +129,7 @@
|
|
|
<div>{{v.maxWaitTime}}</div>
|
|
|
<div>{{v.totalCorrectTime}}</div>
|
|
|
<div>{{v.respSpeed}}/份</div>
|
|
|
- <div>{{v.status}}</div>
|
|
|
+ <div>已封号</div>
|
|
|
</div>
|
|
|
<div v-if="isDownindex === k && isDown">
|
|
|
<div class="tr-second" v-for="(v, k) of TeacherHomeworkList.list" :key="k">
|
|
@@ -146,7 +145,7 @@
|
|
|
<div v-if="v.status === 2" class="tr-seconds" style="color:#FFC303">批改中</div>
|
|
|
<div v-if="v.status === 3" class="tr-seconds">已批改</div>
|
|
|
<div class="tr-s" v-if="v.status === 1">
|
|
|
- <el-button type="success" plain>去批改</el-button>
|
|
|
+ <!-- <el-button type="" plain><a style="text-decoration:none;color:#52cc60;" :href="'https://kmt.sharingschool.com/aijia/kmt/index.html?homeworkId='+v.homeworkId+'&accessToken='+accessToken+'&state='+1">去批改</a></el-button> -->
|
|
|
<el-button @click="isShow(v,1)" type="success">去分配</el-button>
|
|
|
</div>
|
|
|
<div class="tr-s" v-if="v.status === 3 && v.isCheck ===1">
|
|
@@ -154,7 +153,7 @@
|
|
|
<span style="color:red;font-size:12px;">报错{{v.wrongCount}}</span>
|
|
|
</div>
|
|
|
<div class="tr-s" v-if="v.status === 3 && v.isCheck ===0">
|
|
|
- <el-button type="warning" plain>去检查</el-button>
|
|
|
+ <el-button type="warning" plain><a style="text-decoration:none;color:#52cc60;" :href="'http://120.77.207.0:8081/kmt/index.html?homeworkId='+v.homeworkId+'&accessToken='+accessToken+'&state='+2">去检查</a></el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 分页显示 -->
|
|
@@ -525,18 +524,21 @@
|
|
|
class="model-items-first-img"
|
|
|
>
|
|
|
<div class="model-items-first-left" style="display:inline-block">
|
|
|
- <div class="Onlinename">李小花</div>
|
|
|
+ <!-- <div class="Onlinename">李小花</div>
|
|
|
<div class="Online">(在线)</div>
|
|
|
- <div class="model-items-first-left-down">南方科技大学</div>
|
|
|
- <!-- <div class="Onlinename">{{GetTeacherDetail.name}}</div>
|
|
|
+ <div class="model-items-first-left-down">南方科技大学</div> -->
|
|
|
+ <div class="Onlinename">{{GetTeacherDetail.name}}</div>
|
|
|
<div v-if="GetTeacherDetail.status ===1" class="Online">(在线)</div>
|
|
|
<div v-if="GetTeacherDetail.status ===0" class="Online">(离线)</div>
|
|
|
- <div class="model-items-first-left-down">{{GetTeacherDetail.school}}</div> -->
|
|
|
+ <div class="model-items-first-left-down">{{GetTeacherDetail.school}}</div>
|
|
|
</div>
|
|
|
- <div style="display:inline-block">
|
|
|
+ <div style="display:inline-block" v-if="this.TeacherIdStatus ==1 || 2 && this.TeacherIdStatus !==3">
|
|
|
<el-button type="danger" icon="el-icon-close" plain round @click="isShow(GetTeacherDetail,6)"><i class="el-icon-bottom"></i><span>封号</span></el-button>
|
|
|
<el-button type="success" icon="el-icon-upload2" plain round @click="isShow(GetTeacherDetail,5)"><i class="el-icon-bottom"></i><span>升级</span></el-button>
|
|
|
</div>
|
|
|
+ <div style="display:inline-block" v-if="this.TeacherIdStatus ==3">
|
|
|
+ <el-button type="success" icon="el-icon-unlock" plain round @click="isShow(GetTeacherDetail,7)"><i class="el-icon-bottom"></i><span>解封</span></el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="model-items-other model-active">批改科目 : {{GetTeacherDetail.subject}}</div>
|
|
@@ -553,6 +555,9 @@
|
|
|
<div class="model-items-other">批改正确率 : {{GetTeacherDetail.accuracyRate}}</div>
|
|
|
<div class="model-items-other model-active-last">被报错总次数 : {{GetTeacherDetail.wrongCount}}</div>
|
|
|
<div class="model-items-other">满意度 : {{GetTeacherDetail.satisfactionDegree}}</div>
|
|
|
+ <div style="display:inline-block">
|
|
|
+ <el-button type="success" icon="el-icon-user-solid" plain round @click="isShow(GetTeacherDetail,8)"><i class="el-icon-bottom"></i><span>重新分配组</span></el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -610,6 +615,69 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <!-- 解封校区管理员弹框 -->
|
|
|
+ <div class='showModel' @click="allShowModel(7)" v-if="OpenID"></div>
|
|
|
+ <div class='modelspec' v-if="OpenID">
|
|
|
+ <div class='model-text'>
|
|
|
+ <div class="model-text-items">
|
|
|
+ <div><img src="../../assets/img/del@2x.png" alt="" @click="allShowModel(7)" class="model-text-items-close"></div>
|
|
|
+ <div>是否要对{{TeacherName}}老师进行解封?</div>
|
|
|
+ </div>
|
|
|
+ <div class="model-btn">
|
|
|
+ <div class="model-btn-items main-gay" @click="OPenTeacherId()">是</div>
|
|
|
+ <div class="model-btn-items model-grdeen" @click="allShowModel(7)">否</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!--可分配小组管理员列表弹框-->
|
|
|
+ <div class="showModel" @click="allShowModel(8)" v-if="AllotManagerModel"></div>
|
|
|
+ <div class="model" style="width:60%" v-if="AllotManagerModel">
|
|
|
+ <div class="model-text">
|
|
|
+ <div class="model-text-head">
|
|
|
+ <div>可分配小组</div>
|
|
|
+ </div>
|
|
|
+ <div class="model-items" v-for="(v, k) in getAllotManagerList.list" :key="k">
|
|
|
+ <div class="model-items-left">
|
|
|
+ <div class="model-items-left-top">
|
|
|
+ <div>
|
|
|
+ <img
|
|
|
+ :src="BASE_URL + v.imgUrl"
|
|
|
+ v-if="v.imgUrl"
|
|
|
+ alt
|
|
|
+ class="model-items-left-top-img"
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ src="../../assets/img/user.jpg"
|
|
|
+ v-if="!v.imgUrl"
|
|
|
+ alt
|
|
|
+ class="model-items-left-top-img"
|
|
|
+ >
|
|
|
+ <div style="display: inline-block">
|
|
|
+ <div style="font-size: 24px">{{v.name}}</div>
|
|
|
+ <div class="model-items-left-top-number">老师数量:{{v.teacherCount}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-button v-show="v.type && v.type === 1" disabled type="info">已分配</el-button>
|
|
|
+ <el-button
|
|
|
+ v-show="!v.type || v.type !== 1"
|
|
|
+ @click="GOAllotTeacherToManager(v,k)"
|
|
|
+ type="success"
|
|
|
+ >分配</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ @size-change="handleSizeChange5"
|
|
|
+ @current-change="pageChange5"
|
|
|
+ :page-sizes="[10]"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="parseInt(getAllotManagerList.pages)"
|
|
|
+ ></el-pagination>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -620,20 +688,27 @@ export default {
|
|
|
props: {},
|
|
|
data() {
|
|
|
return {
|
|
|
+ accessToken:localStorage.getItem("accessToken"), //token
|
|
|
managerId: "", // 超级管理员登陆ID
|
|
|
// BASE_URL:'https://img.sharingschool.com',
|
|
|
BASE_URL: "https://xt.sharingschool.com/upload/",
|
|
|
+ CS_URL: "http://120.77.207.0:8081/kmt/index.html", //作业批改测环境
|
|
|
+ PRO_URL: "https://kmt.sharingschool.com/aijia/kmt/index.html", //作业批改生产环境
|
|
|
isDownindex: "",
|
|
|
modelindex: 0,
|
|
|
TeacherIds:"", //封号,升级,解封
|
|
|
+ teacherClickId:"",
|
|
|
+ TeacherIdStatus:"",
|
|
|
TeacherName:"", //封号,升级,解封
|
|
|
values: [],
|
|
|
arrGrade: [],
|
|
|
+ OpenID:false, //解封校区管理员弹框
|
|
|
closeID:false, //封号校区管理员弹框
|
|
|
rePush:false, //升级校区管理员弹框
|
|
|
hiddenModel: false, //分配老师弹框
|
|
|
isPigai: false, //未批改作业弹框
|
|
|
ModelAppor: false, //批改老师详情信息弹框
|
|
|
+ AllotManagerModel:false, //可分配小组管理员列表弹框
|
|
|
ModelStudet: false, //学生详情弹框
|
|
|
isDown: false,
|
|
|
options: [
|
|
@@ -752,6 +827,10 @@ export default {
|
|
|
pageSize: 10,
|
|
|
homeworkId: ""
|
|
|
},
|
|
|
+ AllotManagerList:{
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ },
|
|
|
AllotButton: ""
|
|
|
};
|
|
|
},
|
|
@@ -759,7 +838,6 @@ export default {
|
|
|
const managerId = this.$route.query.managerId;
|
|
|
this.managerId = managerId;
|
|
|
},
|
|
|
- watch: {},
|
|
|
computed: {
|
|
|
...mapGetters([
|
|
|
"getUser",
|
|
@@ -771,12 +849,14 @@ export default {
|
|
|
"MothTeacherList",
|
|
|
"UnallotHomeworkInfo",
|
|
|
"GetTeacherDetail",
|
|
|
- "GetStudentDetail"
|
|
|
+ "GetStudentDetail",
|
|
|
+ "getTeacherIdStatus",
|
|
|
+ "getAllotManagerList"
|
|
|
+
|
|
|
])
|
|
|
},
|
|
|
methods: {
|
|
|
...mapActions(["setUser"]),
|
|
|
-
|
|
|
// 点击下拉
|
|
|
dropDown(v, k) {
|
|
|
this.isDown = !this.isDown;
|
|
@@ -891,18 +971,28 @@ export default {
|
|
|
},
|
|
|
// 封号
|
|
|
async CloseTeacherId() {
|
|
|
- this.$store.dispatch("DealCorrectTeacher", {
|
|
|
+ this.closeID = false
|
|
|
+ this.$store.dispatch("CloseIdTeacher", {
|
|
|
teacherId: this.TeacherIds,
|
|
|
operate: 2
|
|
|
});
|
|
|
},
|
|
|
// 升级
|
|
|
async RepushTeacherAcess() {
|
|
|
- this.$store.dispatch("DealCorrectTeacher", {
|
|
|
+ this.rePush = false
|
|
|
+ this.$store.dispatch("RepushTeacher", {
|
|
|
teacherId: this.TeacherIds,
|
|
|
operate: 1
|
|
|
});
|
|
|
},
|
|
|
+ // 解封
|
|
|
+ async OPenTeacherId() {
|
|
|
+ this.OpenID = false
|
|
|
+ this.$store.dispatch("OpenIdTeacher", {
|
|
|
+ teacherId: this.TeacherIds,
|
|
|
+ operate: 3
|
|
|
+ });
|
|
|
+ },
|
|
|
// 查看老师详情信息
|
|
|
async GetTeacherInfo(v) {
|
|
|
this.$store.dispatch("GetTeacherDetail", {
|
|
@@ -928,6 +1018,24 @@ export default {
|
|
|
vipId: v.vipId
|
|
|
});
|
|
|
},
|
|
|
+ // 可分配小组列表
|
|
|
+ async GetAllotManagerInfo() {
|
|
|
+ this.$store.dispatch("GetAllotManagerList", {
|
|
|
+ maxCreateTime: this.filters.MaxtimeValue,
|
|
|
+ pageNo: this.AllotManagerList.pageNo,
|
|
|
+ pageSize: this.AllotManagerList.pageSize
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 分配老师到管理员名下
|
|
|
+ async GOAllotTeacherToManager(v, k) {
|
|
|
+ this.$store.dispatch("AllotTeacherToManager", {
|
|
|
+ managerId: v.managerId,
|
|
|
+ teacherId: this.TeacherIds
|
|
|
+ });
|
|
|
+ v.type = 1;
|
|
|
+ this.$set(this.getAllotManagerList.list, k, v);
|
|
|
+ this.AllotManagerModel = false
|
|
|
+ },
|
|
|
selectTitle(k) {
|
|
|
this.modelindex = k;
|
|
|
if (k === 0) {
|
|
@@ -954,6 +1062,7 @@ export default {
|
|
|
_this.isPigai = true;
|
|
|
this.UnallotHomework();
|
|
|
} else if (str == 3) {
|
|
|
+ this.TeacherIdStatus = v.status;
|
|
|
this.TeacherIds = v.teacherId;
|
|
|
this.TeacherName = v.name;
|
|
|
_this.ModelAppor = true;
|
|
@@ -970,6 +1079,15 @@ export default {
|
|
|
_this.closeID = true;
|
|
|
_this.ModelAppor = false;
|
|
|
}
|
|
|
+ else if (str == 7) {
|
|
|
+ _this.OpenID = true;
|
|
|
+ _this.ModelAppor = false;
|
|
|
+ }
|
|
|
+ else if (str == 8) {
|
|
|
+ _this.AllotManagerModel = true;
|
|
|
+ _this.ModelAppor = false;
|
|
|
+ this.GetAllotManagerInfo()
|
|
|
+ }
|
|
|
},
|
|
|
//关闭弹框
|
|
|
allShowModel(str) {
|
|
@@ -987,6 +1105,12 @@ export default {
|
|
|
} else if (str == 6) {
|
|
|
_this.closeID = false;
|
|
|
}
|
|
|
+ else if (str == 7) {
|
|
|
+ _this.OpenID = false;
|
|
|
+ }
|
|
|
+ else if (str == 8) {
|
|
|
+ _this.AllotManagerModel = false;
|
|
|
+ }
|
|
|
},
|
|
|
// 数组去重
|
|
|
uniq(array) {
|
|
@@ -1058,6 +1182,10 @@ export default {
|
|
|
this.allotList.pageSize = val;
|
|
|
this.TeacherAllotfy();
|
|
|
},
|
|
|
+ handleSizeChange5(val) {
|
|
|
+ this.AllotManagerList.pageSize = val;
|
|
|
+ this.GetAllotManagerInfo();
|
|
|
+ },
|
|
|
// 分页
|
|
|
pageChange(val) {
|
|
|
this.filters.pageNo = val;
|
|
@@ -1079,6 +1207,10 @@ export default {
|
|
|
this.allotList.pageNo = val;
|
|
|
this.TeacherAllotfy();
|
|
|
},
|
|
|
+ pageChange5(val) {
|
|
|
+ this.AllotManagerList.pageNo = val;
|
|
|
+ this.GetAllotManagerInfo();
|
|
|
+ },
|
|
|
// 排序
|
|
|
sortChange(sort) {
|
|
|
this.filters.orderField = sort.prop;
|
|
@@ -1100,7 +1232,12 @@ export default {
|
|
|
// this.getsetDictByType2();
|
|
|
// this.getUserNameList();
|
|
|
// this.itemListReshow();
|
|
|
- }
|
|
|
+ },
|
|
|
+ watch:{
|
|
|
+ getTeacherIdStatus(val, oldVal){ //普通的watch监听
|
|
|
+ this.InfoWatch();
|
|
|
+ },
|
|
|
+ }
|
|
|
};
|
|
|
</script>
|
|
|
|