# working **Repository Path**: dont-remember/working ## Basic Information - **Project Name**: working - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-23 - **Last Updated**: 2024-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1.登录界面 ![image-20241229213329272](.\markdown\Snipaste_2024-12-29_21-34-16.png) 本系统使用了自定拦截器、redis、axios请求头实现了登录状态记录,具体流程如下 1. 输入正确的账号密码,后端验证通过,生成token,将该token存入redis中,有效期两个小时,随后将该token返回至前端。 2. 前端获取到token,将该token存入浏览器缓存中,在需要token的请求前为axios请求头中加入token作为参数。 3. 后端使用自定义注解,在需要token的方法上写入@TOKEN来实现拦截,验证请求头中是否携带token并且该token在redis中是否存在,如果存在则将有效期重置为2小时。(保活机制) # 2.用户信息界面 ![Snipaste_2024-12-29_21-35-03](.\markdown\Snipaste_2024-12-29_21-35-03.png) ## 2.1用户考勤信息 ![Snipaste_2024-12-29_21-36-07](.\markdown\Snipaste_2024-12-29_21-36-07.png) ### 2.1.1打卡功能 具体步骤如下: 1. 获取当前日期(格式为 `yyyy-MM-dd`)。 2. 判断当前时间是否早于中午12点,若是则打卡类型为 `checkIn`,否则为 `checkOut`。 3. 查询该员工当天是否已有考勤记录。 4. 如果没有考勤记录,则创建新的考勤记录: - 设置员工ID和日期。 - 设置 `checkIn` 时间为当前时间。 - 如果当前时间晚于规定的最晚打卡时间,则将状态设为“迟到”;如果是 `checkOut`,则状态设为“缺勤”;否则状态为“正常”。 - 保存考勤记录。 5. 如果已有考勤记录: - 如果当前时间仍为上午,则不做任何操作。 - 如果是下午,则更新 - 如果当前时间早于规定的最早下班时间,则将状态设为“早退”;如果状态为“早退”且当前时间正常,则将状态改为“正常”。 - 更新考勤记录。 ### 2.1.2导出考勤信息 点击导出后会使用浏览器下载将其下载到默认目录,下载的文件示例如下: ![Snipaste_2024-12-29_21-43-09](.\markdown\Snipaste_2024-12-29_21-43-09.png) # 3.员工管理页面 ![Snipaste_2024-12-29_21-44-15](.\markdown\Snipaste_2024-12-29_21-44-15.png) 在员工详情中点击“员工管理”后可进入该页面,进入该页面有如下判断条件: 1. 等级高于3才会显示“员工管理”按钮 2. 仅会显示等级低于或等于自己的员工 点击导出会导出所有员工的信息,如下图所示 ![Snipaste_2024-12-29_22-29-14](.\markdown\Snipaste_2024-12-29_22-29-14.png) 点击导入会触发浏览器的文件上传,上传员工文件后会批量导入员工,导入的文件有一定限制,需要有匹配的标头和统一的数据格式,示例如下: ![Snipaste_2024-12-29_22-30-42](.\markdown\Snipaste_2024-12-29_22-30-42.png) ## 3.1其他员工的详细信息 ![Snipaste_2024-12-29_21-46-16](.\markdown\Snipaste_2024-12-29_21-46-16.png) 点击操作区的"详情"后可以以弹窗形式查看该员工的详细信息,所有信息均为“只读”,不可编辑。 ## 3.2员工考勤 ![Snipaste_2024-12-29_21-47-43](.\markdown\Snipaste_2024-12-29_21-47-43.png) 点击操作区的“考勤”按钮后会显示该员工的考勤信息,而当该员工和自己处于同一部门且等级低于当前登录员工时才会显示“编辑”按钮,点击可以编辑此条考勤信息。 ![Snipaste_2024-12-29_21-49-00](.\markdown\Snipaste_2024-12-29_21-49-00.png)