|
|
@@ -4,16 +4,16 @@
|
|
|
<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"
|
|
|
+ <el-form-item :label="'部门'" style="width: 165px">
|
|
|
+ <el-cascader v-if="user.userNameNeedTranslate != 1" v-model="search.departmentIdArray" :placeholder="'请选择'" 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="$t('tian-bao-ren')" 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-form-item :label="'填报人'" style="width: 210px">
|
|
|
+ <el-select v-if="user.userNameNeedTranslate != '1'" v-model="search.userIdArray" :placeholder="'请选择'" 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>
|
|
|
@@ -24,8 +24,8 @@
|
|
|
<!-- <selectCat :size="'size'" :subject="searchUsersList" :clearable="true" :filterable="true" @selectCal="selectCal"></selectCat> -->
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item :label="$t('other.reviewer')" style="width: 210px">
|
|
|
- <el-select v-if="user.userNameNeedTranslate != '1'" v-model="search.auditUserId" :filterable="true" :placeholder="$t('defaultText.pleaseChoose')" clearable @change="usersSearch(false)" size="mini" style="width: 150px" collapse-tags>
|
|
|
+ <el-form-item :label="'审核人'" style="width: 210px">
|
|
|
+ <el-select v-if="user.userNameNeedTranslate != '1'" v-model="search.auditUserId" :filterable="true" :placeholder="'请选择'" 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>
|
|
|
@@ -35,8 +35,8 @@
|
|
|
<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="$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-form-item :label="'项目'" style="width: 215px">
|
|
|
+ <el-select v-model="search.projectId" :placeholder="'请选择'" 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>
|
|
|
@@ -49,25 +49,25 @@
|
|
|
</el-form-item> -->
|
|
|
<!-- <div> -->
|
|
|
|
|
|
- <el-form-item :label="$t('weekDay.date')">
|
|
|
+ <el-form-item :label="'日期'">
|
|
|
<!-- <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')"
|
|
|
+ :range-separator="'至'"
|
|
|
+ :start-placeholder="'开始日期'"
|
|
|
+ :end-placeholder="'结束日期'"
|
|
|
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-button @click="batchApprove(true)" style="margin-left:10px;" :loading="batchApproveLoading" :disabled="multipleSelection.length==0" size="mini">{{ '批量通过' }}</el-button>
|
|
|
+ <el-button @click="batchApprove(false)" :disabled="multipleSelection.length==0" size="mini">{{ '批量驳回' }}</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-link type="primary" @click="recordList(),recordDialogVisible = true,pageIndexList = 1,pageSizeList = 20">{{ '审核记录' }}</el-link>
|
|
|
</el-form-item>
|
|
|
<el-form-item style="margin-left:20px;" v-if="user.companyId == 469">
|
|
|
<el-link type="primary" @click="exportListByState" :loading="exportLoading">导出待审核日报</el-link>
|
|
|
@@ -99,104 +99,104 @@
|
|
|
</div>
|
|
|
<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>
|
|
|
+ <p>{{ '项目' + ':' }}<b>{{item.projectCode+'/'+item.project}}<span v-if="item.subProjectName != null"> / {{item.subProjectName}}</span>
|
|
|
<span style="margin-left:15px;color:#DAA520;" >[
|
|
|
<span v-if="user.timeType.reportAuditType == 7">
|
|
|
- {{$t('other.reviewer')}}:<TranslationOpenData :configurationItems="{ openType: 'userName', openId: item.projectAuditorName, renderIndex: 0 }" /><span v-if="item.projectAuditState==1">√</span>
|
|
|
+ {{'审核人'}}:<TranslationOpenData :configurationItems="{ openType: 'userName', openId: item.projectAuditorName, renderIndex: 0 }" /><span v-if="item.projectAuditState==1">√</span>
|
|
|
<span v-if="item.deptAuditorName">、</span>
|
|
|
<TranslationOpenData :configurationItems="{ openType: 'userName', openId: item.deptAuditorName, renderIndex: 0 }" /><span v-if="item.departmentAuditState==1">√</span>
|
|
|
</span>
|
|
|
<span v-else>
|
|
|
<span v-if="item.isDeptAudit==0">
|
|
|
<span v-if="item.projectAuditState==0">
|
|
|
- {{ user.companyId == 469?"待部门主管":$t('other.waitForTheProjectReviewer') }}<span v-if="item.projectAuditorName != null">(
|
|
|
+ {{ user.companyId == 469?"待部门主管":'待项目审核人' }}<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>
|
|
|
<span style="color:#32CD32;" v-else-if="item.projectAuditState==1">
|
|
|
- {{ user.companyId == 469?"待部门主管":$t('other.projectAuditor') }}<span v-if="item.projectAuditorName != null">(
|
|
|
+ {{ user.companyId == 469?"待部门主管":'项目审核人' }}<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>
|
|
|
<span v-else-if="item.isDeptAudit==1">
|
|
|
- <!-- {{($t('other.await') +item.auditDeptName+('('+item.deptAuditorName+')')+ $t('other.audit'))}} -->
|
|
|
- ({{$t('other.await')}}
|
|
|
+ <!-- {{('待' +item.auditDeptName+('('+item.deptAuditorName+')')+ '审核')}} -->
|
|
|
+ ({{'待'}}
|
|
|
<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>
|
|
|
</b></p>
|
|
|
- <p v-if="user.timeType.reportAuditType == 6" >{{ $t('shenHeLiuCheng') }}<span v-if="item.auditorList && item.auditorList.length == 1">{{ $t('yiCengShenHe') }}(<span class="themeFontColor">{{ item.auditorList[0].name }}</span>)</span>
|
|
|
- <span v-if="item.auditorList && item.auditorList.length == 2">{{ $t('liangCengShenHe') }}(<span class="themeFontColor">{{ item.auditorList[0].name }}->{{ item.auditorList[1].name }}</span>)</span>
|
|
|
- <el-button size="small" @click="viewOneReport(item)" v-if="!item.auditorList">{{ $t('cha-kan') }}</el-button>
|
|
|
+ <p v-if="user.timeType.reportAuditType == 6" >{{ '审核流程:' }}<span v-if="item.auditorList && item.auditorList.length == 1">{{ '一层审核' }}(<span class="themeFontColor">{{ item.auditorList[0].name }}</span>)</span>
|
|
|
+ <span v-if="item.auditorList && item.auditorList.length == 2">{{ '两层审核' }}(<span class="themeFontColor">{{ 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">
|
|
|
+ {{ '专业进度' +':'}} <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">
|
|
|
+ <el-tooltip v-if="progressItem.auditState == 0" :content="'待审核'" 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">
|
|
|
+ <el-tooltip v-if="progressItem.auditState == 1" :content="'已通过'" 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">
|
|
|
+ <el-tooltip v-if="progressItem.auditState == 2" :content="'不通过'" effect="light" placement="top">
|
|
|
<i class="iconfont firerock-iconshenhebohui"></i>
|
|
|
</el-tooltip>
|
|
|
</span>
|
|
|
</p>
|
|
|
<p v-if="user.companyId == yuzhongCompId">
|
|
|
- <span>{{ $t('jiao-se') }}:{{item.extraField1? roleList.filter(r=>r.value == item.extraField1)[0].label:''}}</span>
|
|
|
- <span style="margin-left:10px;">{{ $t('gongZuoZhiZe') }}:{{ item.extraField2? item.extraField2Name:''}}</span>
|
|
|
- <span style="margin-left:10px;">{{ $t('gongZuoNeiRong') }}:{{ item.extraField3? item.extraField3Name:''}}</span></p>
|
|
|
+ <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="(user.companyId == 4811) && item.constructionStageStr">
|
|
|
<span>施工分项工程 :{{item.constructionStageStr}}</span>
|
|
|
</p>
|
|
|
- <p v-if="item.taskId != null">{{$t('other.task')}}:{{item.taskName}}
|
|
|
- <span style="margin-left:10px;" v-if="user.companyId==3092">-- {{ $t('fuWu') }}:{{ item.sapServiceName }}</span></p>
|
|
|
+ <p v-if="item.taskId != null">{{'任务'}}:{{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>{{'任务分组'}}:{{item.groupName}}</span>
|
|
|
<!-- 阶段 -->
|
|
|
- <span v-if="item.stage != null && user.companyId != yuzhongCompId" style="margin-left:10px;"> {{$t('other.inputStage')}}:{{item.stage}}</span>
|
|
|
+ <span v-if="item.stage != null && user.companyId != yuzhongCompId" style="margin-left:10px;"> {{'投入阶段'}}:{{item.stage}}</span>
|
|
|
</p>
|
|
|
<!-- 工单号,行号 -->
|
|
|
<p v-if="user.timeType.reportExtraField4Name">{{ user.timeType.reportExtraField4Name }}: {{ item.extraField4 }}</p>
|
|
|
<p v-if="user.timeType.reportExtraField5Name">{{ user.timeType.reportExtraField5Name }}: {{ item.extraField5 }}</p>
|
|
|
<p v-if="user.company.companyName == '成都明夷电子科技有限公司'">
|
|
|
- <span>{{ $t('lable.percentageOfTime') }} :{{ item.progress }}%</span>
|
|
|
+ <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.multiWorktime==1">{{ '项目' }}</span>
|
|
|
+ <span>{{'时长'}}:</span>
|
|
|
<span v-if="item.startTime">{{ item.startTime + '-' + item.endTime }}</span>
|
|
|
<span>{{item.time.toFixed(2)}}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>
|
|
|
+ <el-tag type="danger" size="mini" style="margin-left: 65px">{{ '加班' }}<span v-if="item.overtimeHours">{{item.overtimeHours.toFixed(1)}}{{'小时'}}</span></el-tag></span>
|
|
|
</p>
|
|
|
|
|
|
<div v-if="item.multiWorktime==0">
|
|
|
- <p v-if="!user.timeType.hideContent">{{ $t('other.matters') }}:<span v-html="formatContent(item.content)"></span></p>
|
|
|
+ <p v-if="!user.timeType.hideContent">{{ '工作内容' }}:<span v-html="formatContent(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')}}:
|
|
|
+ <p style="line-height:20px;margin:5px 0px;">{{'时长'}}:
|
|
|
<span v-if="item.reportTimeType == 2" style="margin-right:10px;">{{timeItem.startTime+'-'+timeItem.endTime}}</span>
|
|
|
{{timeItem.time.toFixed(1)}}h
|
|
|
<span v-if="timeItem.detail" style="margin-left:10px;"> {{timeItem.detail}} </span>
|
|
|
</p>
|
|
|
- <p style="line-height:20px;margin:5px 0px;" v-if="!user.timeType.hideContent">{{ $t('other.matters') }}:<span v-html="formatContent(timeItem.content)"></span></p>
|
|
|
+ <p style="line-height:20px;margin:5px 0px;" v-if="!user.timeType.hideContent">{{ '工作内容' }}:<span v-html="formatContent(timeItem.content)"></span></p>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -214,7 +214,7 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column prop="name" :label="$t('lable.name')" sortable>
|
|
|
+ <el-table-column prop="name" :label="'姓名'" sortable>
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
|
@@ -226,7 +226,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="departmentName" :label="$t('lable.department')" sortable>
|
|
|
+ <el-table-column prop="departmentName" :label="'部门'" sortable>
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
|
@@ -238,12 +238,12 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="dateStr" :label="$t('weekDay.date')" sortable>
|
|
|
+ <el-table-column prop="dateStr" :label="'日期'" sortable>
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.dateStr}} <el-tag v-if="!scope.row.isWorkDay">休</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="reportTime" :label="$t('screening.workTime') + '(h)'" v-if="user.companyId != 469">
|
|
|
+ <el-table-column prop="reportTime" :label="'工作时长' + '(h)'" v-if="user.companyId != 469">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.reportTime | amounts}}
|
|
|
</template>
|
|
|
@@ -253,7 +253,7 @@
|
|
|
<span :style="scope.row.abnormalTime?'color:red':''">{{scope.row.abnormalName}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column width="320" prop="cardHours" :label="$t('workAttendance') + '(h)'" v-if="user.timeType.showCorpwxCardtime==1||user.timeType.showDdCardtime==1 || user.timeType.syncFanwei==1">
|
|
|
+ <el-table-column width="320" prop="cardHours" :label="'考勤时长' + '(h)'" v-if="user.timeType.showCorpwxCardtime==1||user.timeType.showDdCardtime==1 || user.timeType.syncFanwei==1">
|
|
|
<template slot-scope="scope">
|
|
|
<div style="display: flex;align-items: center;">
|
|
|
<span v-if="scope.row.cardHours" :style="scope.row.cardHours != scope.row.reportTime?'color:red':''">
|
|
|
@@ -297,61 +297,61 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="state" :label="$t('state.states')" sortable width="200">
|
|
|
+ <el-table-column prop="state" :label="'状态'" sortable width="200">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.state == 0" style="color:#DAA520;">
|
|
|
- <span v-if="user.timeType.reportAuditType == 7">{{ $t('state.WaitingAudit') }}</span>
|
|
|
+ <span v-if="user.timeType.reportAuditType == 7">{{ '待审核' }}</span>
|
|
|
<span v-else>
|
|
|
<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'))}} -->
|
|
|
+ <!-- {{scope.row.isDeptAudit==0?'待项目审核人审核':('待'+scope.row.auditDeptName+('('+scope.row.deptAuditorName+')')+'审核')}} -->
|
|
|
<span v-if="scope.row.isDeptAudit==0">
|
|
|
<span>
|
|
|
- {{ user.companyId == 469?"待部门主管":$t('other.waitForTheProjectReviewer') }}<span>(
|
|
|
+ {{ user.companyId == 469?"待部门主管":'待项目审核人' }}<span>(
|
|
|
<template v-for="(auditItem, auditindexs) in (scope.row.reviewerNames || [])">
|
|
|
<TranslationOpenDataText type='userName' :openid='auditItem'></TranslationOpenDataText>
|
|
|
<span v-if="auditindexs < scope.row.reviewerNames.length-1">,</span>
|
|
|
</template>
|
|
|
- )</span>{{ $t('other.audit') }}
|
|
|
+ )</span>{{ '审核' }}
|
|
|
</span>
|
|
|
</span>
|
|
|
<span v-else>
|
|
|
- {{ ($t('other.await')+scope.row.auditDeptName+('('+scope.row.deptAuditorName+')')+$t('other.audit')) }}
|
|
|
+ {{ ('待'+scope.row.auditDeptName+('('+scope.row.deptAuditorName+')')+'审核') }}
|
|
|
</span>
|
|
|
</span>
|
|
|
<span v-else>
|
|
|
- {{ $t('state.WaitingAudit') }}
|
|
|
+ {{ '待审核' }}
|
|
|
</span>
|
|
|
</span>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
|
- <!-- <span v-if="scope.row.isDeptAudit==0">{{$t('other.Tobereviewedbytheprojectreviewer')}}</span> -->
|
|
|
+ <!-- <span v-if="scope.row.isDeptAudit==0">{{'待项目审核人审核'}}</span> -->
|
|
|
<span v-if="scope.row.isDeptAudit==0">
|
|
|
<span>
|
|
|
- {{ user.companyId == 469?"待部门主管":$t('other.waitForTheProjectReviewer') }}<span>(
|
|
|
+ {{ user.companyId == 469?"待部门主管":'待项目审核人' }}<span>(
|
|
|
<template v-for="(auditItem, auditindexs) in (scope.row.reviewerNames || [])">
|
|
|
<TranslationOpenDataText type='userName' :openid='auditItem'></TranslationOpenDataText>
|
|
|
<span v-if="auditindexs < scope.row.reviewerNames.length-1">,</span>
|
|
|
</template>
|
|
|
- )</span>{{ $t('other.audit') }}
|
|
|
+ )</span>{{ '审核' }}
|
|
|
</span>
|
|
|
</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>
|
|
|
+ <span v-else-if="scope.row.state == 1" style="color:#32CD32;">{{ '已通过' }}</span>
|
|
|
+ <span v-else-if="scope.row.state == 2" style="color:#FF0000;">{{ '已驳回' }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column :label="$t('operation')" width="220">
|
|
|
+ <el-table-column :label="'操作'" 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>
|
|
|
+ <el-button type="primary" :loading="logining" size="small" @click="approve(scope.row.id,scope.row.date, scope.row)">{{ '通过' }}</el-button>
|
|
|
+ <el-button type="danger" :loading="logining" size="small" @click="showDenyDialog(scope.row.id,0,scope.row.dateStr, scope.row)">{{ '驳回' }}</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
@@ -370,23 +370,23 @@
|
|
|
>
|
|
|
</el-pagination>
|
|
|
</div> <!--驳回弹出框 -->
|
|
|
- <el-dialog :title="$t('defaultText.pleaseEnterTheReason')" v-if="denyReasonDialog" :visible.sync="denyReasonDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
+ <el-dialog :title="'请输入原因'" v-if="denyReasonDialog" :visible.sync="denyReasonDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
<div>
|
|
|
- <span style="color:red;">*</span><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')" />
|
|
|
+ <span style="color:red;">*</span><el-input type="textarea" v-model="denyForm.reason" rows="2" :placeholder="'请输入您决定'+(denyForm.i==0?'驳回':'撤销')+'原因'" />
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="denyReasonDialog = false" >{{ $t('btn.cancel') }}</el-button>
|
|
|
- <el-button type="primary" @click="deny()" :disabled="user.timeType.forceRejectReason && !denyForm.reason">{{ $t('btn.determine') }}</el-button>
|
|
|
+ <el-button @click="denyReasonDialog = false" >{{ '取消' }}</el-button>
|
|
|
+ <el-button type="primary" @click="deny()" :disabled="user.timeType.forceRejectReason && !denyForm.reason">{{ '确定' }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!--批量驳回弹出框 -->
|
|
|
- <el-dialog :title="$t('defaultText.pleaseEnterTheReason')" v-if="batchDenyDialog" :visible.sync="batchDenyDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
+ <el-dialog :title="'请输入原因'" v-if="batchDenyDialog" :visible.sync="batchDenyDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
<div>
|
|
|
- <span style="color:red;">*</span><el-input type="textarea" v-model="batchDenyData.reason" rows="2" :placeholder="$t('reasonforyourdecisiontoreject')" />
|
|
|
+ <span style="color:red;">*</span><el-input type="textarea" v-model="batchDenyData.reason" rows="2" :placeholder="'请输入您决定驳回的原因'" />
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="batchDenyDialog = false" >{{ $t('btn.cancel') }}</el-button>
|
|
|
- <el-button type="primary" @click="batchDenyClick()" :loading="batchDenyLoading" :disabled="user.timeType.forceRejectReason && !batchDenyData.reason">{{ $t('btn.determine') }}</el-button>
|
|
|
+ <el-button @click="batchDenyDialog = false" >{{ '取消' }}</el-button>
|
|
|
+ <el-button type="primary" @click="batchDenyClick()" :loading="batchDenyLoading" :disabled="user.timeType.forceRejectReason && !batchDenyData.reason">{{ '确定' }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!--工具条-->
|
|
|
@@ -404,10 +404,10 @@
|
|
|
|
|
|
|
|
|
<!-- 审核记录弹窗 -->
|
|
|
- <el-dialog :title="$t('Auditrecords')" :visible.sync="recordDialogVisible" width="1200px" :before-close="handleClose">
|
|
|
+ <el-dialog :title="'审核记录'" :visible.sync="recordDialogVisible" width="1200px" :before-close="handleClose">
|
|
|
<div style="height: 430px">
|
|
|
<el-table :data="recordLists" style="width: 100%" height="400">
|
|
|
- <el-table-column prop="userName" :label="$t('other.operator')" width="120">
|
|
|
+ <el-table-column prop="userName" :label="'操作人'" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
|
@@ -417,9 +417,9 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="indate" :label="$t('AuditTime')" width="240"></el-table-column>
|
|
|
- <el-table-column prop="result" :label="$t('Reviewtheresults')" width="120" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column prop="date" :label="$t('EmployeeDate')">
|
|
|
+ <el-table-column prop="indate" :label="'审核时间'" width="240"></el-table-column>
|
|
|
+ <el-table-column prop="result" :label="'审核结果'" width="120" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="date" :label="'员工/日期'">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<div v-if="scope.row.membdateList.length > 1">
|
|
|
@@ -465,15 +465,15 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="projectName" :label="$t('other.project')" width="200" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column prop="date" :label="$t('operation')" width="180">
|
|
|
+ <el-table-column prop="projectName" :label="'项目'" width="200" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="date" :label="'操作'" width="180">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<template v-if="scope.row.membdateList.length < 2 && scope.row.flg">
|
|
|
- <el-button type="warning" size="mini" v-if="scope.row.membdateList[0].state == 1" @click="undoCli(scope.row, 0)">{{ $t('btn.undo') }}</el-button>
|
|
|
- <el-link type="info" v-else :underline="false">{{scope.row.membdateList[0].state == 2 ? $t('state.rejected') : $t('state.undone')}}</el-link>
|
|
|
+ <el-button type="warning" size="mini" v-if="scope.row.membdateList[0].state == 1" @click="undoCli(scope.row, 0)">{{ '撤销' }}</el-button>
|
|
|
+ <el-link type="info" v-else :underline="false">{{scope.row.membdateList[0].state == 2 ? '已驳回' : '已撤销'}}</el-link>
|
|
|
</template>
|
|
|
- <el-button size="mini" v-if="scope.row.membdateList.length >= 2 && scope.row.flg" @click="detailsClick(scope.row, scope.$index)">{{ $t('details') }}</el-button>
|
|
|
+ <el-button size="mini" v-if="scope.row.membdateList.length >= 2 && scope.row.flg" @click="detailsClick(scope.row, scope.$index)">{{ '详情' }}</el-button>
|
|
|
<!-- <el-button size="mini" v-if="scope.row.membdateList.length >= 2 && scope.row.flg" @click="batchRevokeClick(scope.row, scope.$index)">批量撤销</el-button> -->
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -493,30 +493,30 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- 审核记录撤销 -->
|
|
|
- <el-dialog :title="$t('defaultText.pleaseEnterTheReason')" v-if="undoFormDialog" :visible.sync="undoFormDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
+ <el-dialog :title="'请输入原因'" v-if="undoFormDialog" :visible.sync="undoFormDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
<div>
|
|
|
- <el-input type="textarea" v-model="undoForm.reason" rows="2" :placeholder="$t('yourdecisiontorevoke')" />
|
|
|
+ <el-input type="textarea" v-model="undoForm.reason" rows="2" :placeholder="'请输入您决定撤销的原因'" />
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="undoFormDialog = false" >{{ $t('btn.cancel') }}</el-button>
|
|
|
- <el-button type="primary" @click="clickCancel()" :loading="undoFormLoading">{{ $t('btn.determine') }}</el-button>
|
|
|
+ <el-button @click="undoFormDialog = false" >{{ '取消' }}</el-button>
|
|
|
+ <el-button type="primary" @click="clickCancel()" :loading="undoFormLoading">{{ '确定' }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- 审核记录批量撤销 -->
|
|
|
- <el-dialog :title="$t('defaultText.pleaseEnterTheReason')" v-if="undoBathFormDialog" :visible.sync="undoBathFormDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
+ <el-dialog :title="'请输入原因'" v-if="undoBathFormDialog" :visible.sync="undoBathFormDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
<div>
|
|
|
- <el-input type="textarea" v-model="undoBathForm.reason" rows="2" :placeholder="$t('yourdecisiontorevoke')" />
|
|
|
+ <el-input type="textarea" v-model="undoBathForm.reason" rows="2" :placeholder="'请输入您决定撤销的原因'" />
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="undoBathFormDialog = false" >{{ $t('btn.cancel') }}</el-button>
|
|
|
- <el-button type="primary" @click="clickBathCancel()" :loading="undoBathFormLoading">{{ $t('btn.determine') }}</el-button>
|
|
|
+ <el-button @click="undoBathFormDialog = false" >{{ '取消' }}</el-button>
|
|
|
+ <el-button type="primary" @click="clickBathCancel()" :loading="undoBathFormLoading">{{ '确定' }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- 审核记录详情列表 -->
|
|
|
- <el-dialog :title="$t('Auditrecords')" v-if="detailsDialog" :visible.sync="detailsDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
+ <el-dialog :title="'审核记录'" v-if="detailsDialog" :visible.sync="detailsDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
<div>
|
|
|
<el-table :data="detailsList" style="width: 100%" height="55vh">
|
|
|
- <el-table-column prop="userName" :label="$t('EmployeeDate')">
|
|
|
+ <el-table-column prop="userName" :label="'员工/日期'">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == '1'">
|
|
|
@@ -528,12 +528,12 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="date" :label="$t('operation')" width="80">
|
|
|
+ <el-table-column prop="date" :label="'操作'" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- <el-button type="warning" size="mini" @click="undoCli(scope.row, 1)" v-if="scope.row.state == 1">{{ $t('btn.undo') }}</el-button>
|
|
|
+ <el-button type="warning" size="mini" @click="undoCli(scope.row, 1)" v-if="scope.row.state == 1">{{ '撤销' }}</el-button>
|
|
|
<!-- <div >{{scope.row.state == 2 ? '已驳回' : '已撤销'}}</div> -->
|
|
|
- <el-link type="info" v-else :underline="false">{{scope.row.state == 2 ? $t('state.rejected') : $t('state.undone')}}</el-link>
|
|
|
+ <el-link type="info" v-else :underline="false">{{scope.row.state == 2 ? '已驳回' : '已撤销'}}</el-link>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -541,7 +541,7 @@
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="batchRevokeClick()" size="mini">批量撤销</el-button>
|
|
|
- <el-button @click="detailsDialog = false" size="mini">{{ $t('btn.cancel') }}</el-button>
|
|
|
+ <el-button @click="detailsDialog = false" size="mini">{{ '取消' }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
@@ -558,14 +558,14 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 审核通过评价 -->
|
|
|
- <el-dialog :title="$t('enterapassrating')" v-if="approveinDialog" :visible.sync="approveinDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
+ <el-dialog :title="'请输入通过评价'" v-if="approveinDialog" :visible.sync="approveinDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
<div>
|
|
|
- <el-input type="textarea" v-model="approveinData.evaluate" rows="2" :placeholder="$t('defaultText.Pleaseenterthereviewyoudecidetopass')" />
|
|
|
+ <el-input type="textarea" v-model="approveinData.evaluate" rows="2" :placeholder="'请输入您决定通过的评价'" />
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="approveinDialog = false" >{{ $t('btn.cancel') }}</el-button>
|
|
|
- <el-button type="primary" @click="batchApproveinfun()" v-if="isbatch">{{ $t('btn.determine') }}</el-button>
|
|
|
- <el-button type="primary" @click="approveinfun()" v-else>{{ $t('btn.determine') }}</el-button>
|
|
|
+ <el-button @click="approveinDialog = false" >{{ '取消' }}</el-button>
|
|
|
+ <el-button type="primary" @click="batchApproveinfun()" v-if="isbatch">{{ '确定' }}</el-button>
|
|
|
+ <el-button type="primary" @click="approveinfun()" v-else>{{ '确定' }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
@@ -773,7 +773,7 @@
|
|
|
this.undoBathFormLoading = false
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: this.$t('Revocationofsuccess'),
|
|
|
+ message: '撤销成功',
|
|
|
type: "success"
|
|
|
});
|
|
|
this.undoBathFormDialog = false
|
|
|
@@ -843,7 +843,7 @@
|
|
|
this.undoFormLoading = false
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: this.$t('Revocationofsuccess'),
|
|
|
+ message: '撤销成功',
|
|
|
type: "success"
|
|
|
});
|
|
|
this.undoFormDialog = false
|
|
|
@@ -894,7 +894,7 @@
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
|
for (var i in res.data.records) {
|
|
|
- res.data.records[i].result.indexOf(this.$t('btn.through')) == '-1' ? res.data.records[i].flg = false : res.data.records[i].flg = true
|
|
|
+ res.data.records[i].result.indexOf('通过') == '-1' ? res.data.records[i].flg = false : res.data.records[i].flg = true
|
|
|
}
|
|
|
this.recordLists = res.data.records
|
|
|
this.totals = res.data.total
|
|
|
@@ -1203,7 +1203,7 @@
|
|
|
if (res.code == "ok") {
|
|
|
this.approveinDialog = false
|
|
|
this.$message({
|
|
|
- message: this.$t('message.Reviewsucceeded'),
|
|
|
+ message: '审核成功',
|
|
|
type: "success"
|
|
|
});
|
|
|
this.getList();
|
|
|
@@ -1285,7 +1285,7 @@
|
|
|
this.logining = false;
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: this.denyForm.i==0?this.$t('message.rejectedsuccessfully'):this.$t('Revocationofsuccess'),
|
|
|
+ message: this.denyForm.i==0?'驳回成功':'撤销成功',
|
|
|
type: "success"
|
|
|
});
|
|
|
this.getList();
|