# pmms **Repository Path**: zhangzhishun/pmms ## Basic Information - **Project Name**: pmms - **Description**: Vue+MyBatis+SpringBoot党员管理系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-03-31 - **Last Updated**: 2025-02-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学生党员管理系统 ## 一、学生所有功能设计 1. 学生登录 ​ 在`LoginController`文件中实现了`/stuLogin`接口,通过向其发起POST请求,后台向数据库查询学号密码是否正确,若无误则通过session向前端返回学生名字和学生学号以及登陆成功代码200,学生名字和学号用于在右上角显示 2. 查看基本信息 ​ 在`StudentController`文件中实现了`/getPartyDuesByStuId/{StuId}`接口,通过向其发起`GET`请求查看学生的全部信息,后台从数据库查询结果,然后展示到前端界面 3. 修改密码 ​ 在`StudentController`文件中实现了`/updateStuPsw`接口,通过向其发起`POST`请求,请求参数为`stuId、prePsw、newPsw`分别为学生学号、旧密码、新密码,后台查询数据库数据进行匹配,若所有数据输入全部正确那么返回成功提示,如果原密码输入错误提示原密码错误 4. 查看党费是否缴纳 ​ 在`StudentController`文件中实现了`/getPartyDuesByStuId/{StuId}`接口,通过向其发起`GET`请求获取到学生是否缴纳党费,后台查询数据库数据,直接在前端将结果展示即可,同时展示交纳党费平台的链接 5. 党费费用说明 ​ 直接展示党费费用的文字说明 6. 查看上传的资料 ​ 在`StudentController`文件中实现了`/getPartyDuesByStuId/{StuId}`接口,通过向其发起`GET`请求查看学生的全部申请信息,后台查询数据库数据进行匹配,如果申请状态已经通过,那么附件上会显示`通过`的提示,否则显示`未通过`提示 ​ 下载上传的文件直接调用`FileDownloadController`中的接口`/download/{fileName}`实现 7. 上传资料 ​ 直接向`StudentController`中实现的接口`/updateFile`发起POST请求实现文件上传 ## 二、管理员所有功能设计 1. 管理员登录 在 `LoginController`文件中实现了`/adminLogin`接口,通过向其发起POST请求,携带参数为管理员账号和密码,后台向数据库查询管理员账号密码是否正确,若无误则通过session向前端返回管理员所有信息以及登陆成功代码200,其中管理员账号名用于前端右上角显示,管理员等级用于决定用户拥有哪些操作权限。 2. 党员管理 ​ 在`AdminController`文件中实现了`/getAllPartyByPartyBranch/{partyBranch}`接口,通过向其发起`GET`请求查看不同支部的全部学生信息,后台查询数据库数据,然后将数据展示到前端界面 3. 发展党员 3.1 修改党员信息 ​ 在`AdminController`文件中实现了`/updateStudent`接口,通过向其发起`POST`请求更新学生基本信息,传入参数为`json`形式,在后台对`json字符串`进行解析,然后将数据更新到数据库 3.2 删除党员信息 ​ 在`AdminController`文件中实现了`/delStudentByStuId/{StuId}`接口,通过向其发起`GET`请求更新删除学生基本信息,直接将数据库中的学生信息删除 3.3 添加申请人信息 ​ 在`AdminController`文件中实现了`/addStudent`接口,通过向其发起`POST`请求更新学生基本信息,传入参数为`json`形式,在后台对`json字符串`进行解析,直接将数据添加到数据库,返回插入结果 3.4 添加积极分子及以上 ​ 因为添加积极分子以及上的时候该学生信息已经在数据库有所记录,所以只需输入被添加学生的学号姓名和状态ID(包括积极分子 发展对象等) ​ 同上,在`AdminController`文件中实现了`/addApplyInfo`接口,通过向其发起`POST`请求更新学生基本信息,传入参数为`json`形式,在后台对`json字符串`进行解析,直接将数据添加到数据库,返回插入结果 3.5 上传头像 ​ 同上,在`AdminController`文件中实现了`/uploadHeadFile`接口,通过向其发起`POST`请求更新学生基本信息,传入参数为`MultipartFile`形式,在后台对`json字符串`进行解析,返回值为文件名 3.6 更新党费状态 ​ 同上,在`AdminController`文件中实现了`/updateStuPartyDues`接口,通过向其发起`POST`请求更新学生党费缴纳状态,传入参数为`json`形式,包括:`stuId、stuName、stuPartyDues`,在后台对`json字符串`进行解析,将最新结果更新到数据库,返回值为更新数据库的结果 4. 个人信息 3.1 基本信息 ​ 在`AdminController`文件中实现了`/getAdminByAdmName/{admName}`接口,通过向其发起`GET`请求查看管理员的全部信息,后台查询数据库数据,并展示到前端界面 3.2 修改密码 ​ 在`AdminController`文件中实现了`/updateAdminPsw`接口,通过向其发起`POST`请求更新管理员密码,携带参数为:`admName、admPasswordnewPsw`,后台更新数据库,返回更新结果 5. 导出数据到表格 使用了`Export2Excel.js`和`Blob.js`两个`js`文件,通过以下语句将表格数据转为`json`,然后将其转换为excel表格 ```js // filterVal为要取出的字段名称 // this.tableConfig.multipleSelection为目前选择的所有数据 以json形式存储 const data = this.formatJson(filterVal, this.tableConfig.multipleSelection); // tHeader为输出的表格表头 export_json_to_excel(tHeader, data, '学生党员列表(输出的文件名)'); ``` ## 三、前端所有功能设计 1. 前端使用饿了么的element框架实现,这是基于 Vue 2.0 的桌面端组件库 2. 将公共组件分离出来,比如界面右上角的用户ID按钮,以及将整个系统中使用的全局变量存在`bus`组件中 3. 每个界面单独编写降低耦合度