Browse Source

项目报告审核分页

Lijy 1 year ago
parent
commit
77a5c7bb80

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

@@ -476,7 +476,7 @@
                             </div>
                         </el-form-item>
 
-                        <el-form-item label="填报部门" v-if="user.timeType.userWithMultiDept == 1">
+                        <el-form-item label="填报部门" v-if="user.timeType.userWithMultiDept == 1 && userReportDeptList.length > 0">
                             <el-select v-model="domain.reportTargetDeptId" :placeholder="'请选择部门'" style="width:200px;" :clearable="true" v-if="user.userNameNeedTranslate == 0">
                                 <el-option v-for="depts in userReportDeptList" :key="depts.departmentId" :value="depts.departmentId" :label="depts.departmentName">
                                     <span style="float: left">

+ 315 - 240
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/list.vue

@@ -1,262 +1,280 @@
 <template>
-    <section>
+    <div class="review">
         <!--工具条-->
-        <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
-            <el-form :inline="true">
-                <el-form-item :label="$t('lable.department')" style="width: 165px">
-                    <el-cascader v-if="user.userNameNeedTranslate != 1" v-model="search.departmentIdArray" :placeholder="$t('defaultText.pleaseChoose')" style="width: 125px"
-                    :options="option" :props="{ checkStrictly: false,expandTrigger: 'hover' }" :show-all-levels="false" clearable
-                    @change="getList(1)" size="mini"></el-cascader>
+        <div class="reviewTop">
+            <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
+                <el-form :inline="true">
+                    <el-form-item :label="$t('lable.department')" style="width: 165px">
+                        <el-cascader v-if="user.userNameNeedTranslate != 1" v-model="search.departmentIdArray" :placeholder="$t('defaultText.pleaseChoose')" style="width: 125px"
+                        :options="option" :props="{ checkStrictly: false,expandTrigger: 'hover' }" :show-all-levels="false" clearable
+                        @change="getList(1)" size="mini"></el-cascader>
 
-                    <vueCascader :size="'mini'" :widthStr="'125'" :clearable="true" :subject="option" :radios="false" :distinction="'1'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1"></vueCascader>
-                </el-form-item>
-
-                <el-form-item :label="'填报人'" style="width: 210px">
-                    <el-select v-if="user.userNameNeedTranslate != '1'" v-model="search.userIdArray" :placeholder="$t('defaultText.pleaseChoose')" clearable @visible-change="usersSearch" @remove-tag="usersSearch(false)" @clear="usersSearch(false)" filterable="true" size="mini" style="width: 150px" multiple collapse-tags>
-                        <el-option v-for="item in searchUsersList" :key="item.id" :label="item.name" :value="item.id">
-                            <span style="float: left" v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='userName' :openid='item.name'></TranslationOpenDataText></span>
-                            <span style="float: left" v-if="user.userNameNeedTranslate != '1'">{{item.name}}</span>
-                        </el-option>
-                    </el-select>
+                        <vueCascader :size="'mini'" :widthStr="'125'" :clearable="true" :subject="option" :radios="false" :distinction="'1'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1"></vueCascader>
+                    </el-form-item>
 
-                    <selectCat v-if="user.userNameNeedTranslate == '1'" :filterable="true" :size="'size'" :subject="searchUsersList" :clearable="true" :multiSelect="true" :distinction="'1'" @selectCal="selectCal"></selectCat>
-                    <!-- <selectCat :size="'size'" :subject="searchUsersList" :clearable="true" :filterable="true" @selectCal="selectCal"></selectCat> -->
-                </el-form-item>
+                    <el-form-item :label="'填报人'" style="width: 210px">
+                        <el-select v-if="user.userNameNeedTranslate != '1'" v-model="search.userIdArray" :placeholder="$t('defaultText.pleaseChoose')" clearable @visible-change="usersSearch" @remove-tag="usersSearch(false)" @clear="usersSearch(false)" filterable="true" size="mini" style="width: 150px" multiple collapse-tags>
+                            <el-option v-for="item in searchUsersList" :key="item.id" :label="item.name" :value="item.id">
+                                <span style="float: left" v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='userName' :openid='item.name'></TranslationOpenDataText></span>
+                                <span style="float: left" v-if="user.userNameNeedTranslate != '1'">{{item.name}}</span>
+                            </el-option>
+                        </el-select>
 
-                <el-form-item :label="'审核人'" style="width: 210px">
-                    <el-select v-if="user.userNameNeedTranslate != '1'" v-model="search.auditUserId" :placeholder="$t('defaultText.pleaseChoose')" clearable @change="usersSearch(false)" size="mini" style="width: 150px" collapse-tags>
-                        <el-option v-for="item in searchUsersList" :key="item.id" :label="item.name" :value="item.id">
-                            <span style="float: left" v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='userName' :openid='item.name'></TranslationOpenDataText></span>
-                            <span style="float: left" v-if="user.userNameNeedTranslate != '1'">{{item.name}}</span>
-                        </el-option>
-                    </el-select>
+                        <selectCat v-if="user.userNameNeedTranslate == '1'" :filterable="true" :size="'size'" :subject="searchUsersList" :clearable="true" :multiSelect="true" :distinction="'1'" @selectCal="selectCal"></selectCat>
+                        <!-- <selectCat :size="'size'" :subject="searchUsersList" :clearable="true" :filterable="true" @selectCal="selectCal"></selectCat> -->
+                    </el-form-item>
 
-                    <selectCat v-if="user.userNameNeedTranslate == '1'" :filterable="true" :size="'size'" :subject="searchUsersList" :clearable="true" :distinction="'2'" @selectCal="selectCal"></selectCat>
-                </el-form-item>
+                    <el-form-item :label="'审核人'" style="width: 210px">
+                        <el-select v-if="user.userNameNeedTranslate != '1'" v-model="search.auditUserId" :placeholder="$t('defaultText.pleaseChoose')" clearable @change="usersSearch(false)" size="mini" style="width: 150px" collapse-tags>
+                            <el-option v-for="item in searchUsersList" :key="item.id" :label="item.name" :value="item.id">
+                                <span style="float: left" v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='userName' :openid='item.name'></TranslationOpenDataText></span>
+                                <span style="float: left" v-if="user.userNameNeedTranslate != '1'">{{item.name}}</span>
+                            </el-option>
+                        </el-select>
 
-                <el-form-item :label="$t('other.project')" style="width: 215px">
-                    <el-select v-model="search.projectId" :placeholder="$t('defaultText.pleaseChoose')" clearable @change="getList()" filterable="true" size="mini" style="width: 175px" popper-class="projectSelectPopperClass">
-                        <el-option v-for="item in projectList" :key="item.id" :label="item.projectName + item.projectCode" :value="item.id">
-                            <span style="float: left;color: #8492a6;">{{ item.projectCode }}</span>
-                            <span style="float: right;font-size: 13px;">{{ item.projectName }}</span>
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <!-- <el-form-item   style="margin-left:20px;">
-                    <el-button @click="batchApprove(true)" style="margin-left:10px;" :loading="batchApproveLoading" :disabled="multipleSelection.length==0">批量通过</el-button>
-                    <el-button @click="batchApprove(false)"  :loading="batchDenyLoading"  :disabled="multipleSelection.length==0">批量驳回</el-button>
-                </el-form-item> -->
-                <!-- <div> -->
-                    
-                    <el-form-item :label="$t('weekDay.date')">
-                        <!-- <el-date-picker v-model="search.date" :editable="false" format="yyyy-MM-dd" value-format="yyyy-MM-dd" 
-                        @change="getList()" :clearable="true" type="date" placeholder="选择工作日期"></el-date-picker> -->
-                        <el-date-picker
-                            v-model="dataTime"
-                            type="daterange"
-                            :range-separator="$t('other.to')"
-                            :start-placeholder="$t('time.startDate')"
-                            :end-placeholder="$t('time.endDate')"
-                            format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="dataTimes()" size="mini">
-                        </el-date-picker>
+                        <selectCat v-if="user.userNameNeedTranslate == '1'" :filterable="true" :size="'size'" :subject="searchUsersList" :clearable="true" :distinction="'2'" @selectCal="selectCal"></selectCat>
                     </el-form-item>
 
-                    <el-form-item   style="margin-left:20px;">
-                        <el-button @click="batchApprove(true)" style="margin-left:10px;" :loading="batchApproveLoading" :disabled="multipleSelection.length==0" size="mini">{{ $t('Batchthrough') }}</el-button>
-                        <el-button @click="batchApprove(false)"   :disabled="multipleSelection.length==0" size="mini">{{ $t('Batchrejected') }}</el-button>
-                    </el-form-item>
-                    <el-form-item style="margin-left:20px;">
-                    <el-link type="primary" @click="recordList(),recordDialogVisible = true,pageIndexList = 1,pageSizeList = 20">{{ $t('Auditrecords') }}</el-link>
+                    <el-form-item :label="$t('other.project')" style="width: 215px">
+                        <el-select v-model="search.projectId" :placeholder="$t('defaultText.pleaseChoose')" clearable @change="getList()" filterable="true" size="mini" style="width: 175px" popper-class="projectSelectPopperClass">
+                            <el-option v-for="item in projectList" :key="item.id" :label="item.projectName + item.projectCode" :value="item.id">
+                                <span style="float: left;color: #8492a6;">{{ item.projectCode }}</span>
+                                <span style="float: right;font-size: 13px;">{{ item.projectName }}</span>
+                            </el-option>
+                        </el-select>
                     </el-form-item>
+                    <!-- <el-form-item   style="margin-left:20px;">
+                        <el-button @click="batchApprove(true)" style="margin-left:10px;" :loading="batchApproveLoading" :disabled="multipleSelection.length==0">批量通过</el-button>
+                        <el-button @click="batchApprove(false)"  :loading="batchDenyLoading"  :disabled="multipleSelection.length==0">批量驳回</el-button>
+                    </el-form-item> -->
+                    <!-- <div> -->
+                        
+                        <el-form-item :label="$t('weekDay.date')">
+                            <!-- <el-date-picker v-model="search.date" :editable="false" format="yyyy-MM-dd" value-format="yyyy-MM-dd" 
+                            @change="getList()" :clearable="true" type="date" placeholder="选择工作日期"></el-date-picker> -->
+                            <el-date-picker
+                                v-model="dataTime"
+                                type="daterange"
+                                :range-separator="$t('other.to')"
+                                :start-placeholder="$t('time.startDate')"
+                                :end-placeholder="$t('time.endDate')"
+                                format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="dataTimes()" size="mini">
+                            </el-date-picker>
+                        </el-form-item>
+
+                        <el-form-item   style="margin-left:20px;">
+                            <el-button @click="batchApprove(true)" style="margin-left:10px;" :loading="batchApproveLoading" :disabled="multipleSelection.length==0" size="mini">{{ $t('Batchthrough') }}</el-button>
+                            <el-button @click="batchApprove(false)"   :disabled="multipleSelection.length==0" size="mini">{{ $t('Batchrejected') }}</el-button>
+                        </el-form-item>
+                        <el-form-item style="margin-left:20px;">
+                        <el-link type="primary" @click="recordList(),recordDialogVisible = true,pageIndexList = 1,pageSizeList = 20">{{ $t('Auditrecords') }}</el-link>
+                        </el-form-item>
 
-                    <!-- 调试 -->
-                    <!-- <cascaderOption></cascaderOption> -->
-                <!-- </div> -->
-            </el-form>
-        </el-col>
+                        <!-- 调试 -->
+                        <!-- <cascaderOption></cascaderOption> -->
+                    <!-- </div> -->
+                </el-form>
+            </el-col>
+        </div>
+        
         <!--列表-->
-        <el-table :data="list" ref="multipleTable" v-if="showTable" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;"
-            @selection-change="handleSelectionChange" :default-expand-all="defaultExpandAllFlg" @expand-change="expandChange">
-            <el-table-column type="selection" width="55"></el-table-column>
-            <el-table-column type="expand" :label="''">
-                <template slot="header">
-                    <i :class="defaultExpandAllFlg ? 'el-icon-arrow-down' : 'el-icon-arrow-right'" style="cursor: pointer;" @click="defaultExpandAllFlgCli()"></i>
-                </template>
-                <template slot-scope="props">
-                    <el-timeline>
-                        <el-timeline-item v-for="(item,index) in props.row.data" :key="index">
-                            <el-card shadow="never">
-                                <p>{{ $t('other.project') + ':' }}<b>{{item.projectCode+'/'+item.project}}<span v-if="item.subProjectName != null"> / {{item.subProjectName}}</span>
-                                <span style="margin-left:15px;color:#DAA520;" >[ 
-                                                <span v-if="item.isDeptAudit==0">
-                                                    <span v-if="item.projectAuditState==0">
-                                                        {{ $t('other.waitForTheProjectReviewer') }}<span v-if="item.projectAuditorName != null">(
-                                                            <!-- {{item.projectAuditorName}} -->
-                                                            <span v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='userName' :openid='item.projectAuditorName'></TranslationOpenDataText></span>
-                                                            <span v-if="user.userNameNeedTranslate != '1'">{{item.projectAuditorName}}</span>
-                                                            )</span>{{ $t('other.audit') }}
+        <div class="reviewTable" ref="reviewTable">
+            <el-table :data="list" ref="multipleTable" v-if="showTable" :height="reviewTableHeight" :key="reviewTableHeightKey" highlight-current-row v-loading="listLoading" style="width: 100%;"
+                @selection-change="handleSelectionChange" :default-expand-all="defaultExpandAllFlg" @expand-change="expandChange">
+                <el-table-column type="selection" width="55"></el-table-column>
+                <el-table-column type="expand" :label="''">
+                    <template slot="header">
+                        <i :class="defaultExpandAllFlg ? 'el-icon-arrow-down' : 'el-icon-arrow-right'" style="cursor: pointer;" @click="defaultExpandAllFlgCli()"></i>
+                    </template>
+                    <template slot-scope="props">
+                        <el-timeline>
+                            <el-timeline-item v-for="(item,index) in props.row.data" :key="index">
+                                <el-card shadow="never">
+                                    <p>{{ $t('other.project') + ':' }}<b>{{item.projectCode+'/'+item.project}}<span v-if="item.subProjectName != null"> / {{item.subProjectName}}</span>
+                                    <span style="margin-left:15px;color:#DAA520;" >[ 
+                                                    <span v-if="item.isDeptAudit==0">
+                                                        <span v-if="item.projectAuditState==0">
+                                                            {{ $t('other.waitForTheProjectReviewer') }}<span v-if="item.projectAuditorName != null">(
+                                                                <!-- {{item.projectAuditorName}} -->
+                                                                <span v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='userName' :openid='item.projectAuditorName'></TranslationOpenDataText></span>
+                                                                <span v-if="user.userNameNeedTranslate != '1'">{{item.projectAuditorName}}</span>
+                                                                )</span>{{ $t('other.audit') }}
+                                                        </span>
+                                                        <span style="color:#32CD32;" v-else-if="item.projectAuditState==1">
+                                                            {{ $t('other.projectAuditor') }}<span v-if="item.projectAuditorName != null">(
+                                                                <!-- {{item.projectAuditorName}} -->
+                                                                <span v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='userName' :openid='item.projectAuditorName'></TranslationOpenDataText></span>
+                                                                <span v-if="user.userNameNeedTranslate != '1'">{{item.projectAuditorName}}</span>
+                                                            )</span>{{ $t('state.approved') }}
+                                                        </span>
                                                     </span>
-                                                    <span style="color:#32CD32;" v-else-if="item.projectAuditState==1">
-                                                        {{ $t('other.projectAuditor') }}<span v-if="item.projectAuditorName != null">(
-                                                            <!-- {{item.projectAuditorName}} -->
-                                                            <span v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='userName' :openid='item.projectAuditorName'></TranslationOpenDataText></span>
-                                                            <span v-if="user.userNameNeedTranslate != '1'">{{item.projectAuditorName}}</span>
-                                                        )</span>{{ $t('state.approved') }}
+                                                    <span v-else-if="item.isDeptAudit==1">
+                                                        <!-- {{($t('other.await') +item.auditDeptName+('('+item.deptAuditorName+')')+ $t('other.audit'))}} -->
+                                                        ({{$t('other.await')}}
+                                                        <span v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='departmentName' :openid='item.auditDeptName'></TranslationOpenDataText></span>
+                                                        <span v-if="user.userNameNeedTranslate != '1'">{{item.auditDeptName}}</span>
+                                                        (<span v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='userName' :openid='item.deptAuditorName'></TranslationOpenDataText></span>
+                                                        <span v-if="user.userNameNeedTranslate != '1'">{{item.deptAuditorName}}</span>)
+                                                        {{$t('other.audit')}})
                                                     </span>
-                                                </span>
-                                                <span v-else-if="item.isDeptAudit==1">
-                                                    <!-- {{($t('other.await') +item.auditDeptName+('('+item.deptAuditorName+')')+ $t('other.audit'))}} -->
-                                                    ({{$t('other.await')}}
-                                                    <span v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='departmentName' :openid='item.auditDeptName'></TranslationOpenDataText></span>
-                                                    <span v-if="user.userNameNeedTranslate != '1'">{{item.auditDeptName}}</span>
-                                                    (<span v-if="user.userNameNeedTranslate == '1'"><TranslationOpenDataText type='userName' :openid='item.deptAuditorName'></TranslationOpenDataText></span>
-                                                    <span v-if="user.userNameNeedTranslate != '1'">{{item.deptAuditorName}}</span>)
-                                                    {{$t('other.audit')}})
-                                                </span>
-                                                 ]
-                                </span>
-                                </b></p>
-                                <p v-if="user.timeType.reportAuditType == 6" >审核流程:<span v-if="item.auditorList && item.auditorList.length == 1">一层审核(<span style="color:#20A0ff;">{{ item.auditorList[0].name }}</span>)</span>
-                                <span v-if="item.auditorList && item.auditorList.length == 2">两层审核(<span style="color:#20A0ff;">{{ item.auditorList[0].name }}->{{ item.auditorList[1].name }}</span>)</span>
-                                <el-button size="small" @click="viewOneReport(item)" v-if="!item.auditorList">查看</el-button>
-                                </p>
-                                <p v-if="user.timeType.customDegreeActive==1 && (item.degree_id != null || item.multiDegrId != '[]')">{{user.timeType.customDegreeName}}:{{item.degreeName}}</p>
-                                <p v-if="user.timeType.customDataActive==1">{{user.timeType.customDataName}}:{{item.customData}}</p>
-                                <p v-if="user.timeType.customTextActive==1">{{user.timeType.customTextName}}:{{item.customText}}</p>
-                                <p v-if="user.company.packageEngineering == 1">
-                                    {{ $t('other.professionalProgress') +':'}} <span style="margin-right:10px;" v-for="progressItem in item.professionProgressList" :key="progressItem.id">
-                                        {{progressItem.professionName}}({{progressItem.progress}}%)
-                                        <el-tooltip v-if="progressItem.auditState == 0"  :content="$t('state.WaitingAudit')" effect="light" placement="top">
-                                        <i class="iconfont firerock-icondaibandengdaishenhe"></i>
-                                        </el-tooltip>
-                                        <el-tooltip v-if="progressItem.auditState == 1" :content="$t('state.alreadyPassed')" effect="light" placement="top">
-                                        <i  class="iconfont firerock-iconshenhetongguo"></i>
-                                        </el-tooltip>
-                                        <el-tooltip v-if="progressItem.auditState == 2" :content="$t('state.notThrough')" effect="light" placement="top">
-                                        <i  class="iconfont firerock-iconshenhebohui"></i>
-                                        </el-tooltip>
-                                        </span> 
-                                </p>
-                                <p v-if="user.companyId == yuzhongCompId">
-                                                        <span>角色:{{item.extraField1? roleList.filter(r=>r.value == item.extraField1)[0].label:''}}</span>
-                                                    <span style="margin-left:10px;">工作职责:{{ item.extraField2? item.extraField2Name:''}}</span>
-                                                    <span style="margin-left:10px;">工作内容:{{ item.extraField3? item.extraField3Name:''}}</span></p>
-                                <p v-if="item.taskId != null">{{$t('other.task')}}:{{item.taskName}}
-                                    <span style="margin-left:10px;" v-if="user.companyId==3092">-- 服务:{{ item.sapServiceName }}</span></p>
-                                <p v-if="item.groupId">
-                                    <span>{{$t('other.taskGroup')}}:{{item.groupName}}</span>
-                                    <!-- 阶段 -->
-                                    <span v-if="item.stage != null && user.companyId != yuzhongCompId" style="margin-left:10px;"> {{$t('other.inputStage')}}:{{item.stage}}</span>
-                                </p>
-                                <p v-if="user.company.companyName == '成都明夷电子科技有限公司'">
-                                    <span>用时占比:{{ item.progress }}%</span>
-                                </p>
-                                <p v-else>
-                                    <span v-if="item.multiWorktime==1">{{ $t('other.project') }}</span>
-                                    <span>{{$t('time.duration')}}:</span>
-                                    <span v-if="item.startTime">{{ item.startTime + '-' + item.endTime }}</span>
-                                    <span>{{item.time.toFixed(1)}}h </span>
-                                    <span class="propsbtn" v-if="item.isOvertime === 1">
-                                    <el-tag type="danger" size="mini" style="margin-left: 65px">{{ $t('other.WorkOvertime') }}<span v-if="item.overtimeHours">{{item.overtimeHours.toFixed(1)}}{{$t('time.hour')}}</span></el-tag></span>
-                                </p>
+                                                    ]
+                                    </span>
+                                    </b></p>
+                                    <p v-if="user.timeType.reportAuditType == 6" >审核流程:<span v-if="item.auditorList && item.auditorList.length == 1">一层审核(<span style="color:#20A0ff;">{{ item.auditorList[0].name }}</span>)</span>
+                                    <span v-if="item.auditorList && item.auditorList.length == 2">两层审核(<span style="color:#20A0ff;">{{ item.auditorList[0].name }}->{{ item.auditorList[1].name }}</span>)</span>
+                                    <el-button size="small" @click="viewOneReport(item)" v-if="!item.auditorList">查看</el-button>
+                                    </p>
+                                    <p v-if="user.timeType.customDegreeActive==1 && (item.degree_id != null || item.multiDegrId != '[]')">{{user.timeType.customDegreeName}}:{{item.degreeName}}</p>
+                                    <p v-if="user.timeType.customDataActive==1">{{user.timeType.customDataName}}:{{item.customData}}</p>
+                                    <p v-if="user.timeType.customTextActive==1">{{user.timeType.customTextName}}:{{item.customText}}</p>
+                                    <p v-if="user.company.packageEngineering == 1">
+                                        {{ $t('other.professionalProgress') +':'}} <span style="margin-right:10px;" v-for="progressItem in item.professionProgressList" :key="progressItem.id">
+                                            {{progressItem.professionName}}({{progressItem.progress}}%)
+                                            <el-tooltip v-if="progressItem.auditState == 0"  :content="$t('state.WaitingAudit')" effect="light" placement="top">
+                                            <i class="iconfont firerock-icondaibandengdaishenhe"></i>
+                                            </el-tooltip>
+                                            <el-tooltip v-if="progressItem.auditState == 1" :content="$t('state.alreadyPassed')" effect="light" placement="top">
+                                            <i  class="iconfont firerock-iconshenhetongguo"></i>
+                                            </el-tooltip>
+                                            <el-tooltip v-if="progressItem.auditState == 2" :content="$t('state.notThrough')" effect="light" placement="top">
+                                            <i  class="iconfont firerock-iconshenhebohui"></i>
+                                            </el-tooltip>
+                                            </span> 
+                                    </p>
+                                    <p v-if="user.companyId == yuzhongCompId">
+                                                            <span>角色:{{item.extraField1? roleList.filter(r=>r.value == item.extraField1)[0].label:''}}</span>
+                                                        <span style="margin-left:10px;">工作职责:{{ item.extraField2? item.extraField2Name:''}}</span>
+                                                        <span style="margin-left:10px;">工作内容:{{ item.extraField3? item.extraField3Name:''}}</span></p>
+                                    <p v-if="item.taskId != null">{{$t('other.task')}}:{{item.taskName}}
+                                        <span style="margin-left:10px;" v-if="user.companyId==3092">-- 服务:{{ item.sapServiceName }}</span></p>
+                                    <p v-if="item.groupId">
+                                        <span>{{$t('other.taskGroup')}}:{{item.groupName}}</span>
+                                        <!-- 阶段 -->
+                                        <span v-if="item.stage != null && user.companyId != yuzhongCompId" style="margin-left:10px;"> {{$t('other.inputStage')}}:{{item.stage}}</span>
+                                    </p>
+                                    <p v-if="user.company.companyName == '成都明夷电子科技有限公司'">
+                                        <span>用时占比:{{ item.progress }}%</span>
+                                    </p>
+                                    <p v-else>
+                                        <span v-if="item.multiWorktime==1">{{ $t('other.project') }}</span>
+                                        <span>{{$t('time.duration')}}:</span>
+                                        <span v-if="item.startTime">{{ item.startTime + '-' + item.endTime }}</span>
+                                        <span>{{item.time.toFixed(1)}}h </span>
+                                        <span class="propsbtn" v-if="item.isOvertime === 1">
+                                        <el-tag type="danger" size="mini" style="margin-left: 65px">{{ $t('other.WorkOvertime') }}<span v-if="item.overtimeHours">{{item.overtimeHours.toFixed(1)}}{{$t('time.hour')}}</span></el-tag></span>
+                                    </p>
 
-                                <div v-if="item.multiWorktime==0">
-                                <p>{{ $t('other.matters') }}:<span v-html="item.content"></span></p>
-                                </div>
-                                <div v-if="item.multiWorktime==1" >
-                                    <div v-for="(timeItem, tIndex) in item.worktimeList" :key="tIndex"
-                                        style="border: 0.5px #ddd solid;margin:5px 0px;padding:5px; ">
-                                        <p style="line-height:20px;margin:5px 0px;">{{$t('time.duration')}}:
-                                            <span v-if="item.reportTimeType == 2" style="margin-right:10px;">{{timeItem.startTime+'-'+timeItem.endTime}}</span>
-                                        {{timeItem.time.toFixed(1)}}h  
-                                        </p>
-                                        <p style="line-height:20px;margin:5px 0px;">{{ $t('other.matters') }}:<span v-html="timeItem.content"></span></p>
+                                    <div v-if="item.multiWorktime==0">
+                                    <p>{{ $t('other.matters') }}:<span v-html="item.content"></span></p>
+                                    </div>
+                                    <div v-if="item.multiWorktime==1" >
+                                        <div v-for="(timeItem, tIndex) in item.worktimeList" :key="tIndex"
+                                            style="border: 0.5px #ddd solid;margin:5px 0px;padding:5px; ">
+                                            <p style="line-height:20px;margin:5px 0px;">{{$t('time.duration')}}:
+                                                <span v-if="item.reportTimeType == 2" style="margin-right:10px;">{{timeItem.startTime+'-'+timeItem.endTime}}</span>
+                                            {{timeItem.time.toFixed(1)}}h  
+                                            </p>
+                                            <p style="line-height:20px;margin:5px 0px;">{{ $t('other.matters') }}:<span v-html="timeItem.content"></span></p>
+                                        </div>
                                     </div>
-                                </div>
 
-                                <!--照片的显示 -->
-                                <p v-if="item.pics != null && item.pics.length > 0"> 
-                                    <el-image v-for="(pic, index) in item.pics" :key="index"
-                                        style="width: 100px; height: 100px; margin-right:10px;"
-                                        :src="pic" 
-                                        :preview-src-list="item.pics">
-                                    </el-image>
-                                </p>
-                            </el-card>
-                        </el-timeline-item>
-                    </el-timeline>
-                </template>
-            </el-table-column>
-            
-            <el-table-column prop="name" :label="$t('lable.name')" sortable>
-                <template slot-scope="scope">
-                    <div>
-                        <span v-if="user.userNameNeedTranslate == '1'">
-                            <TranslationOpenDataText type='userName' :openid='scope.row.name'></TranslationOpenDataText>
-                        </span>
-                        <span v-else>
-                            {{scope.row.name}}
-                        </span>
-                    </div>
-                </template>
-            </el-table-column>
-            <el-table-column prop="departmentName" :label="$t('lable.department')" sortable>
-                <template slot-scope="scope">
-                    <div>
-                        <span v-if="user.userNameNeedTranslate == '1'">
-                            <TranslationOpenDataText type='departmentName' :openid='scope.row.departmentName'></TranslationOpenDataText>
-                        </span>
-                        <span v-else>
-                            {{scope.row.departmentName}}
-                        </span>
-                    </div>
-                </template>
-            </el-table-column>
-            <el-table-column prop="dateStr" :label="$t('weekDay.date')" sortable>
-            </el-table-column>
-            <el-table-column prop="reportTime" :label="$t('screening.workTime') + '(h)'" >
-                <template slot-scope="scope">
-                    {{scope.row.reportTime | amounts}}
-                </template>
-            </el-table-column>
-             <el-table-column prop="cardHours" :label="$t('workAttendance') + '(h)'" v-if="user.timeType.showCorpwxCardtime==1||user.timeType.showDdCardtime==1">
-                <template slot-scope="scope">
-                    {{scope.row.cardHours?scope.row.cardHours.toFixed(1):'-'}}
-                </template>
-            </el-table-column>
-            <el-table-column prop="state" :label="$t('state.states')" sortable>
-                <template slot-scope="scope">
-                    <span v-if="scope.row.state == 0" style="color:#DAA520;">
-                        <span v-if="user.userNameNeedTranslate != '1'">
-                            <span v-if="user.company.companyName != '成都明夷电子科技有限公司'">
-                                {{scope.row.isDeptAudit==0?$t('other.Tobereviewedbytheprojectreviewer'):($t('other.await')+scope.row.auditDeptName+('('+scope.row.deptAuditorName+')')+$t('other.audit'))}}
+                                    <!--照片的显示 -->
+                                    <p v-if="item.pics != null && item.pics.length > 0"> 
+                                        <el-image v-for="(pic, index) in item.pics" :key="index"
+                                            style="width: 100px; height: 100px; margin-right:10px;"
+                                            :src="pic" 
+                                            :preview-src-list="item.pics">
+                                        </el-image>
+                                    </p>
+                                </el-card>
+                            </el-timeline-item>
+                        </el-timeline>
+                    </template>
+                </el-table-column>
+                
+                <el-table-column prop="name" :label="$t('lable.name')" sortable>
+                    <template slot-scope="scope">
+                        <div>
+                            <span v-if="user.userNameNeedTranslate == '1'">
+                                <TranslationOpenDataText type='userName' :openid='scope.row.name'></TranslationOpenDataText>
                             </span>
                             <span v-else>
-                                待审核
+                                {{scope.row.name}}
+                            </span>
+                        </div>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="departmentName" :label="$t('lable.department')" sortable>
+                    <template slot-scope="scope">
+                        <div>
+                            <span v-if="user.userNameNeedTranslate == '1'">
+                                <TranslationOpenDataText type='departmentName' :openid='scope.row.departmentName'></TranslationOpenDataText>
                             </span>
-                        </span>
-                        <span v-if="user.userNameNeedTranslate == '1'">
-                            <span v-if="scope.row.isDeptAudit==0">{{$t('other.Tobereviewedbytheprojectreviewer')}}</span>
                             <span v-else>
-                                {{$t('other.await')}}
-                                <TranslationOpenDataText type='departmentName' :openid='scope.row.auditDeptName'></TranslationOpenDataText>
-                                (<TranslationOpenDataText type='userName' :openid='scope.row.deptAuditorName'></TranslationOpenDataText>)
-                                {{$t('other.audit')}}
+                                {{scope.row.departmentName}}
+                            </span>
+                        </div>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="dateStr" :label="$t('weekDay.date')" sortable>
+                </el-table-column>
+                <el-table-column prop="reportTime" :label="$t('screening.workTime') + '(h)'" >
+                    <template slot-scope="scope">
+                        {{scope.row.reportTime | amounts}}
+                    </template>
+                </el-table-column>
+                <el-table-column prop="cardHours" :label="$t('workAttendance') + '(h)'" v-if="user.timeType.showCorpwxCardtime==1||user.timeType.showDdCardtime==1">
+                    <template slot-scope="scope">
+                        {{scope.row.cardHours?scope.row.cardHours.toFixed(1):'-'}}
+                    </template>
+                </el-table-column>
+                <el-table-column prop="state" :label="$t('state.states')" sortable>
+                    <template slot-scope="scope">
+                        <span v-if="scope.row.state == 0" style="color:#DAA520;">
+                            <span v-if="user.userNameNeedTranslate != '1'">
+                                <span v-if="user.company.companyName != '成都明夷电子科技有限公司'">
+                                    {{scope.row.isDeptAudit==0?$t('other.Tobereviewedbytheprojectreviewer'):($t('other.await')+scope.row.auditDeptName+('('+scope.row.deptAuditorName+')')+$t('other.audit'))}}
+                                </span>
+                                <span v-else>
+                                    待审核
+                                </span>
+                            </span>
+                            <span v-if="user.userNameNeedTranslate == '1'">
+                                <span v-if="scope.row.isDeptAudit==0">{{$t('other.Tobereviewedbytheprojectreviewer')}}</span>
+                                <span v-else>
+                                    {{$t('other.await')}}
+                                    <TranslationOpenDataText type='departmentName' :openid='scope.row.auditDeptName'></TranslationOpenDataText>
+                                    (<TranslationOpenDataText type='userName' :openid='scope.row.deptAuditorName'></TranslationOpenDataText>)
+                                    {{$t('other.audit')}}
+                                </span>
                             </span>
                         </span>
-                    </span>
-                    <span v-else-if="scope.row.state == 1" style="color:#32CD32;">{{ $t('state.alreadyPassed') }}</span>
-                    <span v-else-if="scope.row.state == 2" style="color:#FF0000;">{{ $t('state.rejected') }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column :label="$t('operation')" width="220">
-                <template slot-scope="scope">
-                    <el-button type="primary" :loading="logining" size="small" @click="approve(scope.row.id,scope.row.date, scope.row)">{{ $t('btn.through') }}</el-button>
-                    <el-button type="danger" :loading="logining" size="small" @click="showDenyDialog(scope.row.id,0,scope.row.dateStr, scope.row)">{{ $t('btn.rejected') }}</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-        <!--驳回弹出框 -->
+                        <span v-else-if="scope.row.state == 1" style="color:#32CD32;">{{ $t('state.alreadyPassed') }}</span>
+                        <span v-else-if="scope.row.state == 2" style="color:#FF0000;">{{ $t('state.rejected') }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column :label="$t('operation')" width="220">
+                    <template slot-scope="scope">
+                        <el-button type="primary" :loading="logining" size="small" @click="approve(scope.row.id,scope.row.date, scope.row)">{{ $t('btn.through') }}</el-button>
+                        <el-button type="danger" :loading="logining" size="small" @click="showDenyDialog(scope.row.id,0,scope.row.dateStr, scope.row)">{{ $t('btn.rejected') }}</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </div>
+
+        <!-- 分页 -->
+        <div class="reviewPaging">
+            <el-pagination
+                @size-change="reviewHandleSizeChange"
+                @current-change="reviewHandleCurrentChange"
+                :current-page="reviewTableObj.reviewTableIndex"
+                :page-sizes="[10, 15, 20, 30]"
+                :page-size="reviewTableObj.reviewTableSize"
+                layout="total, prev, pager, next, sizes"
+                :total="reviewTableObj.reviewTableTotal"
+            >
+            </el-pagination>
+        </div>        <!--驳回弹出框 -->
         <el-dialog :title="$t('defaultText.pleaseEnterTheReason')"  v-if="denyReasonDialog" :visible.sync="denyReasonDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
             <div>
                 <el-input type="textarea" v-model="denyForm.reason" rows="2" :placeholder="$t('defaultText.pleaseEnterYourDecision')+(denyForm.i==0?$t('btn.rejected'):$t('btn.undo'))+$t('other.reason')" />
@@ -432,7 +450,7 @@
                 <el-button type="primary" @click="approveinfun()" v-else>{{ $t('btn.determine') }}</el-button>
             </div>
         </el-dialog>
-    </section>
+    </div>
 </template>
 
 <script>
@@ -511,7 +529,16 @@
                 isbatch: false,
                 defaultExpandAllFlg: false,
                 showTable: true,
-                projectList: []
+                projectList: [],
+                reviewTableHeight: 0,
+                reviewTableHeightKey: 1,
+
+                reviewTableObj: {
+                    reviewTableTotal: 0,
+                    reviewTableIndex: 1,
+                    reviewTableSize: 10,
+                },
+                listBackup: []
             };
         },
         filters: {
@@ -787,6 +814,25 @@
                     this.getList()
                 }
             },
+            reviewHandleSizeChange(val) {
+                this.reviewTableObj.reviewTableSize = val,
+                this.reviewTableObj.reviewTableIndex = 1
+                this.list = this.currentChangePage(val, 1, this.listBackup);
+            },
+            reviewHandleCurrentChange(val) {
+                this.reviewTableObj.reviewTableIndex = val
+                this.list = this.currentChangePage(this.reviewTableObj.reviewTableSize, val, this.listBackup);
+            },
+            currentChangePage(size, current, list) {
+                const tablePush = [];
+                let array = JSON.parse(JSON.stringify(list));
+                array.forEach((item, index) => {
+                    if (size * (current - 1) <= index && index <= size * current - 1) {
+                    tablePush.push(item);
+                    }
+                });
+                return tablePush;
+            },
             //获取待审核的数据列表
             getList(e) {
                 this.listLoading = true;
@@ -820,7 +866,14 @@
                 res => {
                     this.listLoading = false;
                     if (res.code == "ok") {
-                        this.list = res.data;
+                        this.listBackup = JSON.parse(JSON.stringify(res.data));
+                        this.list = this.currentChangePage(10, 1, res.data);
+                        let total = res.data.length || 0
+                        this.reviewTableObj = {
+                            reviewTableTotal: total,
+                            reviewTableIndex: 1,
+                            reviewTableSize: this.reviewTableObj.reviewTableSize
+                        }
                         // console.log(this.port.report.portList);
                     } else {
                         this.$message({
@@ -1060,6 +1113,8 @@
             };
         },
         mounted() {
+            this.reviewTableHeight = this.$refs.reviewTable.offsetHeight
+            this.reviewTableHeightKey++
             this.getList();
             this.getDepartment();
             this.getProjectList();
@@ -1068,10 +1123,30 @@
     };
 </script>
 
-<style lang="scss">
+<style lang="scss" scoped>
 .propsbtn {
     display: inline-block;
     padding-left: 20px;
 }
 
+.review {
+    width: 100%;
+    height: calc(100vh - 60px);
+    display: flex;
+    flex-direction: column;
+    .reviewTable {
+        flex: 1;
+        position: relative;
+        overflow: hidden;
+    }
+    .reviewPaging {
+        padding: 10px 20px;
+        display: flex;
+        justify-content: flex-end;
+        width: 100%;
+        margin-top: 2px solid #999;
+        box-sizing: border-box;
+    }
+}
+
 </style>