<!-- 活动解析 --> <template> <div> <!-- table 表格 --> <el-row :gutter="20" class="main-items"> <el-col class="aside" :span="4" :offset="1" style="padding: 0 !important;"> <div class="table-aside" v-for="(v, k) in ItemList" :key="k" :class="{active:k == modelindex}" @click="selectTitle(k)" >{{v.text}}</div> </el-col> <!--数据监控--> <el-col :span="18" class="main" v-if="modelindex == 0"> <el-row :gutter="20" class="main-header"> <el-col :span="2" :offset="1"> <div class="main-header-item">在线:{{monitorTeacherList.onlineCount}}人</div> </el-col> <el-col :span="2"> <div class="main-header-item">离线:{{monitorTeacherList.offlineCount}}人</div> </el-col> <el-col :span="4"> <div class="main-header-item"> <span>分配未批改作业:{{monitorTeacherList.unCorrectCount}}份</span> <span @click="isShow(monitorTeacherList,2)" class="main-header-link">去分配</span> </div> </el-col> <el-col :span="8" :offset="6"> <el-input placeholder="请输入老师名字" v-model="filters.inputValue" class="input-with-select"> <el-select v-model="filters.OptionsValue" @change="InfoWatch" slot="prepend" placeholder="选年级" minlength="20" > <el-option v-for="(item, k) in options" :key="k" :label="item.label" :value="item.label" ></el-option> </el-select> <el-select v-model="filters.gradesValue" @change="InfoWatch" slot="prepend" placeholder="选科目" minlength="20" > <el-option v-for="(item, k) in grades" :key="k" :label="item.label" :value="item.label" ></el-option> </el-select> <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"--> <!--value-format="yyyy-MM-dd HH:mm:ss"--> <!--type="date"--> <!--@change="InfoWatch"--> <!--placeholder="选择日期"--> <!--></el-date-picker>--> <!--</div>--> </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 class="tr" v-for="(v, k) of monitorTeacherList.list" :key="k"> <!-- 在线 --> <div v-if="v.status == '1'" class="tr-first"> <div> <i :class="[isDown && isDownindex === k?'el-icon-caret-bottom':'el-icon-caret-top']" @click="dropDown(v,k)" ></i> <img :src="BASE_URL + v.imgUrl" alt class="table-img" @click="isShow(v,3)"> </div> <div>{{v.name}}</div> <div>{{v.waitCount}}份</div> <div class="tr-active">{{v.maxWaitTime}}</div> <div>{{v.totalCorrectTime}}</div> <div>{{v.respSpeed}}/份</div> <div>在线</div> </div> <!-- 离线 --> <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']" @click="dropDown(v,k)" ></i> <img :src="BASE_URL + v.imgUrl" alt class="table-img" @click="isShow(v,3)"> </div> <div>{{v.name}}</div> <div>{{v.waitCount}}份</div> <div>{{v.maxWaitTime}}</div> <div>{{v.totalCorrectTime}}</div> <div>{{v.respSpeed}}/份</div> <div>离线</div> </div> <!-- 封号 --> <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']" @click="dropDown(v,k)" ></i> <img :src="BASE_URL + v.imgUrl" alt class="table-img" @click="isShow(v,3)"> </div> <div>{{v.name}}</div> <div>{{v.waitCount}}份</div> <div>{{v.maxWaitTime}}</div> <div>{{v.totalCorrectTime}}</div> <div>{{v.respSpeed}}/份</div> <div>已封号</div> </div> <div v-if="isDownindex === k && isDown"> <div class="tr-second" v-for="(v, k) of TeacherHomeworkList.list" :key="k"> <div class="tr-seconds">{{k+1}}</div> <div class="tr-seconds"> <span @click="isShow(v,4)" style="cursor: pointer;" class="tr-second-check">查看</span> <span>{{v.name}}</span> </div> <div class="tr-seconds">{{v.spendTime}}</div> <div class="tr-seconds">{{v.subject}}</div> <div class="tr-seconds">{{v.grade}}</div> <div v-if="v.status === 1" class="tr-seconds">未批改</div> <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="" 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"> <el-button type="info" plain>已检查</el-button> <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><a style="text-decoration:none;color:#52cc60;" :href="'https://kmt.sharingschool.com/aijia/kmt/index.html?homeworkId='+v.homeworkId+'&accessToken='+accessToken+'&state='+2">去检查</a></el-button> </div> </div> <!-- 分页显示 --> <el-pagination background @size-change="handleSizeChange3" @current-change="pageChange3" :page-sizes="[10, 20]" layout="total, sizes, prev, pager, next, jumper" :total="parseInt(TeacherHomeworkList.pages)" ></el-pagination> </div> </div> </div> <!-- 分页显示 --> <el-pagination background @size-change="handleSizeChange" @current-change="pageChange" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="parseInt(monitorTeacherList.pages)" ></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-button @click="routerback()" type="success" round>返回</el-button></div> </el-col> </el-row> </el-col> <!--当天--> <el-col :span="18" class="main" v-if="modelindex == 1"> <el-row :gutter="20" class="main-header"> <el-col :span="5"> <div class="main-header-item">今日报错总次数:{{DayTeacherList.wrongCount}}人</div> </el-col> <el-col :span="10" :offset="5"> <el-input placeholder="请输入老师名字" v-model="filters1.inputValue" class="input-with-select"> <el-select v-model="filters1.OptionsValue" @change="InfoWatchDay" slot="prepend" placeholder="选年级" minlength="20" > <el-option v-for="(item, k) in options" :key="k" :label="item.label" :value="item.label" ></el-option> </el-select> <el-select v-model="filters1.gradesValue" @change="InfoWatchDay" slot="prepend" placeholder="选科目" minlength="20" > <el-option v-for="(item, k) in grades" :key="k" :label="item.label" :value="item.label" ></el-option> </el-select> <el-button @click="InfoWatchDay" slot="append" icon="el-icon-search"></el-button> </el-input> </el-col> <el-col :span="4"> <div class="block"> <el-date-picker @change="InfoWatchDay" v-model="filters1.MaxtimeValue" value-format="yyyy-MM-dd HH:mm:ss" type="date" placeholder="选择日期" ></el-date-picker> </div> </el-col> </el-row> <el-row :gutter="20" class="main-header"> <el-col :span="24"> <div class="table"> <div class="table-head"> <div>头像</div> <div>姓名</div> <div>被报错</div> <div>科目</div> <div>批改总份数</div> <div>批改总张数</div> <div>平均批改时间</div> <div>出勤</div> </div> <div class="tr" v-for="(v, k) of DayTeacherList.list" :key="k"> <div class="tr-first"> <div> <img :src="BASE_URL + v.imgUrl" alt class="table-img"> </div> <div>{{v.name}}</div> <div>{{v.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> </div> </div> <!-- 分页显示 --> <el-pagination background @size-change="handleSizeChange1" @current-change="pageChange1" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="parseInt(DayTeacherList.pages)" ></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-button @click="routerback()" type="success" round>返回</el-button></div> </el-col> </el-row> </el-col> <!--当月--> <el-col :span="18" class="main" v-if="modelindex == 2"> <el-row :gutter="20" class="main-header"> <el-col :span="5"> <div class="main-header-item" @click="isShow(1)">当月报错总次数:{{MothTeacherList.wrongCount}}人</div> </el-col> <el-col :span="10" :offset="5"> <el-input placeholder="请输入老师名字" v-model="filters2.inputValue" class="input-with-select"> <el-select v-model="filters2.OptionsValue" @change="InfoWatchMoth" slot="prepend" placeholder="选年级" minlength="20" > <el-option v-for="(item, k) in options" :key="k" :label="item.label" :value="item.label" ></el-option> </el-select> <el-select v-model="filters2.gradesValue" @change="InfoWatchMoth" slot="prepend" placeholder="选科目" minlength="20" > <el-option v-for="(item, k) in grades" :key="k" :label="item.label" :value="item.label" ></el-option> </el-select> <el-button @click="InfoWatchMoth" slot="append" icon="el-icon-search"></el-button> </el-input> </el-col> <el-col :span="4"> <div class="block"> <el-date-picker @change="InfoWatchMoth" v-model="filters2.MaxtimeValue" value-format="yyyy-MM-dd HH:mm:ss" type="date" placeholder="选择日期" ></el-date-picker> </div> </el-col> </el-row> <el-row :gutter="20" class="main-header"> <el-col :span="3" :offset="1"> <div class="main-header-item" @click="isShow(1)">月出勤率:{{MothTeacherList.attendanceRate}}</div> </el-col> <el-col :span="4"> <div class="main-header-item" @click="isShow(1)">批改总份数:{{MothTeacherList.homeworkCount}}</div> </el-col> <el-col :span="4"> <div class="main-header-item" @click="isShow(1)" >批改总张数:{{MothTeacherList.homeworkPicCount}}</div> </el-col> <el-col :span="4"> <div class="main-header-item" @click="isShow(1)">批改平均时间:{{MothTeacherList.avgTime}}</div> </el-col> <el-col :span="4"> <div class="main-header-item" @click="isShow(1)" >平均满意度:{{MothTeacherList.satisfactionDegree}}</div> </el-col> <el-col :span="4"> <div class="main-header-item" @click="isShow(1)">正确率:{{MothTeacherList.accuracyRate}}</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> <div class="tr" v-for="(v, k) of MothTeacherList.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.wrongCount}}份</div> <div class="tr-active">{{v.subject}}</div> <div>{{v.homeworkCount}}</div> <div>{{v.homeworkPicCount}}/张</div> <div>{{v.accuracyRate}}</div> <div>{{v.satisfactionDegree}}</div> <div>{{v.avgTime}}</div> <div>{{v.attendance}}</div> </div> </div> </div> <!-- 分页显示 --> <el-pagination background @size-change="handleSizeChange2" @current-change="pageChange2" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="parseInt(MothTeacherList.pages)" ></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-button @click="routerback()" type="success" round>返回</el-button></div> </el-col> </el-row> </el-col> <!-- 分页显示 --> </el-row> <!--可分配老师--> <div class="showModel" @click="allShowModel(1)" v-if="hiddenModel"></div> <div class="model" style="width:40%" v-if="hiddenModel"> <div class="model-text"> <div class="model-text-head"> <div>可分配老师</div> <div>{{allotList.Allotgarde}}{{allotList.Allotsubjct}}</div> </div> <div class="model-items" v-for="(v, k) in TeacherAllotList.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.waitCount}}</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="GOtoTeacherAllot(v,k)" type="success" >分配</el-button> </div> </div> </div> </div> <el-pagination background @size-change="handleSizeChange4" @current-change="pageChange4" :page-sizes="[10]" layout="total, sizes, prev, pager, next, jumper" :total="parseInt(TeacherAllotList.pages)" ></el-pagination> </div> </div> <!--所有未批改作业--> <div class="showModel" @click="allShowModel(2)" v-if="isPigai"></div> <div class="model" style="width:50%" v-if="isPigai"> <div class="model-text"> <div class="model-text-head"> <div>所有未批改作业</div> </div> <div> <!-- UnallotHomeworkInfo --> <div class="tr-set" v-for="(v, k) of UnallotHomeworkInfo.list" :key="k"> <div class="tr-secon">{{k+1}}</div> <div class="tr-secon" style="width:50px;"> <span>{{v.name}}</span> </div> <div class="tr-secon" style="width:60px;">{{v.spendTime}}</div> <div class="tr-secon">{{v.subject}}</div> <div class="tr-secon">{{v.grade}}</div> <div v-if="v.status === 1" class="tr-secon">未批改</div> <div v-if="v.status === 2" class="tr-secon">批改中</div> <div v-if="v.status === 3" class="tr-secon">已批改</div> <div class="tr-s"> <el-button type="success" plain>去批改</el-button> <el-button type="success">去分配</el-button> </div> </div> <el-pagination background @size-change="handleSizeChange3" @current-change="pageChange3" :page-sizes="[10]" layout="total, sizes, prev, pager, next, jumper" :total="parseInt(UnallotHomeworkInfo.pages)" ></el-pagination> </div> </div> </div> <!-- 老师详情弹框 --> <div class="showModel" @click="allShowModel(3)" v-if="ModelAppor"></div> <div class="model" style="width:60%" v-if="ModelAppor"> <div class="model-text"> <div class="model-manager"> <div>批改老师</div> <div> <img src="../../assets/img/del@2x.png" alt @click="allShowModel(3)"> </div> </div> <div class="model-items" style="width:80%"> <div class="model-items-first"> <div> <img :src="BASE_URL + GetTeacherDetail.imgUrl" v-if="GetTeacherDetail.imgUrl" alt class="model-items-first-img" > <img src="../../assets/img/user.jpg" v-if="!GetTeacherDetail.imgUrl" alt class="model-items-first-img" > <div class="model-items-first-left" style="display:inline-block"> <!-- <div class="Onlinename">李小花</div> <div class="Online">(在线)</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> <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> <div class="model-items-other"> 批改年级 : <span v-for="(v, k) of arrGrade" :key="k">{{v}},</span> </div> <div class="model-items-other model-active"> 可批改时间: <el-button type="info" round>{{GetTeacherDetail.period}}</el-button> </div> <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-last">被报错总次数 : {{GetTeacherDetail.wrongCount}}</div> <div class="model-items-other">满意度 : {{GetTeacherDetail.satisfactionDegree}}</div> </div> </div> </div> <!-- 学生详情弹框 --> <div class="showModel" @click="allShowModel(4)" v-if="ModelStudet"></div> <div class="model" style="width:20%;" v-if="ModelStudet"> <div class="model-text"> <div class="model-manager"> <div>学生详情</div> <div> <img src="../../assets/img/del@2x.png" alt @click="allShowModel(4)"> </div> </div> <div class="model-items"> <div class="model-items-first"> <div> <!-- <img :src="BASE_URL + GetStudentDetail.imgUrl" alt class="model-items-first-img"> --> <div class="model-items-first-left"> <div class="Onlinename">{{GetStudentDetail.name}}</div> <div class="model-items-first-left-down">{{GetStudentDetail.school}}</div> </div> </div> </div> <div class="model-items-other model-active">所读年级 : {{GetStudentDetail.grade}}</div> <div class="model-items-other">性别 : {{GetStudentDetail.sex}}</div> <div class="model-items-other model-active">联系方式 : {{GetStudentDetail.phone}}</div> </div> </div> </div> <!-- 升级校区管理员弹框 --> <div class='showModel' @click="allShowModel(5)" v-if="rePush"></div> <div class='modelspec' v-if="rePush"> <div class='model-text'> <div class="model-text-items"> <div><img src="../../assets/img/del@2x.png" alt="" @click="allShowModel(5)" class="model-text-items-close"></div> <div>是否要将{{TeacherName}}老师升级为校区管理员?</div> </div> <div class="model-btn"> <div class="model-btn-items main-gay" @click="RepushTeacherAcess()">是</div> <div class="model-btn-items model-grdeen" @click="allShowModel(5)">否</div> </div> </div> </div> <!-- 封号校区管理员弹框 --> <div class='showModel' @click="allShowModel(6)" v-if="closeID"></div> <div class='modelspec' v-if="closeID"> <div class='model-text'> <div class="model-text-items"> <div><img src="../../assets/img/del@2x.png" alt="" @click="allShowModel(6)" class="model-text-items-close"></div> <div>是否要对{{TeacherName}}老师进行封号?</div> </div> <div class="model-btn"> <div class="model-btn-items main-gay" @click="CloseTeacherId()">是</div> <div class="model-btn-items model-grdeen" @click="allShowModel(6)">否</div> </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> </template> <script> import { mapGetters, mapActions } from "vuex"; export default { components: {}, name: "actvResolveLabel", props: {}, data() { return { accessToken:localStorage.getItem("accessToken"), //token managerId: "", // 超级管理员登陆ID // BASE_URL:'https://img.sharingschool.com', BASE_URL: "https://xt.sharingschool.com/upload/", isDownindex: "", modelindex: 0, TeacherIds:"", //封号,升级,解封 teacherClickId:"", TeacherIdStatus:"", TeacherName:"", //封号,升级,解封 values: [], arrGrade: [], OpenID:false, //解封校区管理员弹框 closeID:false, //封号校区管理员弹框 rePush:false, //升级校区管理员弹框 hiddenModel: false, //分配老师弹框 isPigai: false, //未批改作业弹框 ModelAppor: false, //批改老师详情信息弹框 ModelStudet: false, //学生详情弹框 isDown: false, options: [ { value: "0", label: "一年级" }, { value: "1", label: "二年级" }, { value: "2", label: "三年级" }, { value: "3", label: "四年级" }, { value: "4", label: "五年级" }, { value: "5", label: "六年级" } ], grades: [ { value: "0", label: "语文" }, { value: "1", label: "数学" }, { value: "2", label: "英语" } ], ItemList: [ { text: "数据监控" }, { text: "当天" }, { text: "当月" } ], filters: { //超级管理员的当天数据 // 排序 MaxtimeValue: "", OptionsValue: "", gradesValue: "", inputValue: "", pageNo: 1, pageSize: 10, count: 100, orderField: "", orderAD: "", managerId: "" }, filters1: { //超级管理员的当天数据 // 排序 MaxtimeValue: "", OptionsValue: "", gradesValue: "", inputValue: "", pageNo: 1, pageSize: 10, count: 0, orderField: "", orderAD: "" }, filters2: { //超级管理员的当月数据 // 排序 MaxtimeValue: "", OptionsValue: "", gradesValue: "", inputValue: "", pageNo: 1, pageSize: 10, count: 0, orderField: "", orderAD: "" }, filters3: { //超级管理员查看学员列表 // 排序 MaxtimeValue: "", OptionsValue: "", gradesValue: "", inputValue: "", pageNo: 1, pageSize: 10, count: 0, orderField: "", orderAD: "" }, homeworkLIst: { pageNo: 1, pageSize: 10, teacherId: "" }, allotList: { Allotgarde: "", Allotsubjct: "", pageNo: 1, pageSize: 10, homeworkId: "" }, AllotButton: "" }; }, created() { const managerId = this.$route.query.managerId; this.managerId = managerId; }, computed: { ...mapGetters([ "getUser", "monitorTeacherList", "TeacherHomeworkList", "TeacherAllotList", "TeacherAllotstatus", "DayTeacherList", "MothTeacherList", "UnallotHomeworkInfo", "GetTeacherDetail", "GetStudentDetail", "getTeacherIdStatus" ]) }, methods: { ...mapActions(["setUser"]), // 去批改 ToApporvalLine(){ this.$router.push({ path: "https://kmt.sharingschool.com/aijia/kmt/index.html?homeworkId=oPHg8wbCbIuZwq6NKEdEUPh6DQFM&accessToken=8wbCbIuZwq6NKEdEUPh6&state=1", }) }, // 点击下拉 dropDown(v, k) { this.isDown = !this.isDown; this.isDownindex = k; this.TeacherHomework(v); }, // // 分页 // pageChange(val) { // this.filters.pageNo = val; // this.itemListReshow(); // }, // changeDateSlot(dateSlot) { // if (dateSlot) { // this.filters.startDate = dateSlot[0]; // this.filters.endDate = dateSlot[1]; // } else { // this.filters.startDate = null; // this.filters.endDate = null; // } // }, // 获取校区管理员监控数据 async InfoWatch() { this.$store.dispatch("InfoWatch", { grade: this.filters.gradesValue, subject: this.filters.OptionsValue, teacherName: this.filters.inputValue, maxCreateTime: this.filters.MaxtimeValue, pageNo: this.filters.pageNo, pageSize: this.filters.pageSize, managerId: this.managerId || "" }); }, // 获取校区管理员当天数据 async InfoWatchDay() { this.$store.dispatch("InfoWatchDay", { grade: this.filters1.gradesValue, subject: this.filters1.OptionsValue, teacherName: this.filters1.inputValue, maxCreateTime: this.filters1.MaxtimeValue, pageNo: this.filters1.pageNo, pageSize: this.filters1.pageSize, managerId: this.managerId || "" }); }, // 获取校区管理员当月数据 async InfoWatchMoth() { this.$store.dispatch("InfoWatchMoth", { grade: this.filters2.gradesValue, subject: this.filters2.OptionsValue, teacherName: this.filters2.inputValue, maxCreateTime: this.filters2.MaxtimeValue, pageNo: this.filters2.pageNo, pageSize: this.filters2.pageSize, managerId: this.managerId || "" }); }, // 查看老师批改作业列表 async TeacherHomework(v) { this.homeworkLIst.teacherId = v.teacherId; this.$store.dispatch("TeacherHomeworkList", { teacherId: v.teacherId, maxCreateTime: this.filters.MaxtimeValue, pageNo: this.homeworkLIst.pageNo, pageSize: this.homeworkLIst.pageSize }); }, // 分页查看老师批改作业列表 async TeacherHomeworkfy() { this.$store.dispatch("TeacherHomeworkList", { teacherId: this.homeworkLIst.teacherId, maxCreateTime: this.filters.MaxtimeValue, pageNo: this.homeworkLIst.pageNo, pageSize: this.homeworkLIst.pageSize }); }, // 可分配老师列表 async TeacherAllot(v) { this.$store.dispatch("TeacherAllotList", { grade: v.grade, subject: v.subject, maxCreateTime: this.filters.MaxtimeValue, pageNo: this.allotList.pageNo, pageSize: this.allotList.pageSize }); }, // 可分配老师列表分页 async TeacherAllotfy() { this.$store.dispatch("TeacherAllotList", { grade: this.allotList.Allotgarde, subject: this.allotList.Allotsubjct, maxCreateTime: this.filters.MaxtimeValue, pageNo: this.allotList.pageNo, pageSize: this.allotList.pageSize }); }, // 未批改作业列表列表 async UnallotHomework() { this.$store.dispatch("UnallotHomeworkList", { maxCreateTime: this.filters.MaxtimeValue, pageNo: this.homeworkLIst.pageNo, pageSize: this.homeworkLIst.pageSize }); }, // 分配老师 async GOtoTeacherAllot(v, k) { this.$store.dispatch("toTeacherAllot", { teacherId: v.teacherId, homeworkId: this.allotList.homeworkId }); v.type = 1; this.$set(this.TeacherAllotList.list, k, v); }, // 封号 async CloseTeacherId() { this.closeID = false this.$store.dispatch("CloseIdTeacher", { teacherId: this.TeacherIds, operate: 2 }); }, // 升级 async RepushTeacherAcess() { 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", { teacherId: v.teacherId }); var arr = this.GetTeacherDetail.grade.split(","); this.arrPeriod = this.GetTeacherDetail.period.split(";"); var arrList = []; for (var i in arr) { if (arr[i] == "一年级" || arr[i] == "二年级") { arrList.push("1-2年级"); } else if (arr[i] == "三年级" || arr[i] == "四年级") { arrList.push("3-4年级"); } else if (arr[i] == "五年级" || arr[i] == "六年级") { arrList.push("5-6年级"); } } this.arrGrade = this.uniq(arrList); }, // 查看学生详情信息 async GetStudentInfo(v) { this.$store.dispatch("GetStudentDetail", { vipId: v.vipId }); }, selectTitle(k) { this.modelindex = k; if (k === 0) { this.InfoWatch(); } if (k === 1) { this.InfoWatchDay(); } if (k === 2) { this.InfoWatchMoth(); } }, isShow(v, str) { let _this = this; // scroll= (window).scrollTop(); // $ ( ‘html’ ).css({ ‘overflow’ : ’hidden’ , ’position’: ’fixed’, ’top’: ’- ‘+scroll+’px’}) if (str == 1) { _this.hiddenModel = true; this.TeacherAllot(v); this.allotList.Allotgarde = v.grade; this.allotList.Allotsubjct = v.subject; this.allotList.homeworkId = v.homeworkId; } else if (str == 2) { _this.isPigai = true; this.UnallotHomework(); } else if (str == 3) { this.TeacherIdStatus = v.status; this.TeacherIds = v.teacherId; this.TeacherName = v.name; _this.ModelAppor = true; this.GetTeacherInfo(v); } else if (str == 4) { _this.ModelStudet = true; this.GetStudentInfo(v); } else if (str == 5) { _this.rePush = true; _this.ModelAppor = false; } else if (str == 6) { _this.closeID = true; _this.ModelAppor = false; } else if (str == 7) { _this.OpenID = true; _this.ModelAppor = false; } }, //关闭弹框 allShowModel(str) { let _this = this; if (str == 1) { _this.hiddenModel = false; } else if (str == 2) { _this.isPigai = false; } else if (str == 3) { _this.ModelAppor = false; } else if (str == 4) { _this.ModelStudet = false; } else if (str == 5) { _this.rePush = false; } else if (str == 6) { _this.closeID = false; } else if (str == 7) { _this.OpenID = false; } }, // 数组去重 uniq(array) { var temp = []; //一个新的临时数组 for (var i = 0; i < array.length; i++) { if (temp.indexOf(array[i]) == -1) { temp.push(array[i]); } } return temp; }, // 回退 routerback() { this.$router.back(-1); }, // 输入框按键方法 keyCodeMethod(e) { if (e.keyCode === 13) return this.itemListReshow(); }, expandChange(row, expandRows) { for (let item of expandRows) { if (row === item) { this.expandRowKeys = [row.nodId]; } } }, 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.InfoWatch(); }, handleSizeChange1(val) { this.filters1.pageSize = val; this.InfoWatchDay(); }, handleSizeChange2(val) { this.filters2.pageSize = val; this.InfoWatchMoth(); }, handleSizeChange3(val) { this.homeworkLIst.pageSize = val; this.TeacherHomeworkfy(); }, handleSizeChange4(val) { this.allotList.pageSize = val; this.TeacherAllotfy(); }, // 分页 pageChange(val) { this.filters.pageNo = val; this.InfoWatch(); }, // 分页 pageChange1(val) { this.filters1.pageNo = val; this.InfoWatchDay(); }, // 分页 pageChange2(val) { this.filters2.pageNo = val; this.InfoWatchMoth(); }, pageChange3(val) { this.homeworkLIst.pageNo = val; this.TeacherHomeworkfy(); }, pageChange4(val) { this.allotList.pageNo = val; this.TeacherAllotfy(); }, // 排序 sortChange(sort) { this.filters.orderField = sort.prop; this.filters.orderAD = sort.order != null ? sort.order : ""; this.itemListReshow(); } // 获取创建人列表 // async getUserNameList() { // let { // userNameList = [] // } = await this.$dao.actv.marketActDao.getUserNameList(); // this.userNameList = userNameList || []; // let { list = [] } = await this.$dao.bsnsActvTypeAllList(); // this.actvTypeList = list || []; // } }, mounted() { this.InfoWatch(); // this.getsetDictByType2(); // this.getUserNameList(); // this.itemListReshow(); }, watch:{ getTeacherIdStatus(val, oldVal){ //普通的watch监听 this.InfoWatch(); }, } }; </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style scoped> html, body { height: 100%; overflow: hidden; } .aside { background-color: #fff; margin-top: 16px; padding: 0; min-height: 880px; } .main { background-color: #fff; margin: 16px; padding: 0 !important; min-height: 980px; } .table-aside { color: #666666; font-size: 18px; text-align: center; line-height: 60px; cursor: pointer; } el-table { color: #999999; font-size: 18px; } .main-items { color: #393939; text-align: center; line-height: 80px; } .main-header-item { font-size: 16px; } .model-manager { display: flex; justify-content: space-between; margin: 30px; color: #393939; font-size: 24px; } .main-header-link { color: #52cc60; font-size: 18px; margin-left: 10px; cursor: pointer; text-decoration: underline; } .el-select { width: 100px; margin: 0 5px; } .input-with-select .el-input-group__prepend { background-color: #fff; } .active { background-color: #52cc60; color: #fff; } .el-input__inner { height: 32px; } .table-img { width: 36px; height: 36px; border-radius: 6px; margin-left: 14px; cursor: pointer; } .table { width: 94.5%; border-top: 1px solid #e5e5e5; margin: 0 43px; } .table-head { color: #999999; font-size: 18px; text-align: center; display: flex; justify-content: space-around; } .table-head > div { width: 13.528%; } .tr { width: 100%; color: #393939; font-size: 20px; text-align: center; } .tr-first { display: flex; justify-content: space-around; } .tr-first > div { width: 13.528%; } .tr-set { background-color: #fbfbfb; display: flex; justify-content: space-around; color: #393939; font-size: 12px; margin: 20px; } .tr-secon { font-size: 12px; text-align: center; word-wrap: break-word; width: 40px; } .tr-second { background-color: #fbfbfb; margin: 0 115px; display: flex; justify-content: space-around; color: #393939; font-size: 20px; } .tr-seconds { text-align: center; font-size: 14px; word-wrap: break-word; /* width: 40px; */ /* height: 30px; */ } .tr-second-check { color: #3ab548; font-size: 17px; text-decoration: underline; } .Online { display: inline-block; } .Onlinename { display: inline-block; } .tr-active { color: #3ab548; } .showModel { width: 100%; height: 100%; position: fixed; top: 0; left: 0; background: #000000; opacity: 0.2; overflow: hidden; z-index: 1000; color: #fff; } .model { z-index: 10000; width: 60%; height: auto; position: fixed; top: 15%; left: 25%; margin: auto; background: #fff; border-radius: 30px; text-align: center; } .modelspec{ z-index: 10000; width: 20%; height: auto; position: fixed; top: 30%; left: 35%; margin: auto; background: #fff; border-radius: 30px; text-align: center; } .model-text { background: rgba(255, 255, 255, 1); border-radius: 10px; } .model-items-first { padding: 0 34px; display: flex; justify-content: space-between; } .model-items-first-img { width: 68px; height: 68px; border-radius: 8px; position: relative; bottom: 20px; } .model-items-first-left { display: inline-block; color: #393939; font-size: 24px; margin-left: 14px; text-align: left; } .model-items-first-left-down { color: #7e7e7e; font-size: 18px; } .model-text-head { padding: 40px 50px; display: flex; color: #393939; font-size: 24px; justify-content: space-between; } .model-items-other { height: 60px; line-height: 60px; color: #393939; font-size: 20px; text-align: left; padding: 0 34px; } .model-active { background-color: #f6f7fb; } .model-active-last { border-radius: 0 0 30px 30px; background-color: #f6f7fb; } .model-items-left { width: 100%; color: #393939; font-size: 24px; } .model-items-left-top { display: flex; justify-content: space-between; } .model-items { padding: 20px; display: flex; justify-content: space-between; display: inline-block; } .model-items-left-top-img { width: 68px; height: 68px; border-radius: 8px; position: relative; bottom: 25px; } .main-gay{ background:rgba(246,247,251,1); color: #7E7E7E; width: 50px; height: 30px; line-height:30px; cursor: pointer; } .model-grdeen{ background-color: #52CC60; color: #fff; width: 50px; height: 30px; line-height:30px; cursor: pointer; } .model-text-items-close{ position: absolute; top: 10px; right: 15px; cursor: pointer; } .model-text-items{ position: relative; color: #000000; font-size: 24px; text-align: center; padding: 40px 0 50px 0; } .model-btn{ display: flex; justify-content: space-around; margin-bottom: 44px; } .model-items-left-top-number { color: #7e7e7e; font-size: 18px; margin-left: 10px; } .today-time { color: #7e7e7e; font-size: 18px; margin: 0 20px; } .el-pagination { padding: 30px; } </style>