|
@@ -11,9 +11,9 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div style="width: 100%;display: flex">
|
|
<div style="width: 100%;display: flex">
|
|
- <el-button v-if="!adjustPosition" style="width: 100%;" size="small" @click="adjustPositionClick()">调整部门</el-button>
|
|
|
|
- <el-button v-if="adjustPosition" style="width: 50%" size="small" @click="adjustPosition = !adjustPosition,data = dataRepeat">取消</el-button>
|
|
|
|
- <el-button v-if="adjustPosition" style="width: 50%" size="small" @click="adjustPositionClick()">确定</el-button>
|
|
|
|
|
|
+ <el-button v-if="!adjustPosition" style="width: 100%;" size="small" @click="adjustPositionClick()">{{ $t('tiaoZhengBuMen') }}</el-button>
|
|
|
|
+ <el-button v-if="adjustPosition" style="width: 50%" size="small" @click="adjustPosition = !adjustPosition,data = dataRepeat">{{ $t('btn.cancel') }}</el-button>
|
|
|
|
+ <el-button v-if="adjustPosition" style="width: 50%" size="small" @click="adjustPositionClick()">{{ $t('btn.determine') }}</el-button>
|
|
</div>
|
|
</div>
|
|
<el-divider style="margin: 0px 0px !important;height:0.5px;"></el-divider>
|
|
<el-divider style="margin: 0px 0px !important;height:0.5px;"></el-divider>
|
|
<div class="tree" :style="'height:'+ (tableHeight + 83) + 'px'">
|
|
<div class="tree" :style="'height:'+ (tableHeight + 83) + 'px'">
|
|
@@ -169,11 +169,11 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item style="float:right;">
|
|
<el-form-item style="float:right;">
|
|
<div style="width: 300px;display: inline-block;margin-top: 4px">
|
|
<div style="width: 300px;display: inline-block;margin-top: 4px">
|
|
- <el-input v-model="keyword" class="input-with-select" placeholder="请输入" clearable="true" size="small" @keyup.enter.native="searchList()">
|
|
|
|
|
|
+ <el-input v-model="keyword" class="input-with-select" :placeholder="$t('peaseenterthe')" clearable="true" size="small" @keyup.enter.native="searchList()">
|
|
<el-select v-model="integer" slot="prepend" style="width: 80px">
|
|
<el-select v-model="integer" slot="prepend" style="width: 80px">
|
|
- <el-option label="姓名" value="0"></el-option>
|
|
|
|
- <el-option label="电话" value="1"></el-option>
|
|
|
|
- <el-option label="工号" value="2"></el-option>
|
|
|
|
|
|
+ <el-option :label="$t('lable.name')" value="0"></el-option>
|
|
|
|
+ <el-option :label="$t('phone')" value="1"></el-option>
|
|
|
|
+ <el-option :label="$t('Worknumber')" value="2"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
<el-button slot="append" @click="searchList" icon="el-icon-search"></el-button>
|
|
<el-button slot="append" @click="searchList" icon="el-icon-search"></el-button>
|
|
</el-input>
|
|
</el-input>
|
|
@@ -220,7 +220,7 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="superiorName" label="直属审核人" width="120" v-if="user.timeType.reportAuditType == 5 || user.timeType.reportAuditType == 6">
|
|
|
|
|
|
+ <el-table-column prop="superiorName" :label="$t('immediatesuperior')" width="120" v-if="user.timeType.reportAuditType == 5 || user.timeType.reportAuditType == 6">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div>
|
|
<div>
|
|
<div v-if="user.userNameNeedTranslate == 1">
|
|
<div v-if="user.userNameNeedTranslate == 1">
|
|
@@ -230,8 +230,8 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column v-if="user.companyId==4374" :label="'员工类型'" width="100">
|
|
|
|
- <template slot-scope="scope">{{findValue('员工类型',scope.row.plateMap)}}</template>
|
|
|
|
|
|
+ <el-table-column v-if="user.companyId==4374" :label="$t('yuanGongLeiXing')" width="100">
|
|
|
|
+ <template slot-scope="scope">{{findValue($t('yuanGongLeiXing'),scope.row.plateMap)}}</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column :label="$t('jiao-se')" width="100">
|
|
<el-table-column :label="$t('jiao-se')" width="100">
|
|
<template slot-scope="scope">{{scope.row.roleName}}</template>
|
|
<template slot-scope="scope">{{scope.row.roleName}}</template>
|
|
@@ -255,14 +255,14 @@
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-button size="mini" type="default" v-if="scope.row.roleName == $t('role.superAdministrator') && user.id == scope.row.id" @click="transferRole(scope.row)">{{ $t('transfer') }}</el-button>
|
|
<el-button size="mini" type="default" v-if="scope.row.roleName == $t('role.superAdministrator') && user.id == scope.row.id" @click="transferRole(scope.row)">{{ $t('transfer') }}</el-button>
|
|
<el-button size="mini" type="default" v-if="scope.row.roleName != $t('role.superAdministrator') && user.userNameNeedTranslate != 1" @click="resetPwd(scope.row)">{{ $t('reset') }}</el-button>
|
|
<el-button size="mini" type="default" v-if="scope.row.roleName != $t('role.superAdministrator') && user.userNameNeedTranslate != 1" @click="resetPwd(scope.row)">{{ $t('reset') }}</el-button>
|
|
- <el-button size="mini" type="default" v-if="(user.roleName == '超级管理员' || user.roleName == '系统管理员') && user.companyId == 936" @click="resetPwd(scope.row)">{{ $t('reset') }}</el-button>
|
|
|
|
|
|
+ <el-button size="mini" type="default" v-if="(user.roleName == $t('role.superAdministrator') || user.roleName == $t('role.systemAdministrator')) && user.companyId == 936" @click="resetPwd(scope.row)">{{ $t('reset') }}</el-button>
|
|
<!-- <el-button size="mini" type="primary" v-if="scope.row.roleName != $t('role.superAdministrator')" @click="openInsertDialog(scope.row)">{{ $t('bian-ji') }}</el-button> -->
|
|
<!-- <el-button size="mini" type="primary" v-if="scope.row.roleName != $t('role.superAdministrator')" @click="openInsertDialog(scope.row)">{{ $t('bian-ji') }}</el-button> -->
|
|
<el-button size="mini" type="primary" @click="openInsertDialog(scope.row, scope.row.roleName)">{{ $t('bian-ji') }}</el-button>
|
|
<el-button size="mini" type="primary" @click="openInsertDialog(scope.row, scope.row.roleName)">{{ $t('bian-ji') }}</el-button>
|
|
<!-- <el-button size="mini" type="primary" v-if="scope.row.roleName == $t('role.superAdministrator')" @click="openInsertDialog1(scope.row)">{{ $t('bian-ji') }}</el-button> -->
|
|
<!-- <el-button size="mini" type="primary" v-if="scope.row.roleName == $t('role.superAdministrator')" @click="openInsertDialog1(scope.row)">{{ $t('bian-ji') }}</el-button> -->
|
|
<!-- <el-button size="mini" type="danger" v-if="scope.row.roleName != $t('role.superAdministrator')" @click="deleteUser(scope.row)">删除</el-button> -->
|
|
<!-- <el-button size="mini" type="danger" v-if="scope.row.roleName != $t('role.superAdministrator')" @click="deleteUser(scope.row)">删除</el-button> -->
|
|
<el-button size="mini" type="default" v-if="scope.row.roleName != $t('role.superAdministrator') && scope.row.isActive==1" @click="showDeactiveDialog(scope.row)">{{ $t('ting-yong') }}</el-button>
|
|
<el-button size="mini" type="default" v-if="scope.row.roleName != $t('role.superAdministrator') && scope.row.isActive==1" @click="showDeactiveDialog(scope.row)">{{ $t('ting-yong') }}</el-button>
|
|
<el-button size="mini" type="success" v-if="scope.row.roleName != $t('role.superAdministrator') && scope.row.isActive==0" @click="setActive(scope.row, 1)">{{ $t('enable') }}</el-button>
|
|
<el-button size="mini" type="success" v-if="scope.row.roleName != $t('role.superAdministrator') && scope.row.isActive==0" @click="setActive(scope.row, 1)">{{ $t('enable') }}</el-button>
|
|
- <el-button size="mini" type="default" v-if="scope.row.roleName != $t('role.superAdministrator') && scope.row.activeInfoByUser == 1" @click="transferActiveDialog(scope.row)">转让</el-button>
|
|
|
|
|
|
+ <el-button size="mini" type="default" v-if="scope.row.roleName != $t('role.superAdministrator') && scope.row.activeInfoByUser == 1" @click="transferActiveDialog(scope.row)">{{ $t('transfer') }}</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -277,8 +277,8 @@
|
|
|
|
|
|
<el-button size="small" type="primary" @click="handleSelectionZzjgbtn3" v-if="user.userNameNeedTranslate != 1">{{ $t('modifyingDepartments') }}</el-button>
|
|
<el-button size="small" type="primary" @click="handleSelectionZzjgbtn3" v-if="user.userNameNeedTranslate != 1">{{ $t('modifyingDepartments') }}</el-button>
|
|
<el-button size="small" type="primary" @click="handJue">{{ $t('modifyingRoles') }}</el-button>
|
|
<el-button size="small" type="primary" @click="handJue">{{ $t('modifyingRoles') }}</el-button>
|
|
- <el-button size="small" type="primary" @click="workingHoursDialogClick()">修正工时所属部门</el-button>
|
|
|
|
- <el-button size="small" type="primary" @click="handleSelectionUser()">批量启用员工</el-button>
|
|
|
|
|
|
+ <el-button size="small" type="primary" @click="workingHoursDialogClick()">{{ $t('xiuZhengGongShiSuoShuBuMen') }}</el-button>
|
|
|
|
+ <el-button size="small" type="primary" @click="handleSelectionUser()">{{ $t('piLiangQiYongYuanGong') }}</el-button>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -297,20 +297,20 @@
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- 修正工时所属部门 -->
|
|
<!-- 修正工时所属部门 -->
|
|
- <el-dialog title="修正工时" :visible.sync="workingHoursDialog" width="650px" :before-close="handleClose">
|
|
|
|
|
|
+ <el-dialog :title="$t('xiuZhengGongShi')" :visible.sync="workingHoursDialog" width="650px" :before-close="handleClose">
|
|
<div>
|
|
<div>
|
|
<div class="workingHours">
|
|
<div class="workingHours">
|
|
- <el-radio v-model="workingHoursRadio" label="1">全部工时</el-radio>
|
|
|
|
- <el-radio v-model="workingHoursRadio" label="2">部分工时</el-radio>
|
|
|
|
|
|
+ <el-radio v-model="workingHoursRadio" label="1">{{ $t('quanBuGongShi') }}</el-radio>
|
|
|
|
+ <el-radio v-model="workingHoursRadio" label="2">{{ $t('buFenGongShi') }}</el-radio>
|
|
</div>
|
|
</div>
|
|
<div class="workingHours workingHoursData" v-if="workingHoursRadio == 2">
|
|
<div class="workingHours workingHoursData" v-if="workingHoursRadio == 2">
|
|
- <span class="workingHoursSpan">日期范围</span>
|
|
|
|
- <el-date-picker v-model="workingHoursDatas" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
|
|
|
|
|
|
+ <span class="workingHoursSpan">{{ $t('time.dateRange') }}</span>
|
|
|
|
+ <el-date-picker v-model="workingHoursDatas" type="daterange" value-format="yyyy-MM-dd" :range-separator="$t('other.to')" :start-placeholder="$t('time.startDate')" :end-placeholder="$t('time.endDate')"></el-date-picker>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
- <el-button @click="workingHoursDialog = false">取 消</el-button>
|
|
|
|
- <el-button type="primary" @click="workingHours()">确 定</el-button>
|
|
|
|
|
|
+ <el-button @click="workingHoursDialog = false">{{ $t('quXiao') }}</el-button>
|
|
|
|
+ <el-button type="primary" @click="workingHours()">{{ $t('queDing') }}</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
@@ -385,10 +385,10 @@
|
|
<selectCat :size="'medium'" :widthStr="'360'" v-if="user.userNameNeedTranslate == '1'" :subject="users" :subjectId="depForm.reportAuditUserid" :distinction="'5'" @selectCal="selectCal"></selectCat>
|
|
<selectCat :size="'medium'" :widthStr="'360'" v-if="user.userNameNeedTranslate == '1'" :subject="users" :subjectId="depForm.reportAuditUserid" :distinction="'5'" @selectCal="selectCal"></selectCat>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 是否推送到SAP -->
|
|
<!-- 是否推送到SAP -->
|
|
- <el-form-item :label="'推送至SAP'" prop="pushToSap" v-if="user.companyId==3092">
|
|
|
|
|
|
+ <el-form-item :label="$t('tuiSongZhiSap')" prop="pushToSap" v-if="user.companyId==3092">
|
|
<el-radio-group v-model="depForm.pushToSap">
|
|
<el-radio-group v-model="depForm.pushToSap">
|
|
- <el-radio :label="1">是</el-radio>
|
|
|
|
- <el-radio :label="0">否</el-radio>
|
|
|
|
|
|
+ <el-radio :label="1">{{ $t('state.yes') }}</el-radio>
|
|
|
|
+ <el-radio :label="0">{{ $t('state.no') }}</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
@@ -440,25 +440,25 @@
|
|
<vueCascader :size="'medium'" :widthStr="'430'" :clearable="true && user.userNameNeedTranslate != 1" :subject="option" :subjectId="insertForm.departmentId" :radios="true" :distinction="'2'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1" ></vueCascader>
|
|
<vueCascader :size="'medium'" :widthStr="'430'" :clearable="true && user.userNameNeedTranslate != 1" :subject="option" :subjectId="insertForm.departmentId" :radios="true" :distinction="'2'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1" ></vueCascader>
|
|
|
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="可填报部门" prop="reportDeptIds" v-if="user.timeType.userWithMultiDept">
|
|
|
|
|
|
+ <el-form-item :label="$t('keTianBaoBuMen')" prop="reportDeptIds" v-if="user.timeType.userWithMultiDept">
|
|
<template v-if="insertForm.reportDeptIdsList && insertForm.reportDeptIdsList.length > 0">
|
|
<template v-if="insertForm.reportDeptIdsList && insertForm.reportDeptIdsList.length > 0">
|
|
<el-tag v-for="(tag, tagIndex) in insertForm.reportDeptIdsList" :key="tag.id" closable :type="'success'" style="margin-right: 10px;" @close="handleDeptClose(tagIndex)">
|
|
<el-tag v-for="(tag, tagIndex) in insertForm.reportDeptIdsList" :key="tag.id" closable :type="'success'" style="margin-right: 10px;" @close="handleDeptClose(tagIndex)">
|
|
<TranslationOpenDataText type='departmentName' :openid='tag.label'></TranslationOpenDataText>
|
|
<TranslationOpenDataText type='departmentName' :openid='tag.label'></TranslationOpenDataText>
|
|
</el-tag>
|
|
</el-tag>
|
|
</template>
|
|
</template>
|
|
- <el-link type="primary" :underline="false" @click="addFilldDepartment(insertForm.reportDeptIdsList)">添加</el-link>
|
|
|
|
|
|
+ <el-link type="primary" :underline="false" @click="addFilldDepartment(insertForm.reportDeptIdsList)">{{ $t('addTian') }}</el-link>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="审核层级" v-if="user.timeType.reportAuditType == 6">
|
|
|
|
|
|
+ <el-form-item :label="$t('shenHeCengJi')" v-if="user.timeType.reportAuditType == 6">
|
|
<el-radio-group v-model="insertForm.onlyAuditOnce" >
|
|
<el-radio-group v-model="insertForm.onlyAuditOnce" >
|
|
- <el-radio :label="0" >两层审核</el-radio>
|
|
|
|
- <el-radio :label="1">一层审核</el-radio>
|
|
|
|
|
|
+ <el-radio :label="0" >{{ $t('liangCengShenHe') }}</el-radio>
|
|
|
|
+ <el-radio :label="1">{{ $t('yiCengShenHe') }}</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item v-if="user.timeType.reportAuditType == 5 || user.timeType.reportAuditType == 6">
|
|
<el-form-item v-if="user.timeType.reportAuditType == 5 || user.timeType.reportAuditType == 6">
|
|
<span slot="label">
|
|
<span slot="label">
|
|
- <span>直属审核人</span>
|
|
|
|
- <el-tooltip effect="dark" content="未设置时由所属部门负责人审核" placement="top-start">
|
|
|
|
|
|
+ <span>{{ $t('immediatesuperior') }}</span>
|
|
|
|
+ <el-tooltip effect="dark" :content="$t('weiSheZhiShiYouSuoShuBuMenFuZeRenShenHe')" placement="top-start">
|
|
<i class="el-icon-question" style="color:#606266"></i>
|
|
<i class="el-icon-question" style="color:#606266"></i>
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
</span>
|
|
</span>
|
|
@@ -488,7 +488,7 @@
|
|
<el-form-item :label="$t('entrytime')" prop="phone">
|
|
<el-form-item :label="$t('entrytime')" prop="phone">
|
|
<el-date-picker v-model="insertForm.inductionDate" value-format="yyyy-MM-dd"></el-date-picker>
|
|
<el-date-picker v-model="insertForm.inductionDate" value-format="yyyy-MM-dd"></el-date-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="离职日期" prop="inactiveDate" v-if="insertForm.isActive == 0">
|
|
|
|
|
|
+ <el-form-item :label="$t('liZhiRiQi')" prop="inactiveDate" v-if="insertForm.isActive == 0">
|
|
<el-date-picker v-model="insertForm.inactiveDate" value-format="yyyy-MM-dd"></el-date-picker>
|
|
<el-date-picker v-model="insertForm.inactiveDate" value-format="yyyy-MM-dd"></el-date-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item :label="$t('postrank')" prop="phone">
|
|
<el-form-item :label="$t('postrank')" prop="phone">
|
|
@@ -520,12 +520,12 @@
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<!-- 删除员工时转移日报 -->
|
|
<!-- 删除员工时转移日报 -->
|
|
- <el-dialog title="提示" :visible.sync="deleteUserFlg" width="600px" :before-close="handleClose">
|
|
|
|
|
|
+ <el-dialog :title="$t('other.prompts')" :visible.sync="deleteUserFlg" width="600px" :before-close="handleClose">
|
|
<div>
|
|
<div>
|
|
- <div class="deteee">确定删除该员工吗?</div>
|
|
|
|
|
|
+ <div class="deteee">{{ $t('queDingShanChuGaiYuanGongMa') }}</div>
|
|
<div class="deteeeAce" v-if="deleteUserFlgData.isExistsReport">
|
|
<div class="deteeeAce" v-if="deleteUserFlgData.isExistsReport">
|
|
|
|
|
|
- <div style="margin-right: 10px">将该员工的工时数据、参与的项目与任务转移 至</div>
|
|
|
|
|
|
+ <div style="margin-right: 10px">{{ $t('jiangGaiYuanGongDeGongShiShuJuCanYuDeXiangMuYuRenWuZhuanYiZhi') }}</div>
|
|
<el-select v-if="user.userNameNeedTranslate != 1" v-model="moveReportUserId" style="width:140px;" :placeholder="$t('defaultText.pleaseChoose')" clearable size="small" filterable popper-class="managePopperClass">
|
|
<el-select v-if="user.userNameNeedTranslate != 1" v-model="moveReportUserId" style="width:140px;" :placeholder="$t('defaultText.pleaseChoose')" clearable size="small" filterable popper-class="managePopperClass">
|
|
<el-option v-for="item in users" :key="item.id" :label="item.name" :value="item.id">
|
|
<el-option v-for="item in users" :key="item.id" :label="item.name" :value="item.id">
|
|
<span style="float: left">{{ item.name }}</span>
|
|
<span style="float: left">{{ item.name }}</span>
|
|
@@ -538,8 +538,8 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
- <el-button @click="deleteUserFlg = false">取 消</el-button>
|
|
|
|
- <el-button type="primary" @click="deleteUser(deleteUserFlgData)" :loading="deleteUserFlgloading">确 定</el-button>
|
|
|
|
|
|
+ <el-button @click="deleteUserFlg = false">{{ $t('quXiao') }}</el-button>
|
|
|
|
+ <el-button type="primary" @click="deleteUser(deleteUserFlgData)" :loading="deleteUserFlgloading">{{ $t('queDing') }}</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<el-dialog :title="$t('historicalpersonnelcost')" :visible.sync="userSalaryListDialog" width="750px" >
|
|
<el-dialog :title="$t('historicalpersonnelcost')" :visible.sync="userSalaryListDialog" width="750px" >
|
|
@@ -570,7 +570,7 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column >
|
|
<el-table-column >
|
|
<template slot-scope="scope" >
|
|
<template slot-scope="scope" >
|
|
- <el-button size="small" @click="delHisSalary(scope.row.id,scope.row.userId)">删除</el-button>
|
|
|
|
|
|
+ <el-button size="small" @click="delHisSalary(scope.row.id,scope.row.userId)">{{ $t('btn.delete') }}</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -771,11 +771,11 @@
|
|
<el-button type="primary" :underline="false" :loading="importingData" :disabled="!canSync" @click="startCorpWxImport">{{ $t('startsynchronization') }}</el-button>
|
|
<el-button type="primary" :underline="false" :loading="importingData" :disabled="!canSync" @click="startCorpWxImport">{{ $t('startsynchronization') }}</el-button>
|
|
</p>
|
|
</p>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
- <el-dialog title="同步钉钉通讯录" v-if="showSyncDDDialog" :visible.sync="showSyncDDDialog" customClass="customWidth" width="500px">
|
|
|
|
|
|
+ <el-dialog :title="$t('synchronizetheaddressbook')" v-if="showSyncDDDialog" :visible.sync="showSyncDDDialog" customClass="customWidth" width="500px">
|
|
<p>{{ $t('areyousuretosynchronize') }}
|
|
<p>{{ $t('areyousuretosynchronize') }}
|
|
</p>
|
|
</p>
|
|
<p>
|
|
<p>
|
|
- <el-checkbox v-model="isSyncContact" @change="setSyncContactDD()">人员所在部门与钉钉通讯录保持一致</el-checkbox>
|
|
|
|
|
|
+ <el-checkbox v-model="isSyncContact" @change="setSyncContactDD()">{{ $t('renYuanSuoZaiBuMenYuDingDingTongXunLuBaoChiYiZhi') }}</el-checkbox>
|
|
</p>
|
|
</p>
|
|
<p style="display: flex;justify-content: center;padding-bottom:1em;">
|
|
<p style="display: flex;justify-content: center;padding-bottom:1em;">
|
|
<el-button type="primary" :underline="false" :loading="importingData" @click="syncWithCorpDingding">{{ $t('startsynchronization') }}</el-button>
|
|
<el-button type="primary" :underline="false" :loading="importingData" @click="syncWithCorpDingding">{{ $t('startsynchronization') }}</el-button>
|
|
@@ -786,43 +786,43 @@
|
|
{{syncMembByCardTimeMsg}}
|
|
{{syncMembByCardTimeMsg}}
|
|
</p>
|
|
</p>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
- <el-dialog title="同步日志" v-if="recordMsgDialog" :visible.sync="recordMsgDialog" customClass="customWidth" width="500px">
|
|
|
|
|
|
+ <el-dialog :title="$t('tongBuRiZhi')" v-if="recordMsgDialog" :visible.sync="recordMsgDialog" customClass="customWidth" width="500px">
|
|
<el-row style="height:70px;line-height:40px;padding-top:30px;padding-left:20px">
|
|
<el-row style="height:70px;line-height:40px;padding-top:30px;padding-left:20px">
|
|
- <el-col :span="6">操作时间</el-col>
|
|
|
|
|
|
+ <el-col :span="6">{{ $t('caoZuoShiJian') }}</el-col>
|
|
<el-col :span="18">{{recordIndate(recordMsg.indate)}}</el-col>
|
|
<el-col :span="18">{{recordIndate(recordMsg.indate)}}</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row style="height:70px;line-height:40px;padding-bottom:30px;padding-left:20px">
|
|
<el-row style="height:70px;line-height:40px;padding-bottom:30px;padding-left:20px">
|
|
- <el-col :span="6">错误信息</el-col>
|
|
|
|
|
|
+ <el-col :span="6">{{ $t('cuoWuXinXi') }}</el-col>
|
|
<el-col :span="18">{{recordMsg.msg}}</el-col>
|
|
<el-col :span="18">{{recordMsg.msg}}</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<el-dialog :title="$t('synchronizetheenterprisemicrodirectory')" :visible.sync="newSyncWithCorpWxDayload" width="400px" :before-close="handleClose">
|
|
<el-dialog :title="$t('synchronizetheenterprisemicrodirectory')" :visible.sync="newSyncWithCorpWxDayload" width="400px" :before-close="handleClose">
|
|
<span>
|
|
<span>
|
|
- 同步前请联系企业微信管理员检查应用授权的可见范围 <br/>
|
|
|
|
- 路径:管理企业-应用管理-工时管家-可见范围
|
|
|
|
|
|
+ {{ $t('tongBuQianQingLianXiQiYeWeiXinGuanLiYuanJianChaYingYongShouQuanDeKeJianFanWei') }} <br/>
|
|
|
|
+ {{ $t('luJingGuanLiQiYeYingYongGuanLiGongShiGuanJiaKeJianFanWei') }}
|
|
</span>
|
|
</span>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
- <el-button type="primary" @click="visibleRange" v-if="wxManager">可见范围设置</el-button>
|
|
|
|
- <el-button type="primary" @click="newSyncWithCorpWx">开始同步</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="visibleRange" v-if="wxManager">{{ $t('keJianFanWeiSheZhi') }}</el-button>
|
|
|
|
+ <el-button type="primary" @click="newSyncWithCorpWx">{{ $t('startsynchronization') }}</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
<el-dialog
|
|
<el-dialog
|
|
- title="转移到"
|
|
|
|
|
|
+ :title="$t('zhuanYiDao')"
|
|
:visible.sync="transferActiveDialogFlag"
|
|
:visible.sync="transferActiveDialogFlag"
|
|
width="20%">
|
|
width="20%">
|
|
- <span style="margin-left:25px;margin-right:5px;color:#606266;">转移到</span>
|
|
|
|
|
|
+ <span style="margin-left:25px;margin-right:5px;color:#606266;">{{ $t('zhuanYiDao') }}</span>
|
|
<selectCat v-if="user.userNameNeedTranslate == 1" :subject="users" :subjectId="transferActive.takeoverId" :distinction="'23'" :clearable="true" @selectCal="selectCal"></selectCat>
|
|
<selectCat v-if="user.userNameNeedTranslate == 1" :subject="users" :subjectId="transferActive.takeoverId" :distinction="'23'" :clearable="true" @selectCal="selectCal"></selectCat>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
- <el-button @click="transferActiveDialogFlag = false">取 消</el-button>
|
|
|
|
- <el-button type="primary" @click="transferActiveMethod">确 定</el-button>
|
|
|
|
|
|
+ <el-button @click="transferActiveDialogFlag = false">{{ $t('quXiao') }}</el-button>
|
|
|
|
+ <el-button type="primary" @click="transferActiveMethod">{{ $t('queDing') }}</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 多选部门 -->
|
|
<!-- 多选部门 -->
|
|
- <el-dialog :title="'请选择部门'" :top="'10vh'" v-if="specialHolidaysDialog" :visible.sync="specialHolidaysDialog" :close-on-click-modal="false" customClass="customWidth" width="600px">
|
|
|
|
|
|
+ <el-dialog :title="$t('qing-xuan-ze-bu-men')" :top="'10vh'" v-if="specialHolidaysDialog" :visible.sync="specialHolidaysDialog" :close-on-click-modal="false" customClass="customWidth" width="600px">
|
|
<div v-if="user.userNameNeedTranslate == '1'">
|
|
<div v-if="user.userNameNeedTranslate == '1'">
|
|
- <el-input placeholder="请输入名字搜索" v-model.trim="wxFilterText" clearable @keyup.enter.native="echartDepartment()" @clear="getWhiteListAll()" class="input-with-select">
|
|
|
|
|
|
+ <el-input :placeholder="$t('qingShuRuMingZiSouSuo')" v-model.trim="wxFilterText" clearable @keyup.enter.native="echartDepartment()" @clear="getWhiteListAll()" class="input-with-select">
|
|
<el-button slot="append" icon="el-icon-search" @click="echartDepartment()"></el-button>
|
|
<el-button slot="append" icon="el-icon-search" @click="echartDepartment()"></el-button>
|
|
</el-input>
|
|
</el-input>
|
|
</div>
|
|
</div>
|
|
@@ -1193,7 +1193,7 @@ export default {
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
delHisSalary(id, userId) {
|
|
delHisSalary(id, userId) {
|
|
- this.$confirm('是否删除该记录?', this.$t('other.prompts'), {
|
|
|
|
|
|
+ this.$confirm(this.$t('shiFouShanChuGaiJiLu'), this.$t('other.prompts'), {
|
|
confirmButtonText: this.$t('btn.determine'),
|
|
confirmButtonText: this.$t('btn.determine'),
|
|
cancelButtonText: this.$t('btn.cancel'),
|
|
cancelButtonText: this.$t('btn.cancel'),
|
|
type: 'warning'
|
|
type: 'warning'
|
|
@@ -1203,7 +1203,7 @@ export default {
|
|
},res => {
|
|
},res => {
|
|
if(res.code == 'ok'){
|
|
if(res.code == 'ok'){
|
|
this.$message({
|
|
this.$message({
|
|
- message: '操作成功',
|
|
|
|
|
|
+ message: this.$t('operationissuccessful'),
|
|
type: 'success'
|
|
type: 'success'
|
|
})
|
|
})
|
|
this.reqSalaryList(userId);
|
|
this.reqSalaryList(userId);
|
|
@@ -1228,7 +1228,7 @@ export default {
|
|
},
|
|
},
|
|
statesPush(){
|
|
statesPush(){
|
|
if(this.user.corpwxUserid != null && this.user.userNameNeedTranslate == 1){
|
|
if(this.user.corpwxUserid != null && this.user.userNameNeedTranslate == 1){
|
|
- var state = {value: "2",label: "可转让"}
|
|
|
|
|
|
+ var state = {value: "2",label: this.$t('keZhuanRang')}
|
|
this.states.push(state);
|
|
this.states.push(state);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -1241,7 +1241,7 @@ export default {
|
|
transferActiveMethod(){
|
|
transferActiveMethod(){
|
|
if(this.transferActive.takeoverId == null){
|
|
if(this.transferActive.takeoverId == null){
|
|
this.$message({
|
|
this.$message({
|
|
- message: "请选择接收人",
|
|
|
|
|
|
+ message: this.$t('qingXuanZeJieShouRen'),
|
|
type: "error"
|
|
type: "error"
|
|
});
|
|
});
|
|
return;
|
|
return;
|
|
@@ -1481,7 +1481,7 @@ export default {
|
|
newSyncWithCorpWx() {
|
|
newSyncWithCorpWx() {
|
|
const loading = this.$loading({
|
|
const loading = this.$loading({
|
|
lock: true,
|
|
lock: true,
|
|
- text: '同步中',
|
|
|
|
|
|
+ text: this.$t('tongBuZhong'),
|
|
spinner: 'el-icon-loading',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
});
|
|
});
|
|
@@ -1495,7 +1495,7 @@ export default {
|
|
loading.close();
|
|
loading.close();
|
|
if (res.code == "ok") {
|
|
if (res.code == "ok") {
|
|
this.$message({
|
|
this.$message({
|
|
- message: '同步成功',
|
|
|
|
|
|
+ message: this.$t('synchronoussuccess'),
|
|
type: "success",
|
|
type: "success",
|
|
});
|
|
});
|
|
this.getDepartment();
|
|
this.getDepartment();
|
|
@@ -2243,9 +2243,9 @@ export default {
|
|
this.getUser();
|
|
this.getUser();
|
|
} else {
|
|
} else {
|
|
if(this.user.companyId==876||this.user.companyId==877||this.user.companyId==878){
|
|
if(this.user.companyId==876||this.user.companyId==877||this.user.companyId==878){
|
|
- this.$confirm('当前员工有待审核日报,确认停用并驳回日报吗?', '提示', {
|
|
|
|
- confirmButtonText: '确定',
|
|
|
|
- cancelButtonText: '取消',
|
|
|
|
|
|
+ this.$confirm(this.$t('dangQianYuanGongYouDaiShenHeRiBaoQueRenTingYongBingBoHuiRiBaoMa'), this.$t('other.prompts'), {
|
|
|
|
+ confirmButtonText: this.$t('btn.determine'),
|
|
|
|
+ cancelButtonText: this.$t('btn.cancel'),
|
|
type: 'warning'
|
|
type: 'warning'
|
|
}).then(() => {
|
|
}).then(() => {
|
|
this.http.post(
|
|
this.http.post(
|
|
@@ -2275,7 +2275,7 @@ export default {
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
this.$message({
|
|
this.$message({
|
|
type: 'info',
|
|
type: 'info',
|
|
- message: '已取消'
|
|
|
|
|
|
+ message: this.$t('yiQuXiao')
|
|
});
|
|
});
|
|
});
|
|
});
|
|
}else{
|
|
}else{
|
|
@@ -2693,7 +2693,7 @@ export default {
|
|
syncFeishu(){
|
|
syncFeishu(){
|
|
const loading = this.$loading({
|
|
const loading = this.$loading({
|
|
lock: true,
|
|
lock: true,
|
|
- text: '同步中',
|
|
|
|
|
|
+ text: this.$t('tongBuZhong'),
|
|
spinner: 'el-icon-loading',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
});
|
|
});
|
|
@@ -2704,7 +2704,7 @@ export default {
|
|
loading.close()
|
|
loading.close()
|
|
if (res.code == "ok") {
|
|
if (res.code == "ok") {
|
|
this.$message({
|
|
this.$message({
|
|
- message: '同步成功',
|
|
|
|
|
|
+ message: this.$t('synchronoussuccess'),
|
|
type: "success",
|
|
type: "success",
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
@@ -2732,7 +2732,7 @@ export default {
|
|
(res) => {
|
|
(res) => {
|
|
if (res.code == "ok") {
|
|
if (res.code == "ok") {
|
|
this.$message({
|
|
this.$message({
|
|
- message: '同步成功',
|
|
|
|
|
|
+ message: this.$t('synchronoussuccess'),
|
|
type: "success",
|
|
type: "success",
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
@@ -3077,7 +3077,7 @@ export default {
|
|
setActive(item, isActive) {
|
|
setActive(item, isActive) {
|
|
var txt = isActive == 1 ? this.$t('enable') : this.$t('ting-yong');
|
|
var txt = isActive == 1 ? this.$t('enable') : this.$t('ting-yong');
|
|
// this.$confirm(this.$t('sureyouwantto') + txt + " " + item.name + this.$t('ma'), this.$t('zhang-hao') + txt, {
|
|
// this.$confirm(this.$t('sureyouwantto') + txt + " " + item.name + this.$t('ma'), this.$t('zhang-hao') + txt, {
|
|
- this.$confirm(this.$t('sureyouwantto') + txt + '该员工' + this.$t('ma'), this.$t('zhang-hao') + txt, {
|
|
|
|
|
|
+ this.$confirm(this.$t('sureyouwantto') + txt + this.$t('gaiYuanGong') + this.$t('ma'), this.$t('zhang-hao') + txt, {
|
|
confirmButtonText: this.$t('btn.determine'),
|
|
confirmButtonText: this.$t('btn.determine'),
|
|
cancelButtonText: this.$t('btn.cancel'),
|
|
cancelButtonText: this.$t('btn.cancel'),
|
|
type: "warning",
|
|
type: "warning",
|
|
@@ -3357,7 +3357,7 @@ export default {
|
|
// 删除部门
|
|
// 删除部门
|
|
deleteDep() {
|
|
deleteDep() {
|
|
var that = this;
|
|
var that = this;
|
|
- var txtMsg = this.user.userNameNeedTranslate == '1'?'确定要删除该部门吗?':this.$t('deletethedepartment') + that.depData.label + this.$t('ma')
|
|
|
|
|
|
+ var txtMsg = this.user.userNameNeedTranslate == '1'?this.$t('queDingYaoShanChuGaiBuMenMa'):this.$t('deletethedepartment') + that.depData.label + this.$t('ma')
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
that
|
|
that
|
|
.$confirm(txtMsg, this.$t('deletethedepartmentdsa'), {
|
|
.$confirm(txtMsg, this.$t('deletethedepartmentdsa'), {
|
|
@@ -3777,19 +3777,19 @@ export default {
|
|
}
|
|
}
|
|
if(res.err_msg == "openAppManage:fail:no permission") {
|
|
if(res.err_msg == "openAppManage:fail:no permission") {
|
|
// 调用人身份不符合
|
|
// 调用人身份不符合
|
|
- this.$message({message: '调用人身份不符合',type: "error"});
|
|
|
|
|
|
+ this.$message({message: this.$t('tiaoYongRenShenFenBuFuHe'),type: "error"});
|
|
}
|
|
}
|
|
if(res.err_msg == "openAppManage:fail:unknown app") {
|
|
if(res.err_msg == "openAppManage:fail:unknown app") {
|
|
// 应用信息获取失败
|
|
// 应用信息获取失败
|
|
- this.$message({message: '应用信息获取失败',type: "error"});
|
|
|
|
|
|
+ this.$message({message: this.$t('yingYongXinXiHuoQuShiBai'),type: "error"});
|
|
}
|
|
}
|
|
if(res.err_msg == "openAppManage:fail:unsupported app type") {
|
|
if(res.err_msg == "openAppManage:fail:unsupported app type") {
|
|
// 应用类型不符合要求
|
|
// 应用类型不符合要求
|
|
- this.$message({message: '应用类型不符合要求',type: "error"});
|
|
|
|
|
|
+ this.$message({message: this.$t('yingYongLeiXingBuFuHeYaoQiu'),type: "error"});
|
|
}
|
|
}
|
|
if(res.err_msg == "openAppManage:fail") {
|
|
if(res.err_msg == "openAppManage:fail") {
|
|
// 其它错误
|
|
// 其它错误
|
|
- this.$message({message: '其它错误',type: "error"});
|
|
|
|
|
|
+ this.$message({message: this.$t('qiTaCuoWu'),type: "error"});
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -3814,7 +3814,7 @@ export default {
|
|
if (res.code == "ok") {
|
|
if (res.code == "ok") {
|
|
this.getUser();
|
|
this.getUser();
|
|
this.workingHoursDialog = false
|
|
this.workingHoursDialog = false
|
|
- this.$message({message: '操作成功:'+res.data,type: "success"});
|
|
|
|
|
|
+ this.$message({message: this.$t('caoZuoChengGong')+res.data,type: "success"});
|
|
} else {
|
|
} else {
|
|
this.$message({message: res.msg,type: "error"});
|
|
this.$message({message: res.msg,type: "error"});
|
|
}
|
|
}
|