Bläddra i källkod

2022.7.20 移动端加班设置

ggooalice 2 år sedan
förälder
incheckning
50247f9df8
1 ändrade filer med 41 tillägg och 10 borttagningar
  1. 41 10
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/index.vue

+ 41 - 10
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/index.vue

@@ -17,7 +17,7 @@
             </van-popup>
             <van-cell title="总时长(h)" v-if="reportTimeType.type == 3">
                 <template>
-                    <van-stepper :disabled="!canEdit || user.timeType.lockWorktime == 1" v-model="reportTimeType.allday" @change="changeAllTime" min="0.5" max="12" step="0.5" :decimal-length="1" />
+                    <van-stepper :disabled="(!canEdit || user.timeType.lockWorktime == 1) && !isWeekend" v-model="reportTimeType.allday" @change="changeAllTime" min="0.5" max="12" step="0.5" :decimal-length="1" />
                 </template>
             </van-cell>
             
@@ -239,10 +239,10 @@
                         icon="plus" color="#ffffff" ><span style="color:#999;text-align:center;padding: 0 5px;"> 添加工时  </span></van-tag>
                     </div>
                     
-                    <div class="overtime" v-if="!user.timeType.lockWorktime">
+                    <div class="overtime" v-if="!user.timeType.lockWorktime || isWeekend">
                         <div class="overTimeClas">
                             <van-checkbox :disabled="!canEdit" v-model="item.isOvertime" style="width: 4.3rem;">含加班</van-checkbox>
-                            <van-field v-model="item.overtimeHours" type="number" :disabled="!canEdit || item.isOvertime==null||item.isOvertime==0"
+                            <van-field v-model="item.overtimeHours" type="number" :disabled="!canEdit || item.isOvertime==null||item.isOvertime==0 || !item.isOvertime"
                             placeholder="请输入加班时长" style="width: 5rem"></van-field>
                             <span :class="canEdit ? 'overListTime' : 'overListTime hoveOver'">小时</span>    
                         </div>
@@ -399,7 +399,8 @@
                 proads: [],
                 userName: '',
                 flgLg: true,
-                reportBasecostList: []
+                reportBasecostList: [],
+                isWeekend: false
             };
         },
 
@@ -752,11 +753,16 @@
 
                     let allhour = 0
                     for(let i in this.form.domains){
-                        this.form.domains[i].isOvertime = false
-                        delete this.form.domains[i].overtimeHours
+                        if(this.isWeekend){
+                            this.form.domains[i].isOvertime = true
+                            this.form.domains[i].overtimeHours = this.form.domains[i].workingTime
+                        }else{
+                            this.form.domains[i].isOvertime = false
+                            delete this.form.domains[i].overtimeHours
+                        }
                         allhour += this.form.domains[i].workingTime
                     }
-                    if(allhour > this.user.timeType.allday){
+                    if(allhour > this.user.timeType.allday && this.isWeekend){
                         this.form.domains[this.clickTimeIndex].isOvertime = true
                         this.form.domains[this.clickTimeIndex].overtimeHours = allhour - this.user.timeType.allday
                     }
@@ -851,6 +857,17 @@
 
             // 获取日报
             getReport() {
+                this.isWeekend = false
+                let weekday = new Date(this.form.createDate).getDay()
+                if(this.user.companyId == 817){
+                    if(weekday == 0){
+                        this.isWeekend = true
+                    }
+                }else{
+                    if(weekday == 0 || weekday == 6){
+                        this.isWeekend = true
+                    }
+                }
                 const toast = this.$toast.loading({
                     forbidClick: true,
                     duration: 0
@@ -976,6 +993,12 @@
                                 multiWorktime:t.multiWorktime,
                                 worktimeList:[{}],  
                             }]
+                            if(this.isWeekend){
+                                this.$set(this.form.domains[0],'isOvertime',true)
+                                if(t.type != 2 && t.type != 0){
+                                    this.$set(this.form.domains[0],'overtimeHours',t.allday.toFixed(0))
+                                }
+                            }
                             this.canEdit = true;
                         }
                     } else {
@@ -1218,8 +1241,7 @@
                         leftProgress = 100 - totalProgress;
                     }
                 }
-
-                this.form.domains.push({
+                let item = {
                     id: null,
                     projectId: "",
                     projectName: "",
@@ -1231,7 +1253,16 @@
                     multiWorktime: this.reportTimeType.multiWorktime,
                     worktimeList:[{}],
                     degreeId: null
-                })
+                }
+                if(this.isWeekend){
+                    this.$set(item,'isOvertime',true)
+                    if(this.reportTimeType.type == 3){
+                        this.$set(item,'overtimeHours',(leftProgress*this.reportTimeType.allday/100).toFixed(1))
+                    }else{
+                        this.$set(item,'overtimeHours',4)
+                    }
+                }
+                this.form.domains.push(item)
             },
 
             // 移除项目