当前位置: 首页 > article >正文

基于 springboot vue中学生日常行为评分管理系统设计与实现


博主介绍:专注于Java(springboot  ssm 等开发框架) vue  .net  php python(flask Django)  小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了1400+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
文末有源码下载地址

系统实现预览

4章 系统设计

4.1 系统体系结构

本系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:

图4-1 系统工作原理图

4.2系统结构设计

整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。

本系统结构图如图4-2所示。

图4-2 系统功能结构图

4.3开发流程设计

系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。

中学生日常行为评分管理系统的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图4-4所示。

图4-4开发系统流程图

4.4 数据库设计原则

学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还提供了添加、删除、修改和检查,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。

通过中学生日常行为评分管理系统的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:

管理员信息属性图如图4-5所示。

图4-5 管理员信息实体属性图

系统的E-R图如下图所示:

图4-6系统E-R图

4.5 数据表

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表behavioral_rating (行为评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

behavioral_rating_id

int

10

0

N

Y

行为评分ID

2

campus_name

varchar

64

0

Y

N

校区名称

3

grade_name

varchar

64

0

Y

N

年级名称

4

class_name

varchar

64

0

Y

N

班级名称

5

student

int

10

0

Y

N

0

学生

6

student_id

varchar

64

0

Y

N

学号

7

total_score

int

10

0

Y

N

0

总分数

8

total_deduction_points

int

10

0

Y

N

0

总扣分

9

actual_score

varchar

64

0

Y

N

实际分数

10

recommend

int

10

0

N

N

0

智能推荐

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表bonus_items (加分项目)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

bonus_items_id

int

10

0

N

Y

加分项目ID

2

rating_date

date

10

0

Y

N

评分日期

3

campus_name

varchar

64

0

Y

N

校区名称

4

grade_name

varchar

64

0

Y

N

年级名称

5

class_name

varchar

64

0

Y

N

班级名称

6

student

int

10

0

Y

N

0

学生

7

student_id

varchar

64

0

Y

N

学号

8

rating_type

varchar

64

0

Y

N

评分类型

9

bonus_points

int

10

0

Y

N

0

加分分数

10

remarks

varchar

64

0

Y

N

备注信息

11

rating_teacher

int

10

0

Y

N

0

评分教师

12

recommend

int

10

0

N

N

0

智能推荐

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表campus_management (校区管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

campus_management_id

int

10

0

N

Y

校区管理ID

2

campus_name

varchar

64

0

Y

N

校区名称

3

recommend

int

10

0

N

N

0

智能推荐

4

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表class_management (班级管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

class_management_id

int

10

0

N

Y

班级管理ID

2

class_name

varchar

64

0

Y

N

班级名称

3

recommend

int

10

0

N

N

0

智能推荐

4

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表deduction_items (扣分项目)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

deduction_items_id

int

10

0

N

Y

扣分项目ID

2

rating_date

date

10

0

Y

N

评分日期

3

campus_name

varchar

64

0

Y

N

校区名称

4

grade_name

varchar

64

0

Y

N

年级名称

5

class_name

varchar

64

0

Y

N

班级名称

6

student

int

10

0

Y

N

0

学生

7

student_id

varchar

64

0

Y

N

学号

8

rating_type

varchar

64

0

Y

N

评分类型

9

deduction_points

int

10

0

Y

N

0

扣分分数

10

remarks

varchar

64

0

Y

N

备注信息

11

rating_teacher

int

10

0

Y

N

0

评分教师

12

recommend

int

10

0

N

N

0

智能推荐

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表grade_management (年级管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

grade_management_id

int

10

0

N

Y

年级管理ID

2

grade_name

varchar

64

0

Y

N

年级名称

3

recommend

int

10

0

N

N

0

智能推荐

4

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表scoring_items (评分项目)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

scoring_items_id

int

10

0

N

Y

评分项目ID

2

rating_type

varchar

64

0

Y

N

评分类型

3

recommend

int

10

0

N

N

0

智能推荐

4

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表semester_total (学期总计)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

semester_total_id

int

10

0

N

Y

学期总计ID

2

student

int

10

0

Y

N

0

学生

3

student_id

varchar

64

0

Y

N

学号

4

campus_name

varchar

64

0

Y

N

校区名称

5

grade_name

varchar

64

0

Y

N

年级名称

6

class_name

varchar

64

0

Y

N

班级名称

7

graded_semester

varchar

64

0

Y

N

评分学期

8

full_score

varchar

64

0

Y

N

满分

9

bonus_points

varchar

64

0

Y

N

加分

10

deduction_points

varchar

64

0

Y

N

扣分

11

total

varchar

64

0

Y

N

合计

12

total_score

varchar

64

0

Y

N

总分

13

recommend

int

10

0

N

N

0

智能推荐

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表student (学生)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_id

int

10

0

N

Y

学生ID

2

student_number

varchar

64

0

N

N

学号

3

full_name

varchar

64

0

Y

N

姓名

4

gender

varchar

64

0

Y

N

性别

5

campus_name

varchar

64

0

Y

N

校区名称

6

class_name

varchar

64

0

Y

N

班级名称

7

grade_name

varchar

64

0

Y

N

年级名称

8

examine_state

varchar

16

0

N

N

已通过

审核状态

9

recommend

int

10

0

N

N

0

智能推荐

10

user_id

int

10

0

N

N

0

用户ID

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表teacher (教师)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

teacher_id

int

10

0

N

Y

教师ID

2

job_no

varchar

64

0

N

N

工号

3

full_name

varchar

64

0

Y

N

姓名

4

gender

varchar

64

0

Y

N

性别

5

campus_name

varchar

64

0

Y

N

校区名称

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

recommend

int

10

0

N

N

0

智能推荐

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

第5章 系统详细设计

5.1管理员功能模块

管理员登录中学生日常行为评分管理系统,在登录页面输入用户名、密码、图片验证等进行登录,如图5-1所示。

图5-1管理员登录界面图

      

管理员进入系统后台可以查看:后台首页,系统用户(管理员、学生、教师)模块管理(校区管理、班级管理、年级管理、行为评分、评分项目、加分项目、扣分项目、学期总计)个人信息等功能,还可进行相应的操作,如图5-2所示。

图5-2管理员功能界面图

系统用户,在此页面可以查看用户信息,还可在该页面对注册的学生用户、教师用户以及管理员进行管控,如图5-3所示。

图5-3系统用户管理界面图

校区管理:管理员在此页面可以添加校区名称进行管理,可根据里进行详情、删除、查询等操作,如图5-4所示。

图5-4校区管理界面

班级管理:管理员在此页面可以添加班级名称进行管理,可根据里进行详情、删除、查询等操作,如图5-5所示。

图5-5班级管理界面图

年级管理:管理员在此页面可以添加年级名称进行管理,可根据里进行详情、删除、查询等操作,如图5-6所示。

图5-6年级管理界面图

5.2学生用户功能模块

不是中学生日常行为评分管理系统中正式用户的是可以在线进行注册的,如果你没有本中学生日常行为评分管理系统的账号的话,添加“注册”,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号+身份+姓名+性别+学号+班级名称+年级名称+校区名称等信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。注册成功后在登录页面输入用户名、密码、图片验证进行登录,如图5-7 5-8所示。

图5-7学生注册界面图

图5-8学生登录界面图

<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.student_number"></el-input>
								</el-form-item>
				</el-col>
															<el-col :xs="24" :sm="24" :lg="8" class="el_form_search_wrap">
					<el-form-item label="校区名称">
									<el-select v-model="query.campus_name">
											<el-option v-for="o in list_campus_name" :key="o.campus_name" :label="o.campus_name"
								:value="o.campus_name">
							</el-option>
										</el-select>
								</el-form-item>
				</el-col>
									<el-col :xs="24" :sm="24" :lg="8" class="el_form_search_wrap">
					<el-form-item label="班级名称">
									<el-select v-model="query.class_name">
											<el-option v-for="o in list_class_name" :key="o.class_name" :label="o.class_name"
								:value="o.class_name">
							</el-option>
										</el-select>
								</el-form-item>
				</el-col>
									<el-col :xs="24" :sm="24" :lg="8" class="el_form_search_wrap">
					<el-form-item label="年级名称">
									<el-select v-model="query.grade_name">
											<el-option v-for="o in list_grade_name" :key="o.grade_name" :label="o.grade_name"
								:value="o.grade_name">
							</el-option>
										</el-select>
								</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('/student/table','add') || $check_action('/student/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('/student/table','del') || $check_action('/student/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="student_number" @sort-change="$sortChange" label="学号"
				v-if="user_group == '管理员' || $check_field('get','student_number')" min-width="200">
					</el-table-column>
					<el-table-column prop="full_name" @sort-change="$sortChange" label="姓名"
				v-if="user_group == '管理员' || $check_field('get','full_name')" min-width="200">
					</el-table-column>
					<el-table-column prop="gender" @sort-change="$sortChange" label="性别"
				v-if="user_group == '管理员' || $check_field('get','gender')" min-width="200">
					</el-table-column>
					<el-table-column prop="campus_name" @sort-change="$sortChange" label="校区名称"
				v-if="user_group == '管理员' || $check_field('get','campus_name')" min-width="200">
					</el-table-column>
					<el-table-column prop="class_name" @sort-change="$sortChange" label="班级名称"
				v-if="user_group == '管理员' || $check_field('get','class_name')" min-width="200">
					</el-table-column>
					<el-table-column prop="grade_name" @sort-change="$sortChange" label="年级名称"
				v-if="user_group == '管理员' || $check_field('get','grade_name')" 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('/student/table','set') || $check_action('/student/view','set') || $check_action('/student/view','get') || $check_action('/${table.tableConfig.table_nav_name}/table','add') || $check_action('/${table.tableConfig.table_nav_name}/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('/student/table','set') || $check_action('/student/view','set') || $check_action('/student/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/student/get_list?like=0",
				url_del: "~/api/student/del?",

				// 字段ID
				field: "student_id",

				// 查询
				query: {
					"size": 7,
					"page": 1,
								"student_number": "",
													"campus_name": "",
											"class_name": "",
											"grade_name": "",
								"login_time": "",
					"create_time": "",
					"orderby": `create_time desc`
				},

				// 数据
				list: [],
															// 性别列表
				list_gender: ['男','女'],
							// 校区名称列表
				list_campus_name: [""],
							// 班级名称列表
				list_class_name: [""],
							// 年级名称列表
				list_grade_name: [""],
					}
		},
		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);
						}
					});
				}
			},


										/**
			 * 获取校区名称列表
			 */
			async get_list_campus_name() {
				var json = await this.$get("~/api/campus_management/get_list?");
				if(json.result){
					this.list_campus_name = json.result.list;
				}else if (json.error){
					console.log(json.error);
				}
			},
						/**
			 * 获取班级名称列表
			 */
			async get_list_class_name() {
				var json = await this.$get("~/api/class_management/get_list?");
				if(json.result){
					this.list_class_name = json.result.list;
				}else if (json.error){
					console.log(json.error);
				}
			},
						/**
			 * 获取年级名称列表
			 */
			async get_list_grade_name() {
				var json = await this.$get("~/api/grade_management/get_list?");
				if(json.result){
					this.list_grade_name = json.result.list;
				}else if (json.error){
					console.log(json.error);
				}
			},
		
			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() {
										// 初始化校区名称列表
			this.get_list_campus_name();
						// 初始化班级名称列表
			this.get_list_class_name();
						// 初始化年级名称列表
			this.get_list_grade_name();
					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-6所示。

图5-6学生功能界面图

行为评分,在该页面可以查看校区名称、年级名称、班级名称、学生、学号、总分数、总扣分、实际分数等详细信息,如图5-7所示。

图5-7行为评分界面图


http://www.kler.cn/news/335808.html

相关文章:

  • Python 进阶部分详细整理
  • 第五十九周周报 IAGNN
  • AI学习指南深度学习篇-Python实践
  • Linux之实战命令27:apropos应用实例(六十一)
  • SQL第12课——联结表
  • dockertop提示Failed to fetch extensions
  • SQL专项练习第四天
  • 数据结构 ——— 单链表oj题:链表中倒数第K个节点
  • idea2024设置中文
  • 什么是大语言模型的输入和输出限制
  • 昊辰创投注资众见科技,共筑智能眼镜未来:新一轮融资加速技术创新与市场扩张
  • SQL进阶技巧:统计各时段观看直播的人数
  • vim/vi常用命令大全
  • 为什么营业执照显示经营异常
  • 无法加载响应数据: No data found for resourcewith given identifier
  • C++面试速通宝典——8
  • 3D网格顶点颜色转纹理
  • ✨ComfyUI workflow加密工具节点ComfyUI_CryptoCat
  • JDBC 概述
  • Vue入门-Node.js安装