|
@@ -127,16 +127,16 @@
|
|
|
<el-link :underline="false" @click="showMembList(2)"><span style="margin-left:5px;margin-right:5px;color:green;">{{fillList.filter(item => item.state == 3).length}}</span></el-link>{{$t('other.people')}},
|
|
|
<!-- 漏填 -->
|
|
|
<!-- {{$t('state.missFillReport')}} -->
|
|
|
- 未填
|
|
|
+ {{ $t('other.unfilled') }}
|
|
|
<el-link :underline="false" @click="showMembList(0)"><span style="margin-left:5px;margin-right:5px;color:red;">{{(unFillList.length - leaveAllNum) | numbers}}</span>{{$t('other.people')}}
|
|
|
- <span v-if="leaveAllNum">{{', 全天请假' + leaveAllNum + '人'}}</span></el-link>
|
|
|
+ <span v-if="leaveAllNum">{{','+ $t('other.takeDayOff') + leaveAllNum + $t('other.people')}}</span></el-link>
|
|
|
</span>
|
|
|
</span>
|
|
|
</span>
|
|
|
<span style="float:right;">
|
|
|
<el-link type="primary" v-if="user.timeType.enableNewWeeklyfill != 1" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,0)">{{$t('textLink.fillInTheWork')}}</el-link>
|
|
|
<el-link v-if="reportTimeType.type != 0 && user.companyId != yuzhongCompId && user.timeType.enableNewWeeklyfill != 1 && user.companyId != 3092" type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReportss()">{{$t('textLink.fillInAWeek')}}</el-link>
|
|
|
- <el-link v-if="user.timeType.enableNewWeeklyfill == 1" type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReportCustom()">按周填报</el-link>
|
|
|
+ <el-link v-if="user.timeType.enableNewWeeklyfill == 1" type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReportCustom()">{{ $t('textLink.fillInAWeek') }}</el-link>
|
|
|
<!-- <el-link type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReportCustom()">按周填报</el-link> -->
|
|
|
<el-link type="primary" v-if="user.companyId != 5978 && permissions.reportsFillOut && user.timeType.enableNewWeeklyfill != 1" style="margin-right:10px;" :underline="false" @click="isSubstitude=true; fillInReport(-1,2)">{{$t('textLink.helpToFillIn')}}</el-link>
|
|
|
<!-- 苏州景昱,按周填报的模式进行代填日报 -->
|
|
@@ -147,9 +147,9 @@
|
|
|
<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">{{$t('textLink.exportingTimeStatistics')}}</el-link>
|
|
|
- <el-link type="primary" v-if="user.timeType.pushReportData == 1 && permissions.reportPush" :underline="false" @click="pushWorkTime">推送工时</el-link>
|
|
|
- <el-link type="primary" v-if="user.timeType.pushReportData == 1 && user.companyId==3092 && permissions.reportPush" :underline="false" @click="pushWorkTimeLogDig=true,getPushWorkLogData()">工时推送日志</el-link>
|
|
|
- <el-link type="primary" v-if="user.roleName == '超级管理员' && user.companyId==839" :underline="false" @click="reportLogCheckDialog=true">日报审核修改</el-link>
|
|
|
+ <el-link type="primary" v-if="user.timeType.pushReportData == 1 && permissions.reportPush" :underline="false" @click="pushWorkTime">{{ $t('tuiSongGongShi') }}</el-link>
|
|
|
+ <el-link type="primary" v-if="user.timeType.pushReportData == 1 && user.companyId==3092 && permissions.reportPush" :underline="false" @click="pushWorkTimeLogDig=true,getPushWorkLogData()">{{ $t('gongShiTuiSongRiZhi') }}</el-link>
|
|
|
+ <el-link type="primary" v-if="user.roleName == $t('role.superAdministrator') && user.companyId==839" :underline="false" @click="reportLogCheckDialog=true">{{ $t('riBaoShenHeXiuGai') }}</el-link>
|
|
|
<!-- <el-button v-if="user.timeType.pushReportData == 1 && permissions.reportPush" style="margin-left:10px;" icon="iconfont firerock-icontuisong" size="mini" @click="pushWorkTime"></el-button> -->
|
|
|
</span>
|
|
|
</div>
|
|
@@ -272,9 +272,9 @@
|
|
|
</span>
|
|
|
</p>
|
|
|
<p v-if="user.companyId == yuzhongCompId">
|
|
|
- <span>角色:{{item2.extraField1? roleList.filter(r=>r.value == item2.extraField1)[0].label:''}}</span>
|
|
|
- <span style="margin-left:10px;">工作职责:{{ item2.extraField2? item2.extraField2Name:''}}</span>
|
|
|
- <span style="margin-left:10px;">工作内容:{{ item2.extraField3? item2.extraField3Name:''}}</span></p>
|
|
|
+ <span>{{ $t('jiao-se') }} :{{item2.extraField1? roleList.filter(r=>r.value == item2.extraField1)[0].label:''}}</span>
|
|
|
+ <span style="margin-left:10px;">{{ $t('gongZuoZhiZe') }} :{{ item2.extraField2? item2.extraField2Name:''}}</span>
|
|
|
+ <span style="margin-left:10px;">{{ $t('gongZuoNeiRong') }} :{{ item2.extraField3? item2.extraField3Name:''}}</span></p>
|
|
|
<!--任务分组和阶段 -->
|
|
|
<p v-if="item2.groupId != 0">
|
|
|
{{$t('other.taskGroup')}}:{{item2.groupName}}
|
|
@@ -300,7 +300,7 @@
|
|
|
</span>
|
|
|
</p>
|
|
|
<p v-if="item2.taskId != null">{{$t('other.task')}}:{{item2.taskName}}
|
|
|
- <span style="margin-left:10px;" v-if="user.companyId==3092">-- 服务:{{ item2.sapServiceName }}</span>
|
|
|
+ <span style="margin-left:10px;" v-if="user.companyId==3092">-- {{ $t('fuWu') }} :{{ item2.sapServiceName }}</span>
|
|
|
</p>
|
|
|
<div v-if="item2.multiWorktime==0">
|
|
|
<p style="display: inline-block;">{{$t('time.duration')}}:
|
|
@@ -337,7 +337,7 @@
|
|
|
</el-timeline>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="hasMore && !listLoading" style="width:100%;font-size:17px;text-align:center;padding-bottom:15px;"><el-link @click="reqMore" :underline=false style="color:#20a0ff;">加载更多日报</el-link></div>
|
|
|
+ <div v-if="hasMore && !listLoading" style="width:100%;font-size:17px;text-align:center;padding-bottom:15px;"><el-link @click="reqMore" :underline=false style="color:#20a0ff;">{{ $t('jiaZaiGengDuoRiBao') }}</el-link></div>
|
|
|
<!-- 简陋的无报告提示 -->
|
|
|
<div v-if="reportList.length==0" style="width:100%;font-size:17px;text-align:center;color:#aaa;">{{curDate}}{{$t('other.noReportYet')}}</div>
|
|
|
</div>
|
|
@@ -349,27 +349,27 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- 工时推送日志弹窗 -->
|
|
|
- <el-dialog title="工时推送日志" :visible.sync="pushWorkTimeLogDig" width="70%" :before-close="handleClose">
|
|
|
+ <el-dialog :title="$t('gongShiTuiSongRiZhi')" :visible.sync="pushWorkTimeLogDig" width="70%" :before-close="handleClose">
|
|
|
<template>
|
|
|
- <el-button type="primary" size="small" style="float: right" @click="exportPushLog">导出</el-button>
|
|
|
+ <el-button type="primary" size="small" style="float: right" @click="exportPushLog">{{ $t('export.export') }}</el-button>
|
|
|
</template>
|
|
|
<template>
|
|
|
<el-table :data="pushWorkTimeLogData" style="width: 100%" height="500" >
|
|
|
- <el-table-column prop="syncTime" label="推送时间" width="150"></el-table-column>
|
|
|
- <el-table-column prop="remark" label="推送名称" width="180"></el-table-column>
|
|
|
- <el-table-column prop="operator" label="操作人员" width="150"></el-table-column>
|
|
|
- <el-table-column prop="syncType" label="推送方式" width="150"></el-table-column>
|
|
|
- <el-table-column prop="result" label="推送结果" width="250">
|
|
|
+ <el-table-column prop="syncTime" :label="$t('tuiSongShiJian')" width="150"></el-table-column>
|
|
|
+ <el-table-column prop="remark" :label="$t('tuiSongMingCheng')" width="180"></el-table-column>
|
|
|
+ <el-table-column prop="operator" :label="$t('caozuo')" width="150"></el-table-column>
|
|
|
+ <el-table-column prop="syncType" :label="$t('tuiSongFangShi')" width="150"></el-table-column>
|
|
|
+ <el-table-column prop="result" :label="$t('tuiSongJieGuo')" width="250">
|
|
|
<template slot-scope="scope">
|
|
|
- <span style="color:green;" v-if="scope.row.result.includes('成功')">{{scope.row.result}}</span>
|
|
|
- <span style="color:red;" v-if="scope.row.result.includes('失败')">{{scope.row.result}}</span>
|
|
|
+ <span style="color:green;" v-if="scope.row.result.includes($t('other.successful'))">{{scope.row.result}}</span>
|
|
|
+ <span style="color:red;" v-if="scope.row.result.includes($t('shiBai'))">{{scope.row.result}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="resultRemark" label="备注" width="400"></el-table-column>
|
|
|
+ <el-table-column prop="resultRemark" :label="$t('bei-zhu')" width="400"></el-table-column>
|
|
|
</el-table>
|
|
|
</template>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="pushWorkTimeLogDig = false">关 闭</el-button>
|
|
|
+ <el-button type="primary" @click="pushWorkTimeLogDig = false">{{ $t('guanBi') }}</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
|
|
@@ -406,17 +406,17 @@
|
|
|
<span v-if="isBatch && user.company.companyName != mingyiName">, {{$t('other.fillInTheTotal')}} <el-input v-model="jsTime" @change="onBatchTimeChange" style="width:80px;"/> {{$t('time.hour')}}</span>
|
|
|
|
|
|
<!-- AI智能填报 -->
|
|
|
- <el-button type="primary" @click="getAIReport()" v-if="!hasWrittenReport" style="margin-left:5px;" >智能填报</el-button>
|
|
|
+ <el-button type="primary" @click="getAIReport()" v-if="!hasWrittenReport" style="margin-left:5px;" >{{ $t('zhiNengTianBao') }}</el-button>
|
|
|
</el-form-item>
|
|
|
<!--考勤时长显示-->
|
|
|
<el-form-item :label="$t('other.attendancePunch')" v-if="workForm.showRefresh || user.companyId == 5978">
|
|
|
<span v-if="workForm.time">{{workForm.time.startTime}}-{{workForm.time.endTime}}, 工作{{workForm.time.workHours}}{{$t('time.hour')}}
|
|
|
- <span v-if="workForm.time.askLeaveTime">| 请假{{ workForm.time.askLeaveTime }}小时</span>
|
|
|
+ <span v-if="workForm.time.askLeaveTime">| {{ $t('other.AskForLeave') }}{{ workForm.time.askLeaveTime }}{{$t('time.hour')}}</span>
|
|
|
</span>
|
|
|
<!--批量填报和批量代填不显示考勤记录-->
|
|
|
<span v-if="!isBatch && (user.timeType.syncDingding==1 || user.timeType.syncCorpwxTime==1)&&!workForm.time" >{{$t('other.noAttendanceRecord')}}</span>
|
|
|
<!--针对明夷,批量填报(不含代填)情况下显示考勤时长-->
|
|
|
- <span v-if="!isSubstitude && isBatch && user.company.companyName === mingyiName">{{',考勤时长'}}:{{this.workTimeForMinYi}}{{$t('time.hour')}}</span>
|
|
|
+ <span v-if="!isSubstitude && isBatch && user.company.companyName === mingyiName">,{{ $t('workAttendance') }}:{{this.workTimeForMinYi}}{{$t('time.hour')}}</span>
|
|
|
<el-button type="default" style="margin-left:5px;" size="small" :loading="syncTimeLoading"
|
|
|
v-if="!isBatch && user.timeType.syncCorpwxTime==1" icon="el-icon-refresh"
|
|
|
@click="refreshWXCardTime(workForm.createDate)"></el-button>
|
|
@@ -491,10 +491,10 @@
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="填报部门" v-if="user.timeType.userWithMultiDept == 1 && userReportDeptList.length > 0"
|
|
|
+ <el-form-item :label="$t('tianBaoBuMen')" v-if="user.timeType.userWithMultiDept == 1 && userReportDeptList.length > 0"
|
|
|
:prop="'domains.' + index + '.reportTargetDeptId'"
|
|
|
- :rules="{ required: true, message: '请选择部门', trigger: ['change','blur'] }">
|
|
|
- <el-select v-model="domain.reportTargetDeptId" :placeholder="'请选择部门'" style="width:200px;" :clearable="true" v-if="user.userNameNeedTranslate == 0">
|
|
|
+ :rules="{ required: true, message: $t('qing-xuan-ze-bu-men'), trigger: ['change','blur'] }">
|
|
|
+ <el-select v-model="domain.reportTargetDeptId" :placeholder="$t('qing-xuan-ze-bu-men')" 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">
|
|
|
<TranslationOpenDataText type='departmentName' :openid='depts.departmentName'></TranslationOpenDataText>
|
|
@@ -528,7 +528,7 @@
|
|
|
</el-select>
|
|
|
</template>
|
|
|
<template v-if="user.companyId == yuzhongCompId">
|
|
|
- <span style="color:#FF0000;margin-left:45px;">*</span><span style="margin-left:3px;">角色选择</span>
|
|
|
+ <span style="color:#FF0000;margin-left:45px;">*</span><span style="margin-left:3px;">{{ $t('jiaoSeXuanZe') }}</span>
|
|
|
<!--角色选择 -->
|
|
|
<el-select v-model="domain.extraField1" style="width:200px;margin-left:10px;" placeHolder="请选择"
|
|
|
:disabled="(workForm.domains[index].state>=2?false:true)" @change="updateResponse(domain)">
|
|
@@ -568,8 +568,8 @@
|
|
|
<el-option v-for="item in domain.taskGroups" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
<template v-if="user.companyId == yuzhongCompId">
|
|
|
- <span style="margin-left:45px;"><span style="color:#FF0000;">*</span>工作职责</span>
|
|
|
- <el-select v-model="domain.extraField2" style="width:200px;margin-left:10px;" placeHolder="请选择"
|
|
|
+ <span style="margin-left:45px;"><span style="color:#FF0000;">*</span>{{ $t('gongZuoZhiZe') }}</span>
|
|
|
+ <el-select v-model="domain.extraField2" style="width:200px;margin-left:10px;" :placeHolder="$t('defaultText.pleaseChoose')"
|
|
|
:disabled="(workForm.domains[index].state>=2?false:true)" @change="updateJobContent(domain)">
|
|
|
<el-option
|
|
|
v-for="item in domain.filteredRespList"
|
|
@@ -608,9 +608,9 @@
|
|
|
<el-form-item v-if="user.companyId == yuzhongCompId">
|
|
|
<template slot="label">
|
|
|
<span style="color:#FF0000;">*</span>
|
|
|
- <span >工作内容</span>
|
|
|
+ <span >{{ $t('gongZuoNeiRong') }}</span>
|
|
|
</template>
|
|
|
- <el-select v-model="domain.extraField3" style="width:200px;" placeHolder="请选择" @change="$forceUpdate()"
|
|
|
+ <el-select v-model="domain.extraField3" style="width:200px;" :placeHolder="$t('defaultText.pleaseChoose')" @change="$forceUpdate()"
|
|
|
:disabled="(workForm.domains[index].state>=2?false:true)" >
|
|
|
<el-option
|
|
|
v-for="item in domain.workContentList"
|
|
@@ -704,7 +704,7 @@
|
|
|
<el-form-item :label="$t('other.task')+' / '+$t('other.milestone')" :prop="'domains.' + index + '.taskId'" v-if="user.company.packageProject==1&& !user.timeType.hideTask && (user.company.nonProjectSimple==0 || (user.company.nonProjectSimple==1&&domain.isPublic!=1))" >
|
|
|
<template slot="label" v-if="user.timeType.taskRequired == 1">
|
|
|
<span style="color:#FF0000;">*</span>
|
|
|
- <span >任务</span>
|
|
|
+ <span >{{ $t('other.task') }}</span>
|
|
|
</template>
|
|
|
<el-select v-model="domain.taskId" :placeholder="$t('defaultText.pleaseChoose')" style="width:75%;margin-right:7%" filterable="true"
|
|
|
:disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)" @change="onTaskSelected(domain)">
|
|
@@ -713,9 +713,9 @@
|
|
|
<el-checkbox v-model="domain.taskFinish" v-if="domain.taskId != undefined && user.companyId != '5608'">{{$t('state.completed')}}</el-checkbox>
|
|
|
</el-form-item>
|
|
|
<!--针对依斯贝的SAP服务-->
|
|
|
- <el-form-item v-if="user.companyId==3092" label="服务" :prop="'domains.' + index + '.sapServiceId'"
|
|
|
- :rules=" { required: true, message: '请选择服务', trigger: 'blur' }">
|
|
|
- <el-select v-model="domain.sapServiceId" placeholder="请选择服务" style="width:75%;margin-right:7%" filterable="true"
|
|
|
+ <el-form-item v-if="user.companyId==3092" :label="$t('fuWu')" :prop="'domains.' + index + '.sapServiceId'"
|
|
|
+ :rules=" { required: true, message: $t('qingXuanZeFuWu'), trigger: 'blur' }">
|
|
|
+ <el-select v-model="domain.sapServiceId" :placeholder="$t('qingXuanZeFuWu')" style="width:75%;margin-right:7%" filterable="true"
|
|
|
:disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)" >
|
|
|
<el-option v-for="item in domain.serviceList" :key="item.id" :label="item.serviceName" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
@@ -728,8 +728,8 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<!-- 拍照上传 -->
|
|
|
- <el-form-item label="图片上传" v-if="user.timeType.choseFromAlbum == 1" :prop="'domains.' + index + '.imgListUrl'"
|
|
|
- :rules="isCustomization(user, reportPictureRequired) ? { required: true, message: '请选择图片', trigger: 'blur' } : null">
|
|
|
+ <el-form-item :label="$t('tuPianShangChuan')" v-if="user.timeType.choseFromAlbum == 1" :prop="'domains.' + index + '.imgListUrl'"
|
|
|
+ :rules="isCustomization(user, reportPictureRequired) ? { required: true, message: $t('pleaseselectpictures'), trigger: 'blur' } : null">
|
|
|
<div class="photos">
|
|
|
<div>
|
|
|
<el-upload
|
|
@@ -930,7 +930,7 @@
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="cancel(workForm.domains,true)" v-if="canCancelInDialog" style="float:left;">{{$t('btn.withdraw')}}</el-button>
|
|
|
|
|
|
- <span style="margin-right:20px" v-if="!(user.company.companyName == mingyiName && isSubstitude)">合计工时:{{totalReportHours}}小时</span>
|
|
|
+ <span style="margin-right:20px" v-if="!(user.company.companyName == mingyiName && isSubstitude)">{{ $t('heJiGongShi') }}:{{totalReportHours}}{{ $t('time.hour') }}</span>
|
|
|
|
|
|
<el-button @click="deleteReport" v-if="workForm.domains[0].id != null && canEdit && reportCanDelete">{{$t('btn.delete')}}</el-button>
|
|
|
<el-button @click="dialogVisible = false">{{$t('btn.cancel')}}</el-button>
|
|
@@ -970,7 +970,7 @@
|
|
|
{{$t('defaultText.pleaseSelectAsubstitute')}}
|
|
|
</span>
|
|
|
</div>
|
|
|
- <el-button @click="substitudeStep = 2; getCurrentWeek();" style="margin-top:10px;margin-left:100px" type="primary">下一步</el-button>
|
|
|
+ <el-button @click="substitudeStep = 2; getCurrentWeek();" style="margin-top:10px;margin-left:100px" type="primary">{{ $t('btn.nextStep') }}</el-button>
|
|
|
</div>
|
|
|
<el-form ref="WeekWorkForm" :model="workForm" :rules="workRules" label-width="100px" v-if="!isSubstitude || (substitudeStep == 2 && isSubstitude && workForm.userNames && workForm.userNames.length>0)">
|
|
|
<el-form-item style="height:30px;margin-top:-72px;">
|
|
@@ -989,7 +989,7 @@
|
|
|
<span style="float: right">{{ item.projectName }}</span>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <span style="float:right;margin-right:10px;">选择项目</span>
|
|
|
+ <span style="float:right;margin-right:10px;">{{ $t('defaultText.selectProject') }}</span>
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-table ref="weekTable" :data="zhoData" style="width: 100%" v-loading="weekDataLoading" max-height="620" stripe>
|
|
@@ -1019,7 +1019,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-else >
|
|
|
- <span style="color:#999999;">不可超前填报</span>
|
|
|
+ <span style="color:#999999;">{{ $t('buKeChaoQianTianBao') }}</span>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -1042,7 +1042,7 @@
|
|
|
</el-form>
|
|
|
|
|
|
<span slot="footer" class="dialog-footer" v-if="!isSubstitude || substitudeStep == 2">
|
|
|
- <span v-if="isSubstitude" style="float:left;color:orange;">*正在为【{{workForm.userNames}}】代填</span>
|
|
|
+ <span v-if="isSubstitude" style="float:left;color:orange;">{{ $t('zhengZaiWei') }}【{{workForm.userNames}}】{{ $t('daiTian') }}</span>
|
|
|
<!-- <el-button @click="zhoAddlast()" style="float:left;" class="el-icon-back">{{$t('defaultText.selectProject')}}</el-button> -->
|
|
|
<el-button @click="closeAddWeeklyReport()" :loading="submitingReport">{{$t('btn.cancel')}}</el-button>
|
|
|
<el-button @click="submitWeekReport(1)" :loading="submitingReport" >{{$t('btn.temporaryStorage')}}</el-button>
|
|
@@ -1052,7 +1052,7 @@
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
<!-- 重庆物奇私人定制的按周填报 -->
|
|
|
- <el-dialog :title="'按周填报'" class="fillWeekCustom" :visible.sync="fillWeekDialogVisiCustom" width="1400px" :before-close="handleClose" top="7.5vh">
|
|
|
+ <el-dialog :title="$t('textLink.fillInAWeek')" class="fillWeekCustom" :visible.sync="fillWeekDialogVisiCustom" width="1400px" :before-close="handleClose" top="7.5vh">
|
|
|
<div class="fillWeekDialogVisiCustom">
|
|
|
<WeeklyCustomization @weekClose="fillWeekCustomClne" @weekSubmit="fillWeekCustomSubmit" :key="weekIndex" :weekParentData="weekParentData"></WeeklyCustomization>
|
|
|
</div>
|
|
@@ -1160,8 +1160,8 @@
|
|
|
</div>
|
|
|
<!-- 选择任务 -->
|
|
|
<div class="zhoFel" v-if="user.company.packageProject==1 && !user.timeType.hideTask && user.company.nonProjectSimple==0">
|
|
|
- <p>任务 / 里程碑</p>
|
|
|
- <el-select v-model="zhoBao.taskId" :placeholder="'请选择'" clearable="true" style="width: 355px" filterable @change="$forceUpdate()">
|
|
|
+ <p>{{ $t('renWuLiChengBei') }}</p>
|
|
|
+ <el-select v-model="zhoBao.taskId" :placeholder="$t('defaultText.pleaseChoose')" clearable="true" style="width: 355px" filterable @change="$forceUpdate()">
|
|
|
<el-option v-for="item in zhoBao.taskList" :key="item.taskId" :label="item.taskName" :value="item.taskId"></el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
@@ -1223,11 +1223,11 @@
|
|
|
<el-option :label="$t('state.alreadyPassedAndWaitingAudit')" value="1"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item prop="exportType" :label="'导出方式'" v-if="user.companyId == '936'">
|
|
|
+ <el-form-item prop="exportType" :label="$t('daoChuFangShi')" v-if="user.companyId == '936'">
|
|
|
<div class="exportReportRadio">
|
|
|
- <el-radio v-model="exportType" :label="0">完整导出</el-radio>
|
|
|
- <el-radio v-model="exportType" :label="1">精简导出</el-radio>
|
|
|
- <el-tooltip effect="dark" :content="'精简日报不含工作事项和审批信息,数据量更小导出更快。'" placement="top-start">
|
|
|
+ <el-radio v-model="exportType" :label="0">{{ $t('wanZhengDaoChu') }}</el-radio>
|
|
|
+ <el-radio v-model="exportType" :label="1">{{ $t('jingJianDaoChu') }}</el-radio>
|
|
|
+ <el-tooltip effect="dark" :content="$t('jingJianRiBaoBuHanGongZuoShiXiangHeShenPiXinXiShuJuLiangGengXiaoDaoChuGengKuai')" placement="top-start">
|
|
|
<i class="el-icon-question"></i>
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
@@ -1347,7 +1347,7 @@
|
|
|
|
|
|
<!-- 日报审核修改 -->
|
|
|
<el-dialog
|
|
|
- title="日报审核修改"
|
|
|
+ :title="$t('riBaoShenHeXiuGai')"
|
|
|
:visible.sync="reportLogCheckDialog"
|
|
|
width="30%"
|
|
|
:before-close="handleClose">
|
|
@@ -1363,12 +1363,12 @@
|
|
|
></el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <el-link type="primary" @click="exportReportLog">导出日报审核记录数据</el-link>
|
|
|
+ <el-link type="primary" @click="exportReportLog">{{ $t('daoChuRiBaoShenHeJiLuShuJu') }}</el-link>
|
|
|
<br>
|
|
|
<el-upload ref="upload" action="#" :limit="1" :http-request="importReportLog" :show-file-list="false">
|
|
|
- <el-link type="primary" @click="importReportLog">导入日报审核记录修改数据</el-link></el-upload>
|
|
|
+ <el-link type="primary" @click="importReportLog">{{ $t('daoRuRiBaoShenHeJiLuXiuGaiShuJu') }}</el-link></el-upload>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="reportLogCheckDialog = false">关闭</el-button>
|
|
|
+ <el-button type="primary" @click="reportLogCheckDialog = false">{{ $t('Shutdown') }}</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
|
|
@@ -1376,7 +1376,7 @@
|
|
|
<!-- 按部门选择人员 -->
|
|
|
<el-dialog :title="$t('defaultText.selectthepersonwhneedstofillinthereport')" v-if="chooseParticipVisible" :visible.sync="chooseParticipVisible" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
<el-input v-if="user.userNameNeedTranslate != 1" style="width:100%" v-model="deptMembDataText" :placeholder="$t('defaultText.pleaseEnterNametoSearch')"></el-input>
|
|
|
- <el-input v-if="user.userNameNeedTranslate == 1" placeholder="请输入姓名搜索" v-model.trim="nameAearch" @keyup.enter.native="nameAearchSeek(true)" class="input-with-select" clearable @input="nameAearchSeek(false)">
|
|
|
+ <el-input v-if="user.userNameNeedTranslate == 1" :placeholder="$t('defaultText.pleaseEnterNametoSearch')" v-model.trim="nameAearch" @keyup.enter.native="nameAearchSeek(true)" class="input-with-select" clearable @input="nameAearchSeek(false)">
|
|
|
<el-button slot="append" icon="el-icon-search" @click="nameAearchSeek(true)"></el-button>
|
|
|
</el-input>
|
|
|
<div class="tree" style="height:400px">
|
|
@@ -1444,7 +1444,7 @@
|
|
|
<!-- 222 -->
|
|
|
</div>
|
|
|
<div>
|
|
|
- <el-cascader v-if="user.userNameNeedTranslate != 1" :size="'small'" v-model="deptIdForHasReport" placeholder="请选择部门" :options="departmentList" :props="{ checkStrictly: true, value: 'id' }" clearable style="width: 200px;" @change="showMonthWorkTime()"></el-cascader>
|
|
|
+ <el-cascader v-if="user.userNameNeedTranslate != 1" :size="'small'" v-model="deptIdForHasReport" :placeholder="$t('qing-xuan-ze-bu-men')" :options="departmentList" :props="{ checkStrictly: true, value: 'id' }" clearable style="width: 200px;" @change="showMonthWorkTime()"></el-cascader>
|
|
|
<vueCascader :subjectId="deptIdForHasReport" :size="'small'" :widthStr="'200'" :clearable="true" :subject="trandepartmentList" :radios="true" :distinction="'14'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1" :selectNameChuan="$t('other.allDepartments')"></vueCascader>
|
|
|
<el-input style="float:left;width:22%" v-if="user.userNameNeedTranslate != '1'" v-model="searchKeyword" @keyup.enter.native="searchScreen(0)" class="input-with-select" :placeholder="$t('defaultText.pleaseEnterNametoSearch')" clearable="true" size="small">
|
|
|
<el-button slot="append" @click="searchScreen(0)" icon="el-icon-search"></el-button>
|
|
@@ -1452,10 +1452,10 @@
|
|
|
<selectCat v-if="user.userNameNeedTranslate == '1'" :filterable="true" :searchBoxTop="'1'" :size="'small'" :subject="usersList" :subjectId="usersListId" :distinction="'12'" :clearable="true" @selectCal="selectCal"></selectCat>
|
|
|
</div>
|
|
|
<div style="float: left; height:32px; padding-top:10px;">
|
|
|
- <span style="width:20px;height:20px;background-color: orange;padding:5px 8px;">待审核</span>
|
|
|
- <span style="width:20px;height:20px;background-color: #32CD32;padding:5px 8px;margin-left:10px;">已通过</span>
|
|
|
- <span style="width:20px;height:20px;background-color: red;padding:5px 8px;margin-left:10px;">已驳回/漏填</span>
|
|
|
- <span style="width:20px;height:20px;background-color: #E0E0E0;padding:5px 8px;margin-left:10px;">未提交</span>
|
|
|
+ <span style="width:20px;height:20px;background-color: orange;padding:5px 8px;">{{ $t('state.WaitingAudit') }}</span>
|
|
|
+ <span style="width:20px;height:20px;background-color: #32CD32;padding:5px 8px;margin-left:10px;">{{ $t('state.alreadyPassed') }}</span>
|
|
|
+ <span style="width:20px;height:20px;background-color: red;padding:5px 8px;margin-left:10px;">{{ $t('yiBoHuiLouTian') }}</span>
|
|
|
+ <span style="width:20px;height:20px;background-color: #E0E0E0;padding:5px 8px;margin-left:10px;">{{ $t('weiTiJiao') }}</span>
|
|
|
</div>
|
|
|
<div style="float: right; vertical-align: middle;height:32px">
|
|
|
<el-link
|
|
@@ -1604,7 +1604,7 @@
|
|
|
<!-- </div> -->
|
|
|
</el-tab-pane>
|
|
|
|
|
|
- <el-tab-pane label="未提交人员列表" name="second" >
|
|
|
+ <el-tab-pane :label="$t('weiTiJiaoRenYuanLieBiao')" name="second" >
|
|
|
<div class="selectworktime_export" style="margin-top:10px">
|
|
|
<div class="selectworktime_export_l">
|
|
|
<el-date-picker
|
|
@@ -1630,7 +1630,7 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
<div style="margin-top:10px;">
|
|
|
- <el-cascader v-if="user.userNameNeedTranslate != 1" :size="'small'" v-model="deptIdForNoReport" placeholder="请选择部门" :options="departmentList" :props="{ checkStrictly: true, value: 'id' }" clearable style="width: 200px;" @change="showMonthNotWorkTime()"></el-cascader>
|
|
|
+ <el-cascader v-if="user.userNameNeedTranslate != 1" :size="'small'" v-model="deptIdForNoReport" :placeholder="$t('qing-xuan-ze-bu-men')" :options="departmentList" :props="{ checkStrictly: true, value: 'id' }" clearable style="width: 200px;" @change="showMonthNotWorkTime()"></el-cascader>
|
|
|
<vueCascader :size="'small'" :widthStr="'200'" :clearable="true" :subject="trandepartmentList" :radios="true" :distinction="'15'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1" :selectNameChuan="$t('other.allDepartments')"></vueCascader>
|
|
|
<el-input style="width:200px;margin-left: 15px" v-if="user.userNameNeedTranslate != '1'" @keyup.enter.native="searchScreen(1)" v-model="searchKeyword" class="input-with-select" :placeholder="$t('defaultText.pleaseEnterNametoSearch')" clearable="true" size="small">
|
|
|
<el-button slot="append" @click="searchScreen(1)" icon="el-icon-search"></el-button>
|
|
@@ -1694,7 +1694,7 @@
|
|
|
<el-alert style="position:absolute;bottom:0;z-index:10;" v-if="isMore" :title="$t('message.noMoreData')" type="success" center show-icon></el-alert>
|
|
|
</el-tab-pane>
|
|
|
|
|
|
- <el-tab-pane v-if="user.companyId==5978" :label="'工时异常明细'" name="third">
|
|
|
+ <el-tab-pane v-if="user.companyId==5978" :label="$t('gongShiYiChangMingXi')" name="third">
|
|
|
<div class="selectworktime_export" style="margin-top:10px;">
|
|
|
<div class="selectworktime_export_l">
|
|
|
<el-date-picker
|
|
@@ -1719,20 +1719,20 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
<div style="margin-top:10px;">
|
|
|
- <el-cascader v-if="user.userNameNeedTranslate != 1" :size="'small'" v-model="deptIdForReminder" placeholder="请选择部门" :options="departmentList" :props="{ checkStrictly: true, value: 'id' }" clearable style="width: 200px;" @change="showMonthWorkTimeReminder()"></el-cascader>
|
|
|
+ <el-cascader v-if="user.userNameNeedTranslate != 1" :size="'small'" v-model="deptIdForReminder" :placeholder="$t('qing-xuan-ze-bu-men')" :options="departmentList" :props="{ checkStrictly: true, value: 'id' }" clearable style="width: 200px;" @change="showMonthWorkTimeReminder()"></el-cascader>
|
|
|
<vueCascader :size="'small'" :widthStr="'200'" :clearable="true" :subject="trandepartmentList" :radios="true" :distinction="'16'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1" :selectNameChuan="$t('other.allDepartments')"></vueCascader>
|
|
|
<el-input style="float:left;width:18%" v-if="user.userNameNeedTranslate != '1'" @keyup.enter.native="searchScreen(0)" v-model="searchKeyword" class="input-with-select" :placeholder="$t('defaultText.pleaseEnterNametoSearch')" clearable="true" size="small">
|
|
|
<el-button slot="append" @click="searchScreen(0)" icon="el-icon-search"></el-button>
|
|
|
</el-input>
|
|
|
<selectCat v-if="user.userNameNeedTranslate == '1'" :filterable="true" :searchBoxTop="'1'" :size="'small'" :subject="usersList" :subjectId="usersListId" :distinction="'12'" :clearable="true" @selectCal="selectCal"></selectCat>
|
|
|
- <el-checkbox v-model="isReminder" @change="showMonthWorkTimeReminder()">是否异常</el-checkbox>
|
|
|
+ <el-checkbox v-model="isReminder" @change="showMonthWorkTimeReminder()">{{ $t('shiFouYiChang') }}</el-checkbox>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="float: right; vertical-align: middle;height:32px">
|
|
|
<el-link
|
|
|
type="primary"
|
|
|
@click="changeReminder()"
|
|
|
- >{{'变更提醒'}}</el-link
|
|
|
+ >{{ $t('bianGengTiXing') }}</el-link
|
|
|
>
|
|
|
<el-link
|
|
|
type="primary"
|
|
@@ -1753,7 +1753,7 @@
|
|
|
v-loading="tbload"
|
|
|
:lazy="true"
|
|
|
>
|
|
|
- <el-table-column width="120" type="index" fixed="left" :label="'日期'">
|
|
|
+ <el-table-column width="120" type="index" fixed="left" :label="$t('weekDay.date')">
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.createDate}}
|
|
|
</template>
|
|
@@ -1766,7 +1766,7 @@
|
|
|
<!-- {{scope.row.name}} -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column width="100" prop="invokeValue" fixed="left" :label="'费用类型'">
|
|
|
+ <el-table-column width="100" prop="invokeValue" fixed="left" :label="$t('costtype')">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.invokeValue}}
|
|
|
</template>
|
|
@@ -1778,29 +1778,29 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column width="160" type="index" fixed="left" :label="'填报工时'">
|
|
|
+ <el-table-column width="160" type="index" fixed="left" :label="$t('tianBaoGongShi')">
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.workingTime}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column width="160" type="index" fixed="left" :label="'考勤工时'">
|
|
|
+ <el-table-column width="160" type="index" fixed="left" :label="$t('kaoQinGongShi')">
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.cardTime}}
|
|
|
<i class="el-icon-refresh" @click="restUserCardTime(scope.row)"></i>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column width="160" type="index" fixed="left" :label="'是否异常'">
|
|
|
+ <el-table-column width="160" type="index" fixed="left" :label="$t('shiFouYiChang')">
|
|
|
<template slot-scope="scope">
|
|
|
- {{ scope.row.exceedCardTime==0?'否':'是'}}
|
|
|
+ {{ scope.row.exceedCardTime==0?$t('state.no'):$t('state.yes')}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column width="160" type="index" fixed="left" :label="'催办'">
|
|
|
+ <el-table-column width="160" type="index" fixed="left" :label="$t('cuiBan')">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-link v-if="scope.row.exceedCardTime==1" type="primary" @click="changeReminder(scope.row)">{{'变更提醒'}}</el-link>
|
|
|
- <el-link v-if="scope.row.exceedCardTime==1" type="primary" @click="cancelReminder(scope.row)">{{'取消异常'}}</el-link>
|
|
|
+ <el-link v-if="scope.row.exceedCardTime==1" type="primary" @click="changeReminder(scope.row)">{{ $t('bianGengTiXing') }}</el-link>
|
|
|
+ <el-link v-if="scope.row.exceedCardTime==1" type="primary" @click="cancelReminder(scope.row)">{{ $t('quXiaoYiChang') }}</el-link>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
@@ -1878,11 +1878,11 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作" v-if="showHidden && user.companyId == 469 && user.roleName=='超级管理员'">
|
|
|
+ <el-table-column :label="$t('operation')" v-if="showHidden && user.companyId == 469 && user.roleName=='超级管理员'">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- <el-button type="default" size="small" @click="openModImportTime(scope.row)">修改导入记录</el-button>
|
|
|
- <el-button type="primary" size="small" @click="delImportTime(scope.row)">删除记录</el-button>
|
|
|
+ <el-button type="default" size="small" @click="openModImportTime(scope.row)">{{ $t('xiuGaiDaoRuJiLu') }}</el-button>
|
|
|
+ <el-button type="primary" size="small" @click="delImportTime(scope.row)">{{ $t('shan-chu-ji-lu') }}</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -1947,7 +1947,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="departmentName" label="部门" >
|
|
|
+ <el-table-column prop="departmentName" :label="$t('lable.department')" >
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<span v-if="user.userNameNeedTranslate == 1"><TranslationOpenDataText type='departmentName' :openid='scope.row.departmentName'></TranslationOpenDataText></span>
|
|
@@ -1974,10 +1974,10 @@
|
|
|
<div slot="title">
|
|
|
<span style="font-size:16px;" @click="showHiddenFunction">{{$t('other.Batchimportofworkinghours')}}</span>
|
|
|
<el-link v-if="active==0" style="float:right;margin-right:100px;" type="primary" @click="toView()">{{$t('other.viewLaborImportRecords')}}</el-link>
|
|
|
- <el-link v-if="active==0" style="float:right;margin-right:100px;" type="primary" @click="downloadProjectRatio">下载填报工时占比表</el-link>
|
|
|
- <el-link v-if="active==0 && showHidden && user.companyId == 469 && user.roleName.indexOf('管理员') > 0" style="float:right;margin-right:100px;" type="primary" @click="importCardTimeVisi = true">导入考勤时长</el-link>
|
|
|
- <el-link v-if="active==0 && showHidden && user.companyId == 469 && user.roleName == '超级管理员'" style="float:right;margin-right:50px;" type="primary" @click="showBatchDeleteReport = true; startDeleting = false;">批量删除日报</el-link>
|
|
|
- <el-link v-if="active==0 && showHidden && user.companyId == 469 && user.roleName == '超级管理员'" style="float:right;margin-right:50px;" type="primary" @click="showBatchSimpleApproveReport = true; startDeleting = false;getDepartmentForApprove();">批量审核日报</el-link>
|
|
|
+ <el-link v-if="active==0" style="float:right;margin-right:100px;" type="primary" @click="downloadProjectRatio">{{ $t('xiaZaiTianBaoGongShiZhanBiBiao') }}</el-link>
|
|
|
+ <el-link v-if="active==0 && showHidden && user.companyId == 469 && user.roleName.indexOf('管理员') > 0" style="float:right;margin-right:100px;" type="primary" @click="importCardTimeVisi = true">{{ $t('daoRuKaoQinShiChang') }}</el-link>
|
|
|
+ <el-link v-if="active==0 && showHidden && user.companyId == 469 && user.roleName == '超级管理员'" style="float:right;margin-right:50px;" type="primary" @click="showBatchDeleteReport = true; startDeleting = false;">{{ $t('piLiangShanChuRiBao') }}</el-link>
|
|
|
+ <el-link v-if="active==0 && showHidden && user.companyId == 469 && user.roleName == '超级管理员'" style="float:right;margin-right:50px;" type="primary" @click="showBatchSimpleApproveReport = true; startDeleting = false;getDepartmentForApprove();">{{ $t('piLiangShenHeRiBao') }}</el-link>
|
|
|
</div>
|
|
|
|
|
|
<span slot="footer">
|
|
@@ -1989,14 +1989,14 @@
|
|
|
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
- <el-dialog title="导入考勤时长" v-if="importCardTimeVisi" :visible.sync="importCardTimeVisi" width="200">
|
|
|
+ <el-dialog :title="$t('daoRuKaoQinShiChang')" v-if="importCardTimeVisi" :visible.sync="importCardTimeVisi" width="200">
|
|
|
<p style="display: flex;justify-content: center;height:100px;">
|
|
|
<el-upload style="margin-top:10px;" ref="uploadCardTime" action="#" :limit="1" :http-request="importCardTime" :show-file-list="false">
|
|
|
<el-button type="primary" :underline="false" :loading="importingData">{{$t('other.chooseFileAndUpload')}}</el-button>
|
|
|
</el-upload>
|
|
|
</p>
|
|
|
</el-dialog>
|
|
|
- <el-dialog title="批量删除日报" v-if="showBatchDeleteReport" :visible.sync="showBatchDeleteReport" width="200">
|
|
|
+ <el-dialog :title="$t('piLiangShanChuRiBao')" v-if="showBatchDeleteReport" :visible.sync="showBatchDeleteReport" width="200">
|
|
|
<div>
|
|
|
<span>{{$t('time.selectdaterange')}}:</span><el-date-picker
|
|
|
v-model="deleteReportParam.date" :editable="false"
|
|
@@ -2009,13 +2009,13 @@
|
|
|
></el-date-picker>
|
|
|
</div>
|
|
|
<div style="margin-top:10px;">
|
|
|
- <span>请选择部门:</span>
|
|
|
- <el-cascader v-if="user.userNameNeedTranslate != 1" v-model="deleteReportParam.deptId" placeholder="请选择部门" :options="departmentList" :props="{ checkStrictly: true, value: 'id' }" clearable style="width: 350px;"></el-cascader>
|
|
|
+ <span>{{ $t('qing-xuan-ze-bu-men') }}:</span>
|
|
|
+ <el-cascader v-if="user.userNameNeedTranslate != 1" v-model="deleteReportParam.deptId" :placeholder="$t('qing-xuan-ze-bu-men')" :options="departmentList" :props="{ checkStrictly: true, value: 'id' }" clearable style="width: 350px;"></el-cascader>
|
|
|
<vueCascader :size="'medium'" :widthStr="'350'" :clearable="true" :subject="departmentList" :radios="true" :distinction="'1'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1" :selectNameChuan="$t('other.allDepartments')"></vueCascader>
|
|
|
</div>
|
|
|
<div style="margin-top:10px;">
|
|
|
- <span>请选择员工:</span>
|
|
|
- <el-select v-model="deleteReportParam.userIds" placeholder="请选择" style="width:500px;" filterable multiple>
|
|
|
+ <span>{{ $t('qingXuanZeYuanGong') }}:</span>
|
|
|
+ <el-select v-model="deleteReportParam.userIds" :placeholder="$t('defaultText.pleaseChoose')" style="width:500px;" filterable multiple>
|
|
|
<el-option v-for="item in usersList" :key="item.id" :label="item.name" :value="item.id">
|
|
|
<span v-if="user.userNameNeedTranslate == 1"><TranslationOpenDataText type='userName' :openid='item.name'></TranslationOpenDataText></span>
|
|
|
<span v-else>{{item.name}}</span>
|
|
@@ -2023,11 +2023,11 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<span slot="footer">
|
|
|
- <el-button @click="confirmBatchDelReport" :loading="startDeleting" >开始删除</el-button>
|
|
|
+ <el-button @click="confirmBatchDelReport" :loading="startDeleting" >{{ $t('kaiShiShanChu') }}</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog title="批量审核日报" v-if="showBatchSimpleApproveReport" :visible.sync="showBatchSimpleApproveReport" width="200">
|
|
|
+ <el-dialog :title="$t('piLiangShenHeRiBao')" v-if="showBatchSimpleApproveReport" :visible.sync="showBatchSimpleApproveReport" width="200">
|
|
|
<div>
|
|
|
<span>{{$t('time.selectdaterange')}}:</span><el-date-picker
|
|
|
v-model="deleteReportParam.date" :editable="false"
|
|
@@ -2040,8 +2040,8 @@
|
|
|
></el-date-picker>
|
|
|
</div>
|
|
|
<div style="margin-top:15px;">
|
|
|
- <span>选择部门:</span>
|
|
|
- <el-cascader v-model="deleteReportParam.departmentId" placeholder="全部部门" style="width: 350px;margin-left:25px;"
|
|
|
+ <span>{{ $t('other.selectdepartment') }}:</span>
|
|
|
+ <el-cascader v-model="deleteReportParam.departmentId" :placeholder="$t('other.allDepartments')" style="width: 350px;margin-left:25px;"
|
|
|
:options="deptOptionList" :props="{ checkStrictly: false,expandTrigger: 'hover' }" :show-all-levels="false" clearable
|
|
|
size="small" v-if="user.userNameNeedTranslate != 1"
|
|
|
></el-cascader>
|
|
@@ -2050,18 +2050,18 @@
|
|
|
</div>
|
|
|
|
|
|
<span slot="footer">
|
|
|
- <el-button @click="confirmBatchApproveReport" :loading="startDeleting" >审批通过</el-button>
|
|
|
+ <el-button @click="confirmBatchApproveReport" :loading="startDeleting" >{{ $t('shenPiTongGuo') }}</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
- <el-dialog title="修改导入记录" v-if="showModImportTimeDialog" :visible.sync="showModImportTimeDialog" width="200">
|
|
|
+ <el-dialog :title="$t('xiuGaiDaoRuJiLu')" v-if="showModImportTimeDialog" :visible.sync="showModImportTimeDialog" width="200">
|
|
|
<div>
|
|
|
- <span>选择时间:</span><el-date-picker
|
|
|
+ <span>{{ $t('other.timeSelection') }}:</span><el-date-picker
|
|
|
v-model="modImportTime"
|
|
|
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
:clearable="true"
|
|
|
type="datetime"
|
|
|
></el-date-picker>
|
|
|
- <span>选择导入人员:</span><el-select
|
|
|
+ <span>{{ $t('xuanZeDaoRuRenYuan') }}</span><el-select
|
|
|
v-model="modImportUserId"
|
|
|
>
|
|
|
<el-option v-for="item in usersList" :key="item.id" :label="item.name" :value="item.id">
|
|
@@ -2071,14 +2071,14 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<span slot="footer">
|
|
|
- <el-button @click="confirmChangeModTime" >确认</el-button>
|
|
|
+ <el-button @click="confirmChangeModTime" >{{ $t('queRen') }}</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
- <el-dialog title="导出员工填报工时占比" v-if="exportUserRatio" :visible.sync="exportUserRatio" width="200">
|
|
|
+ <el-dialog :title="$t('daoChuYuanGongTianBaoGongShiZhanBi')" v-if="exportUserRatio" :visible.sync="exportUserRatio" width="200">
|
|
|
<div>
|
|
|
- <span>请选择年月:</span>
|
|
|
+ <span>{{ $t('qingXuanZeNianYue') }}</span>
|
|
|
<el-date-picker
|
|
|
v-model="ratioYmonth" :editable="false"
|
|
|
format="yyyyMM" value-format="yyyyMM"
|
|
@@ -2086,7 +2086,7 @@
|
|
|
></el-date-picker>
|
|
|
</div>
|
|
|
<span slot="footer">
|
|
|
- <el-button @click="confirmDownloadRatio" :loading="startRatioExporting" :disabled="startRatioExporting">导出</el-button>
|
|
|
+ <el-button @click="confirmDownloadRatio" :loading="startRatioExporting" :disabled="startRatioExporting">{{ $t('export.export') }}</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
<!--工时批量代填 -->
|
|
@@ -2728,7 +2728,7 @@
|
|
|
//是否非项目
|
|
|
var isPublic = domainItem.isPublic;//this.fillProjectList.filter(p=>p.id == selectPid)[0].isPublic;
|
|
|
console.log('==========','isPublic=='+isPublic);
|
|
|
- var filteredRespList = this.jobResponseList.filter(j=>j.timeType == (isPublic?'非项目工时':'项目工时') && j.role == (this.roleList.filter(r=>r.value==domainItem.extraField1)[0].label));
|
|
|
+ var filteredRespList = this.jobResponseList.filter(j=>j.timeType == (isPublic?this.$t('fei-xiang-mu-gong-shi'):this.$t('xiangMuGongShi')) && j.role == (this.roleList.filter(r=>r.value==domainItem.extraField1)[0].label));
|
|
|
console.log(filteredRespList);
|
|
|
domainItem.filteredRespList = filteredRespList;
|
|
|
}
|
|
@@ -2758,7 +2758,7 @@
|
|
|
},
|
|
|
delImportTime(row) {
|
|
|
let rowId = row.id;
|
|
|
- this.$confirm('您确定要删除该条记录吗?',this.$t('other.prompts'), {
|
|
|
+ this.$confirm(this.$t('ninQueDingYaoShanChuGaiTiaoJiLuMa'),this.$t('other.prompts'), {
|
|
|
confirmButtonText: this.$t('btn.determine'),
|
|
|
cancelButtonText: this.$t('btn.cancel'),
|
|
|
type: "warning"
|
|
@@ -2769,7 +2769,7 @@
|
|
|
},res => {
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: '删除成功',
|
|
|
+ message: this.$t('message.successfullyDeleted'),
|
|
|
type: "success"
|
|
|
});
|
|
|
this.getToView();
|
|
@@ -2791,7 +2791,7 @@
|
|
|
confirmChangeModTime() {
|
|
|
if (this.modImportTime == null || this.modImportTime.length == 0) {
|
|
|
this.$message({
|
|
|
- message: '请选择时间',
|
|
|
+ message: this.$t('message.Pleaseselectatime'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return;
|
|
@@ -2803,7 +2803,7 @@
|
|
|
},res => {
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: '修改成功',
|
|
|
+ message: this.$t('message.modifyTheSuccess'),
|
|
|
type: "success"
|
|
|
});
|
|
|
this.getToView();
|
|
@@ -2825,13 +2825,13 @@
|
|
|
confirmBatchApproveReport() {
|
|
|
if (this.deleteReportParam.date == null || this.deleteReportParam.date.length == 0) {
|
|
|
this.$message({
|
|
|
- message: '请选择日期范围',
|
|
|
+ message: this.$t('qingXuanZeRiQiFanWei'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- this.$confirm('您确定要审核通过该时间段内全部的日报吗?',this.$t('other.prompts'), {
|
|
|
+ this.$confirm(this.$t('ninQueDingYaoShenHeTongGuoGaiShiJianDuanNeiQuanBuDeRiBaoMa'),this.$t('other.prompts'), {
|
|
|
confirmButtonText: this.$t('btn.determine'),
|
|
|
cancelButtonText: this.$t('btn.cancel'),
|
|
|
type: "warning"
|
|
@@ -2851,7 +2851,7 @@
|
|
|
this.http.post('/report/batchApproveByDate',obj,res => {
|
|
|
if (res.code == "ok") {
|
|
|
this.$message({
|
|
|
- message: '审核通过',
|
|
|
+ message: this.$t('state.approved'),
|
|
|
type: "success"
|
|
|
});
|
|
|
this.getReportList();
|
|
@@ -2875,20 +2875,20 @@
|
|
|
confirmBatchDelReport() {
|
|
|
if (this.deleteReportParam.userIds.length == 0 && !this.deleteReportParam.deptId) {
|
|
|
this.$message({
|
|
|
- message: '请选择部门或人员',
|
|
|
+ message: this.$t('qingXuanZeBuMenHuoRenYuan'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
if (this.deleteReportParam.date == null || this.deleteReportParam.date.length == 0) {
|
|
|
this.$message({
|
|
|
- message: '请选择日期范围',
|
|
|
+ message: this.$t('qingXuanZeRiQiFanWei'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- this.$confirm('您确定要删除该时间段内的日报吗,删除后将不可恢复',this.$t('other.prompts'), {
|
|
|
+ this.$confirm(this.$t('ninQueDingYaoShanChuGaiShiJianDuanNeiDeRiBaoMaShanChuHouJiangBuKeHuiFu'),this.$t('other.prompts'), {
|
|
|
confirmButtonText: this.$t('btn.determine'),
|
|
|
cancelButtonText: this.$t('btn.cancel'),
|
|
|
type: "warning"
|
|
@@ -2928,11 +2928,11 @@
|
|
|
this.http.post('/project/nearProject',{},res => {
|
|
|
if(res.code == 'ok'){
|
|
|
let topObj = {
|
|
|
- label: '最近选择项目',
|
|
|
+ label: this.$t('zuiJinXuanZeXiangMu'),
|
|
|
peojectList: res.data
|
|
|
}
|
|
|
let botomObj = {
|
|
|
- label: '全部项目',
|
|
|
+ label: this.$t('other.allProject'),
|
|
|
peojectList: this.fillProjectList
|
|
|
}
|
|
|
//最近项目如果在fillProjectList中不存在,需要移除
|
|
@@ -3469,7 +3469,7 @@
|
|
|
if (res.code == "ok") {
|
|
|
//换成弹出框,以免有人等了半天回来啥也没看到
|
|
|
this.$message({
|
|
|
- message: '导入考勤时长成功',
|
|
|
+ message: this.$t('daoRuKaoQinShiChangChengGong'),
|
|
|
type: "success"
|
|
|
});
|
|
|
} else {
|
|
@@ -3511,7 +3511,7 @@
|
|
|
this.importingData = false;
|
|
|
if (res.code == "ok") {
|
|
|
//换成弹出框,以免有人等了半天回来啥也没看到
|
|
|
- this.importResultMsg = '成功导入' +res.data+this.$t('other.workHourData')+(res.msg?res.msg:"");
|
|
|
+ this.importResultMsg = this.$t('chengGongDaoRu') +res.data+this.$t('other.workHourData')+(res.msg?res.msg:"");
|
|
|
this.getReportList();
|
|
|
this.importWxDialog = false;
|
|
|
} else {
|
|
@@ -3550,7 +3550,7 @@
|
|
|
this.showImportResult = true;
|
|
|
if (res.code == "ok") {
|
|
|
//换成弹出框,以免有人等了半天回来啥也没看到
|
|
|
- this.importResultMsg = "成功导入"+res.data+this.$t('other.workHourData')+(res.msg?res.msg:"");;
|
|
|
+ this.importResultMsg = this.$t('chengGongDaoRu')+res.data+this.$t('other.workHourData')+(res.msg?res.msg:"");;
|
|
|
this.getReportList();
|
|
|
this.importWXDialog = false;
|
|
|
} else {
|
|
@@ -3873,14 +3873,14 @@
|
|
|
url='/report/pushProjectReportToSap'
|
|
|
let day = (this.choseDay+1) > 9 ? "-" + (this.choseDay + 1) : "-0" + (this.choseDay + 1);
|
|
|
var pushDate = this.date + day;
|
|
|
- this.$confirm(reportId?'确认推送当前工时?':('确认推送'+pushDate+'的工时?'), '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
+ this.$confirm(reportId?this.$t('queRenTuiSongDangQianGongShi'):(this.$t('queRenTuiSong')+pushDate+this.$t('deGongShi')), this.$t('other.prompts'), {
|
|
|
+ confirmButtonText: this.$t('btn.determine'),
|
|
|
+ cancelButtonText: this.$t('btn.cancel'),
|
|
|
type: 'info'
|
|
|
}).then(() => {
|
|
|
const loading = this.$loading({
|
|
|
lock: true,
|
|
|
- text: '正在推送中,请耐心等待。',
|
|
|
+ text: this.$t('zhengZaiTuiSongZhongQingNaiXinDengDai'),
|
|
|
spinner: 'el-icon-loading',
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
});
|
|
@@ -3912,14 +3912,14 @@
|
|
|
});
|
|
|
}else{
|
|
|
url='/report/pushReportDataToThird'
|
|
|
- this.$confirm('确认推送'+this.date+'月的工时?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
+ this.$confirm(this.$t('queRenTuiSong')+this.date+this.$t('yueDeGongShi'), this.$t('other.prompts'), {
|
|
|
+ confirmButtonText: this.$t('btn.determine'),
|
|
|
+ cancelButtonText: this.$t('btn.cancel'),
|
|
|
type: 'info'
|
|
|
}).then(() => {
|
|
|
const loading = this.$loading({
|
|
|
lock: true,
|
|
|
- text: '正在推送中,请耐心等待。',
|
|
|
+ text: this.$t('zhengZaiTuiSongZhongQingNaiXinDengDai'),
|
|
|
spinner: 'el-icon-loading',
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
});
|
|
@@ -3930,7 +3930,7 @@
|
|
|
if(res.code == 'ok'){
|
|
|
this.$message({
|
|
|
type: 'success',
|
|
|
- message: '推送成功!'
|
|
|
+ message: this.$t('tuiSongChengGong')
|
|
|
});
|
|
|
}else{
|
|
|
this.$message({
|
|
@@ -4435,7 +4435,7 @@
|
|
|
if (this.user.company.packageProject == 1) {
|
|
|
if (this.chosenMembList.length > 1) {
|
|
|
this.$message({
|
|
|
- message: '每次仅支持代填一个人',
|
|
|
+ message: this.$t('meiCiJinZhiChiDaiTianYiGeRen'),
|
|
|
type: "error",
|
|
|
});
|
|
|
return;
|
|
@@ -4756,7 +4756,7 @@
|
|
|
if (this.user.company.packageProject==1 && this.isSubstitude) {
|
|
|
if (!this.workForm.userId || this.workForm.userId.length == 0) {
|
|
|
this.$message({
|
|
|
- message: '请选择代填的员工',
|
|
|
+ message: this.$t('qingXuanZeDaiTianDeYuanGong'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return;
|
|
@@ -5713,7 +5713,7 @@
|
|
|
this.reportList = this.reportList.concat(res.data.data);
|
|
|
} else if (this.pageIndex > 1){
|
|
|
this.$message({
|
|
|
- message: '没有更多数据了',
|
|
|
+ message: this.$t('meiYouGengDuoShuJuLe'),
|
|
|
type: "info"
|
|
|
});
|
|
|
}
|
|
@@ -5927,7 +5927,7 @@
|
|
|
} else {
|
|
|
const loading = this.$loading({
|
|
|
lock: true,
|
|
|
- text: '正在导入修改中,请耐心等待。',
|
|
|
+ text: this.$t('zhengZaiDaoRuXiuGaiZhongQingNaiXinDengDai'),
|
|
|
spinner: 'el-icon-loading',
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
});
|
|
@@ -6147,7 +6147,7 @@
|
|
|
var filteredRespList = null
|
|
|
if (targetP.length > 0) {
|
|
|
var isPublic = targetP[0].isPublic;
|
|
|
- filteredRespList = this.jobResponseList.filter(j=>j.timeType == (isPublic?'非项目工时':'项目工时') && j.role == this.roleList.filter(r=>r.value == list.report[i].extraField1)[0].label);
|
|
|
+ filteredRespList = this.jobResponseList.filter(j=>j.timeType == (isPublic?this.$t('fei-xiang-mu-gong-shi'):this.$t('xiangMuGongShi')) && j.role == this.roleList.filter(r=>r.value == list.report[i].extraField1)[0].label);
|
|
|
}
|
|
|
arr.push({
|
|
|
id: list.report[i].id,
|
|
@@ -6398,14 +6398,14 @@
|
|
|
showWeekItemEdit(item, i, projectId,names, row) {
|
|
|
if (item.state == 0) {
|
|
|
this.$message({
|
|
|
- message: '待审核状态不可修改,请返回到查看日报中先撤回',
|
|
|
+ message: this.$t('daiShenHeZhuangTaiBuKeXiuGaiQingFanHuiDaoChaKanRiBaoZhongXianCheHui'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
if (item.state == 1) {
|
|
|
this.$message({
|
|
|
- message: '已通过状态不可修改',
|
|
|
+ message: this.$t('yiTongGuoZhuangTaiBuKeXiuGai'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return;
|
|
@@ -6550,7 +6550,7 @@
|
|
|
if (this.user.company.packageProject == 1 && this.user.companyId === 3917) {
|
|
|
if (!this.zhoBao.groupId || !this.zhoBao.stage) {
|
|
|
this.$message({
|
|
|
- message: '任务分组和阶段必填,请检查',
|
|
|
+ message: this.$t('renWuFenZuHeJieDuanBiTianQingJianCha'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return;
|
|
@@ -6559,7 +6559,7 @@
|
|
|
// 检查任务分组
|
|
|
if(this.user.timeType.taskGroupRequired == 1 && !this.zhoBao.groupId){
|
|
|
this.$message({
|
|
|
- message: '任务分组必填,请检查',
|
|
|
+ message: this.$t('renWuFenZuBiTianQingJianCha'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return
|
|
@@ -6567,7 +6567,7 @@
|
|
|
//检查子项目是否必填
|
|
|
if (this.user.timeType.subProMustFill == 1 && this.zhoBao.subProjectList && this.zhoBao.subProjectList.length > 0 && !this.zhoBao.subProjectId) {
|
|
|
this.$message({
|
|
|
- message: '子项目必填,请检查',
|
|
|
+ message: this.$t('ziXiangMuBiTianQingJianCha'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return;
|
|
@@ -7118,9 +7118,9 @@
|
|
|
if (res.code == "ok") {
|
|
|
this.submitWeekReport(0)
|
|
|
} else {
|
|
|
- this.$confirm(res.msg, '提示', {
|
|
|
- confirmButtonText: '忽略并提交',
|
|
|
- cancelButtonText: '取消',
|
|
|
+ this.$confirm(res.msg, this.$t('other.prompts'), {
|
|
|
+ confirmButtonText: this.$t('huLveBingTiJiao'),
|
|
|
+ cancelButtonText: this.$t('btn.cancel'),
|
|
|
type: 'error'
|
|
|
}).then(() => {
|
|
|
this.submitWeekReport(0)
|
|
@@ -7520,7 +7520,7 @@
|
|
|
let { next, error } = this.handleGroupAuditorData(this.zhoData)
|
|
|
if(!next) {
|
|
|
this.$message({
|
|
|
- message: `【${error.join('、')}】请填写任务分组`,
|
|
|
+ message: `【${error.join('、')}】` + this.$t('qingTianXieRenWuFenZu'),
|
|
|
type: 'error'
|
|
|
})
|
|
|
return
|
|
@@ -7584,7 +7584,7 @@
|
|
|
if(arrList.length > 0) {
|
|
|
return {
|
|
|
next: false,
|
|
|
- error: arrList.map(item => `【${item.date} ${item.dateText} 中的 (${item.projectName})项目】`),
|
|
|
+ error: arrList.map(item => `【${item.date} ${item.dateText} `+ this.$t('zhongDe')+ `(${item.projectName})` + this.$t('other.project')+ `】`),
|
|
|
}
|
|
|
} else {
|
|
|
return {
|
|
@@ -7815,7 +7815,7 @@
|
|
|
var endDate = new Date(this.workForm.createDate[1]);
|
|
|
if (startDate > endDate) {
|
|
|
this.$message({
|
|
|
- message: '开始日期不能大于结束日期',
|
|
|
+ message: this.$t('kaiShiRiQiBuNengDaYuJieShuRiQi'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return
|
|
@@ -7844,9 +7844,9 @@
|
|
|
if (res.code == "ok") {
|
|
|
this.submitReportSon()
|
|
|
} else {
|
|
|
- this.$confirm(res.msg, '提示', {
|
|
|
- confirmButtonText: '忽略并提交',
|
|
|
- cancelButtonText: '取消',
|
|
|
+ this.$confirm(res.msg, this.$t('other.prompts'), {
|
|
|
+ confirmButtonText: this.$t('huLveBingTiJiao'),
|
|
|
+ cancelButtonText: this.$t('btn.cancel'),
|
|
|
type: 'error'
|
|
|
}).then(() => {
|
|
|
this.submitReportSon()
|
|
@@ -7862,9 +7862,9 @@
|
|
|
});
|
|
|
} else {
|
|
|
if(this.totalReportHours < this.user.timeType.allday){
|
|
|
- this.$confirm('当日工时不足' + this.user.timeType.allday.toFixed(1) + '小时,是否确定提交?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
+ this.$confirm(this.$t('dangRiGongShiBuZu') + this.user.timeType.allday.toFixed(1) + this.$t('xiaoShiShiFouQueDingTiJiao'), this.$t('other.prompts'), {
|
|
|
+ confirmButtonText: this.$t('btn.determine'),
|
|
|
+ cancelButtonText: this.$t('btn.cancel'),
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
this.submitReportSon()
|
|
@@ -7939,7 +7939,7 @@
|
|
|
if (oneProItem.subProjectList.length > 0 && !oneProItem.subProjectId) {
|
|
|
//没有选择子项目
|
|
|
this.$message({
|
|
|
- message: '子项目必填,请检查',
|
|
|
+ message: this.$t('ziXiangMuBiTianQingJianCha'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return
|
|
@@ -7953,21 +7953,21 @@
|
|
|
var oneProItem = this.workForm.domains[p]
|
|
|
if (!oneProItem.extraField1) {
|
|
|
this.$message({
|
|
|
- message: '角色必填,请检查',
|
|
|
+ message: this.$t('jiaoSeBiTianQingJianCha'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return
|
|
|
}
|
|
|
if (!oneProItem.extraField2) {
|
|
|
this.$message({
|
|
|
- message: '工作职责必填,请检查',
|
|
|
+ message: this.$t('gongZuoZhiZeBiTianQingJianCha'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return
|
|
|
}
|
|
|
if (!oneProItem.extraField3) {
|
|
|
this.$message({
|
|
|
- message: '工作内容必填,请检查',
|
|
|
+ message: this.$t('gongZuoNeiRongBiTianQingJianCha'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return
|
|
@@ -8093,7 +8093,7 @@
|
|
|
if(taskRequired == 1) {
|
|
|
if(!this.workForm.domains[i].taskId) {
|
|
|
this.$message({
|
|
|
- message: `【${this.workForm.domains[i].projectName}】请选择 任务/里程碑`,
|
|
|
+ message: `【${this.workForm.domains[i].projectName}】`+this.$t('qingXuanZeRenWuLiChengBei'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return
|
|
@@ -8362,7 +8362,7 @@
|
|
|
}
|
|
|
if(this.user.timeType.taskGroupRequired == 1 && !this.workForm.domains[i].groupId) {
|
|
|
this.$message({
|
|
|
- message: `请选择【${this.workForm.domains[i].projectName}】项目下的任务分组`,
|
|
|
+ message: this.$t('defaultText.pleaseChoose') + `【${this.workForm.domains[i].projectName}】`+ this.$t('xiangMuXiaDeRenWuFenZu'),
|
|
|
type: "error"
|
|
|
});
|
|
|
return
|