springboot011基于springboot的课程作业管理系统
管理员登录,通过填写注册时输入的用户名、密码、角色进行登录,。
学生管理,在学生管理页面中可以通过填写学号、密码、学生姓名、性别、头像、手机、邮箱、班级等信息进行详情、修改,。还可以根据需要对教师管理进行详情,修改或删除等详细操作,。
课程信息管理,在课程信息管理页面中可以查看课程名称、课程类型、班级、学期、星期、上课时间、教师工号、教师姓名等信息,并可根据需要对课程信息管理进行详情、修改或删除等操作,。
作业布置管理,在作业布置管理页面中可以查看课程名称、学期、班级、作业要求、发布日期、教师工号、教师姓名、学号、学生姓名等信息,并可根据需要对作业布置管理进行详情、修改或删除等详细操作,。
作业提交管理,在作业提交管理页面中可以查看课程名称、学期、班级、作业、提交日期、教师工号、教师姓名、学号、学生姓名、审核回复、审核状态等内容,并且根据需要对作业提交管理进行详情,修改或删除等详细操作,。
课程评价管理,在课程评价管理页面中可以查看课程名称、课程类型、班级、学期、评分、课程评价、评价日期、教师工号、学号、学生姓名、审核回复、审核状态等内容,并且根据需要对课程评价管理进行详情,修改或删除等详细操作,。
作业布置管理,在作业布置管理页面中通过填写课程名称、学期、班级、作业要求、发布日期、教师工号、教师姓名、学号、学生姓名等信息还可以根据需要对作业布置管理进行修改,。
作业提交管理,在作业提交管理页面中可以查看课程名称、学期、班级、作业、提交日期、教师工号、教师姓名、学号、学生姓名、审核回复、审核状态等信息内容,并且根据需要对作业提交管理进行修改或删除等其他详细操作,。
课程评价管理,在课程评价管理页面中通过填写课程名称、课程类型、班级、学期、评分、课程评价、评价日期、教师工号、学号、学生姓名、审核回复、审核状态等内容进行详情、删除,。
个人信息,在个人信息页面中通过填写学号、密码、学生姓名、性别、头像、手机、邮箱、班级等信息还可以根据需要对个人信息进行修改,。
课程信息管理,在课程信息管理页面中可以查看课程名称、课程类型、班级、学期、星期、上课时间、教师工号、教师姓名等信息内容,并且根据需要对课程信息管理进行修改或删除等其他详细操作,。
课程评价管理,在课程评价管理页面中通过填写课程名称、课程类型、班级、学期、评分、课程评价、评价日期、教师工号、学号、学生姓名、审核回复、审核状态等内容进行详情、删除,。
课程资源管理,在课程资源管理页面中通过填写课程名称、学期、附件、上传日期、教师工号、教师姓名、学号、学生姓名等内容进行详情、删除,。
list.vue
<template>
<div class="main-content">
<!-- 列表页 -->
<div v-if="showFlag">
<el-form :inline="true" :model="searchForm" class="form-content">
<el-row :gutter="20" class="slt" :style="{justifyContent:contents.searchBoxPosition=='1'?'flex-start':contents.searchBoxPosition=='2'?'center':'flex-end'}">
<el-form-item :label="contents.inputTitle == 1 ? '班级' : ''">
<el-input v-if="contents.inputIcon == 1 && contents.inputIconPosition == 1" prefix-icon="el-icon-search" v-model="searchForm.banji" placeholder="班级" clearable></el-input>
<el-input v-if="contents.inputIcon == 1 && contents.inputIconPosition == 2" suffix-icon="el-icon-search" v-model="searchForm.banji" placeholder="班级" clearable></el-input>
<el-input v-if="contents.inputIcon == 0" v-model="searchForm.banji" placeholder="班级" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button v-if="contents.searchBtnIcon == 1 && contents.searchBtnIconPosition == 1" icon="el-icon-search" type="success" @click="search()">{
{ contents.searchBtnFont == 1?'查询':'' }}</el-button>
<el-button v-if="contents.searchBtnIcon == 1 && contents.searchBtnIconPosition == 2" type="success" @click="search()">{
{ contents.searchBtnFont == 1?'查询':'' }}<i class="el-icon-search el-icon--right"/></el-button>
<el-button v-if="contents.searchBtnIcon == 0" type="success" @click="search()">{
{ contents.searchBtnFont == 1?'查询':'' }}</el-button>
</el-form-item>
</el-row>
<el-row class="ad" :style="{justifyContent:contents.btnAdAllBoxPosition=='1'?'flex-start':contents.btnAdAllBoxPosition=='2'?'center':'flex-end'}">
<el-form-item>
<el-button
v-if="isAuth('banji','新增') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 1"
type="success"
icon="el-icon-plus"
@click="addOrUpdateHandler()"
>{
{ contents.btnAdAllFont == 1?'新增':'' }}</el-button>
<el-button
v-if="isAuth('banji','新增') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 2"
type="success"
@click="addOrUpdateHandler()"
>{
{ contents.btnAdAllFont == 1?'新增':'' }}<i class="el-icon-plus el-icon--right" /></el-button>
<el-button
v-if="isAuth('banji','新增') && contents.btnAdAllIcon == 0"
type="success"
@click="addOrUpdateHandler()"
>{
{ contents.btnAdAllFont == 1?'新增':'' }}</el-button>
<el-button
v-if="isAuth('banji','删除') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 1 && contents.tableSelection"
:disabled="dataListSelections.length <= 0"
type="danger"
icon="el-icon-delete"
@click="deleteHandler()"
>{
{ contents.btnAdAllFont == 1?'删除':'' }}</el-button>
<el-button
v-if="isAuth('banji','删除') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 2 && contents.tableSelection"
:disabled="dataListSelections.length <= 0"
type="danger"
@click="deleteHandler()"
>{
{ contents.btnAdAllFont == 1?'删除':'' }}<i class="el-icon-delete el-icon--right" /></el-button>
<el-button
v-if="isAuth('banji','删除') && contents.btnAdAllIcon == 0 && contents.tableSelection"
:disabled="dataListSelections.length <= 0"
type="danger"
@click="deleteHandler()"
>{
{ contents.btnAdAllFont == 1?'删除':'' }}</el-button>
</el-form-item>
</el-row>
</el-form>
<div class="table-content">
<el-table class="tables" :size="contents.tableSize" :show-header="contents.tableShowHeader"
:header-row-style="headerRowStyle" :header-cell-style="headerCellStyle"
:border="contents.tableBorder"
:fit="contents.tableFit"
:stripe="contents.tableStripe"
:row-style="rowStyle"
:cell-style="cellStyle"
:style="{width: '100%',fontSize:contents.tableContentFontSize,color:contents.tableContentFontColor}"
v-if="isAuth('banji','查看')"
:data="dataList"
v-loading="dataListLoading"
@selection-change="selectionChangeHandler">
<el-table-column v-if="contents.tableSelection"
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column label="索引" v-if="contents.tableIndex" type="index" width="50" />
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
prop="banji"
header-align="center"
label="班级">
<template slot-scope="scope">
{
{scope.row.banji}}
</template>
</el-table-column>
<el-table-column width="300" :align="contents.tableAlign"
header-align="center"
label="操作">
<template slot-scope="scope">
<el-button v-if="isAuth('banji','查看') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="success" icon="el-icon-tickets" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{
{ contents.tableBtnFont == 1?'详情':'' }}</el-button>
<el-button v-if="isAuth('banji','查看') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="success" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{
{ contents.tableBtnFont == 1?'详情':'' }}<i class="el-icon-tickets el-icon--right" /></el-button>
<el-button v-if="isAuth('banji','查看') && contents.tableBtnIcon == 0" type="success" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{
{ contents.tableBtnFont == 1?'详情':'' }}</el-button>
<el-button v-if="isAuth('banji','修改') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="primary" icon="el-icon-edit" size="mini" @click="addOrUpdateHandler(scope.row.id)">{
{ contents.tableBtnFont == 1?'修改':'' }}</el-button>
<el-button v-if="isAuth('banji','修改') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="primary" size="mini" @click="addOrUpdateHandler(scope.row.id)">{
{ contents.tableBtnFont == 1?'修改':'' }}<i class="el-icon-edit el-icon--right" /></el-button>
<el-button v-if="isAuth('banji','修改') && contents.tableBtnIcon == 0" type="primary" size="mini" @click="addOrUpdateHandler(scope.row.id)">{
{ contents.tableBtnFont == 1?'修改':'' }}</el-button>
<el-button v-if="isAuth('banji','删除') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="danger" icon="el-icon-delete" size="mini" @click="deleteHandler(scope.row.id)">{
{ contents.tableBtnFont == 1?'删除':'' }}</el-button>
<el-button v-if="isAuth('banji','删除') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="danger" size="mini" @click="deleteHandler(scope.row.id)">{
{ contents.tableBtnFont == 1?'删除':'' }}<i class="el-icon-delete el-icon--right" /></el-button>
<el-button v-if="isAuth('banji','删除') && contents.tableBtnIcon == 0" type="danger" size="mini" @click="deleteHandler(scope.row.id)">{
{ contents.tableBtnFont == 1?'删除':'' }}</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
clsss="pages"
:layout="layouts"
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="Number(contents.pageEachNum)"
:total="totalPage"
:small="contents.pageStyle"
class="pagination-content"
:background="contents.pageBtnBG"
:style="{textAlign:contents.pagePosition==1?'left':contents.pagePosition==2?'center':'right'}"
></el-pagination>
</div>
</div>
<!-- 添加/修改页面 将父组件的search方法传递给子组件-->
<add-or-update v-if="addOrUpdateFlag" :parent="this" ref="addOrUpdate"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from "./add-or-update";
export default {
data() {
return {
searchForm: {
key: ""
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],