|
@@ -12,7 +12,7 @@
|
|
|
</div>
|
|
|
<div slot="header" class="clearfix" id="clearfix" style="padding-left: 255px;">
|
|
|
<span v-for="(item,index) in allDate" :id="'day'+index" class="date_item"
|
|
|
- @click="choseDate(index, item)" :key="index" :style="'padding:0 6px;display: inline-block;width: 46px;text-align: center;' + (canClick(index,item) == false && user.timeType.fillAhead == 0 ? 'color:#c0c0c0;cursor:not-allowed;' : '') ">
|
|
|
+ @click="choseDate(index, item)" :key="index" :style="'padding:0 6px;display: inline-block;width: 55px;text-align: center;' + (canClick(index,item) == false && user.timeType.fillAhead == 0 ? 'color:#c0c0c0;cursor:not-allowed;' : '') ">
|
|
|
<div :style="'display:inline-block;text-align: center;'+(item.state == null?'':'')" >
|
|
|
<div style="text-align:center;"><span :class="statusStyle[item.state]">{{item.showDate}}</span>
|
|
|
<br>
|
|
@@ -29,12 +29,12 @@
|
|
|
<div v-if="permissions.reportsCompany || user.manageDeptId != 0 || permissions.reportsDept" :style="'overflow-x:hidden;overflow-y:auto;height:' + tableHeight + 'px;'">
|
|
|
<div style="width: 100%;box-sizing: border-box;padding-right: 10px;">
|
|
|
<el-select v-model="selectState" size="small" @change="stateChange" style="100%">
|
|
|
- <el-option value="-1" label="全部状态" >全部状态</el-option>
|
|
|
- <el-option value="-2" label="未填报">未填报</el-option>
|
|
|
- <el-option value="1" label="已通过">已通过</el-option>
|
|
|
- <el-option value="0" label="待审核">待审核</el-option>
|
|
|
- <el-option value="2" label="不通过">不通过</el-option>
|
|
|
- <el-option value="3" label="待提交">待提交</el-option>
|
|
|
+ <el-option value="-1" :label="$t('state.allState')">{{$t('state.allState')}}</el-option>
|
|
|
+ <el-option value="-2" :label="$t('state.DidNotFillIn')">{{$t('state.DidNotFillIn')}}</el-option>
|
|
|
+ <el-option value="1" :label="$t('state.alreadyPassed')">{{$t('state.alreadyPassed')}}</el-option>
|
|
|
+ <el-option value="0" :label="$t('state.WaitingAudit')">{{$t('state.WaitingAudit')}}</el-option>
|
|
|
+ <el-option value="2" :label="$t('state.notThrough')">{{$t('state.notThrough')}}</el-option>
|
|
|
+ <el-option value="3" :label="$t('state.waitingsubmit')">{{$t('state.waitingsubmit')}}</el-option>
|
|
|
</el-select></div>
|
|
|
<div>
|
|
|
<el-tree :data="data" @node-click="handleNodeClick" node-key="id" :default-expanded-keys="expandDate">
|
|
@@ -46,22 +46,28 @@
|
|
|
|
|
|
<div style="position: absolute;right: 15px;">
|
|
|
<span v-if="data.isUser == 1 && data.state == null && !data.leaveDays && !data.leaveTimes" style="color:red;font-size:13px">
|
|
|
- 未填报
|
|
|
+ <!-- 未填报 -->
|
|
|
+ {{$t('state.DidNotFillIn')}}
|
|
|
</span>
|
|
|
<span v-if="data.isUser == 1 && data.state == null && (data.leaveDays || data.leaveTimes)" :style="(data.leaveDays < 1 || data.leaveTimes < user.timeType.allday) ? 'color:red;font-size:13px' : 'color:#32cd32;font-size:13px'">
|
|
|
- {{data.leaveDays ? (data.leaveDays >= 1 ? '当日请假' : '未填报(请假' + data.leaveDays + '天)') : (data.leaveTimes >= user.timeType.allday ? '当日请假' : '未填报(请假' + data.leaveTimes + 'h)')}}
|
|
|
+ <!-- {{data.leaveDays ? (data.leaveDays >= 1 ? '当日请假' : '未填报(请假' + data.leaveDays + '天)') : (data.leaveTimes >= user.timeType.allday ? '当日请假' : '未填报(请假' + data.leaveTimes + 'h)')}} -->
|
|
|
+ {{data.leaveDays ? (data.leaveDays >= 1 ? $t('other.AskForLeaveOnTheSameDay') : $t('state.DidNotFillIn') + '('+$t('other.AskForLeave') + data.leaveDays + $t('time.day')+')') : (data.leaveTimes >= user.timeType.allday ? $t('other.AskForLeaveOnTheSameDay') : $t('state.DidNotFillIn') + '('+$t('other.AskForLeave') + data.leaveTimes + 'h)')}}
|
|
|
</span>
|
|
|
<span v-if="data.isUser == 1 && data.state == 0" style="color:orange;font-size:13px">
|
|
|
- 待审核({{data.workingTime.toFixed(1) + 'h'}})
|
|
|
+ <!-- 待审核 -->
|
|
|
+ {{$t('state.WaitingAudit')}}({{data.workingTime.toFixed(1) + 'h'}})
|
|
|
</span>
|
|
|
<span v-if="data.isUser == 1 && data.state == 1" style="color:#32cd32;font-size:13px">
|
|
|
- 已通过({{data.workingTime.toFixed(1) + 'h'}})
|
|
|
+ <!-- 已通过 -->
|
|
|
+ {{$t('state.alreadyPassed')}}({{data.workingTime.toFixed(1) + 'h'}})
|
|
|
</span>
|
|
|
<span v-if="data.isUser == 1 && data.state == 2" style="color:red;font-size:13px">
|
|
|
- 未通过({{data.workingTime.toFixed(1) + 'h'}})
|
|
|
+ <!-- 未通过 -->
|
|
|
+ {{$t('state.notThrough')}}({{data.workingTime.toFixed(1) + 'h'}})
|
|
|
</span>
|
|
|
<span v-if="data.isUser == 1 && data.state == 3" style="color:#409eff;font-size:13px">
|
|
|
- 待提交({{data.workingTime.toFixed(1) + 'h'}})
|
|
|
+ <!-- 待提交 -->
|
|
|
+ {{$t('state.waitingsubmit')}}({{data.workingTime.toFixed(1) + 'h'}})
|
|
|
</span>
|
|
|
</div>
|
|
|
</span>
|
|
@@ -84,26 +90,30 @@
|
|
|
<!--系统管理员和部门负责人 -->
|
|
|
<div class="report_title" style="display:flex;justify-content: space-between;">
|
|
|
<span>
|
|
|
- <span>工作日报 ({{curDate}})</span>
|
|
|
+ <span>{{$t('other.dailyWork')}} ({{curDate}})</span>
|
|
|
<span v-if="permissions.reportsCompany||user.manageDeptId != 0 || permissions.reportsDept">| {{depData != null ?depData.label:""}}
|
|
|
<span v-if="targetUid == null">
|
|
|
- - 已提交
|
|
|
- <el-link :underline="false" @click="showMembList(1)"><span style="margin-left:5px;margin-right:5px;color:green;">{{reportList.filter(item => item.state != 3).length}}</span></el-link>人,
|
|
|
- 待提交
|
|
|
- <el-link :underline="false" @click="showMembList(2)"><span style="margin-left:5px;margin-right:5px;color:green;">{{reportList.filter(item => item.state == 3).length}}</span></el-link>人,
|
|
|
- 未填写<el-link :underline="false" @click="showMembList(0)"><span style="margin-left:5px;margin-right:5px;color:red;">{{(depData == null?data[0].membCount:(depData.isUser == 1?1:depData.membCount))-reportList.length | numbers}}</span></el-link>人
|
|
|
+ <!-- - 已提交 -->
|
|
|
+ -{{$t('state.hasBeenSubmitted')}}
|
|
|
+ <el-link :underline="false" @click="showMembList(1)"><span style="margin-left:5px;margin-right:5px;color:green;">{{reportList.filter(item => item.state != 3).length}}</span></el-link>{{$t('other.people')}},
|
|
|
+ <!-- 待提交 -->
|
|
|
+ {{$t('state.waitingsubmit')}}
|
|
|
+ <el-link :underline="false" @click="showMembList(2)"><span style="margin-left:5px;margin-right:5px;color:green;">{{reportList.filter(item => item.state == 3).length}}</span></el-link>{{$t('other.people')}},
|
|
|
+ <!-- 未填写 -->
|
|
|
+ {{$t('state.DidNotFillIn')}}
|
|
|
+ <el-link :underline="false" @click="showMembList(0)"><span style="margin-left:5px;margin-right:5px;color:red;">{{(depData == null?data[0].membCount:(depData.isUser == 1?1:depData.membCount))-reportList.length | numbers}}</span></el-link>{{$t('other.people')}}
|
|
|
</span>
|
|
|
</span>
|
|
|
</span>
|
|
|
<span style="float:right;">
|
|
|
- <el-link type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,0)">填写日报</el-link>
|
|
|
- <el-link v-if="reportTimeType.type != 0" type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReportss()">按周填报</el-link>
|
|
|
- <el-link type="primary" v-if="permissions.reportsFillOut" style="margin-right:10px;" :underline="false" @click="isSubstitude=true; fillInReport(-1,2)">代填日报</el-link>
|
|
|
- <el-link type="primary" v-if="permissions.reportBatch" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,1)">批量填报</el-link>
|
|
|
- <el-link type="primary" v-if="permissions.importReport || user.manageDeptId != 0" style="margin-right:10px;" :underline="false" @click="imports()">工时导入</el-link>
|
|
|
- <el-link type="primary" style="margin-right:10px;" :underline="false" @click="showExportDialog" v-if="permissions.reportExport">导出日报</el-link>
|
|
|
+ <el-link type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,0)">{{$t('textLink.fillInTheWork')}}</el-link>
|
|
|
+ <el-link v-if="reportTimeType.type != 0" type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReportss()">{{$t('textLink.fillInAWeek')}}</el-link>
|
|
|
+ <el-link type="primary" v-if="permissions.reportsFillOut" style="margin-right:10px;" :underline="false" @click="isSubstitude=true; fillInReport(-1,2)">{{$t('textLink.helpToFillIn')}}</el-link>
|
|
|
+ <el-link type="primary" v-if="permissions.reportBatch" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,1)">{{$t('textLink.batchFillIn')}}</el-link>
|
|
|
+ <el-link type="primary" v-if="permissions.importReport || user.manageDeptId != 0" style="margin-right:10px;" :underline="false" @click="imports()">{{$t('textLink.workHoursImport')}}</el-link>
|
|
|
+ <el-link type="primary" style="margin-right:10px;" :underline="false" @click="showExportDialog" v-if="permissions.reportExport">{{$t('textLink.exportWork')}}</el-link>
|
|
|
<!--部门负责人给个导出工时的功能 -->
|
|
|
- <el-link type="primary" v-if="user.manageDeptId != 0" style="margin-right:10px;" :underline="false" @click="showExportTimeDialog">导出工时统计</el-link>
|
|
|
+ <el-link type="primary" v-if="user.manageDeptId != 0" style="margin-right:10px;" :underline="false" @click="showExportTimeDialog">{{$t('textLink.exportingTimeStatistics')}}</el-link>
|
|
|
</span>
|
|
|
</div>
|
|
|
<div :style="'height:'+(tableHeight-50)+'px;overflow:scroll;padding-top:10px;'">
|
|
@@ -112,114 +122,122 @@
|
|
|
<span style="margin-left:30px;">
|
|
|
<span style="margin-right:20px;">
|
|
|
<!-- <i v-if="parseFloat(item1.reportTime)>parseFloat(item1.calculateTime)+0.5" style="color:red;margin-right:8px;" class="fa fa-exclamation-triangle"></i> -->
|
|
|
- 工作总时长:
|
|
|
+ <!-- 工作总时长: -->
|
|
|
+ {{$t('other.totalWorkingHours')}}
|
|
|
<!-- <span :style="parseFloat(item1.reportTime)>parseFloat(item1.calculateTime)+0.5?'color:red':''">{{item1.reportTime}}h</span> -->
|
|
|
<span >{{item1.reportTime | amounts}}</span>h
|
|
|
</span>
|
|
|
<span class="approvalProcessBox" v-if="user.timeType.showFillauditTime == 1">
|
|
|
<i class="iconfont firerock-iconliucheng1"></i>
|
|
|
- <span class="approvalProcessClick" @click="getApprovalProcess(item1)">审批流程</span>
|
|
|
+ <span class="approvalProcessClick" @click="getApprovalProcess(item1)">
|
|
|
+ <!-- 审批流程 -->
|
|
|
+ {{$t('other.approvalProcess')}}
|
|
|
+ </span>
|
|
|
</span>
|
|
|
</span>
|
|
|
<div class="checkbtn" style="padding-right:20px;">
|
|
|
- <el-button v-if="item1.state >= 2 && user.id == item1.id" type="primary" size="small" @click="isSubstitude=false; fillInReport(index1,0)">编辑日报</el-button>
|
|
|
- <el-button v-if="permissions.reportsDeleteAll && item1.state != 1" size="small" @click="guanli(item1)" style="float: right;">删除</el-button>
|
|
|
+ <el-button v-if="item1.state >= 2 && user.id == item1.id" type="primary" size="small" @click="isSubstitude=false; fillInReport(index1,0)">{{$t('btn.editWorkReport')}}</el-button>
|
|
|
+ <el-button v-if="permissions.reportsDeleteAll && item1.state != 1" size="small" @click="guanli(item1)" style="float: right;">{{$t('btn.delete')}}</el-button>
|
|
|
</div>
|
|
|
<div class="one_daily_body">
|
|
|
<el-timeline>
|
|
|
<el-timeline-item v-for="(item2,index2) in item1.data" :key="index2">
|
|
|
<el-card shadow="never">
|
|
|
- <p>项目:<b>{{item2.project}}</b><span v-if="item2.subProjectName != null"> / {{item2.subProjectName}}</span>
|
|
|
+ <p><!-- 项目 -->{{$t('other.project')}}:<b>{{item2.project}}</b><span v-if="item2.subProjectName != null"> / {{item2.subProjectName}}</span>
|
|
|
|
|
|
<span v-if="user.company.packageEngineering == 0">
|
|
|
<span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0">[
|
|
|
<span v-if="item2.isDeptAudit==0">
|
|
|
<span v-if="item2.projectAuditState==0">
|
|
|
- 待项目审核人<span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>审核
|
|
|
+ <!-- 待项目审核人 --> {{$t('other.waitForTheProjectReviewer')}}
|
|
|
+ <span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>
|
|
|
+ <!-- 审核 --> {{$t('other.audit')}}
|
|
|
</span>
|
|
|
<span style="color:#32CD32;" v-else-if="item2.projectAuditState==1">
|
|
|
- 项目审核人<span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>审核通过
|
|
|
+ <!-- 项目审核人 --> {{$t('other.projectAuditor')}}
|
|
|
+ <span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>
|
|
|
+ <!-- 审核通过 --> {{$t('state.approved')}}
|
|
|
</span>
|
|
|
</span>
|
|
|
<span v-else-if="item2.isDeptAudit==1">
|
|
|
- {{('待'+item2.auditDeptName+'审核')}}
|
|
|
+ {{($t('other.await') +' '+ item2.auditDeptName +' '+ $t('other.audit'))}}
|
|
|
</span>
|
|
|
- ]</span>
|
|
|
- <span style="margin-left:15px;color:#DAA520;" v-else-if="item2.state == -1">[ 导入待审核 ]</span>
|
|
|
- <span style="margin-left:15px;color:#32CD32;" v-else-if="item2.state == 1">[ 已通过 ]
|
|
|
- <span style="color:#c7e944" v-if="item2.reportAutoApprove == 1">自动审核</span>
|
|
|
+ ]</span>
|
|
|
+ <span style="margin-left:15px;color:#DAA520;" v-else-if="item2.state == -1">[ {{$t('other.importWaitingForReview')}} ]</span>
|
|
|
+ <span style="margin-left:15px;color:#32CD32;" v-else-if="item2.state == 1">[ {{$t('state.alreadyPassed')}} ]
|
|
|
+ <span style="color:#c7e944" v-if="item2.reportAutoApprove == 1">{{$t('other.automaticReview')}}</span>
|
|
|
</span>
|
|
|
|
|
|
- <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 2">[ 已驳回 ] 原因:{{item2.rejectReason}}</span>
|
|
|
- <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 3">[ 待提交 ]</span>
|
|
|
+ <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 2">[ {{$t('state.rejected')}} ] {{$t('other.reason')}}:{{item2.rejectReason}}</span>
|
|
|
+ <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 3">[ {{$t('state.waitingsubmit')}} ]</span>
|
|
|
</span>
|
|
|
<!-- <el-button v-if="(user.role == 1 || user.role == 2) && item2.state != 1 && user.manageDeptId != 0" size="mini" @click="guanli(item2, item1)" style="float: right;">删除</el-button> -->
|
|
|
<span v-if="user.company.packageEngineering == 1">
|
|
|
- <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == -1">[ 导入待审核 ]</span>
|
|
|
- <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == -1">[ 待专业审核 ]</span>
|
|
|
- <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == 0">[ 待部门审核 ]</span>
|
|
|
- <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == 1">[ 待项目审核人<span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>审核 ]</span>
|
|
|
- <span style="margin-left:15px;color:#32CD32;" v-else-if="item2.state == 1">[ 已通过 ]</span>
|
|
|
- <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 2">[ 已驳回 ] 原因:{{item2.rejectReason}}</span>
|
|
|
- <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 3">[ 待提交 ]</span>
|
|
|
+ <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == -1">[ {{$t('other.importWaitingForReview')}} ]</span>
|
|
|
+ <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == -1">[ {{$t('other.waitingForProfessionalReview')}} ]</span>
|
|
|
+ <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == 0">[ {{$t('other.waitingForDepartmentReview')}} ]</span>
|
|
|
+ <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == 1">[ {{$t('other.waitForTheProjectReviewer')}}<span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>{{$t('other.audit')}} ]</span>
|
|
|
+ <span style="margin-left:15px;color:#32CD32;" v-else-if="item2.state == 1">[ {{$t('state.alreadyPassed')}} ]</span>
|
|
|
+ <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 2">[ {{$t('state.rejected')}} ] {{$t('other.reason')}}:{{item2.rejectReason}}</span>
|
|
|
+ <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 3">[ {{$t('state.waitingsubmit')}} ]</span>
|
|
|
</span>
|
|
|
|
|
|
<!--每个项目上单独审核 -->
|
|
|
<span style="float:right;">
|
|
|
<el-button v-if="(permissions.projectReportReview || user.id == item2.projectAuditorId) && item2.state == 0 && item2.isDeptAudit==0 && item2.projectAuditState==0" type="primary" :loading="logining"
|
|
|
- size="small" @click="approve(item1.id, item2)">通过</el-button>
|
|
|
+ size="small" @click="approve(item1.id, item2)">{{$t('btn.through')}}</el-button>
|
|
|
<el-button v-if="(permissions.projectReportReview ||user.id == item2.projectAuditorId) && item2.state == 0 && item2.isDeptAudit==0 && item2.projectAuditState==0" type="danger" :loading="logining"
|
|
|
- size="small" @click="showDenyDialog(item1.id,0, item2)">驳回</el-button>
|
|
|
+ size="small" @click="showDenyDialog(item1.id,0, item2)">{{$t('btn.rejected')}}</el-button>
|
|
|
<el-button v-if="(permissions.projectReportReview ||user.id == item2.projectAuditorId) && item2.state == 1" type="normal" :loading="logining" size="small"
|
|
|
- @click="showDenyDialog(item1.id,1, item2)">撤销</el-button>
|
|
|
+ @click="showDenyDialog(item1.id,1, item2)">{{$t('btn.undo')}}</el-button>
|
|
|
<!--自己可以撤回待审核状态的报告 -->
|
|
|
- <el-button v-if="user.id == item1.id && (item2.state == 0 || item2.state == -1)" type="normal" :loading="logining" size="small" @click="cancel(item1)">撤回</el-button>
|
|
|
+ <el-button v-if="user.id == item1.id && (item2.state == 0 || item2.state == -1)" type="normal" :loading="logining" size="small" @click="cancel(item1)">{{$t('btn.withdraw')}}</el-button>
|
|
|
</span>
|
|
|
</p>
|
|
|
<!--任务分组和阶段 -->
|
|
|
- <p v-if="item2.groupId != 0">任务分组:{{item2.groupName}} <span v-if="item2.stage != null && item2.stage != '-'" style="margin-left:10px;">投入阶段:{{item2.stage}}</span></p>
|
|
|
+ <p v-if="item2.groupId != 0">{{$t('other.taskGroup')}}:{{item2.groupName}} <span v-if="item2.stage != null && item2.stage != '-'" style="margin-left:10px;">{{$t('other.inputStage')}}:{{item2.stage}}</span></p>
|
|
|
<p v-if="user.timeType.customDegreeActive==1 && item2.degree_id != null && item2.degree_id != -1">{{user.timeType.customDegreeName}}:{{item2.degreeName}}</p>
|
|
|
<p v-if="user.timeType.customDataActive==1">{{user.timeType.customDataName}}:{{item2.customData}}</p>
|
|
|
<!-- 自定义日报文本 -->
|
|
|
<p v-if="user.timeType.customTextActive==1">{{user.timeType.customTextName}}:{{item2.customText}}</p>
|
|
|
|
|
|
<p v-if="user.company.packageEngineering == 1">
|
|
|
- 专业进度:
|
|
|
+ {{$t('other.professionalProgress')}}:
|
|
|
<span style="margin-right:10px;" v-for="progressItem in item2.professionProgress" :key="progressItem.id">{{progressItem.professionName}}({{progressItem.progress}}%)
|
|
|
- <el-tooltip v-if="progressItem.auditState == 0" content="待审核" effect="light" placement="top">
|
|
|
+ <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="已通过" effect="light" placement="top">
|
|
|
+ <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="不通过" effect="light" placement="top">
|
|
|
+ <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="item2.taskId != null">任务:{{item2.taskName}}
|
|
|
+ <p v-if="item2.taskId != null">{{$t('other.task')}}:{{item2.taskName}}
|
|
|
</p>
|
|
|
<div v-if="item2.multiWorktime==0">
|
|
|
- <p style="display: inline-block;">时长:
|
|
|
+ <p style="display: inline-block;">{{$t('time.duration')}}:
|
|
|
<span v-if="item2.reportTimeType == 0" style="margin-right:10px;">{{typeList[item2.timeType]}}</span>
|
|
|
<span v-if="item2.reportTimeType == 2" style="margin-right:10px;">{{item2.startTime+'-'+item2.endTime}}</span>
|
|
|
{{item2.time.toFixed(1)}}h
|
|
|
- <el-tag type="danger" size="mini" style="margin-left: 65px" v-if="item2.isOvertime === 1">加班<span v-if="item2.overtimeHours">{{item2.overtimeHours.toFixed(1)}}h</span></el-tag>
|
|
|
+ <el-tag type="danger" size="mini" style="margin-left: 65px" v-if="item2.isOvertime === 1">{{$t('other.WorkOvertime')}}<span v-if="item2.overtimeHours">{{item2.overtimeHours.toFixed(1)}}h</span></el-tag>
|
|
|
</p>
|
|
|
- <p>事项:<span v-html="item2.content"></span></p>
|
|
|
+ <p>{{$t('other.matters')}}:<span v-html="item2.content"></span></p>
|
|
|
</div>
|
|
|
<div v-if="item2.multiWorktime==1" >
|
|
|
- <p>项目时长:{{item2.time.toFixed(1)}}h <el-tag type="danger" size="mini" style="margin-left: 65px" v-if="item2.isOvertime === 1">加班<span v-if="item2.overtimeHours">{{item2.overtimeHours.toFixed(1)}}h</span></el-tag></p>
|
|
|
+ <p>{{$t('other.projectDuration')}}:{{item2.time.toFixed(1)}}h <el-tag type="danger" size="mini" style="margin-left: 65px" v-if="item2.isOvertime === 1">加班<span v-if="item2.overtimeHours">{{item2.overtimeHours.toFixed(1)}}h</span></el-tag></p>
|
|
|
<div v-for="(timeItem, tIndex) in item2.worktimeList" :key="tIndex"
|
|
|
style="border: 0.5px #ddd solid;margin-bottom:5px;padding:5px;">
|
|
|
- <p style="display: inline-block;">时长:
|
|
|
+ <p style="display: inline-block;">{{$t('time.duration')}}:
|
|
|
<span v-if="item2.reportTimeType == 2" style="margin-right:10px;">{{timeItem.startTime+'-'+timeItem.endTime}}</span>
|
|
|
{{timeItem.time.toFixed(1)}}h
|
|
|
</p>
|
|
|
- <p>事项:<span v-html="timeItem.content"></span></p>
|
|
|
+ <p>{{$t('other.matters')}}:<span v-html="timeItem.content"></span></p>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <p v-if="item2.state == 1 && user.timeType.needEvaluate == 1">评价:<span v-html="item2.evaluate"></span></p>
|
|
|
+ <p v-if="item2.state == 1 && user.timeType.needEvaluate == 1">{{$t('other.evaluation')}}:<span v-html="item2.evaluate"></span></p>
|
|
|
|
|
|
<!--照片的显示 -->
|
|
|
<p v-if="item2.pics != null && item2.pics.length > 0">
|
|
@@ -235,7 +253,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 简陋的无报告提示 -->
|
|
|
- <div v-if="reportList.length==0" style="width:100%;font-size:17px;text-align:center;color:#aaa;">{{curDate}}暂无报告</div>
|
|
|
+ <div v-if="reportList.length==0" style="width:100%;font-size:17px;text-align:center;color:#aaa;">{{curDate}}{{$t('other.noReportYet')}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -332,7 +350,7 @@
|
|
|
:rules="{ required: true, message: user.companyId==781?'请选择工作任务':'请选择投入项目', trigger: ['change','blur'] }">
|
|
|
<el-select v-model="domain.projectId" :placeholder="user.companyId==781?'请选择工作任务':'请选择项目'" 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="touruxiangmu">
|
|
|
+ :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">
|
|
|
<span style="float: left; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
|
|
@@ -442,7 +460,7 @@
|
|
|
:rules="{ required: true, message: '请选择投入项目', trigger: ['change','blur'] }">
|
|
|
<el-select v-model="domain.projectId" placeholder="请选择项目" 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)">
|
|
|
+ :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">
|
|
|
<span style="float: left; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
|
|
|
<span style="float: right;margin-left: 20px">{{ item.projectName }}</span>
|
|
@@ -1431,7 +1449,8 @@
|
|
|
membListVisible: false,
|
|
|
isBatch:0,//是否是批量填报
|
|
|
editTitle: ['填写日报','批量填报','代填日报'],
|
|
|
- weekDay : ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
|
|
|
+ // weekDay : ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
|
|
|
+ weekDay : [this.$t('weekDay.sunday'), this.$t('weekDay.monday'), this.$t('weekDay.tuesday'), this.$t('weekDay.wednesday'), this.$t('weekDay.thursday'), this.$t('weekDay.friday'), this.$t('weekDay.saturday')],
|
|
|
statusStyle:["waiting", "filledReportStyle", "RejectStyle", "waitSubmitStyle"],
|
|
|
fillStatusList: [],
|
|
|
exportParam:{projectId: null, dateRange:[], departmentId: null},
|