Ver código fonte

合计工时

ggooalice 2 anos atrás
pai
commit
4e873868b5

+ 18 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -1935,7 +1935,15 @@
                 let hours = 0
                 for(let i in domains){
                     if(domains[i].projectId){
-                        hours += domains[i].workingTime ? parseFloat(domains[i].workingTime) : 0
+                        if(this.reportTimeType.multiWorktime == 1){
+                            for(let m in domains[i].worktimeList){
+                                if(domains[i].worktimeList[m].startTime && domains[i].worktimeList[m].endTime){
+                                    hours += this.getHour(domains[i].worktimeList[m].startTime, domains[i].worktimeList[m].endTime)
+                                }
+                            }
+                        }else{
+                            hours += domains[i].workingTime ? parseFloat(domains[i].workingTime) : 0
+                        }
                     }
                 }
                 return hours.toFixed(1)
@@ -1969,6 +1977,15 @@
             test(){
                 // console.log('test',this.depData,this.data[0].membCount,this.reportList.length);
             },
+            getHour(s1, s2) {
+                var reDate = /\d{4}-\d{1,2}-\d{1,2} /;
+                s1 = new Date((reDate.test(s1) ? s1 : '2018-1-1 ' + s1).replace(/-/g, '/'));
+                s2 = new Date((reDate.test(s2) ? s2 : '2018-1-1 ' + s2).replace(/-/g, '/'));
+                var ms = s2.getTime() - s1.getTime();
+                if (ms < 0) return 0;
+                let ma = ms / 1000 / 60 / 60
+                return ma;  //小时
+            },
             refreshWXCardTime(workdate) {
                 if (!workdate) return;
                 this.syncTimeLoading = true;

+ 18 - 0
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/index.vue

@@ -498,6 +498,15 @@ import timetoolVue from '../timetool/timetool.vue';
                 for(let i in domains){
                     if(domains[i].projectId){
                         hours += parseFloat(domains[i].workingTime)
+                        if(this.reportTimeType.multiWorktime == 1){
+                            for(let m in domains[i].worktimeList){
+                                if(domains[i].worktimeList[m].startTime && domains[i].worktimeList[m].endTime){
+                                    hours += this.getHour(domains[i].worktimeList[m].startTime, domains[i].worktimeList[m].endTime)
+                                }
+                            }
+                        }else{
+                            hours += domains[i].workingTime ? parseFloat(domains[i].workingTime) : 0
+                        }
                     }
                 }
                 return hours.toFixed(1)
@@ -505,6 +514,15 @@ import timetoolVue from '../timetool/timetool.vue';
         },
 
         methods: {
+            getHour(s1, s2) {
+                var reDate = /\d{4}-\d{1,2}-\d{1,2} /;
+                s1 = new Date((reDate.test(s1) ? s1 : '2018-1-1 ' + s1).replace(/-/g, '/'));
+                s2 = new Date((reDate.test(s2) ? s2 : '2018-1-1 ' + s2).replace(/-/g, '/'));
+                var ms = s2.getTime() - s1.getTime();
+                if (ms < 0) return 0;
+                let ma = ms / 1000 / 60 / 60
+                return ma;  //小时
+            },
             
             cardtimeRefresh(workdate){  // 考勤记录刷新
             if (!workdate) return;