|
@@ -429,11 +429,19 @@
|
|
<el-select v-model="domain.projectId" :placeholder="user.companyId==781?$t('defaultText.pleaseSelectaJob'): $t('defaultText.pleaseSelectSnItem')" style="width:200px;" clearable="true" filterable="true" value-key="id"
|
|
<el-select v-model="domain.projectId" :placeholder="user.companyId==781?$t('defaultText.pleaseSelectaJob'): $t('defaultText.pleaseSelectSnItem')" style="width:200px;" clearable="true" filterable="true" value-key="id"
|
|
@change="selectProject(domain, index)"
|
|
@change="selectProject(domain, index)"
|
|
:disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)" popper-class="projectSelectPopperClass">
|
|
:disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)" popper-class="projectSelectPopperClass">
|
|
- <!-- <el-option v-for="item in projectList" :disabled="item.status>=2" :key="item.id" :label="item.projectName" :value="item.id"></el-option> -->
|
|
|
|
- <el-option v-for="item in fillProjectList" :disabled="item.status!=1 && item.status!=4" :key="item.id" :label="item.projectName + '\u3000' + item.projectCode" :value="item.id">
|
|
|
|
|
|
+
|
|
|
|
+ <!-- <el-option v-for="item in fillProjectList" :disabled="item.status!=1 && item.status!=4" :key="item.id" :label="item.projectName + '\u3000' + item.projectCode" :value="item.id">
|
|
<span style="float: left; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
|
|
<span style="float: left; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
|
|
<span style="float: right;">{{ item.projectName }}</span>
|
|
<span style="float: right;">{{ item.projectName }}</span>
|
|
- </el-option>
|
|
|
|
|
|
+ </el-option> -->
|
|
|
|
+
|
|
|
|
+ <el-option-group v-for="group in integrationProjectList" :key="group.label" :label="group.label">
|
|
|
|
+ <el-option v-for="item in group.peojectList" :key="item.id" :label="item.projectName + '\u3000' + item.projectCode" :value="item.id" :disabled="item.status!=1 && item.status!=4">
|
|
|
|
+ <span style="float: left; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
|
|
|
|
+ <span style="float: right;">{{ item.projectName }}</span>
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-option-group>
|
|
|
|
+
|
|
</el-select>
|
|
</el-select>
|
|
<template v-if="user.timeType.mainProjectState != 1">
|
|
<template v-if="user.timeType.mainProjectState != 1">
|
|
<span v-if="domain.subProjectList != null && domain.subProjectList.length> 0 && domain.projectId != ''"
|
|
<span v-if="domain.subProjectList != null && domain.subProjectList.length> 0 && domain.projectId != ''"
|
|
@@ -585,10 +593,18 @@
|
|
<el-select v-model="domain.projectId" :placeholder="$t('defaultText.pleaseSelectSnItem')" style="width:200px;" clearable="true" filterable="true" value-key="id"
|
|
<el-select v-model="domain.projectId" :placeholder="$t('defaultText.pleaseSelectSnItem')" style="width:200px;" clearable="true" filterable="true" value-key="id"
|
|
@change="selectProject(domain, index)"
|
|
@change="selectProject(domain, index)"
|
|
:disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)" popper-class="projectSelectPopperClass">
|
|
:disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)" popper-class="projectSelectPopperClass">
|
|
- <el-option v-for="item in fillProjectList" :disabled="item.status!=1 && item.status!=4" :key="item.id" :label="item.projectName + '\u3000' + item.projectCode" :value="item.id">
|
|
|
|
|
|
+ <!-- <el-option v-for="item in fillProjectList" :disabled="item.status!=1 && item.status!=4" :key="item.id" :label="item.projectName + '\u3000' + item.projectCode" :value="item.id">
|
|
<span style="float: left; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
|
|
<span style="float: left; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
|
|
<span style="float: right;">{{ item.projectName }}</span>
|
|
<span style="float: right;">{{ item.projectName }}</span>
|
|
- </el-option>
|
|
|
|
|
|
+ </el-option> -->
|
|
|
|
+
|
|
|
|
+ <el-option-group v-for="group in integrationProjectList" :key="group.label" :label="group.label">
|
|
|
|
+ <el-option v-for="item in group.peojectList" :key="item.id" :label="item.projectName + '\u3000' + item.projectCode" :value="item.id" :disabled="item.status!=1 && item.status!=4">
|
|
|
|
+ <span style="float: left; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
|
|
|
|
+ <span style="float: right;">{{ item.projectName }}</span>
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-option-group>
|
|
|
|
+
|
|
</el-select>
|
|
</el-select>
|
|
<template v-if="user.timeType.mainProjectState != 1">
|
|
<template v-if="user.timeType.mainProjectState != 1">
|
|
<span v-if="domain.subProjectList != null && domain.subProjectList.length> 0 && domain.projectId != ''"
|
|
<span v-if="domain.subProjectList != null && domain.subProjectList.length> 0 && domain.projectId != ''"
|
|
@@ -1932,7 +1948,9 @@
|
|
dataLoading: false,
|
|
dataLoading: false,
|
|
|
|
|
|
zhoBaoSelectableRange: ['09:30 - 12:00'], // 选择时间的可选时间段
|
|
zhoBaoSelectableRange: ['09:30 - 12:00'], // 选择时间的可选时间段
|
|
- vacationTime: {}
|
|
|
|
|
|
+ vacationTime: {},
|
|
|
|
+
|
|
|
|
+ integrationProjectList: []
|
|
};
|
|
};
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
@@ -2038,9 +2056,36 @@
|
|
that.dataLoading = that.$store.state.dataLoading
|
|
that.dataLoading = that.$store.state.dataLoading
|
|
}, 1000)
|
|
}, 1000)
|
|
}
|
|
}
|
|
|
|
+ this.getRecentlyProject() // 近期选择的项目
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
...mapMutations(['upDataLoading']),
|
|
...mapMutations(['upDataLoading']),
|
|
|
|
+ getRecentlyProject() {
|
|
|
|
+ this.http.post('/project/nearProject',{},res => {
|
|
|
|
+ if(res.code == 'ok'){
|
|
|
|
+ let topObj = {
|
|
|
|
+ label: '最近选择项目',
|
|
|
|
+ peojectList: res.data
|
|
|
|
+ }
|
|
|
|
+ let botomObj = {
|
|
|
|
+ label: '全部项目',
|
|
|
|
+ peojectList: this.fillProjectList
|
|
|
|
+ }
|
|
|
|
+ this.integrationProjectList = [topObj, botomObj]
|
|
|
|
+ console.log(this.integrationProjectList, '整合')
|
|
|
|
+ }else {
|
|
|
|
+ this.$message({
|
|
|
|
+ message: res.msg,
|
|
|
|
+ type: 'error'
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ },err => {
|
|
|
|
+ this.$message({
|
|
|
|
+ message: err,
|
|
|
|
+ type: 'error'
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
test(){
|
|
test(){
|
|
console.log('test',this.workForm.domains);
|
|
console.log('test',this.workForm.domains);
|
|
},
|
|
},
|
|
@@ -2614,6 +2659,7 @@
|
|
}
|
|
}
|
|
zhi = (+selectionTime - +subtractedData) * this.jsDay
|
|
zhi = (+selectionTime - +subtractedData) * this.jsDay
|
|
arrNum.push(zhi)
|
|
arrNum.push(zhi)
|
|
|
|
+ // arrNum.push(subtractedData)
|
|
quanbu += zhi
|
|
quanbu += zhi
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2622,19 +2668,21 @@
|
|
|
|
|
|
let flg = false
|
|
let flg = false
|
|
let zuiNum = 0
|
|
let zuiNum = 0
|
|
|
|
+ console.log(arrNum)
|
|
for(let j in arrNum) {
|
|
for(let j in arrNum) {
|
|
zuiNum += arrNum[j]
|
|
zuiNum += arrNum[j]
|
|
if(flg) {
|
|
if(flg) {
|
|
this.$set(this.workForm.domains[j],'isOvertime', true)
|
|
this.$set(this.workForm.domains[j],'isOvertime', true)
|
|
- this.$set(this.workForm.domains[j],'overtimeHours', arrNum[j])
|
|
|
|
|
|
+ this.$set(this.workForm.domains[j],'overtimeHours', arrNum[j] / this.jsDay)
|
|
}
|
|
}
|
|
- if(zuiNum > this.user.timeType.allday && !flg) {
|
|
|
|
|
|
+ if(zuiNum > (this.user.timeType.allday * this.jsDay) && !flg) {
|
|
flg = true
|
|
flg = true
|
|
this.$set(this.workForm.domains[j],'isOvertime', true)
|
|
this.$set(this.workForm.domains[j],'isOvertime', true)
|
|
- this.$set(this.workForm.domains[j],'overtimeHours', zuiNum - this.user.timeType.allday)
|
|
|
|
|
|
+ this.$set(this.workForm.domains[j],'overtimeHours', (zuiNum - (this.user.timeType.allday * this.jsDay)) / this.jsDay)
|
|
|
|
+ // this.$set(this.workForm.domains[j],'overtimeHours', zhizhang / this.jsDay)
|
|
}
|
|
}
|
|
|
|
|
|
- if(zuiNum < this.user.timeType.allday && !flg) {
|
|
|
|
|
|
+ if(zuiNum < (this.user.timeType.allday * this.jsDay) && !flg) {
|
|
this.$set(this.workForm.domains[j],'isOvertime', false)
|
|
this.$set(this.workForm.domains[j],'isOvertime', false)
|
|
this.$set(this.workForm.domains[j],'overtimeHours', '')
|
|
this.$set(this.workForm.domains[j],'overtimeHours', '')
|
|
}
|
|
}
|