博主介绍:专注于Java vue .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了1000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
更多项目地址 介绍 qq_251836457-CSDN博客
文末下方有源码获取地址
系统实现预览
第四章 系统设计
4.1 系统体系结构
图4-1 系统结构
模块包括主界面,首页、公告消息、校园资讯、毕设课题等进行相应的操作。
登录系统结构图,如图4-2所示:
图4-2 登录结构图
这些功能可以充分满足大学毕业设计管理系统的需求。此系统功能较为全面如下图系统功能结构如图4-3所示。
图4-3系统功能结构图
4.2 数据库设计原则
每个数据库的应用它们都是和区分开的,当运行到一定的程序当中,它就会与自己相关的协议与客户端进行通讯。那么这个系统就会对使这些数据进行连接。当我们选择哪个桥段的时候,接下来就会简单的叙述这个数据库是如何来创建的。当点击完成按钮的时候就会自动在对话框内弹出数据源的名称,在进行点击下一步即可,直接在输入相对应的身份验证和登录密码。
大学毕业设计管理系统的数据流程:
图4-4 系统数据流程图
(1)管理员实体属性图如下图4-5所示
图4-5管理员实体属性图
(4) 学生注册实体属性如下图4-5所示
图4-5学生注册实体属性图
4.4 数据表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
achievement_summary | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
achievement_summary_id | int | 11 | 否 | 主键 | 成绩汇总ID |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
student_number | int | 11 | 是 | 学生学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
student_achievement | varchar | 64 | 是 | 学生成绩 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
completed_project | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
completed_project_id | int | 11 | 否 | 主键 | 毕设课题ID |
topic_name | varchar | 64 | 是 | 课题名称 | |
topic_type | varchar | 64 | 是 | 课题类型 | |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
release_time | date | 0 | 是 | 发布时间 | |
required_time | varchar | 64 | 是 | 要求时间 | |
cover_picture | varchar | 255 | 是 | 封面图 | |
brief_introduction | longtext | 0 | 是 | 简介 | |
hits | int | 11 | 否 | 点击数 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
completion_notice | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
completion_notice_id | int | 11 | 否 | 主键 | 毕设通知ID |
notice_title | varchar | 64 | 是 | 通知标题 | |
notification_time | datetime | 0 | 是 | 通知时间 | |
notice_content | longtext | 0 | 是 | 通知内容 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
department_leaders | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
department_leaders_id | int | 11 | 否 | 主键 | 院系领导ID |
leader_job_number | varchar | 64 | 否 | 领导工号 | |
leader_name | varchar | 64 | 是 | 领导姓名 | |
leadership_gender | varchar | 64 | 是 | 领导性别 | |
leadership_age | varchar | 64 | 是 | 领导年龄 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
recommend | int | 11 | 否 | 智能推荐 | |
user_id | int | 11 | 否 | 用户ID | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
dissertation | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
dissertation_id | int | 11 | 否 | 主键 | 毕业论文ID |
topic_name | varchar | 64 | 是 | 课题名称 | |
topic_type | varchar | 64 | 是 | 课题类型 | |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
student_number | int | 11 | 是 | 学生学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
professional_name | varchar | 64 | 是 | 专业名称 | |
class_name | varchar | 64 | 是 | 班级名称 | |
subject_source | varchar | 64 | 是 | 课题来源 | |
start_and_end_time | varchar | 64 | 是 | 起止时间 | |
thesis_title | varchar | 64 | 是 | 论文题目 | |
completion_time | date | 0 | 是 | 完成时间 | |
paper_documents | varchar | 255 | 是 | 论文文件 | |
teacher_review | varchar | 64 | 是 | 教师审核 | |
leadership_review | varchar | 64 | 是 | 领导审核 | |
comprehensive_play | varchar | 64 | 是 | 综合打分 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
interim_report | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
interim_report_id | int | 11 | 否 | 主键 | 中期报告ID |
topic_name | varchar | 64 | 是 | 课题名称 | |
topic_type | varchar | 64 | 是 | 课题类型 | |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
student_number | int | 11 | 是 | 学生学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
professional_name | varchar | 64 | 是 | 专业名称 | |
class_name | varchar | 64 | 是 | 班级名称 | |
subject_source | varchar | 64 | 是 | 课题来源 | |
start_and_end_time | varchar | 64 | 是 | 起止时间 | |
thesis_title | varchar | 64 | 是 | 论文题目 | |
interim_document | varchar | 255 | 是 | 中期文件 | |
teacher_review | varchar | 64 | 是 | 教师审核 | |
leadership_review | varchar | 64 | 是 | 领导审核 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
mission_statement | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
mission_statement_id | int | 11 | 否 | 主键 | 任务书ID |
topic_name | varchar | 64 | 是 | 课题名称 | |
topic_type | varchar | 64 | 是 | 课题类型 | |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
student_number | int | 11 | 是 | 学生学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
professional_name | varchar | 64 | 是 | 专业名称 | |
class_name | varchar | 64 | 是 | 班级名称 | |
subject_source | varchar | 64 | 是 | 课题来源 | |
start_and_end_time | varchar | 64 | 是 | 起止时间 | |
assignment_document | varchar | 255 | 是 | 任务书文件 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
notice_of_reply | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
notice_of_reply_id | int | 11 | 否 | 主键 | 答辩通知ID |
student_number | int | 11 | 是 | 学生学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
professional_name | varchar | 64 | 是 | 专业名称 | |
class_name | varchar | 64 | 是 | 班级名称 | |
defense_time | varchar | 64 | 是 | 答辩时间 | |
notice_content | text | 0 | 是 | 通知内容 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
opening_report | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
opening_report_id | int | 11 | 否 | 主键 | 开题报告ID |
topic_name | varchar | 64 | 是 | 课题名称 | |
topic_type | varchar | 64 | 是 | 课题类型 | |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
student_number | int | 11 | 是 | 学生学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
professional_name | varchar | 64 | 是 | 专业名称 | |
class_name | varchar | 64 | 是 | 班级名称 | |
subject_source | varchar | 64 | 是 | 课题来源 | |
start_and_end_time | varchar | 64 | 是 | 起止时间 | |
thesis_title | varchar | 64 | 是 | 论文题目 | |
submission_time | datetime | 0 | 是 | 提交时间 | |
opening_document | varchar | 255 | 是 | 开题文件 | |
teacher_review | varchar | 64 | 是 | 教师审核 | |
leadership_review | varchar | 64 | 是 | 领导审核 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
select_information | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
select_information_id | int | 11 | 否 | 主键 | 选择信息ID |
topic_name | varchar | 64 | 是 | 课题名称 | |
topic_type | varchar | 64 | 是 | 课题类型 | |
teacher_job_number | int | 11 | 是 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
release_time | date | 0 | 是 | 发布时间 | |
required_time | varchar | 64 | 是 | 要求时间 | |
student_number | int | 11 | 是 | 学生学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
professional_name | varchar | 64 | 是 | 专业名称 | |
class_name | varchar | 64 | 是 | 班级名称 | |
select_time | datetime | 0 | 是 | 选择时间 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
student_user | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
student_user_id | int | 11 | 否 | 主键 | 学生用户ID |
student_number | varchar | 64 | 否 | 学生学号 | |
student_name | varchar | 64 | 是 | 学生姓名 | |
student_gender | varchar | 64 | 是 | 学生性别 | |
student_age | varchar | 64 | 是 | 学生年龄 | |
professional_name | varchar | 64 | 是 | 专业名称 | |
class_name | varchar | 64 | 是 | 班级名称 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
recommend | int | 11 | 否 | 智能推荐 | |
user_id | int | 11 | 否 | 用户ID | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
subject_classification | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
subject_classification_id | int | 11 | 否 | 主键 | 课题分类ID |
topic_type | varchar | 64 | 是 | 课题类型 | |
recommend | int | 11 | 否 | 智能推荐 | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 | |
teacher_user | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
teacher_user_id | int | 11 | 否 | 主键 | 教师用户ID |
teacher_job_number | varchar | 64 | 否 | 教师工号 | |
teacher_name | varchar | 64 | 是 | 教师姓名 | |
teacher_gender | varchar | 64 | 是 | 教师性别 | |
teacher_age | varchar | 64 | 是 | 教师年龄 | |
examine_state | varchar | 16 | 否 | 审核状态 | |
recommend | int | 11 | 否 | 智能推荐 | |
user_id | int | 11 | 否 | 用户ID | |
create_time | datetime | 0 | 否 | 创建时间 | |
update_time | timestamp | 0 | 否 | 更新时间 |
第五章 系统实现
5.1学生功能模块
学生进入到系统操作界面,可以对首页、公告消息、校园资讯、毕设课题等功能模块,如图5-1所示。
图5-1学生功能界面图
个人信息:通过列表可以获取个人信息、进行详情、修改等操作,如图5-2所示。
图5-2个人信息界面图
毕设课题列表管理:毕设课题列表页面可查看课题名称、课题类型、图片等信息如图5-3所示。
图5-3毕设课题界面图
校园资讯:通过校园资讯可以查看资讯标题、资讯内容、发布时间、点赞数、浏览数等操作,如图5-4所示。
图5-4校园资讯界面图
5.2管理员功能模块
管理员通过用户名和密码、角色填写完成后进行登录,如图5-5所示。管理员登录成功后进入到系统操作界面,可以对首页、站点管理(轮播图、公告栏)用户管理(管理员、学生用户、教师用户、院系领导)内容管理(校园资讯、校园资讯分类)更多管理(毕设课题、选择信息、任务书、开题报告、中期报告、毕业论文、答辩通知、毕设通知、成绩汇总、课题分类)等功能模块进行相对应操作。
管理员功能页面:通过首页输入账号、密码等操作登录系统,如图5-6所示。
图5-5管理员登录页面
图5-6管理员功能页面
vue部分代码
<template>
<el-main class="bg table_wrap">
<el-form label-position="right" :model="query" class="form p_4" label-width="120">
<el-row>
<el-col :xs="24" :sm="24" :lg="8" class="el_form_search_wrap">
<el-form-item label="教师工号">
<el-input v-model="query.teacher_job_number"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="10" :lg="8" class="search_btn_wrap_1">
<el-form-item>
<el-button type="primary" @click="search()" class="search_btn_find">查询</el-button>
<el-button @click="reset()" style="margin-right: 74px;" class="search_btn_reset">重置</el-button>
<router-link v-if="user_group == '管理员' || $check_action('/teacher_user/table','add') || $check_action('/teacher_user/view','add')" class="el-button el-button--default el-button--primary search_btn_add" to="./view?">添加
</router-link>
<el-button v-if="user_group == '管理员' || $check_action('/teacher_user/table','del') || $check_action('/teacher_user/view','del')" class="search_btn_del" type="danger" @click="delInfo()">删除</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table :data="list" @selection-change="selectionChange" @sort-change="$sortChange" style="width: 100%" id="dataTable">
<el-table-column fixed type="selection" tooltip-effect="dark" width="55">
</el-table-column>
<el-table-column prop="username" label="用户名" width="120">
</el-table-column>
<el-table-column fixed prop="nickname" label="昵称">
</el-table-column>
<el-table-column prop="teacher_job_number" label="教师工号"
v-if="user_group == '管理员' || $check_field('get','teacher_job_number')" min-width="200">
</el-table-column>
<el-table-column prop="teacher_name" label="教师姓名"
v-if="user_group == '管理员' || $check_field('get','teacher_name')" min-width="200">
</el-table-column>
<el-table-column prop="teacher_gender" label="教师性别"
v-if="user_group == '管理员' || $check_field('get','teacher_gender')" min-width="200">
</el-table-column>
<el-table-column prop="teacher_age" label="教师年龄"
v-if="user_group == '管理员' || $check_field('get','teacher_age')" min-width="200">
</el-table-column>
<el-table-column sortable prop="create_time" label="创建时间" min-width="200">
<template slot-scope="scope">
{{ $toTime(scope.row["create_time"],"yyyy-MM-dd hh:mm:ss") }}
</template>
</el-table-column>
<el-table-column sortable prop="update_time" label="更新时间" min-width="200">
<template slot-scope="scope">
{{ $toTime(scope.row["update_time"],"yyyy-MM-dd hh:mm:ss") }}
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" min-width="120" v-if="user_group == '管理员' || $check_action('/teacher_user/table','set') || $check_action('/teacher_user/view','set') || $check_action('/teacher_user/view','get') || $check_action('//table','add') || $check_action('//view','add')" >
<template slot-scope="scope">
<router-link class="el-button el-button--small is-plain el-button--success" style="margin: 5px !important;"
v-if="user_group == '管理员' || $check_action('/teacher_user/table','set') || $check_action('/teacher_user/view','set') || $check_action('/teacher_user/view','get')"
:to="'./view?user_id=' + scope.row['user_id']"
size="small">
<span>详情</span>
</router-link>
</template>
</el-table-column>
</el-table>
<!-- 分页器 -->
<div class="mt text_center">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page="query.page" :page-sizes="[7, 10, 30, 100]" :page-size="query.size"
layout="total, sizes, prev, pager, next, jumper" :total="count">
</el-pagination>
</div>
<!-- /分页器 -->
<div class="modal_wrap" v-if="showModal">
<div class="modal_box">
<!-- <div class="modal_box_close" @click="closeModal">X</div> -->
<p class="modal_box_title">重要提醒</p>
<p class="modal_box_text">当前有数据达到预警值!</p>
<div class="btn_box">
<span @click="closeModal">取消</span>
<span @click="closeModal">确定</span>
</div>
</div>
</div>
</el-main>
</template>
<script>
import mixin from "@/mixins/page.js";
export default {
mixins: [mixin],
data() {
return {
// 弹框
showModal: false,
// 获取数据地址
url_get_list: "~/api/teacher_user/get_list?like=0",
url_del: "~/api/teacher_user/del?",
// 字段ID
field: "teacher_user_id",
// 查询
query: {
"size": 7,
"page": 1,
"teacher_job_number": "",
"login_time": "",
"create_time": "",
"orderby": `create_time desc`
},
// 数据
list: [],
// 教师性别列表
list_teacher_gender: ['男','女'],
}
},
methods: {
// 关闭弹框
closeModal(){
this.showModal = false;
},
delInfo() {
var list = this.selection;
if (list.length === 0) {
this.$message({
type: 'info',
message: '选择对象不能为空!'
});
return;
}
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
await this.delAll(list ,async (list)=>{
var bl = true;
for(var i=0; i < list.length; i++){
var user_id = list[i].user_id;
var res = await this.$get("~/api/user/del?",{user_id});
if(res.result){
console.log("删除成功" + i);
}
else{
console.log("删除失败" + i);
bl = false;
break;
}
}
if(bl){
this.$message({
type: 'success',
message: '删除成功!'
});
this.get_list();
}
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
get_list_after(param){
let _this = this;
for (let i = 0;i<this.list.length;i++){
let user_id = _this.list[i].user_id
_this.$get("~/api/user/get_obj?", {
user_id
}, (json) => {
if (json.result.obj){
_this.$delete(_this.list[i],'username');
_this.$set(_this.list[i],'username',json.result.obj.username);
_this.$delete(_this.list[i],'nickname');
_this.$set(_this.list[i],'nickname',json.result.obj.nickname);
}
});
}
},
open_tip() {
const h = this.$createElement;
var message = "";
var list = this.list;
var ifs = [ ];
for (var n = 0; n < ifs.length; n++) {
var o = ifs[n];
for (var i = 0; i < list.length; i++) {
var lt = list[i];
if (o.type == "数内") {
if ((o.start || o.start === 0) && (o.end || o.end === 0)) {
if (lt[o.factor] > o.start && lt[o.factor] < o.end) {
o["idx"] = o["idx"] + 1;
}
} else if (o.start || o.start === 0) {
if (lt[o.factor] > o.start) {
o["idx"] = o["idx"] + 1;
}
} else if (o.end || o.end === 0) {
if (lt[o.factor] < o.end) {
o["idx"] = o["idx"] + 1;
}
}
} else if (o.type == "数外") {
if ((o.start || o.start === 0) && (o.end || o.end === 0)) {
if (lt[o.factor] < o.start || lt[o.factor] > o.end) {
o["idx"] = o["idx"] + 1;
}
} else if (o.start || o.start === 0) {
if (lt[o.factor] < o.start) {
o["idx"] = o["idx"] + 1;
}
} else if (o.end || o.end === 0) {
if (lt[o.factor] > o.end) {
o["idx"] = o["idx"] + 1;
}
}
} else if (o.type == "日内") {
if ((o.start) && (o.end)) {
if (lt[o.factor] > o.start && lt[o.factor] < o.end) {
o["idx"] = o["idx"] + 1;
}
} else if (o.start) {
if (lt[o.factor] < o.start) {
o["idx"] = o["idx"] + 1;
}
} else if (o.end) {
if (lt[o.factor] > o.end) {
o["idx"] = o["idx"] + 1;
}
}
} else if (o.type == "日外") {
if (o.start && o.end) {
if (lt[o.factor] < o.start || lt[o.factor] > o.end) {
o["idx"] = o["idx"] + 1;
}
} else if (o.start) {
if (lt[o.factor] < o.start) {
o["idx"] = o["idx"] + 1;
}
} else if (o.end) {
if (lt[o.factor] > o.end) {
o["idx"] = o["idx"] + 1;
}
}
}
}
if (o["idx"]) {
message += o.title;
if (o["type"] == "数内") {
if (o.start || o.start === 0) {
message += "大于" + o.start;
}
if ((o.start || o.start === 0) && (o.end || o.end === 0)) {
message += "并且";
}
if (o.end || o.end === 0) {
message += "小于" + o.end;
}
} else if (o["type"] == "数外") {
if (o.start || o.start === 0) {
message += "小于" + o.start;
}
if ((o.start || o.start === 0) || (o.end || o.end === 0)) {
message += "或者";
}
if (o.end || o.end === 0) {
message += "大于" + o.end;
}
} else if (o["type"] == "日内") {
if (o.start) {
message += "在" + o.start + "之后";
}
if (o.start && o.end) {
message += "并且";
}
if (o.end) {
message += "在" + o.end + "之前";
}
} else if (o["type"] == "日外") {
if (o.start) {
message += "在" + o.start + "之前";
}
if (o.start || o.end) {
message += "或者";
}
if (o.end) {
message += "在" + o.end + "之后";
}
}
message += "的有" + o["idx"] + "条";
}
}
if (message) {
message += ",需要处理、请尽快处理。";
this.showModal = true;
// this.$notify({
// title: '提醒',
// dangerouslyUseHTMLString: true,
// message: h('i', {
// style: 'color: teal'
// }, message)
// });
}
},
deleteRow(index, rows) {
rows.splice(index, 1);
}
},
created() {
setTimeout(() => {
this.open_tip();
}, 1000)
}
}
</script>
<style type="text/css">
.bg {
background: white;
}
.form.p_4 {
padding: 1rem;
}
.form .el-input {
width: initial;
}
.mt {
margin-top: 1rem;
}
.text_center {
text-align: center;
}
.float-right {
float: right;
}
.modal_wrap{
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
background: rgba(0,0,0,0.5);
z-index: 9999999999;
}
.modal_wrap .modal_box{
width: 400px;
height: 200px;
background: url("../../assets/modal_bg.jpg") no-repeat center;
background-size: cover;
position: absolute;
top: 50%;
left: 50%;
margin-left: -200px;
margin-top: -100px;
border-radius: 10px;
}
.modal_wrap .modal_box .modal_box_close{
font-size: 20px;
position: absolute;
top: 10px;
right: 10px;
cursor: pointer;
}
.modal_wrap .modal_box .modal_box_title{
text-align: center;
font-size: 18px;
margin: 16px auto;
color: #fff;
border-bottom: 1px solid rgba(117, 116, 116,0.5);
padding-bottom: 16px;
width: 356px;
}
.modal_wrap .modal_box .modal_box_text{
text-align: center;
font-size: 15px;
color: #fff;
margin-top: 25px;
}
.modal_wrap .modal_box .btn_box{
display: flex;
flex-direction: row;
justify-content: center;
margin-top: 42px;
}
.modal_wrap .modal_box .btn_box span{
display: inline-block;
width: 80px;
height: 30px;
line-height: 30px;
text-align: center;
border: 1px solid #ccc;
font-size: 14px;
cursor: pointer;
color: #fff;
}
.modal_wrap .modal_box .btn_box span:nth-child(2){
background: #409EFF;
color: #fff;
border-color: #409EFF;
margin-left: 15px;
}
</style>
毕设课题:通过列表可以获取课题名称、课题类型、教师工号、教师姓名等信息,进行删除或修改操作,如图5-7所示。
图5-7毕设课题管理界面图
用户管理:通过列表可以获取用户名、领导工号、领导姓名等信息,进行修改或删除操作,如图5-8所示。
图5-8用户管理界面图
源码文档下载地址
【计算机程序设计源码】springboot大学毕业设计管理系统.zip资源-CSDN文库
大家点赞、收藏、关注、评论啦 其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者