|
@@ -7,13 +7,13 @@
|
|
|
<!--数据监控-->
|
|
|
<el-col :span="20" class="main" :offset="2">
|
|
|
<el-row :gutter="20" class="main-header">
|
|
|
- <el-col :span="3"><div class="main-header-item" >注册老师数:18人</div></el-col>
|
|
|
- <el-col :span="3"><div class="main-header-item">活跃老师数:16人</div></el-col>
|
|
|
- <el-col :span="4"><div class="main-header-item">注册用户数:1128人</div></el-col>
|
|
|
- <el-col :span="4"><div class="main-header-item">活跃用户数:1008人</div></el-col>
|
|
|
+ <el-col :span="3"><div class="main-header-item" >注册老师数:{{getManagerList.registerTeacherCount}}人</div></el-col>
|
|
|
+ <el-col :span="3"><div class="main-header-item">活跃老师数:{{getManagerList.activeTeacherCount}}人</div></el-col>
|
|
|
+ <el-col :span="4"><div class="main-header-item">注册用户数:{{getManagerList.registerUserCount}}人</div></el-col>
|
|
|
+ <el-col :span="4"><div class="main-header-item">活跃用户数:{{getManagerList.activeUserCount}}人</div></el-col>
|
|
|
</el-row>
|
|
|
<el-table
|
|
|
- :data="dataList"
|
|
|
+ :data="getManagerList.list"
|
|
|
highlight-current-row
|
|
|
size="medium"
|
|
|
border
|
|
@@ -24,37 +24,38 @@
|
|
|
header-align="center"
|
|
|
>
|
|
|
<template scope="scope">
|
|
|
- <img :src="scope.row.img" alt="" class="table-img">
|
|
|
+ <img :src="BASE_URL +scope.row.imgUrl" alt="" class="table-img">
|
|
|
+ <span class="scope-name">{{scope.row.name}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="names"
|
|
|
+ prop="groupCount"
|
|
|
label="小组人数"
|
|
|
header-align="center"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="number"
|
|
|
+ prop="attendanceRate"
|
|
|
label="老师出勤率"
|
|
|
header-align="center"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="time"
|
|
|
+ prop="homeworkCount"
|
|
|
label="作业批改总份数"
|
|
|
header-align="center">
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="allTime"
|
|
|
+ prop="homeworkPicCount"
|
|
|
label="作业批改总张数"
|
|
|
header-align="center"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="rate"
|
|
|
+ prop="avgTime"
|
|
|
label="批改平均用时"
|
|
|
header-align="center"></el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="status"
|
|
|
+ prop="avgMark"
|
|
|
label="家长平均评分"
|
|
|
header-align="center"></el-table-column>
|
|
|
<el-table-column
|
|
@@ -63,24 +64,27 @@
|
|
|
header-align="center"></el-table-column>
|
|
|
<el-table-column prop="status" label="" header-align="center" width="250">
|
|
|
<template scope="scope">
|
|
|
- <el-button type="success" plain @click="isShow(1)">小组详情</el-button>
|
|
|
- <el-button type="success" >管理员详情</el-button>
|
|
|
+ <el-button type="success" plain >小组详情</el-button>
|
|
|
+ <el-button type="success" @click="isShow(1,scope.row.managerId)">管理员详情</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
</el-table>
|
|
|
+ <!-- 分页显示 -->
|
|
|
+ <div class="page-block">
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ class="all_pagination"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="pageChange"
|
|
|
+ :page-sizes="[10, 20, 30, 40]"
|
|
|
+ :page-size="10"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
</el-col>
|
|
|
- <!-- 分页显示 -->
|
|
|
- <!--<el-pagination-->
|
|
|
- <!--background-->
|
|
|
- <!--class="all_pagination"-->
|
|
|
- <!--@size-change="handleSizeChange"-->
|
|
|
- <!--@current-change="pageChange"-->
|
|
|
- <!--:page-sizes="[10, 20, 30, 40]"-->
|
|
|
- <!--:page-size="10"-->
|
|
|
- <!--layout="total, sizes, prev, pager, next, jumper"-->
|
|
|
- <!--:total="filters.count">-->
|
|
|
- <!--</el-pagination>-->
|
|
|
+
|
|
|
</el-row>
|
|
|
|
|
|
<!--可分配老师-->
|
|
@@ -94,21 +98,21 @@
|
|
|
<div class="model-items">
|
|
|
<div class="model-items-first">
|
|
|
<div>
|
|
|
- <img src="../../assets/img/user.jpg" alt="" class="model-items-first-img">
|
|
|
+ <img :src="BASE_URL+getManagerDetail.imgUrl" alt="" class="model-items-first-img">
|
|
|
<div class="model-items-first-left">
|
|
|
- <div>程歌(在线)</div>
|
|
|
- <div class="model-items-first-left-down">南方科技大学</div>
|
|
|
+ <div>{{getManagerDetail.name}}({{getManagerDetail.status}})</div>
|
|
|
+ <div class="model-items-first-left-down">{{getManagerDetail.school}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div>
|
|
|
- <el-button type="danger" plain round @click="isShow(2)"><i class="el-icon-bottom"></i><span>降级</span></el-button>
|
|
|
+ <el-button type="danger" plain round @click="isShow(2,getManagerDetail.name)"><i class="el-icon-bottom"></i><span>降级</span></el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="model-items-other model-active">批改科目 : 语文、英语</div>
|
|
|
- <div class="model-items-other">批改年级 : 1~2年级、3~4年级</div>
|
|
|
- <div class="model-items-other model-active">可批改时间:<el-button type="info" round>周一</el-button></div>
|
|
|
- <div class="model-items-other">手机号 : 18832340987</div>
|
|
|
- <div class="model-items-other model-active-last">上次登录时间 : 2019.05.14 18:02</div>
|
|
|
+ <div class="model-items-other model-active">批改科目 : {{getManagerDetail.subject}}</div>
|
|
|
+ <div class="model-items-other">批改年级 : <span v-for="(v, k) of arrGrade" class="scope-name">{{v}}</span></div>
|
|
|
+ <div class="model-items-other model-active">可批改时间:<el-button type="info" round v-for="(v, k) of arrPeriod">{{v}}</el-button></div>
|
|
|
+ <div class="model-items-other">手机号 : {{getManagerDetail.phone}}</div>
|
|
|
+ <div class="model-items-other model-active-last">上次登录时间 : {{getManagerDetail.lastOnlineTime}}</div>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
@@ -119,11 +123,11 @@
|
|
|
<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>是否要将程歌老师降级为普通批改老师?</div>
|
|
|
+ <div>是否要将{{superName}}老师降级为普通批改老师?</div>
|
|
|
</div>
|
|
|
<div class="model-btn">
|
|
|
- <div class="model-btn-items main-gay">是</div>
|
|
|
- <div class="model-btn-items model-grdeen">否</div>
|
|
|
+ <div class="model-btn-items main-gay" @click="Downgrade()">是</div>
|
|
|
+ <div class="model-btn-items model-grdeen" @click="allShowModel(2)">否</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -137,8 +141,14 @@
|
|
|
props: {},
|
|
|
data() {
|
|
|
return {
|
|
|
+ BASE_URL:'https://xt.sharingschool.com/upload/',
|
|
|
hiddenModel:false,
|
|
|
isPigai:false,
|
|
|
+ managerId:'',
|
|
|
+ superName:'',
|
|
|
+ count:0,
|
|
|
+ arrPeriod:[],
|
|
|
+ arrGrade:[],
|
|
|
ItemList: [
|
|
|
{
|
|
|
text:'数据监控'
|
|
@@ -150,32 +160,14 @@
|
|
|
text:'当月'
|
|
|
},
|
|
|
],
|
|
|
- dataList:[
|
|
|
- {
|
|
|
- img:'../../assets/img/user.jpg',
|
|
|
- names:'阿三',
|
|
|
- number:'3',
|
|
|
- time:'14:22',
|
|
|
- allTime:'14:22',
|
|
|
- rate:'222',
|
|
|
- status:'22'
|
|
|
- },
|
|
|
- {
|
|
|
- img:'../../assets/img/user.jpg',
|
|
|
- names:'阿三',
|
|
|
- number:'3',
|
|
|
- time:'14:22',
|
|
|
- allTime:'14:22',
|
|
|
- rate:'222',
|
|
|
- status:'22'
|
|
|
- }
|
|
|
- ],
|
|
|
+
|
|
|
filters: {
|
|
|
actvNm: "",
|
|
|
actvCrtUserId: "",
|
|
|
actvType: "",
|
|
|
actvSmallType: "",
|
|
|
// 排序
|
|
|
+ MaxtimeValue:"",
|
|
|
pageNo: 1,
|
|
|
pageSize: 10,
|
|
|
count: 0,
|
|
@@ -186,23 +178,23 @@
|
|
|
},
|
|
|
watch: {},
|
|
|
computed: {
|
|
|
- ...mapGetters(["getUser"])
|
|
|
+ ...mapGetters(["getUser","getManagerList","getManagerDetail"])
|
|
|
},
|
|
|
methods: {
|
|
|
...mapActions(["setUser"]),
|
|
|
- selectTitle(k) {
|
|
|
- console.log(k);
|
|
|
- this.checkindex = k;
|
|
|
- },
|
|
|
- isShow(str){
|
|
|
+
|
|
|
+ isShow(str,res){
|
|
|
let _this = this;
|
|
|
- console.log(str)
|
|
|
+ console.log(str,res)
|
|
|
if (str == 1){
|
|
|
_this.hiddenModel = true;
|
|
|
_this.isPigai = false;
|
|
|
+ _this.managerId = res;
|
|
|
+ _this.GetManagerDetail(res)
|
|
|
} else if (str == 2){
|
|
|
_this.isPigai = true;
|
|
|
_this.hiddenModel = false;
|
|
|
+ _this.superName = res
|
|
|
}
|
|
|
|
|
|
},
|
|
@@ -215,21 +207,60 @@
|
|
|
_this.isPigai = false;
|
|
|
}
|
|
|
},
|
|
|
- // 输入框按键方法
|
|
|
- keyCodeMethod(e) {
|
|
|
- if (e.keyCode === 13) return this.itemListReshow();
|
|
|
+ //时间封装
|
|
|
+ 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;
|
|
|
},
|
|
|
- expandChange(row, expandRows) {
|
|
|
- for (let item of expandRows) {
|
|
|
- if (row === item) {
|
|
|
- this.expandRowKeys = [row.nodId];
|
|
|
+ // 获取超级管理员数据
|
|
|
+ async SuperManagerList() {
|
|
|
+ this.$store.dispatch("SuperManagerList", {
|
|
|
+ maxCreateTime: this.formatDate(),
|
|
|
+ pageNo: this.filters.pageNo,
|
|
|
+ pageSize: this.filters.pageSize
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 查看校区管理员详情
|
|
|
+ async GetManagerDetail(str) {
|
|
|
+ this.$store.dispatch("GetManagerDetail", {
|
|
|
+ managerId: str
|
|
|
+ });
|
|
|
+ var arr = this.getManagerDetail.grade.split(',');
|
|
|
+ this.arrPeriod = this.getManagerDetail.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 Downgrade() {
|
|
|
+ this.$store.dispatch("Downgrade", {
|
|
|
+ managerId: this.managerId
|
|
|
+ });
|
|
|
+ this.allShowModel(2)
|
|
|
},
|
|
|
// 分页
|
|
|
pageChange(val) {
|
|
|
this.filters.pageNo = val;
|
|
|
- this.itemListReshow();
|
|
|
+ this.SuperManagerList();
|
|
|
},
|
|
|
changeDateSlot(dateSlot) {
|
|
|
if (dateSlot) {
|
|
@@ -258,7 +289,7 @@
|
|
|
},
|
|
|
handleSizeChange(val) {
|
|
|
this.filters.pageSize = val;
|
|
|
- this.itemListReshow();
|
|
|
+ this.SuperManagerList();
|
|
|
},
|
|
|
// 排序
|
|
|
sortChange(sort) {
|
|
@@ -274,20 +305,21 @@
|
|
|
this.filtersActvType = [];
|
|
|
this.createDateSlot = null;
|
|
|
},
|
|
|
- // 获取创建人列表
|
|
|
- // async getUserNameList() {
|
|
|
- // let {
|
|
|
- // userNameList = []
|
|
|
- // } = await this.$dao.actv.marketActDao.getUserNameList();
|
|
|
- // this.userNameList = userNameList || [];
|
|
|
- // let { list = [] } = await this.$dao.bsnsActvTypeAllList();
|
|
|
- // this.actvTypeList = list || [];
|
|
|
- // }
|
|
|
+ // 数组去重
|
|
|
+ uniq(array){
|
|
|
+ var temp = []; //一个新的临时数组
|
|
|
+ for (var i = 0; i < array.length; i++){
|
|
|
+ if (temp.indexOf(array[i]) == -1) {
|
|
|
+ temp.push(array[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return temp;
|
|
|
+ }
|
|
|
},
|
|
|
mounted() {
|
|
|
- // this.getsetDictByType2();
|
|
|
- // this.getUserNameList();
|
|
|
- // this.itemListReshow();
|
|
|
+ this.SuperManagerList()
|
|
|
+ this.count = this.getManagerList.pages;
|
|
|
+
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
@@ -302,12 +334,7 @@
|
|
|
border: 1px solid #E1E1E1;
|
|
|
min-height: 980px;
|
|
|
}
|
|
|
- .table-aside{
|
|
|
- color: #666666;
|
|
|
- font-size: 18px;
|
|
|
- text-align: center;
|
|
|
- line-height: 60px;
|
|
|
- }
|
|
|
+
|
|
|
el-table{
|
|
|
color: #999999;
|
|
|
font-size: 18px;
|
|
@@ -321,29 +348,11 @@
|
|
|
font-size: 16px;
|
|
|
color: #7E7E7E;
|
|
|
}
|
|
|
- .main-header-link{
|
|
|
- color: #52CC60;
|
|
|
- font-size: 18px;
|
|
|
- margin-left: 10px;
|
|
|
- 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;
|
|
|
- }
|
|
|
- .cell{
|
|
|
- font-size: 18px !important;
|
|
|
- }
|
|
|
+
|
|
|
.table-img{
|
|
|
width:36px;
|
|
|
height:36px;
|
|
@@ -409,6 +418,7 @@
|
|
|
font-size: 20px;
|
|
|
text-align: left;
|
|
|
padding: 0 34px;
|
|
|
+
|
|
|
}
|
|
|
.model-active{
|
|
|
background-color: #F6F7FB;
|
|
@@ -417,13 +427,7 @@
|
|
|
border-radius:0 0 30px 30px;
|
|
|
background-color: #F6F7FB;
|
|
|
}
|
|
|
- .model-text-head{
|
|
|
- padding: 40px 50px;
|
|
|
- display: flex;
|
|
|
- color: #393939;
|
|
|
- font-size: 24px;
|
|
|
- justify-content: space-between;
|
|
|
- }
|
|
|
+
|
|
|
.model-manager{
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
@@ -464,4 +468,7 @@
|
|
|
text-align: center;
|
|
|
padding: 40px 0 50px 0;
|
|
|
}
|
|
|
+ .scope-name{
|
|
|
+ margin-left: 13px;
|
|
|
+ }
|
|
|
</style>
|