django企业内部办公系统-计算机毕业设计源码03259

目录

1 绪论

1.1 选题背景与意义

1.2国内外研究现状

1.3论文结构与章节安排

2系统分析

2.1 可行性分析

2.1.1技术可行性

2.1.2经济可行性

2.1.3操作可行性

2.1.4法律可行性

2.2 系统流程分析

2.2.1系统开发流程

2.2.2 用户登录流程

2.2.3 系统操作流程

2.2.4 添加信息流程

2.2.5 修改信息流程

2.2.6 删除信息流程

2.3 系统功能分析

2.3.1 功能性分析

2.3.2 非功能性分析

2.4 系统用例分析

2.5本章小结

3 系统总体设计

3.1 系统架构设计

3.2 系统功能模块设计

3.3 数据库设计

3.3.1 数据库概念结构设计

3.3.2 数据库逻辑结构设计

4系统关键模块设计与实现

4.1登录模块

4.2用户管理模块

4.3部门信息管理模块

4.4员工信息管理模块

4.5系统管理模块

4.6资源管理模块

4.7员工用户前台注册管理模块

4.8员工用户前台首页管理模块

4.9员工用户前台个人中心管理模块

4.10员工用户后台管理模块

4.11经理用户后台管理模块

4.12人事用户后台管理模块

5系统测试

5.1系统测试的目的

5.2 系统测试用例

5.3 系统测试结果

结论

参考文献

致  谢

摘要

随着信息技术的飞速发展,企业内部办公系统的数字化和智能化成为了提升企业竞争力的关键。本文介绍了一个基于Django框架和Vue.js技术的企业内部办公系统的设计与实现。该系统支持员工、人事、经理和管理员等多种角色,实现了任务管理、人事信息管理、审批流程和权限管理等核心功能。

在系统架构上,后端采用Django框架进行开发,利用其强大的ORM(对象关系映射)特性和丰富的第三方库,快速构建了稳定、安全的后端服务。前端则选用Vue.js作为主要的开发框架,结合Element UI等UI组件库,为用户提供了直观、易用的操作界面。前后端通过RESTful API进行通信,保证了数据的实时性和一致性。

在功能上,系统为不同角色设计了相应的权限管理模块,确保数据的安全性和系统的稳定运行。员工用户可以查看和更新自己的任务信息,人事用户则可以对员工信息进行管理和维护,经理用户可以对下属的任务进行审批和监控,而管理员则拥有最高的权限,可以对整个系统进行配置和管理。

此外,系统还实现了数据统计和分析功能,通过图表和数据报表的形式,为企业提供了决策支持。同时,系统还采用了多种安全策略,包括数据加密、用户身份认证、访问控制等,确保企业数据的安全。

通过本文的介绍,读者可以了解到基于Django和Vue.js的企业内部办公系统的设计与实现过程,为类似系统的开发提供参考和借鉴。

关键词:Django框架;Vue.js;企业内部办公系统。

Abstract

With the rapid development of information technology, the digitization and intelligence of internal office systems in enterprises have become the key to enhancing their competitiveness. This article introduces the design and implementation of an internal office system for enterprises based on the Django framework and Vue.js technology. The system supports multiple roles such as employees, personnel, managers, and administrators, and implements core functions such as task management, personnel information management, approval process, and permission management.

In terms of system architecture, the backend is developed using the Django framework, utilizing its powerful ORM (Object Relationship Mapping) feature and rich third-party libraries to quickly build stable and secure backend services. The front-end uses Vue.js as the main development framework, combined with UI component libraries such as Element UI, to provide users with an intuitive and easy-to-use operating interface. The front-end and back-end communicate through RESTful APIs, ensuring real-time and consistent data.

In terms of functionality, the system has designed corresponding permission management modules for different roles to ensure data security and stable system operation. Employee users can view and update their task information, HR users can manage and maintain employee information, manager users can approve and monitor subordinate tasks, and administrators have the highest authority to configure and manage the entire system.

In addition, the system also implements data statistics and analysis functions, providing decision-making support for enterprises through charts and data reports. At the same time, the system also adopts various security policies, including data encryption, user identity authentication, access control, etc., to ensure the security of enterprise data.

Through the introduction of this article, readers can learn about the design and implementation process of an internal office system for enterprises based on Django and Vue.js, providing reference and inspiration for the development of similar systems.

Keywords:Django framework; Vue.js; Internal office system of the enterprise.

1 绪论

1.1 选题背景与意义

随着信息技术的迅猛发展,企业内部办公系统的智能化、高效化已成为提升组织竞争力的关键。Python作为一种功能强大、易于学习的编程语言,在Web开发领域具有广泛的应用。而Django作为Python中最受欢迎的Web框架之一,以其高效的开发效率和稳健的性能得到了广大开发者的青睐。Vue.js作为前端领域的佼佼者,以其组件化的开发模式的数据绑定机制,为构建用户体验友好的前端应用提供了有力支持。

在这样的背景下,基于Django+Vue的企业内部办公系统设计与实现选题应运而生。该系统旨在整合企业内部各项业务流程,提高办公效率,降低沟通成本,并通过Django+Vue实现智能辅助决策和自动化处理。这不仅有助于企业顺应数字化转型的趋势,还能够在提高员工工作效率的同时,增强企业的核心竞争力和市场适应性。因此,该选题具有重要的现实意义和应用价值。

1.2国内外研究现状

在国内外,企业内部办公系统的设计与实现已经成为研究的热点。国内方面,随着信息化和数字化的发展,企业对于办公系统的需求日益迫切。国内研究机构和企业纷纷投入资源,设计和实现符合中国国情的办公系统。这些系统不仅提升了企业的办公效率,也推动了企业管理的现代化。在功能上,国内办公系统逐渐实现了从简单的文档管理到复杂的工作流程管理、决策支持等多元化功能。同时,随着云计算、大数据等技术的发展,国内办公系统也逐渐向云端迁移,实现了数据共享和协同办公。

在国际上,企业内部办公系统的设计与实现同样受到广泛关注。许多跨国公司和科技巨头都投入大量资源进行办公系统的研发和优化。这些系统注重用户体验和易用性,提供了丰富的功能和工具,以满足企业不同的办公需求。同时,国外办公系统也注重安全性和隐私保护,确保企业数据的安全和合规性。

总的来说,无论是国内还是国外,企业内部办公系统的设计与实现都在不断进步和完善,为企业提供了更加高效、便捷的办公方式。

1.3论文结构与章节安排

论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对系统需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:

第一章:引言。第一章主要介绍了课题研究的背景和意义,系统开发的国内外研究现状和本文的研究内容与主要工作。

第二章:系统需求分析。主要从系统的用户、功能等方面进行需求分析。

第三章:系统设计。主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:系统实现。主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试

第六章:总结。

2系统分析

系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。接下来会进行详细的介绍。

2.1 可行性分析

2.1.1技术可行性

Django 和 Vue 作为流行的 Python 开发框架,具有快速构建 Web 应用程序的能力,提供了丰富的功能和灵活的配置选项。基于 Django 和 Vue 开发企业内部办公系统,可以充分利用它们强大的功能和高效的性能,确保系统的稳定性和可扩展性。Django 提供了强大的后端支持,包括认证系统、ORM 等,而 Vue 提供了灵活的前端开发能力,实现交互性强的用户界面。此外,Django 和 Vue 均支持与多种数据库和中间件集成,方便系统的扩展和维护,为企业内部办公系统的开发提供了可靠的技术基础。

2.1.2经济可行性

企业内部办公系统可以为企业带来诸多经济效益。首先,通过数字化管理,可以减少人工成本和减少因人为错误导致的损失。其次,系统可以提高管理效率,加快办公空间自助服务等流程,从而提高企业的运营效率。最后,系统的实施还可以提升企业的形象,展示企业在信息化建设方面的成果。

2.1.3操作可行性

基于Python的企业内部办公系统可以采用直观、易用的界面设计,使得用户能够轻松上手并快速掌握系统的操作。同时,系统可以提供详细的操作指南和帮助文档,帮助用户更好地理解和使用系统。此外,系统还可以提供灵活的权限管理功能,确保不同用户只能访问其权限范围内的功能和数据,保证系统的安全性和稳定性。

2.1.4法律可行性

在设计和实现企业内部办公系统时,需要遵守相关的法律法规和行业标准,确保系统的合法性和合规性。例如,系统需要保护用户的隐私和数据安全,不得泄露用户的个人信息和敏感数据。同时,系统还需要遵守知识产权和版权等相关法律法规,确保使用的技术和资源是合法和合规的。

综上所述,基于Python的企业内部办公系统的设计与实现在技术、经济、操作和法律等方面都是可行的。通过合理的规划和实施,可以确保系统的成功实施和稳定运行,为企业带来实际的经济效益和管理效益。

2.2 系统流程分析

2.2.1系统开发流程

基于Python的企业内部办公系统开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图2-1所示。

图2-1系统开发流程图

2.2.2 用户登录流程

为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图2-2所示。

图2-2 登录流程图

2.2.3 系统操作流程

用户打开并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如图2-3所示。

图2-3 系统操作流程图

2.2.4 添加信息流程

管理员可以对办公信息等进行信息的添加,用户可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图2-4所示。

图2-4 添加信息流程图

2.2.5 修改信息流程

管理员可以对办公信息等进行的修改,用户可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图2-5所示。

图2-5 修改信息流程图

2.2.6 删除信息流程

管理员可以对办公信息等进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图2-6所示。

图2-6 删除信息流程图

2.3 系统功能分析

2.3.1 功能性分析

按照基于Python的企业内部办公系统的角色,我划分为了人事用户、经理用户、员工用户模块和管理员模块这四大部分。

  1. 员工用户前后台功能:

前台功能:

首页:在首页上,员工用户可以查看系统公告和企业资讯等重要信息。

系统公告:员工用户可以查看网站公告,及时了解公司发布的重要公告内容。

企业资讯:在企业资讯页面,员工用户可以浏览企业相关信息,进行局部搜索查找特定内容,并对喜欢的信息进行点赞、收藏和评论互动。

我的账户:进入我的账户页面,员工用户可以管理个人相关信息和设置。

个人中心:在个人中心,员工用户可以查看个人信息、修改设置,以及进行其他个性化操作。

个人首页:进入个人首页,员工用户可以快速查看个人概况和相关信息。

员工信息:员工可以查询、重置个人信息,查看详情,进行签到、请假等操作,也可通过经理姓名、员工工号和员工姓名进行搜索快速查找相关信息。

员工签到:员工可以查询、重置签到信息,添加签到记录,查看签到详情,也可通过经理姓名、员工工号和员工姓名进行搜索快速定位相关签到记录。

员工请假:员工可以查询、重置请假记录,添加请假申请,查看请假详情,也可通过经理姓名、员工工号和员工姓名、审核状态进行搜索快速查找相关请假信息。

员工工资:在员工工资页面,员工可以查询、重置工资信息,查看工资详情,也可通过经理姓名、员工工号和员工姓名进行搜索查找相关工资记录。

罚款信息:员工可以查询、重置罚款记录,查看罚款详情,也可通过经理姓名、员工工号、员工姓名进行搜索快速查找相关罚款信息。

员工任务:在员工任务页面,员工可以查看任务详情,进行任务上报操作,查询、重置任务信息,也可通过经理姓名、员工工号和员工姓名进行搜索快速定位相关任务。

任务上报:员工可以在任务上报功能中提交完成的任务报告或相关信息。

收藏:员工用户可以收藏喜欢的内容,方便以后快速查阅。

员工用户后台功能:

员工信息管理:员工用户可以查看自己的详细信息,包括工号、姓名、部门等,并进行签到操作。同时,员工可以通过自然语言搜索功能,快速定位到待审核或待回复的信息,确保工作流程的顺畅进行。

员工签到管理:员工用户可以查看自己的签到历史记录,了解签到状态。若因特殊原因未能及时签到,员工还可以进行补签操作。此外,员工还可以通过搜索功能,查询特定日期或时间段内的签到情况。

员工请假管理:员工用户可以在系统中提交请假申请,并查看申请的状态和审批进度。请假申请包括请假类型、请假时间、请假理由等信息。同时,员工还可以根据审核状态、请假时间等条件,搜索并筛选自己的请假记录。

员工工资管理:员工用户可以查看自己的工资明细,包括基本工资、奖金、扣款等项目。若对工资有疑问,员工还可以进行申诉,系统会记录申诉状态并及时给予反馈。

罚款信息管理:员工用户可以查看与自己相关的罚款信息,包括罚款原因、罚款金额、罚款时间等。员工还可以对罚款信息进行申诉,系统会记录申诉过程并给予最终处理结果。

员工任务管理:员工用户可以接收经理发布的任务,并查看任务的详细信息和进度要求。完成任务后,员工还可以进行上报操作,系统会自动记录任务的完成情况并进行审核。此外,员工还可以根据任务类型、任务状态等条件,搜索并筛选自己的任务记录。

任务上报管理:员工用户可以查看自己上报的任务的审核状态和结果。若任务被驳回,系统会显示驳回原因,员工可以根据原因进行修改并重新上报。同时,员工还可以根据任务类型、上报时间等条件,搜索并筛选自己的任务上报记录。

人事用户后台功能:

后台首页:人事用户可以使用后台管理系统,对会议通知、部门信息、员工信息、签到情况、请假申请以及工资和罚款信息进行全面管理。

会议通知管理:对于会议通知管理,人事用户能够轻松添加新的会议通知,并在列表中查看所有通知的详情。他们还可以通过部门名称或经理姓名快速搜索特定的会议通知,并具备重置和查询功能,确保信息的准确无误。

部门信息管理:在部门信息管理方面,人事用户能够录入、查询和重置部门相关信息,包括员工详情等。他们还可以根据部门名称或经理姓名进行搜索,以便快速定位并更新部门信息。

员工信息管理:对于员工信息管理,人事用户可以查看员工的详细信息,并对工资和罚款进行相应操作。查询和重置功能帮助他们快速筛选员工信息,同时,通过经理姓名、员工工号或姓名进行搜索,使信息管理更加高效。

员工签到管理:在员工签到管理方面,人事用户能够查看员工的签到情况,包括签到时间和位置等。他们还可以通过经理姓名、员工工号或姓名进行搜索,以便及时了解员工的出勤情况。

员工请假管理:对于员工请假管理,人事用户能够查看和管理员工的请假申请,包括请假类型、时间和审核状态等。他们可以通过经理姓名、员工工号、姓名或审核状态进行搜索,以便及时处理和审批请假申请。

员工工资管理:在员工工资管理方面,人事用户可以查看和管理员工的工资信息,包括基本工资、奖金和扣款等。他们可以通过经理姓名、员工工号或姓名进行搜索,确保工资发放的准确无误。

罚款信息管理:罚款信息管理,人事用户可以查看和管理员工的罚款记录,包括罚款原因、金额和日期等。他们可以通过经理姓名、员工工号或姓名进行搜索,以便及时跟进和处理罚款事宜。

经理用户功能:

会议通知管理:人事用户可以查看、搜索和重置会议通知列表,快速定位特定标题或类型的会议。同时,他们还能查看会议详情,确保所有信息准确无误。

部门信息管理:用户可以轻松管理部门信息,包括查看、搜索和重置部门列表。通过部门名称或经理姓名,他们可以快速找到并查看部门的详细信息。

员工信息管理:人事用户能够全面管理员工信息,包括查看员工详情、搜索和重置员工列表。他们还可以通过经理姓名、员工工号或姓名来定位特定员工,并上传任务文件备注任务要求,确保每位员工的工作都得到有效管理和指导。

员工签到管理:用户可以查看和搜索员工签到记录,快速了解员工的出勤情况。通过经理姓名、员工工号或姓名,他们可以轻松地定位并查看特定员工的签到详情。

员工请假管理:人事用户可以查询、重置和查看员工的请假记录。他们能够通过多种条件(如经理姓名、员工工号、姓名和审核状态)来搜索特定请假记录,并负责审核和回复员工的请假申请。

员工工资管理:用户可以查看员工工资列表和详情,通过经理姓名、员工工号或姓名来搜索特定员工的工资信息,确保每位员工的工资准确无误。

罚款信息管理:人事用户可以查看、搜索和重置罚款信息列表,快速了解员工的罚款情况。他们可以通过经理姓名、员工工号或姓名来定位特定员工的罚款记录,并进行相应处理。

员工任务管理:用户可以全面管理员工任务,包括查看任务列表、搜索和重置任务。他们还可以通过经理姓名、员工工号或姓名来定位特定员工的任务,确保每项任务都得到合理分配和有效执行。

任务上报管理:人事用户可以查看和搜索任务上报记录,快速了解员工的工作进展和完成情况。他们可以通过多种条件(如经理姓名、员工工号、姓名和审核状态)来搜索特定任务上报记录,并负责审核和回复上报的任务,确保工作的高效推进。

2. 管理员功能:

后台首页: 提供管理员登录后的管理主页,展示系统的重要信息和功能入口。

系统用户:管理员可以添加、删除、修改和查询所有用户的信息,包括经理、人事和员工用户。他们还可以为经理用户分配权限,确保系统的安全性和功能性。

会议通知管理:管理员可以发布、更新、删除和查询会议通知,确保所有相关人员都能及时收到并了解会议信息。

部门信息管理:管理员可以添加、修改、查询和删除部门信息,包括部门名称、经理姓名等。他们还可以根据部门名称或经理姓名来搜索和筛选部门信息、管理员添加部门信息开题选择经理。

员工信息管理:管理员可以全面管理员工信息,包括查询、重置、删除、查看详情等操作。他们还可以通过经理姓名、员工工号或姓名来搜索特定员工的信息,并进行相关操作,如员工签到、请假、工资和罚款的管理。

员工签到管理:管理员可以查看员工的签到列表,对签到记录进行查询和重置。通过经理姓名、员工工号或姓名,管理员能够迅速定位特定员工的签到情况。此外,管理员还有权限审核员工的签到记录,确保数据的准确性。

员工请假管理:管理员可以查看员工的请假列表,包括请假详情和状态。他们可以通过多种筛选条件,如经理姓名、员工工号或姓名,快速定位特定员工的请假记录。管理员还有能力审核和回复员工的请假申请,确保请假流程的高效运行。

员工工资管理:管理员可以浏览员工的工资列表,查询和重置工资信息。通过经理姓名、员工工号或姓名,他们可以快速查看特定员工的工资详情。这有助于管理员了解员工的薪资状况,确保工资的准确性和及时发放。

罚款信息管理:管理员可以管理员工的罚款记录,包括查看罚款列表和详情。他们可以通过经理姓名、员工工号或姓名进行搜索,快速找到相关记录。这一功能有助于管理员监控员工的罚款情况,确保罚款制度的公正执行。

员工任务管理:管理员不仅可以查看员工的任务列表,还有权限添加新任务。他们可以通过多种筛选条件,如经理姓名、员工工号或姓名,定位特定员工的任务情况。此外,管理员还能审核员工的任务上报,查看上报文件,并及时给出反馈和回复,确保任务的顺利完成。

系统管理:管理员可以管理系统的一些基本设置,如轮播图的管理,包括增删改查和查看详情等操作。

系统公告管理:管理员可以发布、更新、删除和查询系统公告,确保所有用户都能及时收到重要的系统信息。

资源管理:管理员可以全面管理企业的资讯和资源,包括资讯的增删改查、查看详情以及管理用户评论。他们还可以管理资讯的分类,进行增删改查和查看详情等操作。

2.3.2 非功能性分析

基于Python的企业内部办公系统的非功能性需求比如平台的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-7表格中:

2-7基于Python企业内部办公系统非功能需求表

安全性

主要指基于Python的企业内部办公系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指基于Python的企业内部办公系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响基于Python的企业内部办公系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着基于Python的企业内部办公系统的页面展示内容进行操作,就可以了。

可维护性

基于Python的企业内部办公系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.4 系统用例分析

通过2.3功能的分析,得出了系统的用例图:

员工用户角色用例如图2-8所示。

图2-8员工用户角色用例图

管理员是维护整个基于Python的企业内部办公系统中所有数据信息的。管理员角色用例如图2-8所示。

图2-8企业内部办公系统管理员用例图

人事用户、经理用户角色用例如图2-9所示。

图2-9企业内部办公系统人事用户、经理用户用例图

2.5本章小结

本章主要通过对基于Python的企业内部办公系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个系统要实现的功能。同时也为系统的代码实现和测试提供了标准。

3 系统总体设计

本章主要讨论的内容包括系统的功能模块设计、数据库系统设计。

3.1 系统架构设计

本系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1系统架构设计图

表现层(UI):又称UI层,主要完成本系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本系统时的舒适度。UI的界面设计也要适应不同版本的企业内部办公系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本系统的数据存储和管理功能。

3.2 系统功能模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本系统中的用例。那么接下来就要开始对本系统的架构、主要功能和数据库开始进行设计。基于Python的企业内部办公系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。

图3-2系统功能模块图

3.3 数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 数据库概念结构设计

下面是整个基于Python的企业内部办公系统中主要的数据库表总E-R实体关系图。

图3-3 基于Python的企业内部办公系统总E-R关系图

3.3.2 数据库逻辑结构设计

通过上一小节中基于Python的企业内部办公系统中总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

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表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

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表department_information (部门信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

department_information_id

int

10

0

N

Y

部门信息ID

2

department_name

varchar

64

0

Y

N

部门名称

3

department_positions

varchar

64

0

Y

N

部门岗位

4

department_responsibilities

varchar

64

0

Y

N

部门职责

5

manager_user

int

10

0

Y

N

0

经理用户

6

managers_name

varchar

64

0

Y

N

经理姓名

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_check_in (员工签到)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_check_in_id

int

10

0

N

Y

员工签到ID

2

manager_user

int

10

0

Y

N

0

经理用户

3

department_name

varchar

64

0

Y

N

部门名称

4

department_positions

varchar

64

0

Y

N

部门岗位

5

managers_name

varchar

64

0

Y

N

经理姓名

6

employee_users

int

10

0

Y

N

0

员工用户

7

employee_id

varchar

64

0

Y

N

员工工号

8

employee_name

varchar

64

0

Y

N

员工姓名

9

sign_in_time

datetime

19

0

Y

N

签到时间

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_information (员工信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_information_id

int

10

0

N

Y

员工信息ID

2

department_name

varchar

64

0

Y

N

部门名称

3

department_positions

varchar

64

0

Y

N

部门岗位

4

department_responsibilities

varchar

64

0

Y

N

部门职责

5

manager_user

int

10

0

Y

N

0

经理用户

6

managers_name

varchar

64

0

Y

N

经理姓名

7

employee_users

int

10

0

Y

N

0

员工用户

8

employee_id

varchar

64

0

Y

N

员工工号

9

employee_name

varchar

64

0

Y

N

员工姓名

10

employee_gender

varchar

64

0

Y

N

员工性别

11

employee_age

varchar

64

0

Y

N

员工年龄

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_leave (员工请假)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_leave_id

int

10

0

N

Y

员工请假ID

2

department_name

varchar

64

0

Y

N

部门名称

3

department_positions

varchar

64

0

Y

N

部门岗位

4

manager_user

int

10

0

Y

N

0

经理用户

5

managers_name

varchar

64

0

Y

N

经理姓名

6

employee_users

int

10

0

Y

N

0

员工用户

7

employee_id

varchar

64

0

Y

N

员工工号

8

employee_name

varchar

64

0

Y

N

员工姓名

9

leave_time

date

10

0

Y

N

请假时间

10

leave_duration

varchar

64

0

Y

N

请假时长

11

reason_for_leave

varchar

64

0

Y

N

请假原因

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_salaries (员工工资)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_salaries_id

int

10

0

N

Y

员工工资ID

2

department_name

varchar

64

0

Y

N

部门名称

3

department_positions

varchar

64

0

Y

N

部门岗位

4

manager_user

int

10

0

Y

N

0

经理用户

5

managers_name

varchar

64

0

Y

N

经理姓名

6

employee_users

int

10

0

Y

N

0

员工用户

7

employee_id

varchar

64

0

Y

N

员工工号

8

employee_name

varchar

64

0

Y

N

员工姓名

9

distribution_date

date

10

0

Y

N

发放日期

10

salary_amount

int

10

0

Y

N

0

工资金额

11

salary_details

varchar

64

0

Y

N

工资详情

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_tasks (员工任务)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_tasks_id

int

10

0

N

Y

员工任务ID

2

department_name

varchar

64

0

Y

N

部门名称

3

department_positions

varchar

64

0

Y

N

部门岗位

4

manager_user

int

10

0

Y

N

0

经理用户

5

managers_name

varchar

64

0

Y

N

经理姓名

6

employee_users

int

10

0

Y

N

0

员工用户

7

employee_id

varchar

64

0

Y

N

员工工号

8

employee_name

varchar

64

0

Y

N

员工姓名

9

task_type

varchar

64

0

Y

N

任务类型

10

release_time

datetime

19

0

Y

N

发布时间

11

task_file

varchar

255

0

Y

N

任务文件

12

task_requirements

text

65535

0

Y

N

任务要求

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_users (员工用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_users_id

int

10

0

N

Y

员工用户ID

2

employee_id

varchar

64

0

N

N

员工工号

3

employee_name

varchar

64

0

Y

N

员工姓名

4

employee_gender

varchar

64

0

Y

N

员工性别

5

employee_age

varchar

64

0

Y

N

员工年龄

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

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:

表manager_user (经理用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

manager_user_id

int

10

0

N

Y

经理用户ID

2

managers_name

varchar

64

0

Y

N

经理姓名

3

manager_gender

varchar

64

0

Y

N

经理性别

4

user_age

varchar

64

0

Y

N

经理年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表meeting_notice (会议通知)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

meeting_notice_id

int

10

0

N

Y

会议通知ID

2

meeting_title

varchar

64

0

Y

N

会议标题

3

meeting_type

varchar

64

0

Y

N

会议类型

4

meeting_time

datetime

19

0

Y

N

会议时间

5

attendees

varchar

64

0

Y

N

参会人员

6

meeting_content

text

65535

0

Y

N

会议内容

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表penalty_information (罚款信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

penalty_information_id

int

10

0

N

Y

罚款信息ID

2

department_name

varchar

64

0

Y

N

部门名称

3

department_positions

varchar

64

0

Y

N

部门岗位

4

manager_user

int

10

0

Y

N

0

经理用户

5

managers_name

varchar

64

0

Y

N

经理姓名

6

employee_users

int

10

0

Y

N

0

员工用户

7

employee_id

varchar

64

0

Y

N

员工工号

8

employee_name

varchar

64

0

Y

N

员工姓名

9

penalty_time

date

10

0

Y

N

罚款时间

10

penalty_amount

int

10

0

Y

N

0

罚款金额

11

reason_for_fine

varchar

64

0

Y

N

罚款原因

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表personnel_personnel (人事人员)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

personnel_personnel_id

int

10

0

N

Y

人事人员ID

2

personnel_name

varchar

64

0

Y

N

人事姓名

3

personnel_gender

varchar

64

0

Y

N

人事性别

4

personnel_age

varchar

64

0

Y

N

人事年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_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:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表task_reporting (任务上报)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

task_reporting_id

int

10

0

N

Y

任务上报ID

2

department_name

varchar

64

0

Y

N

部门名称

3

department_positions

varchar

64

0

Y

N

部门岗位

4

manager_user

int

10

0

Y

N

0

经理用户

5

managers_name

varchar

64

0

Y

N

经理姓名

6

employee_users

int

10

0

Y

N

0

员工用户

7

employee_id

varchar

64

0

Y

N

员工工号

8

employee_name

varchar

64

0

Y

N

员工姓名

9

task_type

varchar

64

0

Y

N

任务类型

10

task_requirements

text

65535

0

Y

N

任务要求

11

reporting_time

datetime

19

0

Y

N

上报时间

12

submit_documents

varchar

255

0

Y

N

上报文件

13

examine_state

varchar

16

0

N

N

未审核

审核状态

14

examine_reply

varchar

16

0

Y

N

审核回复

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

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

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表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

更新时间:

4系统关键模块设计与实现

基于Python的企业内部办公系统的详细设计与实现主要是根据前面的需求分析和总体设计来设计页面并实现业务逻辑。主要从界面实现、业务逻辑实现这两部分进行介绍。

4.1登录模块

管理员、用户在登录界面输入账号+密码,完成验证,点击“登录”按钮,系统在用户数据库表中会对管理员、用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其主界面展示如下图4.1所示。

图4.1 管理员登录界面图

登录代码如下:

def Login(self, ctx):

        print("===================登录=====================")

        ret = {

            "error": {

                "code": 70000,

                "message": "账户不存在",

            }

        }

        body = ctx.body

        password = md5hash(body["password"]) or ""

        obj = service_select("user").Get_obj(

            {"username": body["username"]}, {"like": False}

        )

        if obj:

            user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})

            if user_group and user_group['source_table'] != '':

                user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']},                                                                       {"like": False})

                if user_obj['examine_state'] == '未通过':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未通过审核",

                        }

                    }

                    return ret

                if user_obj['examine_state'] == '未审核':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未审核",

                        }

                    }

                    return ret

            if obj["state"] == 1:

                if obj["password"] == password:

                    timeout = timezone.now()

                    timestamp = int(time.mktime(timeout.timetuple())) * 1000

                    token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))

                    ctx.request.session[token] = obj["user_id"]

                    service_select("access_token").Add(

                        {"token": token, "user_id": obj["user_id"]}

                    )

                    obj["token"] = token

                    ret = {

                        "result": {"obj": obj}

                    }

                else:

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "密码错误",

                        }

                    }

            else:

                ret = {

                    "error": {

                        "code": 70000,

                        "message": "用户账户不可用,请联系管理员",

                    }

                }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

4.2用户管理模块

管理员可以添加、删除、修改和查询所有用户的信息,包括经理、人事和员工用户。他们还可以为经理用户分配权限,确保系统的安全性和功能性。界面如下图所示。

图4.2 用户管理界面图

4.3部门信息管理模块

管理员可以添加、修改、查询和删除部门信息,包括部门名称、经理姓名等。他们还可以根据部门名称或经理姓名来搜索和筛选部门信息、管理员添加部门信息开题选择经理。界面如下图所示。

图4.3部门信息管理界面图

关键代码管理代码:

WSGI_APPLICATION = "app.wsgi.application"

DATABASES = {

    "default": {

        "ENGINE": "django.db.backends.mysql",

        "NAME": "project93355",

        "USER": "root",

        "PASSWORD": "root",

        "HOST": "127.0.0.1",

        "PORT": "3306",

    }

}

4.4员工信息管理模块

管理员可以全面管理员工信息,包括查询、重置、删除、查看详情等操作。他们还可以通过经理姓名、员工工号或姓名来搜索特定员工的信息,并进行相关操作,如员工签到、请假、工资和罚款的管理。界面如下图所示。

图4.4员工信息管理界面图

4.5系统管理模块

管理员可以发布、更新、删除和查询系统公告,确保所有用户都能及时收到重要的系统信息。界面如下图所示。

图4.5系统管理支付界面图

4.6资源管理模块

管理员可以全面管理企业的资讯和资源,包括资讯的增删改查、查看详情以及管理用户评论。他们还可以管理资讯的分类,进行增删改查和查看详情等操作。界面如下图所示。

图4.6资源界面图

4.7员工用户前台注册管理模块

用户首次登录系统需要先填写个人信息进行注册,注册完成后填写账号密码,验证通过后,进行登录。界面如下图所示。

图4.7用户注册界面图

注册关键代码如下:

 def Register(self, ctx):

        print("===================注册=====================")

        userService = service_select("user")

        body = ctx.body

        if "username" not in body and body["username"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名不能为空",

                }

            }, ensure_ascii=False))

        if "user_group" not in body and body["user_group"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户组不能为空",

                }

            }, ensure_ascii=False))

        if "password" not in body and body["password"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "密码不能为空",

                }

            }, ensure_ascii=False))

        post_param = body

        post_param['nickname'] = body["nickname"] or ""

        post_param['password'] = md5hash(body["password"])

        obj = userService.Get_obj({"username": post_param['username']}, {"like": False})

        if obj:

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名已存在",

                }

            }, ensure_ascii=False))

        ret = {

            "error": {

                "code": 70000,

                "message": "注册失败",

            }

        }

        bl = userService.Add(post_param)

        if bl:

            ret = {

                "result": {

                    "bl": True,

                    "message": "注册成功"

                }

            }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

4.8员工用户前台首页管理模块

用户进入首页页面,页面上方设置导航栏,包含首页,系统公告,企业资讯等按钮,点击按钮进入相应的页面进行查看,下方设置轮播图自动播放,用户可以手动切换。轮播图下方有公告栏信息,企业资讯展示,点击信息进入页面详情。界面如下图:

图4.8用户首页界面图

4.9员工用户前台个人中心管理模块

  在个人中心,前台用户可以方便地管理自己的账户信息,包括查看和编辑个人资料,设置偏好选项以及查看与自己相关的各项操作记录。用户可以在个人中心快速导航至个人首页,查看员工信息、签到记录、请假情况、工资信息、罚款记录以及任务详情等各项重要功能模块。通过个人中心,用户可以轻松地进行各种操作和查询,实现个性化的管理和互动体验。界面如下图:

图4.9个人中心界面图

4.10员工用户后台管理模块

员工用户在后台管理系统中可以轻松进行员工信息、签到、请假、工资、罚款信息以及任务等多方面的管理操作。通过后台首页,员工用户可以快速导航至各功能模块,进行相应管理任务。在员工信息管理中,用户可以查看详细信息,执行签到、请假等操作,并进行搜索和重置操作。签到管理、请假管理、工资管理、罚款信息管理和任务管理模块提供了列表展示、查看详情、查询、重置等功能,使员工能够便捷地管理和了解相关信息。此外,员工还可以在任务管理中查看并上报经理发布的任务,同时在任务上报管理中提交任务报告并进行审核状态的查询。整体而言,员工用户通过后台管理系统可以高效管理自身信息和任务,提升工作效率和协作质量。界面如下图:

图4.10员工用户后台界面图

4.11经理用户后台管理模块

4.11.1员工信息管理模块

   人事用户能够全面管理员工信息,包括查看员工详情、搜索和重置员工列表。他们还可以通过经理姓名、员工工号或姓名来定位特定员工,并上传任务文件备注任务要求,确保每位员工的工作都得到有效管理和指导。界面如下图:

图4.11员工信息界面图

4.12人事用户后台管理模块

4.12.1员工信息管理模块

对于员工信息管理,人事用户可以查看员工的详细信息,并对工资和罚款进行相应操作。查询和重置功能帮助他们快速筛选员工信息,同时,通过经理姓名、员工工号或姓名进行搜索,使信息管理更加高效。界面如下图:

图4.12员工信息管理界面图

5系统测试

5.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、企业资讯查看功能测试、办公空间添加、办公空间搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

企业资讯查看功能测试:

表5-2企业资讯查看功能测试表

用例名称

企业资讯查看

目的

测试办公空间查看功能

前提

用户登录

测试流程

点击企业资讯列表

预期结果

可以查看到所有办公空间

实际结果

实际结果与预期结果一致

管理员添加部门信息界面测试:

表5-3 管理员添加部门信息界面测试表

用例名称

添加部门信息测试用例

目的

测试部门信息添加功能

前提

管理员正常登录情况下

测试流程

1)管理员点击部门信息管理,点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的部门信息

实际结果

实际结果与预期结果一致

搜索企业资讯功能测试:

表5-4企业资讯搜索功能测试表

用例名称

企业资讯搜索测试

目的

测试企业资讯搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的企业资讯

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写基于Python的企业内部办公系统的测试用例,已经检测完毕用户登录模块、企业资讯查看模块、部门信息添加模块、企业资讯搜索模块、密码修改功能测试,通过这5大模块为基于Python的企业内部办公系统的后期推广运营提供了强力的技术支撑。

结论

至此,基于Python的企业内部办公系统已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Python语言、django框架、vue、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。

当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。

参考文献

[1]Frąszczak D ,Frąszczak E . NetCenLib: A comprehensive python library for network centrality analysis and evaluation [J]. SoftwareX, 2024, 26 101699-.

[2]唐亮. 基于UML的企业内部办公流程计算机系统设计研究 [J]. 办公自动化, 2023, 28 (24): 1-3.

[3]郭东华,王勇,王庆,等. 智能技术在企业信息网络系统优化中的应用 [J]. 集成电路应用, 2023, 40 (12): 304-305.

[4]曹阳. 企业管理流程与OA协同办公系统的融合应用 [J]. 网络安全和信息化, 2023, (12): 82-84.

[5]Hagelin S . Shake my hand: Racial fantasies, white saviors, and Django Unchained's haunted screen [J]. The Journal of Popular Culture, 2023, 56 (5-6): 781-796.

[6]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.

[7]徐雪梅. 中小企业办公综合管理系统设计与实现 [J]. 电脑编程技巧与维护, 2023, (04): 109-111+134.

[8]刘勇. 基于大数据的煤矿企业办公信息系统的升级改造 [J]. 现代工业经济和信息化, 2023, 13 (01): 56-57.

[9]王一行. 企业网上办公自动化系统的设计与实现 [J]. 华东科技, 2022, (06): 89-91.

[10]祝涯. 企业内部办公自动化系统的设计与实现[D]. 电子科技大学, 2021.

[11]丁黎明. 论计算机软件在企业办公自动化管理中的有效运用 [J]. 中小企业管理与科技(下旬刊), 2020, (12): 25-26.

[12]石婷婷. 基于B/S模式的企业办公管理系统的设计与实现[D]. 南昌大学, 2016.·[13]鄢凯. 计算机软件在企业办公自动化管理中的应用 [J]. 中国新通信, 2016, 18 (16): 124.

[14]许颖. 基于PHP的信息管理系统的设计与实现[D]. 吉林大学, 2016.

[15]张朝威. 基于企业内部沟通的V企业OA系统优化研究[D]. 北京交通大学, 2015.

[16]刘微. 基于J2EE的办公管理信息系统研究 [J]. 电子技术与软件工程, 2015, (02): 78.

[17]陈培诚. 企业内部办公系统的集团化改造设计与实现[D]. 吉林大学, 2014.

[18]程宪宝. 基于JSP的企业办公管理系统开发与设计 [J]. 硅谷, 2012, (08): 75-76.

[19]吕洪林. 基于ASP.NET技术企业内部办公事务管理系统的开发 [J]. 内江科技, 2012, 33 (02): 87-88.

[20]赵媛媛. 企业内部网络办公系统设计与实现[D]. 华东师范大学, 2011.    

 

转眼间,大管理员活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?

感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。

少年,追风赶月莫停留,平荒尽处是春山。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值