德育管理中心,学生管理,班级管理表格

init
zhusiyu 3 years ago
parent 48ea496b26
commit 12d0d628f1

@ -0,0 +1,182 @@
<template>
<CommonBox title="班级管理" class="moral-education-class-style">
<div class="classManage">
<div class="classManage-table">
<div class="classManage-table-title">
红旗班评比
</div>
<div class="classManage-tableBody">
<a-table :columns="columns" :data-source="classManageTableData" :pagination="false" rowKey="index"
:customRow="getCustomRow" @customRow=mouseenter>
</a-table>
</div>
</div>
<a-row class="classManage-bot">
<a-col :span="11" class="classManage-pic">
<div class="classManage-pic-title">
班级文化
</div>
</a-col>
<a-col offset="1" :span="12" class="classManage-event">
<div class="classManage-event-title">
时事新闻
</div>
</a-col>
</a-row>
</div>
</CommonBox>
</template>
<script>
import CommonBox from '../secondPages/commonBox.vue';
import {Carousel, Table, List, Icon, Avatar, Row, Col, Collapse} from 'ant-design-vue';
export default{
data(){
return {
classManageTableData: [
{grade: '小学部分1年级', flag: '01班,05班', fraction: '103.25'},
{grade: '小学部分2年级', flag: '02班', fraction: '103.25'},
{grade: '小学部分3年级', flag: '03班,06班', fraction: '104.25'},
{grade: '小学部分4年级', flag: '01班', fraction: '103.75'},
{grade: '小学部分5年级', flag: '04班', fraction: '105'},
{grade: '小学部分6年级', flag: '02班,03班', fraction: '105.25'},
{grade: '小学部分1年级', flag: '03班,04班', fraction: '103.5'},
{grade: '小学部分2年级', flag: '06班', fraction: '106'},
{grade: '小学部分3年级', flag: '05班', fraction: '103'},
],
columns: [
{
title: '年级',
dataIndex: 'grade',
key: 'grade',
align: "center",
}, {
title: '流动红旗班',
dataIndex: 'flag',
key: 'flag',
align: "center",
}, {
title: '最高分',
dataIndex: 'fraction',
key: 'fraction',
align: "center",
}, {
title: '详细',
// dataIndex: 'index',
// key: 'index',
align: "center",
},
]
}
},
methods: {
getCustomRow () {
let obj = {style: {}};
obj['style']['color'] = '#00ffff';
return obj;
},
mouseenter(record){
// console.log(record)
// onMouseenter: (event) => {
// console.log(event)
// }
// },
},
components: {
CommonBox,
ARow: Row,
ACol: Col,
ACollapse: Collapse,
ACollapsePanel: Collapse.Panel,
ATable: Table,
AList: List,
AListItem: List.Item,
ACarousel: Carousel,
}
}
}
</script>
<style scoped lang="scss" type="text/scss">
.moral-education-class-style {
width: 33%;
height: 600px !important;
color: #69D9FE;
.classManage {
width: 100%;
.classManage-table {
width: 100%;
height: 290px;
overflow: hidden;
margin-bottom: 20px;
.classManage-table-title {
}
.classManage-tableBody {
margin-bottom: 15px;
/deep/ .ant-table-wrapper {
width: 100%;
}
/deep/ .ant-table-placeholder {
/*background-color: transparent !important;*/
/*border-top: none !important;*/
/*border-bottom: none !important;*/
}
/deep/ .ant-table-body {
.ant-table-thead > tr > th {
/*background-color: transparent !important;*/
background-color: #1c3369;
color: white;
border: 1px solid #4e9fb4;
padding: 2px !important;
}
}
/deep/ .ant-table-thead > tr > th {
padding: 0 !important;
}
/deep/ .ant-table-tbody > tr > td {
padding: 0 !important;
}
/deep/ .ant-table-tbody > tr > td {
border: 1px solid #4e9fb4;
}
/deep/ .ant-table-tbody > tr > td:nth-child(2) {
color: #F59A23;
}
/deep/ .ant-table-tbody > tr > td:nth-child(3) {
color: #fff;
/*#02A7F0*/
}
/*/deep/ .ant-table-tbody > tr > td:nth-child(4) {*/
/*color: #02A7F0;*/
/*}*/
}
}
.classManage-bot {
height: 290px;
.classManage-pic {
.classManage-pic-title {
}
}
.classManage-event {
overflow: hidden;
.classManage-event-title {
}
}
}
.classManage-table-title, .classManage-event-title, .classManage-pic-title {
width: 130px;
height: 28px;
text-align: center;
line-height: 28px;
margin-bottom: 10px;
transform: skewX(-27deg);
margin-left: -8px;
background: linear-gradient(to right, #1459C1, #041B5A);
}
}
}
</style>

@ -0,0 +1,22 @@
<template>
<CommonBox title="班主任管理" class="moral-education-headmaster-style">
</CommonBox>
</template>
<script>
import CommonBox from '../secondPages/commonBox.vue';
export default{
data(){
return {}
},
components:{
CommonBox,
}
}
</script>
<style scoped lang="scss" type="text/scss">
.moral-education-headmaster-style {
width: 100%;
height: 220px !important;
}
</style>

@ -1,16 +1,44 @@
<template>
<div>
师管理
<div class="student-class-teacher-style">
<div class="column-style">
<StudentManage/>
<classManage/>
<headmasterManage/>
</div>
</div>
</template>
<script>
import StudentManage from './studentManage.vue'
import classManage from './classManage.vue'
import headmasterManage from './headmasterManage.vue'
export default{
data(){
return {}
},
components:{
StudentManage,
classManage,
headmasterManage,
}
}
</script>
<style></style>
<style scoped lang="scss" type="text/scss">
.student-class-teacher-style {
width: 100%;
height: 880px;
display: flex;
justify-content: space-between;
margin-top: 10px;
.column-style {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-content: space-between;
width: 100%;
padding: 10px;
}
}
</style>

@ -0,0 +1,560 @@
<template>
<CommonBox title="学生管理" class="moral-education-student-style">
<div class="studentManageBox">
<div class="studentManageBox-leftTitle">
<img class="bg1" src="./images/titleBg1.png" alt="">
<img class="bg2" src="./images/titleBg2.png" alt="">
<p class="p">
<span></span>
<span></span>
<span></span>
<span></span>
</p>
</div>
<div class="studentManageBox-left">
<div class="left-topNum">
<div class="left-topNum-ani">
<dv-decoration-9>
<div class="box-9-content-style">
<div class="box-9-text-style"
style="font-size: 26px;margin-bottom: 10px;font-weight: 700;">1283
</div>
<div class="box-9-text-style"
style="font-size: 14px;border-top: 1px solid #0C3163;padding-top: 6px;">学生总数
</div>
</div>
</dv-decoration-9>
</div>
<div class="left-topNum-num">
<div class="numbox1 numbox">
<p class="num">823</p>
<p class="text">小学部</p>
</div>
<div class="numbox2 numbox">
<p class="num">385</p>
<p class="text">初中部</p>
</div>
<div class="numbox3 numbox">
<p class="num">385</p>
<p class="text">高中部</p>
</div>
</div>
<div class="left-topNum-gender">
<div class="boy">
<a-row style="width: 100%;height: 100%">
<a-col :span="14" style="height: 100%">
<div class="border"></div>
<span class="gender-style">男生</span>
<br>
<i class="total">567</i>
</a-col>
<a-col :span="10" style="height: 100%"></a-col>
</a-row>
</div>
<div class="gril"></div>
</div>
</div>
<div class="bot-collapse">
<a-collapse v-model:activeKey="activeKey" accordion @change="collapseChange">
<a-collapse-panel :show-arrow="false" key="1" :header="headText1">
<a-table :columns="smallColumns" :dataSource="smallData"></a-table>
</a-collapse-panel>
<a-collapse-panel :show-arrow="false" key="2" :header="headText2">
<p>{{ text }}</p>
</a-collapse-panel>
<a-collapse-panel :show-arrow="false" key="3" :header="headText3">
<p>{{ text }}</p>
</a-collapse-panel>
</a-collapse>
</div>
</div>
<div class="studentManageBox-right">
<a-carousel easing="linear" class="topCarousel" effect="fade" autoplay :dots="false">
<div class="right-top right-top1">
<p>1热爱祖国热爱人民热爱中国共产党</p>
<p>2遵守法律法规增强法律意识遵守校规校纪遵守社会公德</p>
<p>3热爱科学努力学习勤思好问乐于探究积极参加社会实践和有益的活动</p>
<p>4珍爱生命注意安全锻炼身体讲究卫生</p>
<p>5自尊自爱自信自强生活习惯文明健康</p>
<p>6积极参加劳动勤俭朴素自己能做的事自己做</p>
<p>7孝敬父母尊敬师长礼貌待人</p>
<p>8热爱集体团结同学互相帮助关心他人</p>
</div>
<div class="right-top right-top2">
<p>爱祖国&emsp;拥护党</p>
<p>尊老师&emsp;敬亲长</p>
<p>明事理&emsp;懂礼貌</p>
<p>知感恩&emsp;担责任</p>
<p>存爱心&emsp;能合作</p>
<p>爱劳动&emsp;有毅力</p>
<p>常锻炼&emsp;身体好</p>
</div>
</a-carousel>
<div class="middleAni">
<div class="middleAni-pic">
<div style="width: 116px;" class="divcard"
v-for="(item,i) in honorDataSourse" :key="i">
<a-row>
<a-col :span="8">
<img :src="item.headSrc" alt="">
</a-col>
<a-col :span="16">
<p style="margin-bottom: 0 !important; ">{{item.name}}</p>
<p style="display: inline-block;white-space:nowrap;">{{item.grade}}</p>
</a-col>
</a-row>
<a-row style="color: #3CD5FF;margin:10px 0 15px 0;">
<a-col>{{item.matchType}}</a-col>
</a-row>
<a-row>
<a-col :span="4" offset="4">
<img :src="item.prizeLogoSrc" alt="">
</a-col>
<a-col :span="10" offset="2"
style="border: 1px solid orange;color: orange;font-size: 12px">{{item.rank}}
</a-col>
</a-row>
</div>
</div>
<div style="display: inline-block" class="middleAni-title">
<img class="middleAni-title-bg1" src="./images/titleBg1-reverse.png" alt="">
<img class="middleAni-title-bg2" src="./images/titleBg2.png" alt="">
<p class="middleAni-title-p">&emsp;&emsp;&emsp;&emsp;&emsp;</p>
</div>
</div>
<div class="botNotice">
<a-row>
<a-col :span="4" style="border-right: 2px solid #82E8FE;height: 90px;">
<img src="./images/studentNotice.png" alt="" style="margin-bottom: 20px;">
<br>
<span style="color: #82E8FE">学生通报</span>
</a-col>
<a-col :span="19" offset="1">
<a-carousel :dot-position="dotposition" easing="linear" class="botNoticeCarousel" autoplay
:dots="false">
<p style="color: #fff !important;text-indent: 2em;font-size: 12px;margin-bottom: 0 !important;" v-for="(item,i) in studentNoticeData" :key="i">
{{item.content}}
<br>
<br>
{{item.detail}}
<br>
<span style="margin-right: 15px;margin-left: 90px;">吴培源</span>
<span style="margin-right: 15px;">张静怡</span>
<span style="margin-right: 15px;">李晓彤</span>
<span>刘琪</span>
</p>
</a-carousel>
</a-col>
</a-row>
</div>
</div>
</div>
</CommonBox>
</template>
<script>
import CommonBox from '../secondPages/commonBox.vue';
import {Carousel, Table, List, Icon, Avatar, Row, Col, Collapse} from 'ant-design-vue';
export default{
data(){
return {
text: '555555555555555555555',
activeKey: '3',
headText1: '小学部 总数 / 823 男生 / 455 女生 / 373',
headText2: '初中部 总数 / 385 男生 / 201 女生 / 174',
headText3: '高中部 总数 / 385 男生 / 201 女生 / 174',
smallColumns: [
{title: '年级', className: 'year', dataIndex: 'year',},
{title: '人数', className: 'allTotal', dataIndex: 'allTotal',},
{title: '男生', className: 'boyTltal', dataIndex: 'boyTltal',},
{title: '女生', className: 'grilTotal', dataIndex: 'grilTotal',},
{title: '班级数', className: 'classTotal', dataIndex: 'classTotal',},
],
smallData: [
{grade: '[小学]一年级', total: '246', boy: '133', gril: '110', classNum: '6'},
{grade: '[小学]二年级', total: '246', boy: '133', gril: '110', classNum: '6'},
{grade: '[小学]三年级', total: '246', boy: '133', gril: '110', classNum: '6'},
{grade: '[小学]四年级', total: '246', boy: '133', gril: '110', classNum: '6'},
{grade: '[小学]五年级', total: '246', boy: '133', gril: '110', classNum: '6'},
{grade: '[小学]六年级', total: '246', boy: '133', gril: '110', classNum: '6'},
],
rightTopShow: true,
honorDataSourse: [
{
headSrc: require('./images/headSrc1.png'),
name: '孙明浩',
grade: '2021/01班',
matchType: '小学生征文绘画比赛',
prizeLogoSrc: require('./images/prizeLogoSrc1.png'),
rank: '二等奖',
},
{
headSrc: require('./images/headSrc1.png'),
name: '刘昭然',
grade: '2021/01班',
matchType: '小学生征文绘画比赛',
prizeLogoSrc: require('./images/prizeLogoSrc2.png'),
rank: '二等奖',
},
{
headSrc: require('./images/headSrc1.png'),
name: '李乐怡',
grade: '2021/01班',
matchType: '第六届,梦想杯’小学生征文大赛',
prizeLogoSrc: require('./images/prizeLogoSrc3.png'),
rank: '二等奖',
},
{
headSrc: require('./images/headSrc1.png'),
name: '王敏婷',
grade: '2021/01班',
matchType: '小学生征文绘画比赛',
prizeLogoSrc: require('./images/prizeLogoSrc1.png'),
rank: '二等奖',
},
{
headSrc: require('./images/headSrc1.png'),
name: '孙明浩',
grade: '2021/01班',
matchType: '小学生征文绘画比赛',
prizeLogoSrc: require('./images/prizeLogoSrc2.png'),
rank: '二等奖',
},
// {headSrc:require('./images/headSrc1.png'),name:'',grade:'2021/01',matchType:',',prizeLogoSrc:require('./images/prizeLogoSrc3.png'),rank:'',},
// {headSrc:require('./images/headSrc1.png'),name:'',grade:'2021/01',matchType:'',prizeLogoSrc:require('./images/prizeLogoSrc1.png'),rank:'',},
// {headSrc:require('./images/headSrc1.png'),name:'',grade:'2021/01',matchType:'',prizeLogoSrc:require('./images/prizeLogoSrc2.png'),rank:'',},
],
dotposition: 'right',
studentNoticeData:[
{
content:'在学校2022年03月07日进行的金秋迎新活动中以下同学未做任何说明无故缺勤。经学校团委学生会决定予以通报批评。',
detail:'具体名单如下',
},
{
content:'在学校2022年03月07日进行的金秋迎新活动中以下同学未做任何说明无故缺勤。经学校团委学生会决定予以通报批评。',
detail:'具体名单如下',
},
],
}
},
mounted(){
// setInterval(() => {
// this.activeKey++
// if (this.activeKey == 4) {
// this.activeKey = 1
// }
// }, 2000)
},
methods: {
collapseChange(key){
},
},
components: {
CommonBox,
ARow: Row,
ACol: Col,
ACollapse: Collapse,
ACollapsePanel: Collapse.Panel,
ATable: Table,
ACarousel: Carousel,
}
}
</script>
<style scoped lang="scss" type="text/scss">
.moral-education-student-style {
margin-right: 35px;
width: 65%;
height: 600px !important;
padding-right: 0 !important;
.studentManageBox {
width: 100%;
height: 100%;
display: flex;
justify-content: space-between;
/*‘学生信息’*/
.studentManageBox-leftTitle {
width: 5%;
margin-left: -20px;
position: relative;
.bg1 {
position: absolute;
top: 0;
left: 0;
}
.bg2 {
position: absolute;
top: 8px;
right: 3px;
}
.p {
position: absolute;
top: 30px;
left: 17px;
margin: 0 auto;
color: #fff;
width: 18px;
font-size: 18px;
line-height: 18px;
span {
margin-bottom: 15px;
display: inline-block;
}
}
}
/*左侧*/
.studentManageBox-left {
width: 47%;
height: 100%;
border-right: 1px dashed #fff;
padding-right: 10px;
.left-topNum {
height: 180px;
width: 520px;
display: flex;
justify-content: space-between;
position: relative;
.left-topNum-ani {
margin: 10px;
width: 150px;
height: 150px;
font-size: 18px;
.box-9-content-style {
width: 150px;
height: 150px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.box-9-text-style {
color: #01F6F9;
font-family: 'lightFont';
}
}
}
.left-topNum-num {
height: 45%;
margin-left: 24px;
color: #3CD5FF;
display: flex;
justify-content: space-between;
.numbox {
width: 80px;
height: 80px;
text-align: center;
.num {
font-weight: 700;
margin-top: 16px;
margin-bottom: 20px;
font-size: 34px;
}
.text {
font-size: 14px;
}
}
.numbox2 {
border-left: 2px solid #0C3163;
border-right: 2px solid #0C3163;
margin: 0 20px;
width: 116px;
height: 60px;
margin-top: 10px;
.num {
margin-top: 7px;
}
.text {
/*margin-top: 0;*/
}
}
}
.left-topNum-gender {
display: flex;
justify-content: space-between;
height: 90px;
margin-top: 10px;
position: absolute;
top: 80px;
right: 0;
.boy, .gril {
position: relative;
width: 140px;
height: 80px;
padding: 5px;
background: #1A366F;
box-shadow: 5px 5px 13px rgba(255, 255, 255, .3);
.total {
position: absolute;
display: inline-block;
font-size: 24px;
left: 10px;
bottom: 9px;
font-weight: 700;
color: #fff;
}
.gender-style {
position: absolute;
display: inline-block;
font-size: 14px;
color: #3CD5FF;
left: 30px;
top: 5px;
}
}
.boy {
margin-right: 40px;
.border {
position: absolute;
display: inline-block;
width: 10px;
height: 25px;
background: #02A7F0;
border-radius: 5px;
left: 10px;
/*#EC808D*/
}
}
.gril {
}
}
}
.bot-collapse {
margin-top: 20px;
width: 500px;
height: 350px;
/deep/ .ant-collapse {
height: 100%;
background: rgba(0, 0, 0, 0) !important;
border: none !important;
color: #3CD5FF !important;
.ant-collapse-item {
border: none !important;
.ant-collapse-content {
border: none !important;
background: rgba(0, 0, 0, 0) !important;
.ant-collapse-content-box {
height: 200px !important;
border-radius: 10px;
border: 2px dashed #3CD5FF;
color: #fff !important;
margin: 0 auto;
margin-bottom: 10px;
width: 480px;
}
}
.ant-collapse-header {
color: #3CD5FF !important;
background: #183A76;
transform: skewX(-20deg);
margin-bottom: 10px;
height: 40px;
font-size: 16px;
}
}
}
}
}
/*右侧*/
.studentManageBox-right {
width: 47%;
height: 100%;
padding-left: 10px;
.topCarousel {
padding-right: 20px;
width: 100%;
height: 200px;
margin-bottom: 30px;
.right-top {
width: 100%;
height: 200px;
overflow: hidden;
padding-top: 36px;
p {
color: #000;
}
}
.right-top2 {
padding-left: 140px;
padding-top: 40px;
background: url("./images/studentManageHonor2.png");
background-size: 100% 100%;
}
.right-top1 {
background: url("./images/studentManageHonor1.png");
background-size: 100% 100%;
}
.right-top2 p {
writing-mode: vertical-lr;
display: inline-block;
font-size: 20px;
font-weight: 600;
margin-right: 20px;
}
.right-top1 p {
margin-left: 47px;
line-height: 6px;
font-size: 12px;
font-weight: 700;
}
}
.middleAni {
width: 100%;
height: 155px;
overflow: hidden;
position: relative;
.middleAni-pic {
display: inline-block;
width: 94%;
margin-top: 15px;
.divcard {
padding: 5px;
padding-top: 15px;
margin-right: 10px;
height: 160px;
text-align: center;
background: #3B487E;
border-radius: 7px;
display: inline-block;
}
}
.middleAni-title {
width: 5%;
height: 150px;
position: relative;
position: absolute;
right: 10px;
top: 0;
z-index: 5;
margin-left: 5px;
.middleAni-title-bg1 {
position: absolute;
}
.middleAni-title-bg2 {
position: absolute;
top: 5px;
}
.middleAni-title-p {
position: absolute;
top: 33px;
left: 10px;
display: inline-block;
font-size: 18px;
writing-mode: vertical-lr;
}
}
}
.botNotice {
width: 96%;
height: 160px;
background: #284F89;
padding: 20px 10px 15px 20px;
margin-top: 20px;
border-radius: 7px;
}
}
}
}
</style>

@ -24,7 +24,7 @@
</a-col>
</a-row>
<div class="brandList">
<vue-scroll :ops="listScroll" :style="showPage?'height:35rem':'height:35rem'" class="score-list-div">
<vue-scroll :ops="listScroll" :style="showPage?'height:35rem':'height:35rem'" class="score-list-div">
<a-list item-layout="horizontal" :data-source="brandList">
<a-list-item slot="renderItem" slot-scope="item" class="listItem">
<a-avatar :src="item.avatar"/>
@ -44,7 +44,7 @@
/*
* 品牌创建
* */
import {List, Icon, Avatar, Row, Col} from 'ant-design-vue';
import {List, Icon, Avatar, Row, Col, Modal} from 'ant-design-vue';
import CommonBox from '../secondPages/commonBox.vue';
export default{
data(){
@ -101,7 +101,9 @@
title: '【红心向党·凝聚动力】洋浦学校党支部深入学习“十严禁”换届纪律会议',
time: '2021-09-17 14:41'
},
]
],
visible: false,
modalTitle: '查看详情',
}
},
components: {
@ -112,6 +114,9 @@
AListItem: List.Item,
AAvatar: Avatar,
AIcon: Icon,
AModal: Modal,
},
methods: {
}
}
</script>

@ -31,7 +31,7 @@
}
}
</script>
<style scoped lang="scss">
<style scoped lang="scss" type="text/scss">
.party-center-style{
width: 100%;
display: flex;

Loading…
Cancel
Save