0 项目说明
企业员工绩效考评APP的设计与实现
提示:适合用于课程设计或毕业设计,工作量达标,源码开放
1 需求分析
系统主要完成的工作包括:针对员工提交的日常工作,做出公平公正的全方位考核;根据具体考核分值,按照设定的绩效考核奖惩办法,给予工作相应奖励或惩罚。
主要功能模块如下(这里提供思路,可自行扩展):
1、普通员工操作模块需要以下功能:
- 工作日志的管理;个人信息维护;企业通讯录;企业公告。
2、主管操作模块需要以下功能:
- 员工工作日志管理;个人信息维护;
- 绩效评分管理:
对直属部门下每个员工所负责的任务进行绩效评定(打分) - 员工绩效管理
管理员工的绩效分数
3、系统管理员操作模块需要以下功能:
- 部门管理;企业公告管理;
- 考核项目维护、评分标准维护:
crud项目和项目的任务,设定任务权重和评分标准等 - 绩效评分管理:
对全公司员工所负责的任务进行绩效评定(打分) - 个人信息维护;系统管理,包括角色管理、用户管理、权限管理、控制面板等功能。
4、能够配置不同评分标准来进行绩效考评。
5、能够根据条件统计,绘制统计图:员工考评评分结果统计,可分别按绩效考评项、员工、时间段进行统计。
2 技术选型
本项目是java语言的前后端分离的webapp:
- 前端:html+mui+jquery,HBuilder开发,nginx部署
- 后端:jdk8+springboot+mybatisPlus,idea开发,tomcat部署
- 由于前后端分开开发,会产生跨域问题,故开发中用nginx做代理服务器
3 数据库设计
1、user(用户表)
- 字段:自增user_id, emp_id(外键关联employee表), password,role(0管理员,1部门主管,2普通员工), last_login_time, isActive(0失效,1生效)
2、department(部门表)
- 字段:自增dpart_id, dpart_name
3、employee(员工表)
- 字段:自增id,emp_id,emp_name, dpart_id(外键关联department), status(0离职,1在职)
4、daily_log(工作日志表)
- 字段:自增id, emp_id(外键关联employee), content, create_time, last_upd_time,
status(0未审阅,1已审阅)
5、project(项目表)
- 字段:自增prj_id, create_time, finish_time, prj_desc(项目描述),status(0未开始,1进行中,2已完成,3已作废)
6、prj_task(项目任务表)
- 字段:自增task_id, prj_id(外键关联project), weight, create_time, finish_time,task_desc(任务描述), score_desc(评分标准说明), status(0未开始,1进行中,2已完成,3已作废)
7、task_eva(任务绩效表)
- 字段:自增eva_id, emp_id(外键关联employee), create_time, finish_time,last_upd_time, score, status(0未开始,1进行中,2已完成,3已作废)
8、notice(公告表)
- 字段:自增nt_id, title, content, create_time
9、login
- 字段:自增id, user_id(外键关联user表), login_time
4 项目源码
{
"@platforms": ["android", "iPhone", "iPad"],
"id" : "H5A02F831",/*应用的标识,创建应用时自动生成,勿手动修改*/
"name" : "Epes",/*应用名称,程序桌面图标名称*/
"version": {
"name": "1.0.0",/*应用版本名称*/
"code": "83"
},
"description": "",/*应用描述信息*/
"icons": {
"72": "icon.png"
},
"launch_path": "index.html",/*应用的入口页面,默认为根目录下的index.html;支持网络地址,必须以http://或https://开头*/
"developer": {
"name": "",/*开发者名称*/
"email": "",/*开发者邮箱地址*/
},
"permissions": {
"Cache": {
"description": "管理应用缓存"
},
"Console": {
"description": "跟踪调试输出日志"
},
"Contacts": {
"description": "访问系统联系人信息"
},
"Events": {
"description": "应用扩展事件"
},
"Messaging": {
"description": "访问通讯能力"
},
"Maps": {
"description": "管理地图插件"
},
"Speech": {
"description": "管理语音识别插件"
}
},
"plus": {
"splashscreen": {
"autoclose": true,/*是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭*/
"waiting": true
},
"runmode": "liberate",/*应用的首次启动运行模式,可取liberate或normal,liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)*/
"signature": "Sk9JTiBVUyBtYWlsdG86aHIyMDEzQGRjbG91ZC5pbw==",/*可选,保留给应用签名,暂不使用*/
"distribute": {
"apple": {
"appid": "",/*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
"mobileprovision": "",/*iOS应用打包配置文件*/
"password": "",/*iOS应用打包个人证书导入密码*/
"p12": "",/*iOS应用打包个人证书,打包配置文件关联的个人证书*/
"devices": "universal",/*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
"frameworks": []
},
"google": {
"packagename": "",/*Android应用包名,如io.dcloud.HelloH5*/
"keystore": "",/*Android应用打包使用的密钥库文件*/
"password": "",/*Android应用打包使用密钥库中证书的密码*/
"aliasname": "",/*Android应用打包使用密钥库中证书的别名*/
"permissions": ["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"com.android.launcher.permission.UNINSTALL_SHORTCUT\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>","<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>","<uses-permission android:name=\"com.android.launcher.permission.INSTALL_SHORTCUT\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.CALL_PHONE\"/>","<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"]
},
"orientation": ["portrait-primary", "portrait-secondary"],/*应用支持的方向,portrait-primary:竖屏正方向;portrait-secondary:竖屏反方向;landscape-primary:横屏正方向;landscape-secondary:横屏反方向*/
"icons": {
"ios": {
"prerendered": true, /*应用图标是否已经高亮处理,在iOS6及以下设备上有效*/
"auto": "", /*应用图标,分辨率:512x512,用于自动生成各种尺寸程序图标*/
"iphone": {
"normal": "",/*iPhone普通屏幕程序图标,分辨率:57x57*/
"retina": "",/*iPhone高分屏程序图标,分辨率:114x114*/
"retina7": "",/*iPhone iOS7高分屏程序图标,分辨率:120x120*/
"spotlight-normal": "", /*iPhone Spotlight搜索程序图标,分辨率:29x29*/
"spotlight-retina": "", /*iPhone高分屏Spotlight搜索程序图标,分辨率:58x58*/
"spotlight-retina7": "",/*iPhone iOS7高分屏Spotlight搜索程序图标,分辨率:80x80*/
"settings-normal": "", /*iPhone设置页面程序图标,分辨率:29x29*/
"settings-retina": ""
},
"ipad": {
"normal": "", /*iPad普通屏幕程序图标,分辨率:72x72*/
"retina": "", /*iPad高分屏程序图标,分辨率:144x144*/
"normal7": "", /*iPad iOS7程序图标,分辨率:76x76*/
"retina7": "", /*iPad iOS7高分屏程序图标,分辨率:152x152*/
"spotlight-normal": "", /*iPad Spotlight搜索程序图标,分辨率:50x50*/
"spotlight-retina": "", /*iPad高分屏Spotlight搜索程序图标,分辨率:100x100*/
"spotlight-normal7": "",/*iPad iOS7 Spotlight搜索程序图标,分辨率:40x40*/
"spotlight-retina7": "",/*iPad iOS7高分屏Spotlight搜索程序图标,分辨率:80x80*/
"settings-normal": "",/*iPad设置页面程序图标,分辨率:29x29*/
"settings-retina": ""
}
},
"android": {
"mdpi": "", /*普通屏程序图标,分辨率:48x48*/
"ldpi": "", /*大屏程序图标,分辨率:48x48*/
"hdpi": "", /*高分屏程序图标,分辨率:72x72*/
"xhdpi": "",/*720P高分屏程序图标,分辨率:96x96*/
"xxhdpi": ""
}
},
"splashscreen": {
"ios": {
"iphone": {
"default": "", /*iPhone3启动图片选,分辨率:320x480*/
"retina35": "",/*3.5英寸设备(iPhone4)启动图片,分辨率:640x960*/
"retina40": ""
},
"ipad": {
"portrait": "", /*iPad竖屏启动图片,分辨率:768x1004*/
"portrait-retina": "",/*iPad高分屏竖屏图片,分辨率:1536x2008*/
"landscape": "", /*iPad横屏启动图片,分辨率:1024x748*/
"landscape-retina": "", /*iPad高分屏横屏启动图片,分辨率:2048x1496*/
"portrait7": "", /*iPad iOS7竖屏启动图片,分辨率:768x1024*/
"portrait-retina7": "",/*iPad iOS7高分屏竖屏图片,分辨率:1536x2048*/
"landscape7": "", /*iPad iOS7横屏启动图片,分辨率:1024x768*/
"landscape-retina7": ""
}
},
"android": {
"mdpi": "", /*普通屏启动图片,分辨率:240x282*/
"ldpi": "", /*大屏启动图片,分辨率:320x442*/
"hdpi": "", /*高分屏启动图片,分辨率:480x762*/
"xhdpi": "", /*720P高分屏启动图片,分辨率:720x1242*/
"xxhdpi": ""
}
}
}
}
}
5 最后
**项目分享: ** https://gitee.com/asoonis/htw