소스 검색

提交代码

Lijy 7 달 전
부모
커밋
da3d79ff46
1개의 변경된 파일52개의 추가작업 그리고 3개의 파일을 삭제
  1. 52 3
      fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

+ 52 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

@@ -80,6 +80,7 @@
             </el-option>
           </el-select>
         </template>
+        
         <!-- 时间段筛选 ins == 6 || ins == 8 || ins == 9 || ins == 10 || ins == 11 || ins == 12 || ins == 5 || ins == 16 || ins == 17 || ins == 18 || ins == 20 || ins == 21 || ins == 22 -->
         <template v-if="screeningCondition.timePeriod.includes(ins)">
           <span>
@@ -143,6 +144,17 @@
             <span style="float: right;font-size: 13px;margin-left: 20px">{{ item.projectName }}</span>
           </el-option>
         </el-select>
+        
+        <template v-if="ins == 27">
+          <el-radio-group v-model="estimatedWorkingHoursType" size="small" @change="groupChange()">
+            <el-radio-button label="按项目查看"></el-radio-button>
+            <el-radio-button label="按分组查看"></el-radio-button>
+          </el-radio-group>
+        </template>
+
+        <template v-if="ins == 27">
+          <el-radio v-model="isWarn" label="1">仅显示预警数据</el-radio>
+        </template>
 
         <el-select v-if="ins == 24 && tabPosition == 1" v-model="groupConsumptionName" placeholder="请选择任务分组" :clearable="tabsType == 'all' ? true : false" filterable size="small" @change="getList(true)" :multiple="tabsType == 'all' ? true : false" collapse-tags style="margin-left:10px; width: 250px" :key="groupTaskKey">
           <el-option v-for="(item, index) in groupConsumptionList" :key="item.id" :label="item" :value="item"> </el-option>
@@ -1369,12 +1381,38 @@
             </el-table>
 
              <!-- 项目预估工时表 -->
-             <el-table  v-if="ins == 27" key="27" border :data="projectEstimatedWorkData" highlight-current-row v-loading="listLoading"  :height="+tableHeight - 1" style="width: 100%;" :span-method="objectSpanMethod">
+             <!-- <el-table  v-if="ins == 27" key="27" border :data="projectEstimatedWorkData" highlight-current-row v-loading="listLoading"  :height="+tableHeight - 1" style="width: 100%;" :span-method="objectSpanMethod">
               <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="150"></el-table-column>
               <el-table-column align="center" prop="groupName" :label="$t('groupname')" min-width="150"></el-table-column>
               <el-table-column align="center" prop="estimatedWorkTime" :label="$t('yuGuGongShi')" min-width="150"></el-table-column>
               <el-table-column align="center" prop="workTime" :label="$t('shi-ji-gong-shi')" min-width="150"></el-table-column>
-            </el-table>
+            </el-table> -->
+
+            <template v-if="ins == 27">
+              <el-table  v-if="estimatedWorkingHoursType == '按项目查看'" key="27" border :data="projectEstimatedWorkData" highlight-current-row v-loading="listLoading"  :height="+tableHeight - 1" style="width: 100%;" :span-method="objectSpanMethod">
+                <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="150"></el-table-column>
+                <el-table-column align="center" prop="estimatedWorkTime" label="项目预估工时" min-width="150"></el-table-column>
+                <el-table-column align="center" prop="workTime" label="项目实际工时" min-width="150"></el-table-column>
+                <el-table-column align="center" prop="remainWorkTime" label="项目剩余工时" min-width="150"></el-table-column>
+                <el-table-column align="center" prop="remainWorkTimeProportion" label="剩余工时占比(%)">
+                  <template slot-scope="scope">
+                    <span :style="`color: ${scope.row.isRed?'red':''}`">{{ scope.row.remainWorkTimeProportion }}</span>
+                  </template>
+                </el-table-column>
+              </el-table>
+              <el-table  v-if="estimatedWorkingHoursType == '按分组查看'" key="277" border :data="projectEstimatedWorkData" highlight-current-row v-loading="listLoading"  :height="+tableHeight - 1" style="width: 100%;" :span-method="objectSpanMethod">
+                <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="150"></el-table-column>
+                <el-table-column align="center" prop="groupName" label="分组名称" min-width="150"></el-table-column>
+                <el-table-column align="center" prop="estimatedWorkTime" label="分组预估工时" min-width="150"></el-table-column>
+                <el-table-column align="center" prop="workTime" label="分组实际工时" min-width="150"></el-table-column>
+                <el-table-column align="center" prop="remainWorkTime" label="分组剩余工时" min-width="150"></el-table-column>
+                <el-table-column align="center" prop="workTime" label="剩余工时占比(%)">
+                  <template slot-scope="scope">
+                    <span :style="`color: ${scope.row.isRed?'red':''}`">{{ scope.row.remainWorkTimeProportion }}</span>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </template>
 
             <!-- 员工任务完成情况表 -->
             <el-table  v-if="ins == 28" key="28" border :data="taskCompletedData" highlight-current-row v-loading="listLoading"  :height="+tableHeight - 1" style="width: 100%;" :span-method="objectSpanMethod">
@@ -1977,6 +2015,9 @@ export default {
       exportReportLoading: false,
       projectStageList: [],
       selectStageName: '',
+
+      estimatedWorkingHoursType: '按项目查看',
+      isWarn: '0'
     };
   },
   computed: {},
@@ -2058,6 +2099,10 @@ export default {
       }
   },
   methods: {
+    groupChange() {
+      this.page = 1
+      this.projectChange()
+    },
     handleClick() {
       console.log(this.tabsType, '<==== 返回的书')
       this.groupTaskKey++
@@ -4385,13 +4430,17 @@ export default {
     },
     // 项目预估工时表
     async getProjectEstimatedWork() {
+      console.log(this.estimatedWorkingHoursType, '<==== this.estimatedWorkingHoursType')
       let parameter = {
         pageIndex: this.page,
         pageSize: this.size,
+        type: this.estimatedWorkingHoursType == '按项目查看' ? 0 : 1
       }
+      this.isWarn == '1' ? parameter.isWarn = '1' : ''
       this.proJuctId ? parameter.projectId = this.proJuctId : ''
       this.listLoading = true
-      let { data } = await this.postData('/project/getProjectEstimatedWork', {
+      // let { data } = await this.postData('/project/getProjectEstimatedWork', {
+      let { data } = await this.postData('/project/getProjectEstimatedWorkNew', {
         ...parameter
       })
       this.resetMerge()