瀏覽代碼

提交计算时间的问题

Lijy 2 年之前
父節點
當前提交
84c2d68cb7
共有 1 個文件被更改,包括 58 次插入10 次删除
  1. 58 10
      fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

+ 58 - 10
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -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"
                             @change="selectProject(domain, index)"
                             :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: 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>
                             <template v-if="user.timeType.mainProjectState != 1">
                             <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"
                                 @change="selectProject(domain, index)"
                                 :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: 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>
                                 <template v-if="user.timeType.mainProjectState != 1">
                                 <span  v-if="domain.subProjectList != null && domain.subProjectList.length> 0 && domain.projectId != ''"
@@ -1932,7 +1948,9 @@
                 dataLoading: false,
 
                 zhoBaoSelectableRange: ['09:30 - 12:00'], // 选择时间的可选时间段
-                vacationTime: {}
+                vacationTime: {},
+
+                integrationProjectList: []
             };
         },
         watch: {
@@ -2038,9 +2056,36 @@
                     that.dataLoading = that.$store.state.dataLoading
                 }, 1000)
             }
+            this.getRecentlyProject() // 近期选择的项目
         },
         methods: {
             ...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(){
                 console.log('test',this.workForm.domains);
             },
@@ -2614,6 +2659,7 @@
                         }
                         zhi = (+selectionTime - +subtractedData) * this.jsDay
                         arrNum.push(zhi)
+                        // arrNum.push(subtractedData)
                         quanbu += zhi
                     }
                     
@@ -2622,19 +2668,21 @@
 
                 let flg = false
                 let zuiNum = 0
+                console.log(arrNum)
                 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])
+                        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
                         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],'overtimeHours', '')
                     }