1.5 项目总结

项目实战 制作一个简单的公司OA系统

教学资源

1.1 需求描述

随着现在信息技术的发展,现在越来越多的公司使用OA系统来管理的公司员工的各种事务,这样可以使公司办公流程标准化,专业化,细致化,使办公更加高效。

本项目实战让大家利用上学期的easyui制作一个简单的公司OA系统。包括管理员与员工的登录。要实现密码修改的功能。最高级管理员admin能够添加用户,并对用户赋权,使其只能对某些页面进行访问。低一级能够进行请假申请,上一级能对下一级用户的请假进行审批。

1.2 需求分析

分析上面的需求,需要初步构建出整体设计方案。

1.设计思路

➢登录模块:登录模块主要包括登录和OA系统的主页。登录时需要输入验证码,防止被恶意登录或者攻击。

➢用户管理模块:用户管理模块实现的主要功能是用户密码的修改,用户的添加,还有用户的权限管理。

➢请假审批模块:主要包括请假提交和请假审批功能内容页。

2.制作思路

➢数据库设计:根据需求首先设计数据库。创建一个数据库名为testdb。里面至少包含两张表userinfo用户信息表和apply请假审批表。

➢项目创建:创建ASP项目并使用dbhelp类进行数据库连接。然后安装框架eaysui。

➢用户模块:先设计一个首页,然后设计用户登录页面,还需要创建一个验证码的内容页。

➢用户功能设计:用户登录以后,为用户设计修改密码功能。同时管理员可以添加用户,删除用户,并可以对用户的密码进行重置,防止忘记密码。

➢权限管理:使用c#IHttpModule的接口来进行权限管理,在登录时获取用户的权限信息,然后决定用户可以访问哪些页面。

➢请假与审批:制作一个页面可以提交请假申请。制作一个审批列表内容页显示所有的请假信息。

1.3 相关技术与工具

技术:

(1)C#

(2)Jquery-easyui

(3)IHttpModule接口

工具:

MYsql,VS2019,IIS

1.4 项目实现

“公司OA系统”实现阶段划分见表1.1。

表1.1 阶段任务及时间

1.4.1 第一阶段

实现:创建数据testdb,创建两张表分别为apply和userinfo。

apply数据库字段见表1.2。

表1.2

Userinfo数据库字段见表1.3。

表1.3

打开Navicat软件,连接数据库然后执行以下代码。会创建相应的数据库和数据表,同时会初始化一个最高级管理员admin,密码默认为123。

1.4.2 第二阶段

安装jquery-easyui。

(1)使用VS2019创建一个ASP.net项目,并使用之前连接数据库的类DBHELP连接数据库。

(2)下载jquereasyui并安装。如图1.1所示。

图1.1

1.4.3 第三阶段

实现:用户登录页面。

(1)创建Login.aspx页面。实现页面的前端代码,主要包括了:用户登录的排版、内嵌代码。

(2)为login.aspx.cs添加如下代码。实现登录页面的后台功能,包括用户名、密码及验证码的核验。并在session中写入用户信息、权限信息。

(3)创建随机验证码checkcode.aspx该页前台代码为编译器默认,不做任何处理。

(4)为checkcode.aspx.cs添加如下代码,利用Graphics绘图类,绘制验证码图片,并以图片流形式输出到Response。

1.4.4 第四阶段

实现:OA系统主页,

(1)创建index.aspx页面。实现页面的前端代码,主要包括了:用户信息模块的排版、内嵌代码,主页布局模块的排版和内嵌代码。

(2)为index.aspx.cs添加后台代码。主要包含用户信息读取,以及修改密码和注销登录功能的代码实现。

1.4.5 第四阶段

实现:用户管理模块。

(1)创建用户管理页面user.aspx,代码如下所示:

(2)为user.aspx.cs添加如下代码,主要功能为:用户列表读取,用户添加功能实现。

(3)创建权限管理页面userauth.aspx,代码如下所示:

(4)为userAuth.aspx.cs添加如下代码,主要功能为:用户当前权限读取,用户现有权限保存。

(5)创建一个AuthModule.cs它继承自IHttpModule,主要用于验证用户访问页面的权限,代码如下所示:

1.4.6 第五阶段

实现:请假审批模块。

(1)创建请假申请页面apply.aspx,代码如下所示:

(2)为apply.aspx.cs添加如下代码,主要功能为:读取请假信息列表,新请假信息添加。

(3)创建请假审批页面audit.aspx。

(4)为Audit.aspx.cs添加如下代码,主要功能为:请假申请列表读取,审批请假信息。

1.4.7 第六阶段

测试并运行:

(1)本实验为后台管理,所以没有注册功能。在上面新建数据库时,已经用SQL添加了一个超级管理员。用户名admin,密码123,先使用进行登录,如图1.2所示。

图1.2

(2)登录后将看到如下界面,如图1.3所示左边菜单有请假管理和用户管理两个部分。导航栏会显示管理员级别,修改密码和退出选项。

图1.3

(3)测试一下添加一个低一级管理员。然后让该管理员添加一个请假申请。首先点击用户管理添加用户,如图1.4所示。

图1.4

(4)测试一下添加一个低一级管理员。然后让该管理员添加一个请假申请。首先点击用户管理的添加用户,然后输入用户名为zhangsan,并重置密码,密码默认为123。这时候就出现了一个张三的管理员,如图1.5所示。

图1.5

(5)这时候点击权限管理,然后单击编辑权限,将张三的管理员权限取消。如图1.6所示,此处主要是测试权限功能是否设计成功。

图1.6

(6)然后点击退出,使用张三的账户登录,可以看到此时已经没有其他权限了,只有请假提交页面权限如图1.7所示。

图1.7

(7)提交一个请假后如图1.8所示。

图1.8

(8)退出后使用超级管理员登录,这时候可以看到请假申请如图1.9所示。至此测试完成。

图1.9

1.5 项目总结

本实验设计了简单的公司OA管理系统,通过本实验大家学习了easyui框架的一些基本控件和元素的使用。同时使用了IHttpModule接口来管理用户的权限,当用户登录时,根据用户在权限列表中所取得的权限来判断是否有访问某个页面的权限,否则将不对用户开放该内容页。