|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <section >
|
|
|
+ <section >
|
|
|
<!--列表-->
|
|
|
<div>
|
|
|
<el-card class="box-card daily" shadow="never">
|
|
@@ -665,7 +665,6 @@
|
|
|
<selectCat v-if="user.userNameNeedTranslate == '1'" :size="'small'" :subject="domain.auditUserList" :idx="index" :subjectId="domain.projectAuditorId" ref="selectCat" :flg="true" :flgs="true" @selectCatCli="selectCatCli"></selectCat>
|
|
|
</el-form-item>
|
|
|
|
|
|
-
|
|
|
<!--工程专业版本模式下, 各个专业的进度填报 -->
|
|
|
<el-form-item :label="$t('other.professionalProgress')" :prop="'domains.' + index + '.professionProgress'" v-if="user.company.packageEngineering==1">
|
|
|
<span v-for="item in domain.professionProgress" :key="item.professionId" style="margin-right:10px;">
|
|
@@ -698,6 +697,7 @@
|
|
|
</el-select>
|
|
|
<el-checkbox v-model="domain.taskFinish" v-if="domain.taskId != undefined">{{$t('state.completed')}}</el-checkbox>
|
|
|
</el-form-item>
|
|
|
+
|
|
|
<div v-for="(timeItem,tIndex) in domain.worktimeList" :key="tIndex"
|
|
|
style="border: 0.5px #ddd solid;padding:5px;margin-bottom:15px;position:relative;">
|
|
|
<i v-if="tIndex>0&&workForm.domains[index].state>=2" @click="removeTimeItem(domain,tIndex)" class="el-icon-delete" style="position:absolute;right:-7px;top:-7px;font-size:16px;"></i>
|
|
@@ -761,7 +761,8 @@
|
|
|
</div>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="cancel(workForm.domains,true)" v-if="canCancelInDialog" style="float:left;">{{$t('btn.withdraw')}}</el-button>
|
|
|
- <span style="margin-right:20px">合计工时:{{totalReportHours}}小时</span>
|
|
|
+ <span style="margin-right:20px" v-if="reportTimeType.multiWorktime != 1">合计工时:{{totalReportHours}}小时</span>
|
|
|
+ <span style="margin-right:20px" v-if="reportTimeType.multiWorktime == 1">合计工时:{{jsTime}}小时</span>
|
|
|
<!-- <span style="margin-right:20px">合计工时:{{jsTime}}小时</span> -->
|
|
|
<el-button @click="deleteReport" v-if="workForm.domains[0].id != null && canEdit && reportCanDelete">{{$t('btn.delete')}}</el-button>
|
|
|
<el-button @click="dialogVisible = false">{{$t('btn.cancel')}}</el-button>
|
|
@@ -1819,7 +1820,7 @@
|
|
|
multiWorktime:0,
|
|
|
worktimeList:[],
|
|
|
degreeId: null,
|
|
|
- auditUserList: []
|
|
|
+ auditUserList: [],
|
|
|
}],
|
|
|
},
|
|
|
workRules: {
|
|
@@ -1989,7 +1990,6 @@
|
|
|
computed: {
|
|
|
totalReportHours(){
|
|
|
let domains = this.workForm.domains
|
|
|
- console.log(domains, '看看你能')
|
|
|
let hours = 0
|
|
|
for(let i in domains){
|
|
|
if(domains[i].projectId){
|
|
@@ -1997,7 +1997,19 @@
|
|
|
console.log('进一')
|
|
|
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)
|
|
|
+ // hours += this.getHour(domains[i].worktimeList[m].startTime, domains[i].worktimeList[m].endTime)
|
|
|
+ let selectionTime = this.getHour(domains[i].worktimeList[m].startTime, domains[i].worktimeList[m].endTime)
|
|
|
+ let subtractedData = 0
|
|
|
+ console.log(selectionTime)
|
|
|
+ let arr = JSON.parse(JSON.stringify(this.vacationTime))
|
|
|
+ arr.unshift({s: domains[i].worktimeList[m].startTime, e: domains[i].worktimeList[m].endTime})
|
|
|
+ console.log(arr, '要看的数据')
|
|
|
+
|
|
|
+ for(var j in arr) {
|
|
|
+ subtractedData += +this.timeOverlap(j, arr)
|
|
|
+ }
|
|
|
+ hours += (+selectionTime - +subtractedData) * this.jsDay
|
|
|
+ this.jsTime = hours
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
@@ -2698,21 +2710,37 @@
|
|
|
for(var i in sl) {
|
|
|
for(var j in sl[i].worktimeList){
|
|
|
if(sl[i].worktimeList[j].startTime && sl[i].worktimeList[j].endTime) {
|
|
|
- var date2 = '2021/12/12 ' + sl[i].worktimeList[j].endTime +':00'
|
|
|
- var date1 = '2021/12/12 ' + sl[i].worktimeList[j].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
|
|
|
+ // var date2 = '2021/12/12 ' + sl[i].worktimeList[j].endTime +':00'
|
|
|
+ // var date1 = '2021/12/12 ' + sl[i].worktimeList[j].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].worktimeList[j].startTime, sl[i].worktimeList[j].endTime)
|
|
|
+ let subtractedData = 0
|
|
|
+ console.log(selectionTime)
|
|
|
+ let arr = JSON.parse(JSON.stringify(this.vacationTime))
|
|
|
+ arr.unshift({s: sl[i].worktimeList[j].startTime, e: sl[i].worktimeList[j].endTime})
|
|
|
+ console.log(arr, '要看的数据')
|
|
|
+
|
|
|
+ for(var j in arr) {
|
|
|
+ subtractedData += +this.timeOverlap(j, arr)
|
|
|
+ }
|
|
|
+ console.log(subtractedData, '要减去的数据')
|
|
|
+ quanbu = +selectionTime - +subtractedData
|
|
|
+ console.log(quanbu, '赋值的数据')
|
|
|
+ console.log(this._computedWatchers.totalReportHours)
|
|
|
+ // this.workForm.domains = JSON.parse(JSON.stringify(this.workForm.domains))
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- this.jsTime = quanbu
|
|
|
+ // this.jsTime = quanbu
|
|
|
+ this.$set(this, 'jsTime', quanbu)
|
|
|
},
|
|
|
removeTimeItem(item, index) {
|
|
|
item.worktimeList.splice(index, 1);
|