Lijy 10 месяцев назад
Родитель
Сommit
418a32ff27

+ 37 - 1
fhKeeper/formulahousekeeper/timesheet/src/i18n/en.json

@@ -1965,5 +1965,41 @@
   "qingXuanZeZeRenRen": "Please select the responsible person",
   "xinJianRenWu": "New Task",
   "xuanZeRiQiShiJian": "Select date and time",
-  "zhongQiRenWu": "Restart task"
+  "zhongQiRenWu": "Restart task",
+  "buFenGongShi": "Partial working hours",
+  "caoZuoChengGong": "Operation successful:",
+  "caoZuoShiJian": "Operation time",
+  "cuoWuXinXi": "error message",
+  "dangQianYuanGongYouDaiShenHeRiBaoQueRenTingYongBingBoHuiRiBaoMa": "Is the current employee awaiting review of the daily report, confirming its discontinuation and rejecting it?",
+  "gaiYuanGong": "The employee",
+  "jiangGaiYuanGongDeGongShiShuJuCanYuDeXiangMuYuRenWuZhuanYiZhi": "Transfer the employee's working hours data, projects and tasks they have participated in to",
+  "keJianFanWeiSheZhi": "Visible range setting",
+  "keTianBaoBuMen": "Department that can be filled in",
+  "keZhuanRang": "Transferable",
+  "liZhiRiQi": "Resignation date",
+  "liangCengShenHe": "Two level review",
+  "luJingGuanLiQiYeYingYongGuanLiGongShiGuanJiaKeJianFanWei": "Path: Manage Enterprise - Application Management - Hour Manager - Visible Range",
+  "piLiangQiYongYuanGong": "Batch enable employees",
+  "qiTaCuoWu": "Other errors",
+  "qingXuanZeJieShouRen": "Please select recipient",
+  "quanBuGongShi": "All working hours",
+  "queDingShanChuGaiYuanGongMa": "Are you sure to delete this employee?",
+  "queDingYaoShanChuGaiBuMenMa": "Are you sure you want to delete this department?",
+  "renYuanSuoZaiBuMenYuDingDingTongXunLuBaoChiYiZhi": "The department where the personnel are located should be consistent with the DingTalk contact list",
+  "shenHeCengJi": "Review hierarchy",
+  "shiFouShanChuGaiJiLu": "Do you want to delete this record?",
+  "tiaoYongRenShenFenBuFuHe": "The caller's identity does not match",
+  "tiaoZhengBuMen": "Adjusting departments",
+  "tongBuQianQingLianXiQiYeWeiXinGuanLiYuanJianChaYingYongShouQuanDeKeJianFanWei": "Please contact the enterprise WeChat administrator to check the visible range of application authorization before synchronization",
+  "tongBuRiZhi": "Synchronize logs",
+  "tongBuZhong": "Synchronizing",
+  "tuiSongZhiSap": "Push to SAP",
+  "weiSheZhiShiYouSuoShuBuMenFuZeRenShenHe": "When not set, it shall be reviewed by the department head",
+  "xiuZhengGongShi": "Correction of working hours",
+  "xiuZhengGongShiSuoShuBuMen": "Revise the department to which the working hours belong",
+  "yiCengShenHe": "First level review",
+  "yiQuXiao": "Canceled",
+  "yingYongLeiXingBuFuHeYaoQiu": "The application type does not meet the requirements",
+  "yingYongXinXiHuoQuShiBai": "Application information retrieval failed",
+  "zhuanYiDao": "Transfer to"
 }

+ 37 - 1
fhKeeper/formulahousekeeper/timesheet/src/i18n/zh.json

@@ -1965,5 +1965,41 @@
   "xuanZeRiQiShiJian": "选择日期时间",
   "huiYiJieShuShiJian": "会议结束时间",
   "chengGongFaQiHuiYi": "成功发起会议",
-  "daiBanRenWuDaoChuXlsx": "待办任务导出.xlsx"
+  "daiBanRenWuDaoChuXlsx": "待办任务导出.xlsx",
+  "tiaoZhengBuMen": "调整部门",
+  "xiuZhengGongShiSuoShuBuMen": "修正工时所属部门",
+  "piLiangQiYongYuanGong": "批量启用员工",
+  "xiuZhengGongShi": "修正工时",
+  "quanBuGongShi": "全部工时",
+  "buFenGongShi": "部分工时",
+  "tuiSongZhiSap": "推送至SAP",
+  "keTianBaoBuMen": "可填报部门",
+  "shenHeCengJi": "审核层级",
+  "liangCengShenHe": "两层审核",
+  "yiCengShenHe": "一层审核",
+  "weiSheZhiShiYouSuoShuBuMenFuZeRenShenHe": "未设置时由所属部门负责人审核",
+  "liZhiRiQi": "离职日期",
+  "queDingShanChuGaiYuanGongMa": "确定删除该员工吗?",
+  "jiangGaiYuanGongDeGongShiShuJuCanYuDeXiangMuYuRenWuZhuanYiZhi": "将该员工的工时数据、参与的项目与任务转移 至",
+  "renYuanSuoZaiBuMenYuDingDingTongXunLuBaoChiYiZhi": "人员所在部门与钉钉通讯录保持一致",
+  "tongBuRiZhi": "同步日志",
+  "caoZuoShiJian": "操作时间",
+  "cuoWuXinXi": "错误信息",
+  "tongBuQianQingLianXiQiYeWeiXinGuanLiYuanJianChaYingYongShouQuanDeKeJianFanWei": "同步前请联系企业微信管理员检查应用授权的可见范围",
+  "luJingGuanLiQiYeYingYongGuanLiGongShiGuanJiaKeJianFanWei": "路径:管理企业-应用管理-工时管家-可见范围",
+  "keJianFanWeiSheZhi": "可见范围设置",
+  "zhuanYiDao": "转移到",
+  "shiFouShanChuGaiJiLu": "是否删除该记录?",
+  "keZhuanRang": "可转让",
+  "qingXuanZeJieShouRen": "请选择接收人",
+  "tongBuZhong": "同步中",
+  "dangQianYuanGongYouDaiShenHeRiBaoQueRenTingYongBingBoHuiRiBaoMa": "当前员工有待审核日报,确认停用并驳回日报吗?",
+  "yiQuXiao": "已取消",
+  "gaiYuanGong": "该员工",
+  "queDingYaoShanChuGaiBuMenMa": "确定要删除该部门吗?",
+  "tiaoYongRenShenFenBuFuHe": "调用人身份不符合",
+  "yingYongXinXiHuoQuShiBai": "应用信息获取失败",
+  "yingYongLeiXingBuFuHeYaoQiu": "应用类型不符合要求",
+  "qiTaCuoWu": "其它错误",
+  "caoZuoChengGong": "操作成功:"
 }

+ 73 - 73
fhKeeper/formulahousekeeper/timesheet/src/views/team/index.vue

@@ -11,9 +11,9 @@
                   </div>
             </div> 
             <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>
             <el-divider style="margin: 0px 0px !important;height:0.5px;"></el-divider>
             <div class="tree" :style="'height:'+ (tableHeight + 83) + 'px'">
@@ -169,11 +169,11 @@
                     </el-form-item>
                     <el-form-item style="float:right;">
                         <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-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-button slot="append" @click="searchList" icon="el-icon-search"></el-button>
                             </el-input>
@@ -220,7 +220,7 @@
                     </div>
                   </template>
                 </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">
                     <div>
                       <div v-if="user.userNameNeedTranslate == 1">
@@ -230,8 +230,8 @@
                     </div>
                   </template>
                 </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 :label="$t('jiao-se')" width="100">
                     <template slot-scope="scope">{{scope.row.roleName}}</template>
@@ -255,14 +255,14 @@
                     <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.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" @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="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="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>
                 </el-table-column>
             </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="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>
 
       <!-- 修正工时所属部门 -->
-      <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 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 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>
         <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>
       </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>
                 </el-form-item>
                 <!-- 是否推送到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 :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-form-item>
             </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>
 
                   </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"> 
                       <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>
                       </el-tag>
                     </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 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  :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-form-item>
                   <el-form-item v-if="user.timeType.reportAuditType == 5 || user.timeType.reportAuditType == 6">
                       <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>
                         </el-tooltip>
                       </span>
@@ -488,7 +488,7 @@
                   <el-form-item :label="$t('entrytime')" prop="phone">
                       <el-date-picker v-model="insertForm.inductionDate" value-format="yyyy-MM-dd"></el-date-picker>
                   </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-form-item>
                   <el-form-item :label="$t('postrank')" prop="phone">
@@ -520,12 +520,12 @@
             </span>
         </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 class="deteee">确定删除该员工吗?</div>
+          <div class="deteee">{{ $t('queDingShanChuGaiYuanGongMa') }}</div>
           <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-option v-for="item in users" :key="item.id" :label="item.name" :value="item.id">
                     <span style="float: left">{{ item.name }}</span>
@@ -538,8 +538,8 @@
           </div>
         </div>
         <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>
       </el-dialog>
         <el-dialog :title="$t('historicalpersonnelcost')" :visible.sync="userSalaryListDialog" width="750px" >
@@ -570,7 +570,7 @@
                 </el-table-column>
                 <el-table-column  >
                     <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>
                 </el-table-column>
             </el-table>
@@ -771,11 +771,11 @@
                 <el-button type="primary" :underline="false" :loading="importingData" :disabled="!canSync" @click="startCorpWxImport">{{ $t('startsynchronization') }}</el-button>
             </p>
         </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>
             <p>
-              <el-checkbox v-model="isSyncContact" @change="setSyncContactDD()">人员所在部门与钉钉通讯录保持一致</el-checkbox>
+              <el-checkbox v-model="isSyncContact" @change="setSyncContactDD()">{{ $t('renYuanSuoZaiBuMenYuDingDingTongXunLuBaoChiYiZhi') }}</el-checkbox>
             </p>
             <p style="display: flex;justify-content: center;padding-bottom:1em;">
                 <el-button type="primary" :underline="false" :loading="importingData"  @click="syncWithCorpDingding">{{ $t('startsynchronization') }}</el-button>
@@ -786,43 +786,43 @@
             {{syncMembByCardTimeMsg}}
             </p>
         </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-col :span="6">操作时间</el-col>
+              <el-col :span="6">{{ $t('caoZuoShiJian') }}</el-col>
               <el-col :span="18">{{recordIndate(recordMsg.indate)}}</el-col>
             </el-row>
             <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-row>
         </el-dialog>
         <el-dialog :title="$t('synchronizetheenterprisemicrodirectory')" :visible.sync="newSyncWithCorpWxDayload" width="400px" :before-close="handleClose">
         <span>
-          同步前请联系企业微信管理员检查应用授权的可见范围 <br/>
-          路径:管理企业-应用管理-工时管家-可见范围
+          {{ $t('tongBuQianQingLianXiQiYeWeiXinGuanLiYuanJianChaYingYongShouQuanDeKeJianFanWei') }} <br/>
+          {{ $t('luJingGuanLiQiYeYingYongGuanLiGongShiGuanJiaKeJianFanWei') }} 
         </span>
         <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>
       </el-dialog>
 
       <el-dialog
-        title="转移到"
+        :title="$t('zhuanYiDao')"
         :visible.sync="transferActiveDialogFlag"
         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>            
         <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>
       </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'">
-                <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-input>
             </div>
@@ -1193,7 +1193,7 @@ export default {
   },
   methods: {
     delHisSalary(id, userId) {
-      this.$confirm('是否删除该记录?', this.$t('other.prompts'), {
+      this.$confirm(this.$t('shiFouShanChuGaiJiLu'), this.$t('other.prompts'), {
             confirmButtonText: this.$t('btn.determine'),
             cancelButtonText: this.$t('btn.cancel'),
             type: 'warning'
@@ -1203,7 +1203,7 @@ export default {
             },res => {
                 if(res.code == 'ok'){
                     this.$message({
-                        message: '操作成功',
+                        message: this.$t('operationissuccessful'),
                         type: 'success'
                     })
                     this.reqSalaryList(userId);
@@ -1228,7 +1228,7 @@ export default {
     },
     statesPush(){
       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);
       } 
     },
@@ -1241,7 +1241,7 @@ export default {
     transferActiveMethod(){
       if(this.transferActive.takeoverId == null){
         this.$message({
-                  message: "请选择接收人",
+                  message: this.$t('qingXuanZeJieShouRen'),
                   type: "error"
               });
         return;
@@ -1481,7 +1481,7 @@ export default {
     newSyncWithCorpWx() {
       const loading = this.$loading({
           lock: true,
-          text: '同步中',
+          text: this.$t('tongBuZhong'),
           spinner: 'el-icon-loading',
           background: 'rgba(0, 0, 0, 0.7)'
         });
@@ -1495,7 +1495,7 @@ export default {
           loading.close();
           if (res.code == "ok") {
             this.$message({
-              message: '同步成功',
+              message: this.$t('synchronoussuccess'),
               type: "success",
             });
             this.getDepartment();
@@ -2243,9 +2243,9 @@ export default {
             this.getUser();
           } else {
             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'
                 }).then(() => {
                   this.http.post(
@@ -2275,7 +2275,7 @@ export default {
                 }).catch(() => {
                   this.$message({
                     type: 'info',
-                    message: '已取消'
+                    message: this.$t('yiQuXiao')
                   });          
               });
             }else{
@@ -2693,7 +2693,7 @@ export default {
     syncFeishu(){
       const loading = this.$loading({
           lock: true,
-          text: '同步中',
+          text: this.$t('tongBuZhong'),
           spinner: 'el-icon-loading',
           background: 'rgba(0, 0, 0, 0.7)'
         });
@@ -2704,7 +2704,7 @@ export default {
               loading.close()
               if (res.code == "ok") {
                 this.$message({
-                  message: '同步成功',
+                  message: this.$t('synchronoussuccess'),
                   type: "success",
                 });
               } else {
@@ -2732,7 +2732,7 @@ export default {
             (res) => {
               if (res.code == "ok") {
                 this.$message({
-                  message: '同步成功',
+                  message: this.$t('synchronoussuccess'),
                   type: "success",
                 });
               } else {
@@ -3077,7 +3077,7 @@ export default {
     setActive(item, isActive) {
       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 + '该员工' + 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'),
         cancelButtonText: this.$t('btn.cancel'),
         type: "warning",
@@ -3357,7 +3357,7 @@ export default {
     // 删除部门
     deleteDep() {
       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(() => {
         that
           .$confirm(txtMsg, this.$t('deletethedepartmentdsa'), {
@@ -3777,19 +3777,19 @@ export default {
           }
           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") {
               // 应用信息获取失败
-              this.$message({message: '应用信息获取失败',type: "error"});
+              this.$message({message: this.$t('yingYongXinXiHuoQuShiBai'),type: "error"});
           }
           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") {
               // 其它错误                  
-              this.$message({message: '其它错误',type: "error"});
+              this.$message({message: this.$t('qiTaCuoWu'),type: "error"});
           }      
        })
     },
@@ -3814,7 +3814,7 @@ export default {
         if (res.code == "ok") {
           this.getUser();
           this.workingHoursDialog = false
-          this.$message({message: '操作成功:'+res.data,type: "success"});
+          this.$message({message: this.$t('caoZuoChengGong')+res.data,type: "success"});
         } else {
             this.$message({message: res.msg,type: "error"});
         }