|
@@ -417,6 +417,7 @@
|
|
@change="iptChang()">
|
|
@change="iptChang()">
|
|
</el-time-picker>
|
|
</el-time-picker>
|
|
</span>
|
|
</span>
|
|
|
|
+
|
|
<div class="overtime" v-if="user.timeType.fillOvertime || (isWeekend && user.timeType.lockWorktime != 1)">
|
|
<div class="overtime" v-if="user.timeType.fillOvertime || (isWeekend && user.timeType.lockWorktime != 1)">
|
|
<el-checkbox :disabled="!domain.canEdit" v-model="domain.isOvertime">{{$t('other.IncludingOvertime')}}</el-checkbox>
|
|
<el-checkbox :disabled="!domain.canEdit" v-model="domain.isOvertime">{{$t('other.IncludingOvertime')}}</el-checkbox>
|
|
<el-input :disabled="!domain.canEdit || domain.isOvertime==null || domain.isOvertime==0 || !domain.isOvertime" v-model="domain.overtimeHours" @blur="triggerCalculateOT(index)" @input="domain.overtimeHours=domain.overtimeHours.replace(/[^\d.]/g,'')" style="width: 100px;"></el-input><span style="margin-left:5px">{{$t('time.hour')}}</span>
|
|
<el-input :disabled="!domain.canEdit || domain.isOvertime==null || domain.isOvertime==0 || !domain.isOvertime" v-model="domain.overtimeHours" @blur="triggerCalculateOT(index)" @input="domain.overtimeHours=domain.overtimeHours.replace(/[^\d.]/g,'')" style="width: 100px;"></el-input><span style="margin-left:5px">{{$t('time.hour')}}</span>
|
|
@@ -2601,32 +2602,43 @@
|
|
var sl = this.workForm.domains
|
|
var sl = this.workForm.domains
|
|
var quanbu = 0
|
|
var quanbu = 0
|
|
var zhi = ''
|
|
var zhi = ''
|
|
|
|
+ let arrNum = []
|
|
for(var i in sl) {
|
|
for(var i in sl) {
|
|
if(sl[i].startTime && sl[i].endTime) {
|
|
if(sl[i].startTime && sl[i].endTime) {
|
|
- // var date2 = '2021/12/12 ' + sl[i].endTime +':00'
|
|
|
|
- // var date1 = '2021/12/12 ' + sl[i].startTime +':00'
|
|
|
|
- // var date3 = new Date(date2).getTime() - new Date(date1).getTime();
|
|
|
|
- // var leave1=date3%(24*3600*1000)
|
|
|
|
- // var hours=Math.floor(leave1/(3600*1000))
|
|
|
|
- // var leave2=leave1%(3600*1000)
|
|
|
|
- // var minutes=Math.floor(leave2/(60*1000))
|
|
|
|
- // var shi = hours+'.'+ minutes
|
|
|
|
- // var sll = +shi + 0
|
|
|
|
- // zhi = this.jsDay * sll
|
|
|
|
- // quanbu = +quanbu + zhi
|
|
|
|
let selectionTime = this.getHour(sl[i].startTime, sl[i].endTime)
|
|
let selectionTime = this.getHour(sl[i].startTime, sl[i].endTime)
|
|
let subtractedData = 0
|
|
let subtractedData = 0
|
|
let arr = JSON.parse(JSON.stringify(this.vacationTime))
|
|
let arr = JSON.parse(JSON.stringify(this.vacationTime))
|
|
arr.unshift({s: sl[i].startTime, e: sl[i].endTime})
|
|
arr.unshift({s: sl[i].startTime, e: sl[i].endTime})
|
|
- console.log(arr, '要看的数据')
|
|
|
|
for(var j in arr) {
|
|
for(var j in arr) {
|
|
subtractedData += +this.timeOverlap(j, arr)
|
|
subtractedData += +this.timeOverlap(j, arr)
|
|
}
|
|
}
|
|
zhi = (+selectionTime - +subtractedData) * this.jsDay
|
|
zhi = (+selectionTime - +subtractedData) * this.jsDay
|
|
|
|
+ arrNum.push(zhi)
|
|
quanbu += zhi
|
|
quanbu += zhi
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
this.jsTime = quanbu
|
|
this.jsTime = quanbu
|
|
|
|
+
|
|
|
|
+ let flg = false
|
|
|
|
+ let zuiNum = 0
|
|
|
|
+ for(let j in arrNum) {
|
|
|
|
+ zuiNum += arrNum[j]
|
|
|
|
+ if(flg) {
|
|
|
|
+ this.$set(this.workForm.domains[j],'isOvertime', true)
|
|
|
|
+ this.$set(this.workForm.domains[j],'overtimeHours', arrNum[j])
|
|
|
|
+ }
|
|
|
|
+ if(zuiNum > this.user.timeType.allday && !flg) {
|
|
|
|
+ flg = true
|
|
|
|
+ this.$set(this.workForm.domains[j],'isOvertime', true)
|
|
|
|
+ this.$set(this.workForm.domains[j],'overtimeHours', zuiNum - this.user.timeType.allday)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(zuiNum < this.user.timeType.allday && !flg) {
|
|
|
|
+ this.$set(this.workForm.domains[j],'isOvertime', false)
|
|
|
|
+ this.$set(this.workForm.domains[j],'overtimeHours', '')
|
|
|
|
+ }
|
|
|
|
+ }
|
|
},
|
|
},
|
|
iptChangs() {
|
|
iptChangs() {
|
|
var sl = this.workForm.domains
|
|
var sl = this.workForm.domains
|
|
@@ -2650,7 +2662,6 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.jsTime = quanbu
|
|
this.jsTime = quanbu
|
|
-
|
|
|
|
},
|
|
},
|
|
removeTimeItem(item, index) {
|
|
removeTimeItem(item, index) {
|
|
item.worktimeList.splice(index, 1);
|
|
item.worktimeList.splice(index, 1);
|
|
@@ -4667,7 +4678,7 @@
|
|
timeType:0,
|
|
timeType:0,
|
|
multiWorktime: this.reportTimeType.multiWorktime,
|
|
multiWorktime: this.reportTimeType.multiWorktime,
|
|
worktimeList:[{}],
|
|
worktimeList:[{}],
|
|
- canEdit: true
|
|
|
|
|
|
+ canEdit: true,
|
|
}],
|
|
}],
|
|
}
|
|
}
|
|
if(this.user.timeType.type == 1) {
|
|
if(this.user.timeType.type == 1) {
|