<!-- 班级管理 -->
|
<template>
|
<div class="c">
|
<div class="bg">
|
<div class="main">
|
<div class="main-1">
|
<div
|
class="main-btn flex"
|
style="justify-content:space-between"
|
>
|
<div>
|
<el-button
|
type="primary"
|
style="margin-right:20px;"
|
@click="handlerAdd"
|
>新增班级</el-button>
|
</div>
|
<div
|
class="flex"
|
style="align-items:center"
|
>
|
<p style="margin-left:20px;margin-right: 10px;">所在单位</p>
|
<!-- <el-select v-model="searchData.deptId">-->
|
<!-- <el-option></el-option>-->
|
<!-- </el-select>-->
|
</div>
|
</div>
|
<div>
|
<div>
|
<el-table
|
:data="tableData"
|
border
|
:row-style="{height:'42px'}"
|
:cell-style="{padding: '0'}"
|
>
|
<el-table-column
|
align="center"
|
label="班级"
|
prop="className"
|
width="180px"
|
></el-table-column>
|
<el-table-column
|
label="年级"
|
align="center"
|
width="80px"
|
prop="grade"
|
></el-table-column>
|
<el-table-column
|
width="100px"
|
align="center"
|
label="单位"
|
prop="unit"
|
></el-table-column>
|
<el-table-column
|
align="center"
|
width="100px"
|
label="教师"
|
prop="createUserName"
|
></el-table-column>
|
<el-table-column
|
align="center"
|
width="120px"
|
label="联系电话"
|
prop="teacherPhone"
|
></el-table-column>
|
<el-table-column
|
width="140px"
|
label="开班时间"
|
align="center"
|
prop="startTime"
|
></el-table-column>
|
<el-table-column
|
width="140px"
|
label="结束时间"
|
align="center"
|
prop="endTime"
|
></el-table-column>
|
<el-table-column
|
label="操作"
|
align="center"
|
fixed="right"
|
>
|
<template slot-scope="scope">
|
<el-button size="small" @click="handlerEdit(scope.row)" type="primary">修改</el-button>
|
<el-button size="small" type="warning">班级验证</el-button>
|
<el-button size="small" type="info">通知</el-button>
|
<el-button @click="routersTo()" size="small" type="success">成员管理</el-button>
|
<el-button @click="remove(scope.row.id)" type="danger" size="small">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
<div
|
class="flex"
|
style="justify-content:center;margin-top:20px;"
|
>
|
<pagination v-show="total>0" :total="total" :page.sync="searchForm.pageIndex" :limit.sync="searchForm.pageSize"
|
@pagination="page"/>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
</div>
|
|
|
<el-dialog
|
:title="title"
|
:visible.sync="open"
|
width="700px"
|
:before-close="handleClose">
|
<el-form :model="form" :rules="rules" ref="form" label-width="100px" class="demo-ruleForm">
|
<el-form-item label="班级名称" prop="className">
|
<el-input v-model="form.className" size="small"></el-input>
|
</el-form-item>
|
<el-form-item label="班级时间" required>
|
<el-col :span="11">
|
<el-form-item prop="startTime">
|
<el-date-picker
|
v-model="form.startTime"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="开始日期">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col class="line" :span="2">-</el-col>
|
<el-col :span="11">
|
<el-form-item prop="endTime">
|
<el-date-picker
|
v-model="form.endTime"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="结束日期">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-form-item>
|
|
<el-form-item label="备注信息" prop="remark">
|
<el-input type="textarea" v-model="form.remark" size="small"></el-input>
|
</el-form-item>
|
</el-form>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="handleClose">取 消</el-button>
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
</span>
|
</el-dialog>
|
|
</div>
|
</template>
|
|
<script>
|
import { addClasses, editClasses, getClassess, deleteClassesById } from "@/api/classes";
|
import Pagination from "@/components/Pagination"
|
export default {
|
components: {Pagination},
|
data() {
|
return {
|
total: 0,
|
open: false,
|
title: "",
|
value: "",
|
searchForm: {
|
subject: null,
|
pageSize: 10,
|
pageNum: 1
|
},
|
form: {
|
id: null,
|
className: "",
|
status: "",
|
verifyStatus: "",
|
startTime: null,
|
endTime: null,
|
remark: ""
|
},
|
rules: {
|
className: [
|
{ required: true, message: '请输入班级名称', trigger: 'blur' },
|
{ min: 1, max: 30, message: '长度在 1 到 30 个字符', trigger: 'blur' }
|
],
|
startTime: [
|
{ required: true, message: '请选择班级开始时间', trigger: 'change' },
|
],
|
endTime: [
|
{ required: true, message: '请选择班级结束时间', trigger: 'change' },
|
],
|
},
|
tableData: [
|
|
],
|
};
|
},
|
methods: {
|
page() {
|
getClassess(this.searchForm).then(res => {
|
this.tableData = res.data.data
|
this.total = res.data.total
|
})
|
},
|
resetForm() {
|
this.form = {
|
id: null,
|
className: "",
|
status: "",
|
verifyStatus: "",
|
startTime: null,
|
endTime: null,
|
remark: ""
|
}
|
},
|
submitForm() {
|
this.$refs['form'].validate((valid) => {
|
if (valid) {
|
if (this.form.id) {
|
editClasses(this.form).then(res => {
|
this.$message.success("修改成功")
|
this.resetForm()
|
this.open = false
|
})
|
} else {
|
addClasses(this.form).then(res => {
|
this.$message.success("添加班级成功")
|
this.resetForm()
|
this.open = false
|
})
|
}
|
} else {
|
return false;
|
}
|
});
|
},
|
remove(id) {
|
deleteClassesById(id).then(res => {
|
this.$message.success("删除成功")
|
this.page()
|
})
|
},
|
handlerEdit(row) {
|
this.form = row;
|
this.open = true
|
},
|
handleClose() {
|
this.open = false
|
this.resetForm()
|
},
|
handlerAdd() {
|
this.open = true
|
this.title = "新增班级"
|
},
|
// 跳转(查看班级人员情况)
|
routersTo() {
|
this.$router.push({
|
name: "ClassStaff",
|
});
|
},
|
// 返回上一个页面
|
goBack() {
|
this.$router.back();
|
},
|
},
|
created() {
|
this.page()
|
},
|
};
|
</script>
|
|
<style scoped lang="scss">
|
.flex {
|
display: flex;
|
}
|
.mian-1-top {
|
margin: 10px 0;
|
align-items: center;
|
& input {
|
height: 30px;
|
width: 200px;
|
margin-right: 20px;
|
}
|
}
|
|
.main {
|
&-title {
|
border-left: 5px solid rgb(16, 71, 247);
|
padding-left: 10px;
|
margin: 30px 0;
|
& p {
|
font-weight: 700;
|
}
|
}
|
&-1 {
|
width: 1227px;
|
// height: 784px;
|
background: white;
|
box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
|
border-radius: 10px;
|
padding: 32px 40px;
|
}
|
&-btn {
|
padding-bottom: 10px;
|
border-bottom: 3px solid rgb(16, 71, 247);
|
}
|
}
|
.deepBlue {
|
background: rgb(16, 71, 247);
|
color: white;
|
border: none;
|
&:hover {
|
background-color: rgb(45, 92, 248);
|
}
|
}
|
</style>
|