Browse Source

技能博物馆---请假

jbb 2 years ago
parent
commit
2dca766e85
1 changed files with 36 additions and 2 deletions
  1. 36 2
      src/views/activiti/form/demoForm2.vue

+ 36 - 2
src/views/activiti/form/demoForm2.vue

@@ -1255,7 +1255,41 @@ export default {
         },
         //计算时间差
         timeDifference(start, end,state){
-            // if(start>end){
+            if(getProjctName() =='技能博物馆'){
+                var startDayArr = start.split(' '),
+                startDay = startDayArr[0]+' '+'16:00'
+                // 计算出请假第一天距离下班多久
+                 var s1 = new Date(start.replace(/-/g, '/')),
+                  s2 = new Date(startDay.replace(/-/g, '/')),
+                  ms = Math.abs(s1.getTime() - s2.getTime()),
+                  mins= (ms / 1000 / 60 / 60);
+                //  ___________
+                var endDayArr = end.split(' '),
+                endDay = endDayArr[0]+' '+'9:00'                 
+                // 计算出请假最后一天距离上班多久
+                 var s11 = new Date(end.replace(/-/g, '/')),
+                  s22 = new Date(endDay.replace(/-/g, '/')),
+                  ms2 = Math.abs(s11.getTime() - s22.getTime()),
+                  mins2= (ms2 / 1000 / 60 / 60);
+                //  ————————
+                var startDay = new Date(start),
+                endDay = new Date(end),
+                startDateTime=new Date(startDay.setDate(startDay.getDate()+1));
+                startDateTime =(moment(startDateTime).format('YYYY-MM-DD HH:mm')).split(' ')
+                var EndDateTime=new Date(endDay.setDate(endDay.getDate()-1));
+                EndDateTime =(moment(EndDateTime).format('YYYY-MM-DD HH:mm')).split(' ')
+                var myDate_1 = Date.parse(EndDateTime[0]),
+                 myDate_2 = Date.parse(startDateTime[0])
+                //计算除去第一天和最后一天后相差多少天
+                var diffDate = Math.abs(myDate_1 - myDate_2), // 取相差毫秒数的绝对值
+                totalDays = Math.floor(diffDate / (1000 * 3600 * 24))+1  // 向下取整
+                if(startDateTime>EndDateTime){
+                    totalDays = 0
+                }
+                var dayTime = (totalDays+(mins+mins2)/8).toFixed(1)
+                return dayTime
+            }else{
+                // if(start>end){
             //    this.$message.error('起始时间不可大于结束时间');
             // }else{
               let beginTime = (new Date(start).getTime()) / 1000;
@@ -1287,7 +1321,7 @@ export default {
                  return (days*24+hours)+'小时'+mins+'分'
              }
             }
-             
+            }      
       }
     // }
 }