Forráskód Böngészése

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

Min 11 hónapja
szülő
commit
fbbfbb1aa3

+ 1 - 0
fhKeeper/formulahousekeeper/customerBuler-crm/src/main.ts

@@ -31,6 +31,7 @@ app.config.globalProperties.$echarts = echarts;
 app
 app
   .use(ElementPlus, {
   .use(ElementPlus, {
     locale: zhCn,
     locale: zhCn,
+    zIndex: 1500,
   })
   })
   .use(createPinia())
   .use(createPinia())
   .use(router)
   .use(router)

+ 0 - 3
fhKeeper/formulahousekeeper/customerBuler-crm/src/utils/customInstructions.ts

@@ -16,9 +16,6 @@ const PermissionDirective: Directive = {
         if (!permissions.every(permission => authorityCodes.includes(permission))) {
         if (!permissions.every(permission => authorityCodes.includes(permission))) {
             el.parentNode && el.parentNode.removeChild(el);
             el.parentNode && el.parentNode.removeChild(el);
         }
         }
-
-        console.log(extractPath(routePath), authorityCodes);
-        console.log(permissions, !permissions.every(permission => authorityCodes.includes(permission)))
     }
     }
 };
 };
 
 

+ 22 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -1460,8 +1460,17 @@ public class ReportController {
                     report.setProjectAuditState(0);
                     report.setProjectAuditState(0);
                     Department department = departmentMapper.selectById(user.getDepartmentId());
                     Department department = departmentMapper.selectById(user.getDepartmentId());
                     if (department != null) {
                     if (department != null) {
-                        report.setAuditDeptid(department.getDepartmentId());
-                        report.setAuditDeptManagerid(department.getManagerId());
+                        if (user.getId().equals(department.getManagerId())) {
+                            //自己就是当前部门的负责人,让上级部门负责人审核
+                            Department parentDept = departmentMapper.selectById(department.getSuperiorId());
+                            if (parentDept != null) {
+                                report.setAuditDeptid(parentDept.getDepartmentId());
+                                report.setAuditDeptManagerid(parentDept.getManagerId());
+                            }
+                        } else {
+                            report.setAuditDeptid(department.getDepartmentId());
+                            report.setAuditDeptManagerid(department.getManagerId());
+                        }
                     }
                     }
                 }
                 }
             } else {
             } else {
@@ -1472,8 +1481,17 @@ public class ReportController {
                     User targetUser = targetUserList.stream().filter(t -> t.getId().equals(report.getCreatorId())).findFirst().get();
                     User targetUser = targetUserList.stream().filter(t -> t.getId().equals(report.getCreatorId())).findFirst().get();
                     Department department = departmentMapper.selectById(targetUser.getDepartmentId());
                     Department department = departmentMapper.selectById(targetUser.getDepartmentId());
                     if (department != null) {
                     if (department != null) {
-                        report.setAuditDeptid(department.getDepartmentId());
-                        report.setAuditDeptManagerid(department.getManagerId());
+                        if (targetUser.getId().equals(department.getManagerId())) {
+                            //自己就是当前部门的负责人,让上级部门负责人审核
+                            Department parentDept = departmentMapper.selectById(department.getSuperiorId());
+                            if (parentDept != null) {
+                                report.setAuditDeptid(parentDept.getDepartmentId());
+                                report.setAuditDeptManagerid(parentDept.getManagerId());
+                            }
+                        } else {
+                            report.setAuditDeptid(department.getDepartmentId());
+                            report.setAuditDeptManagerid(department.getManagerId());
+                        }
                     }
                     }
                 }
                 }
             }
             }

+ 86 - 21
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -2226,7 +2226,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         if (r.getDepartmentAuditState() == 0 && user.getId().equals(r.getAuditDeptManagerid())) {
                         if (r.getDepartmentAuditState() == 0 && user.getId().equals(r.getAuditDeptManagerid())) {
                             newReport.setDepartmentAuditState(1);
                             newReport.setDepartmentAuditState(1);
                             r.setDepartmentAuditState(1);
                             r.setDepartmentAuditState(1);
-                        } else if (r.getProjectAuditState() == 0 && user.getId().equals(r.getProjectAuditorId())) {
+                        }
+                        if (r.getProjectAuditState() == 0 && user.getId().equals(r.getProjectAuditorId())) {
                             newReport.setProjectAuditState(1);
                             newReport.setProjectAuditState(1);
                             newReport.setProjectAuditTime(LocalDateTime.now());
                             newReport.setProjectAuditTime(LocalDateTime.now());
                             r.setProjectAuditState(1);
                             r.setProjectAuditState(1);
@@ -3493,7 +3494,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         if (r.getDepartmentAuditState() == 0 && user.getId().equals(r.getAuditDeptManagerid())) {
                         if (r.getDepartmentAuditState() == 0 && user.getId().equals(r.getAuditDeptManagerid())) {
                             newReport.setDepartmentAuditState(1);
                             newReport.setDepartmentAuditState(1);
                             r.setDepartmentAuditState(1);
                             r.setDepartmentAuditState(1);
-                        } else if (r.getProjectAuditState() == 0 && user.getId().equals(r.getProjectAuditorId())) {
+                        }
+                        if (r.getProjectAuditState() == 0 && user.getId().equals(r.getProjectAuditorId())) {
                             newReport.setProjectAuditState(1);
                             newReport.setProjectAuditState(1);
                             newReport.setProjectAuditTime(LocalDateTime.now());
                             newReport.setProjectAuditTime(LocalDateTime.now());
                             r.setProjectAuditState(1);
                             r.setProjectAuditState(1);
@@ -4077,7 +4079,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     public HttpRespMsg getReportFillStatus(String startDate, String endDate, String userId, HttpServletRequest request)throws Exception {
     public HttpRespMsg getReportFillStatus(String startDate, String endDate, String userId, HttpServletRequest request)throws Exception {
         HttpRespMsg msg = new HttpRespMsg();
         HttpRespMsg msg = new HttpRespMsg();
         User user = userMapper.selectById(request.getHeader("token"));
         User user = userMapper.selectById(request.getHeader("token"));
-        DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getCompanyId, user.getCompanyId()));
         List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getCompanyId, user.getCompanyId()));
         List<UserCustom> userCustomList = userCustomMapper.selectList(new LambdaQueryWrapper<UserCustom>().eq(UserCustom::getCompanyId, user.getCompanyId()));
         List<UserCustom> userCustomList = userCustomMapper.selectList(new LambdaQueryWrapper<UserCustom>().eq(UserCustom::getCompanyId, user.getCompanyId()));
         List<UserFvTime> userFvTimeList = userFvTimeMapper.selectList(new LambdaQueryWrapper<UserFvTime>().between(UserFvTime::getWorkDate, startDate, endDate));
         List<UserFvTime> userFvTimeList = userFvTimeMapper.selectList(new LambdaQueryWrapper<UserFvTime>().between(UserFvTime::getWorkDate, startDate, endDate));
@@ -4113,6 +4115,38 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     }
                     }
                 }
                 }
             }
             }
+        } else if (user.getReportStatus() == 0){
+            //获取企业微信,钉钉的考勤
+            WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new LambdaQueryWrapper<WxCorpInfo>().eq(WxCorpInfo::getCompanyId, user.getCompanyId()));
+            if (wxCorpInfo != null) {
+                TimeType timeType = timeTypeMapper.selectById(user.getCompanyId());
+                if (timeType.getSyncCorpwxTime() == 1) {
+                    //企业微信考勤
+                    List<UserCorpwxTime> corpwxTimeList = userCorpwxTimeMapper.selectList(new LambdaQueryWrapper<UserCorpwxTime>().between(UserCorpwxTime::getCreateDate, startDate, endDate).eq(UserCorpwxTime::getCorpwxUserid, user.getCorpwxUserid()));
+                    //遍历corpwxTimeList,在reportFillStatus中找到对应的日期的工时
+                    for (UserCorpwxTime time : corpwxTimeList) {
+                        boolean find = false;
+                        if (time.getWorkHours() > 0) {
+                            String cDate = time.getCreateDate().format(df);
+                            for (Map<String, Object> map : reportFillStatus) {
+                                if (cDate.equals(String.valueOf(map.get("createDate")))) {
+                                    find = true;
+                                    break;
+                                }
+                            }
+                            if (!find) {
+                                //没有找到,添加到reportFillStatus
+                                Map<String, Object> map = new HashMap<>();
+                                map.put("createDate", cDate);
+                                map.put("workingTime", 0);
+                                map.put("missReport", 1);
+                                reportFillStatus.add(map);
+                            }
+                        }
+
+                    }
+                }
+            }
         }
         }
         msg.data =reportFillStatus;
         msg.data =reportFillStatus;
         return msg;
         return msg;
@@ -4403,7 +4437,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         }
         }
         List<UserMonthWork> userMonthWorks = new ArrayList<UserMonthWork>();
         List<UserMonthWork> userMonthWorks = new ArrayList<UserMonthWork>();
         //获取所有同步的企业微信数据
         //获取所有同步的企业微信数据
-        List<Map> userCorpwxTimeMapList = userCorpwxTimeMapper.selectByAsk(companyId,startDate,endDate);
+//        List<Map> userCorpwxTimeMapList = userCorpwxTimeMapper.selectByAsk(companyId,startDate,endDate);
+        List<UserCorpwxTime> userCorpwxTimeList = userCorpwxTimeMapper.selectList(new QueryWrapper<UserCorpwxTime>().between("create_date", LocalDate.parse(startDate, df), LocalDate.parse(endDate, df)).eq("corpwx_userid", user.getCorpwxUserid()));
         String lastUserId = null;
         String lastUserId = null;
         UserMonthWork lastUserData = null;
         UserMonthWork lastUserData = null;
         for (Map<String, Object> data : list) {
         for (Map<String, Object> data : list) {
@@ -4477,31 +4512,61 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         for (UserMonthWork userMonthWork : userMonthWorks) {
         for (UserMonthWork userMonthWork : userMonthWorks) {
             List<Map<String, Object>> worktimeList = userMonthWork.worktimeList;
             List<Map<String, Object>> worktimeList = userMonthWork.worktimeList;
             //获取到该员工请假的数据
             //获取到该员工请假的数据
-            List<Map<String, Object>> curUserCorpTime = new ArrayList<>();
-            for (Map<String, Object> corpWx : userCorpwxTimeMapList) {
-                if (((String)corpWx.get("corpwx_userid")).equals(userMonthWork.corpwxUserId)) {
-                    curUserCorpTime.add(corpWx);
-                }
-            }
+            List<UserCorpwxTime> curUserCorpTime = userCorpwxTimeList.stream().filter(s->s.getCorpwxUserid().equals(userMonthWork.corpwxUserId)).collect(Collectors.toList());
+//            for (Map<String, Object> corpWx : userCorpwxTimeMapList) {
+//                if (((String)corpWx.get("corpwx_userid")).equals(userMonthWork.corpwxUserId)) {
+//                    curUserCorpTime.add(corpWx);
+//                }
+//            }
 
 
             //处理企业微信的请假数据
             //处理企业微信的请假数据
+//            curUserCorpTime.forEach(corpTime->{
+//                java.sql.Date leaveDate = (java.sql.Date)corpTime.get("create_date");
+//                String leaveDateStr = sdf.format(leaveDate);
+//                Optional<Map<String, Object>> find = worktimeList.stream().filter(w->((String)w.get("createDate")).equals(leaveDateStr)).findFirst();
+//                if (find.isPresent()) {
+//                    //打卡的有记录,加上请假
+//                    String newStr = (double)find.get().get("workingTime")+"("+MessageUtils.message("leave.leave")+(corpTime.get("ask_leave_time"))+"h)";
+//                    find.get().put("workingTime", newStr);
+//                } else {
+//                    //没有对应的打卡记录,直接加上当天请假
+//                    Map<String, Object> leaveMap = new HashMap<>();
+//                    leaveMap.put("createDate", leaveDateStr);
+//                    //leaveMap.put("workingTime", "当天请假"+corpTime.get("ask_leave_time")+"h");
+//                    leaveMap.put("workingTime", MessageUtils.message("leave.leaveOfDay")+corpTime.get("ask_leave_time")+"h");
+//                    worktimeList.add(leaveMap);
+//                }
+//            });
             curUserCorpTime.forEach(corpTime->{
             curUserCorpTime.forEach(corpTime->{
-                java.sql.Date leaveDate = (java.sql.Date)corpTime.get("create_date");
-                String leaveDateStr = sdf.format(leaveDate);
-                Optional<Map<String, Object>> find = worktimeList.stream().filter(w->((String)w.get("createDate")).equals(leaveDateStr)).findFirst();
+                LocalDate wDate = corpTime.getCreateDate();
+                String curWDateStr = df.format(wDate);
+                double askLeaveTime = corpTime.getAskLeaveTime();
+//                String leaveDateStr = sdf.format(leaveDate);
+                Optional<Map<String, Object>> find = worktimeList.stream().filter(w->((String)w.get("createDate")).equals(curWDateStr)).findFirst();
                 if (find.isPresent()) {
                 if (find.isPresent()) {
-                    //打卡的有记录,加上请假
-                    String newStr = (double)find.get().get("workingTime")+"("+MessageUtils.message("leave.leave")+(corpTime.get("ask_leave_time"))+"h)";
-                    find.get().put("workingTime", newStr);
+                    //打卡的有记录,如果有请假,加上请假
+                    if (askLeaveTime > 0) {
+                        String newStr = (double)find.get().get("workingTime")+"("+MessageUtils.message("leave.leave")+(corpTime.getAskLeaveTime())+"h)";
+                        find.get().put("workingTime", newStr);
+                    }
                 } else {
                 } else {
                     //没有对应的打卡记录,直接加上当天请假
                     //没有对应的打卡记录,直接加上当天请假
-                    Map<String, Object> leaveMap = new HashMap<>();
-                    leaveMap.put("createDate", leaveDateStr);
-                    //leaveMap.put("workingTime", "当天请假"+corpTime.get("ask_leave_time")+"h");
-                    leaveMap.put("workingTime", MessageUtils.message("leave.leaveOfDay")+corpTime.get("ask_leave_time")+"h");
-                    worktimeList.add(leaveMap);
+                    if (askLeaveTime > 0) {
+                        Map<String, Object> leaveMap = new HashMap<>();
+                        leaveMap.put("createDate", curWDateStr);
+                        leaveMap.put("workingTime", MessageUtils.message("leave.leaveOfDay")+corpTime.getAskLeaveTime()+"h");
+                        worktimeList.add(leaveMap);
+                    } else {
+                        Map<String, Object> leaveMap = new HashMap<>();
+                        leaveMap.put("createDate", curWDateStr);
+                        leaveMap.put("workingTime", "漏填");
+                        leaveMap.put("missReport", 1);
+                        worktimeList.add(leaveMap);
+                    }
+
                 }
                 }
             });
             });
+
             //钉钉请假的数据
             //钉钉请假的数据
             if ((timeType.getSyncDingding() == 1 || timeType.getSyncFanwei()==1 || company.getPackageOa() == 1)&& leaveSheets != null && leaveSheets.size() > 0) {
             if ((timeType.getSyncDingding() == 1 || timeType.getSyncFanwei()==1 || company.getPackageOa() == 1)&& leaveSheets != null && leaveSheets.size() > 0) {
                 List<LeaveSheet> curUserLeaveList = leaveSheets.stream().filter(leave -> leave.getOwnerId().equals(userMonthWork.userId)).collect(Collectors.toList());
                 List<LeaveSheet> curUserLeaveList = leaveSheets.stream().filter(leave -> leave.getOwnerId().equals(userMonthWork.userId)).collect(Collectors.toList());

+ 21 - 16
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -14,7 +14,9 @@
                             <span v-for="(item,index) in allDate" :id="'day'+index" class="date_item"
                             <span v-for="(item,index) in allDate" :id="'day'+index" class="date_item"
                             @click="choseDate(index, item)" :key="index" :style="'padding:0 6px;display: inline-block;width: 55px;text-align: center;' + (canClick(index,item) == false && user.timeType.fillAhead == 0 ? 'color:#c0c0c0;cursor:not-allowed;' : '') ">
                             @click="choseDate(index, item)" :key="index" :style="'padding:0 6px;display: inline-block;width: 55px;text-align: center;' + (canClick(index,item) == false && user.timeType.fillAhead == 0 ? 'color:#c0c0c0;cursor:not-allowed;' : '') ">
                             <div :style="'display:inline-block;text-align: center;'+(item.state == null?'':'')" >
                             <div :style="'display:inline-block;text-align: center;'+(item.state == null?'':'')" >
-                                <div style="text-align:center;"><span :class="statusStyle[item.state]">{{item.showDate}}</span>
+                                <div style="text-align:center;">
+                                    <span v-if="item.missReport" class="RejectStyle">{{item.showDate}}</span>
+                                    <span v-else :class="statusStyle[item.state]">{{item.showDate}}</span>
                                 <br>
                                 <br>
                                 <span style="font-size:10px;text-align:center;color:#999;">{{item.weekDay}}</span>
                                 <span style="font-size:10px;text-align:center;color:#999;">{{item.weekDay}}</span>
                                 <span class="chooseDate" v-if="index == choseDay"></span>
                                 <span class="chooseDate" v-if="index == choseDay"></span>
@@ -22,6 +24,9 @@
                                 <el-tooltip v-if="user.companyId == 5978 && item.exceedCardTime == 1" effect="dark" content="填报时长异常" placement="top-start">
                                 <el-tooltip v-if="user.companyId == 5978 && item.exceedCardTime == 1" effect="dark" content="填报时长异常" placement="top-start">
                                 <i class="el-icon-warning" style="color:red;"></i>
                                 <i class="el-icon-warning" style="color:red;"></i>
                                 </el-tooltip>
                                 </el-tooltip>
+                                <el-tooltip v-if="item.missReport" effect="dark" content="漏填" placement="top-start">
+                                <i class="el-icon-warning" style="color:red;"></i>
+                                </el-tooltip>
                                 </div>
                                 </div>
                             </div>
                             </div>
                             </span>
                             </span>
@@ -1449,7 +1454,7 @@
             <div style="float: left; height:32px; padding-top:10px;">
             <div style="float: left; height:32px; padding-top:10px;">
               <span style="width:20px;height:20px;background-color: orange;padding:5px 8px;">待审核</span>
               <span style="width:20px;height:20px;background-color: orange;padding:5px 8px;">待审核</span>
               <span style="width:20px;height:20px;background-color: #32CD32;padding:5px 8px;margin-left:10px;">已通过</span>
               <span style="width:20px;height:20px;background-color: #32CD32;padding:5px 8px;margin-left:10px;">已通过</span>
-              <span style="width:20px;height:20px;background-color: red;padding:5px 8px;margin-left:10px;">已驳回</span>
+              <span style="width:20px;height:20px;background-color: red;padding:5px 8px;margin-left:10px;">已驳回/漏填</span>
               <span style="width:20px;height:20px;background-color: #E0E0E0;padding:5px 8px;margin-left:10px;">未提交</span>
               <span style="width:20px;height:20px;background-color: #E0E0E0;padding:5px 8px;margin-left:10px;">未提交</span>
             </div>
             </div>
             <div style="float: right; vertical-align: middle;height:32px">
             <div style="float: right; vertical-align: middle;height:32px">
@@ -2592,23 +2597,22 @@
                     const times = this.reportTimeType.allday
                     const times = this.reportTimeType.allday
                     const filterData = worktimeList.filter(item => item.createDate == dateSingle)
                     const filterData = worktimeList.filter(item => item.createDate == dateSingle)
 
 
-                    const isWorkDate = filterData[0] && filterData[0].workingTime
+                    const isWorkDate = filterData[0] && filterData[0].workingTime;
+                    const missReport = filterData[0] && filterData[0].missReport;
                     const state = filterData[0] && filterData[0].state
                     const state = filterData[0] && filterData[0].state
-                    if (state == 0 || state == -1) {
-                        return "backgroundColor: orange"
-                    } else if (state == 1) {
-                        //审核通过
-                        return "backgroundColor: #32CD32"
-                    } else if (state == 2) {
+                    if (missReport) {
                         return "backgroundColor: red"
                         return "backgroundColor: red"
                     } else {
                     } else {
-                        return "backgroundColor: #E0E0E0"
-                        // if(isWorkDate < times) {
-                        //     return "backgroundColor: #FC3D49"
-                        // }
-                        // if(isWorkDate > times) {
-                        //     return "backgroundColor: #20a0ff"
-                        // }
+                        if (state == 0 || state == -1) {
+                            return "backgroundColor: orange"
+                        } else if (state == 1) {
+                            //审核通过
+                            return "backgroundColor: #32CD32"
+                        } else if (state == 2) {
+                            return "backgroundColor: red"
+                        } else {
+                            return "backgroundColor: #E0E0E0"
+                        }
                     }
                     }
                     
                     
                 }
                 }
@@ -4559,6 +4563,7 @@
                                     }
                                     }
                                     if (d1 == d2) {
                                     if (d1 == d2) {
                                         d.state = s.state;
                                         d.state = s.state;
+                                        d.missReport = s.missReport;//是否漏填
                                         d.exceedCardTime = s.exceedCardTime
                                         d.exceedCardTime = s.exceedCardTime
                                     }
                                     }
                                 })
                                 })

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/weekEdit.vue

@@ -362,7 +362,7 @@
                                 placeholder="请输入加班时长" style="width: 5rem"></van-field>
                                 placeholder="请输入加班时长" style="width: 5rem"></van-field>
                                 <span :class="'overListTime'">小时</span>    
                                 <span :class="'overListTime'">小时</span>    
                             </div>
                             </div>
-                            <van-tag v-if="user.companyId != 4281&& isCorpWX&&canEdit"  style="position:absolute;right:10px;" v-if="isCorpWX" type="primary" size="large" @click="takePhoto(index)">拍照上传</van-tag>
+                            <van-tag v-if="user.companyId != 4281&& isCorpWX&&canEdit"  style="position:absolute;right:10px;" type="primary" size="large" @click="takePhoto(index)">拍照上传</van-tag>
                         </div>
                         </div>
                         <div style="padding:5px;text-align:center;" v-if="!isIOSystem">
                         <div style="padding:5px;text-align:center;" v-if="!isIOSystem">
                             <span v-for="(p, index) in item.pics"  :key="p" style="margin-right:15px;">
                             <span v-for="(p, index) in item.pics"  :key="p" style="margin-right:15px;">

+ 11 - 4
fhKeeper/formulahousekeeper/timesheet_h5/src/views/view/calendar.vue

@@ -24,7 +24,7 @@
                 hasWaiting: false,
                 hasWaiting: false,
                 state: 0,
                 state: 0,
                 user: JSON.parse(localStorage.userInfo),
                 user: JSON.parse(localStorage.userInfo),
-                minDate: new Date(2010, 0, 1),
+                minDate: new Date(2020, 0, 1),
                 maxDate: new Date(new Date().getFullYear(),new Date().getMonth()+1,new Date().getDate()),
                 maxDate: new Date(new Date().getFullYear(),new Date().getMonth()+1,new Date().getDate()),
                 currentDate: new Date(),
                 currentDate: new Date(),
                 nowTime: this.format(new Date(new Date()),"yyyy-MM-dd"),
                 nowTime: this.format(new Date(new Date()),"yyyy-MM-dd"),
@@ -59,8 +59,13 @@
                 let targetDate = this.format(day.date);
                 let targetDate = this.format(day.date);
                 this.report.forEach(r=>{
                 this.report.forEach(r=>{
                     if (r.createDate == targetDate) {
                     if (r.createDate == targetDate) {
-                        day.bottomInfo = this.statusTxt[r.state];
-                        day.className = this.statusStyle[r.state];
+                        if (r.missReport) {
+                            day.bottomInfo = '漏填';
+                            day.className = 'RejectStyle';
+                        } else {
+                            day.bottomInfo = this.statusTxt[r.state];
+                            day.className = this.statusStyle[r.state];
+                        }
                     }
                     }
                 })
                 })
                 
                 
@@ -110,7 +115,9 @@
                     forbidClick: true,
                     forbidClick: true,
                     duration: 0
                     duration: 0
                 });
                 });
-                this.$axios.post("/report/getReportFillStatus", {startDate: this.format(this.minDate), endDate:this.format(this.maxDate), userId: this.user.id})
+                var startDate = new Date();
+                startDate.setMonth(startDate.getMonth() -2);
+                this.$axios.post("/report/getReportFillStatus", {startDate: this.format(startDate), endDate:this.format(this.maxDate), userId: this.user.id})
                 .then(res => {
                 .then(res => {
                     if(res.code == "ok") {
                     if(res.code == "ok") {
                         this.$toast.clear();
                         this.$toast.clear();