|
@@ -1,7 +1,7 @@
|
|
<template>
|
|
<template>
|
|
<section id="section">
|
|
<section id="section">
|
|
<div class="sidebars" ref="sidebars" :style="'width: 180px;display: block;overflow:hidden;background: #fff;height:'+hubs+ 'px'">
|
|
<div class="sidebars" ref="sidebars" :style="'width: 180px;display: block;overflow:hidden;background: #fff;height:'+hubs+ 'px'">
|
|
- <h3><i class="iconfont firerock-iconbaoxiao" style="padding-right: 10px"></i>请假管理</h3>
|
|
|
|
|
|
+ <h3><i class="iconfont firerock-iconbaoxiao" style="padding-right: 10px"></i>{{ $t('navigation.askForLeaveManagement') }}</h3>
|
|
<el-divider ></el-divider>
|
|
<el-divider ></el-divider>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-menu :default-active="isDingding ? '7' : '1'" class="el-menu-vertical-demo" @select="staffs" background-color="#ffffff" text-color="#666666" active-text-color="#20A0FF" style="width:100%">
|
|
<el-menu :default-active="isDingding ? '7' : '1'" class="el-menu-vertical-demo" @select="staffs" background-color="#ffffff" text-color="#666666" active-text-color="#20A0FF" style="width:100%">
|
|
@@ -18,38 +18,38 @@
|
|
<template v-if="!isDingding">
|
|
<template v-if="!isDingding">
|
|
<el-menu-item index="1" v-if="permissions.leaveFil">
|
|
<el-menu-item index="1" v-if="permissions.leaveFil">
|
|
<i class="iconfont firerock-icontianbao"></i>
|
|
<i class="iconfont firerock-icontianbao"></i>
|
|
- <span slot="title">员工请假填报</span>
|
|
|
|
|
|
+ <span slot="title">{{ $t('staffleavetofillin') }}</span>
|
|
</el-menu-item>
|
|
</el-menu-item>
|
|
<el-submenu index="2" v-if="permissions.leaveAll">
|
|
<el-submenu index="2" v-if="permissions.leaveAll">
|
|
<template slot="title">
|
|
<template slot="title">
|
|
<i class="iconfont firerock-iconbaoxiaodan"></i>
|
|
<i class="iconfont firerock-iconbaoxiaodan"></i>
|
|
- <span>{{"请假单列表"}}</span>
|
|
|
|
|
|
+ <span>{{ $t('singlelistofleave') }}</span>
|
|
</template>
|
|
</template>
|
|
- <el-menu-item index="2-1" ><p @click="bills(false, 2)" v-if="permissions.leaveAll">全部</p></el-menu-item>
|
|
|
|
- <el-menu-item index="2-2" ><p @click="bills(true, 1)" v-if="permissions.leaveAudit">待审核</p></el-menu-item>
|
|
|
|
|
|
+ <el-menu-item index="2-1" ><p @click="bills(false, 2)" v-if="permissions.leaveAll">{{ $t('all') }}</p></el-menu-item>
|
|
|
|
+ <el-menu-item index="2-2" ><p @click="bills(true, 1)" v-if="permissions.leaveAudit">{{ $t('state.WaitingAudit') }}</p></el-menu-item>
|
|
</el-submenu>
|
|
</el-submenu>
|
|
<el-menu-item index="3" @select="bills" @click="bills(false, 2)" v-if="!permissions.leaveAll">
|
|
<el-menu-item index="3" @select="bills" @click="bills(false, 2)" v-if="!permissions.leaveAll">
|
|
<i class="iconfont firerock-iconbaoxiaodan"></i>
|
|
<i class="iconfont firerock-iconbaoxiaodan"></i>
|
|
- <span slot="title">我的请假单</span>
|
|
|
|
|
|
+ <span slot="title">{{ $t('myleaveform') }}</span>
|
|
</el-menu-item>
|
|
</el-menu-item>
|
|
<el-menu-item index="4" v-if="permissions.leaveStatistical">
|
|
<el-menu-item index="4" v-if="permissions.leaveStatistical">
|
|
<template slot="title">
|
|
<template slot="title">
|
|
<i class="iconfont firerock-icontianbao"></i>
|
|
<i class="iconfont firerock-icontianbao"></i>
|
|
- <span slot="title">请假统计</span>
|
|
|
|
|
|
+ <span slot="title">{{ $t('for') }}</span>
|
|
</template>
|
|
</template>
|
|
</el-menu-item>
|
|
</el-menu-item>
|
|
|
|
|
|
<el-menu-item index="5" v-if="permissions.leaveProcess">
|
|
<el-menu-item index="5" v-if="permissions.leaveProcess">
|
|
<template slot="title">
|
|
<template slot="title">
|
|
<i class="iconfont firerock-iconliucheng"></i>
|
|
<i class="iconfont firerock-iconliucheng"></i>
|
|
- <span slot="title">请假审批流程</span>
|
|
|
|
|
|
+ <span slot="title">{{ $t('leaveApprovalProcess') }}</span>
|
|
</template>
|
|
</template>
|
|
</el-menu-item>
|
|
</el-menu-item>
|
|
|
|
|
|
<el-menu-item index="6" v-if="permissions.leaveAnnual">
|
|
<el-menu-item index="6" v-if="permissions.leaveAnnual">
|
|
<template slot="title">
|
|
<template slot="title">
|
|
<i class="iconfont firerock-icontianbao"></i>
|
|
<i class="iconfont firerock-icontianbao"></i>
|
|
- <span slot="title">年假管理</span>
|
|
|
|
|
|
+ <span slot="title">{{ $t('annualleavemanagement') }}</span>
|
|
</template>
|
|
</template>
|
|
</el-menu-item>
|
|
</el-menu-item>
|
|
</template>
|
|
</template>
|
|
@@ -59,13 +59,13 @@
|
|
<el-menu-item index="7">
|
|
<el-menu-item index="7">
|
|
<template slot="title">
|
|
<template slot="title">
|
|
<i class="iconfont firerock-iconbaoxiaodan"></i>
|
|
<i class="iconfont firerock-iconbaoxiaodan"></i>
|
|
- <span slot="title">请假单列表</span>
|
|
|
|
|
|
+ <span slot="title">{{ $t('singlelistofleave') }}</span>
|
|
</template>
|
|
</template>
|
|
</el-menu-item>
|
|
</el-menu-item>
|
|
<el-menu-item index="8">
|
|
<el-menu-item index="8">
|
|
<template slot="title">
|
|
<template slot="title">
|
|
<i class="iconfont firerock-iconbaoxiaodan"></i>
|
|
<i class="iconfont firerock-iconbaoxiaodan"></i>
|
|
- <span slot="title">假期剩余表</span>
|
|
|
|
|
|
+ <span slot="title">{{ $t('scheduleofremainingLeave') }}</span>
|
|
</template>
|
|
</template>
|
|
</el-menu-item>
|
|
</el-menu-item>
|
|
</template>
|
|
</template>
|
|
@@ -81,7 +81,7 @@
|
|
<!-- 内容主体区域 -->
|
|
<!-- 内容主体区域 -->
|
|
<div class="contents">
|
|
<div class="contents">
|
|
<div v-if="!displayTable && !isDingding" class="headine" ref="headine">
|
|
<div v-if="!displayTable && !isDingding" class="headine" ref="headine">
|
|
- <h3 ref="headHe" style="padding-left: 220px">请假填报</h3>
|
|
|
|
|
|
+ <h3 ref="headHe" style="padding-left: 220px">{{ $t('aketimeoffto') }}</h3>
|
|
<!-- <p style="float: right;margin-right: 25px;"><el-button type="primary" @click="submits('addFormRules')" size="mini">提交</el-button></p> -->
|
|
<!-- <p style="float: right;margin-right: 25px;"><el-button type="primary" @click="submits('addFormRules')" size="mini">提交</el-button></p> -->
|
|
</div>
|
|
</div>
|
|
<!-- 上面部分 -->
|
|
<!-- 上面部分 -->
|
|
@@ -91,41 +91,41 @@
|
|
<!-- 表单 -->
|
|
<!-- 表单 -->
|
|
<el-form ref="addForm" :model="addForm" label-width="80px" :rules="addFormRules">
|
|
<el-form ref="addForm" :model="addForm" label-width="80px" :rules="addFormRules">
|
|
<!-- 请假类型 -->
|
|
<!-- 请假类型 -->
|
|
- <el-form-item label="请假类型" prop="leaveType" style="width: 100%">
|
|
|
|
|
|
+ <el-form-item :label="$t('leavetype')" prop="leaveType" style="width: 100%">
|
|
<!--普通员工只能自己填报自己的 -->
|
|
<!--普通员工只能自己填报自己的 -->
|
|
- <el-select v-model="addForm.leaveType" @change="txselts(addForm.leaveType,addForm.ownerId)" placeholder="请选择请假类型" style="width: 240px">
|
|
|
|
|
|
+ <el-select v-model="addForm.leaveType" @change="txselts(addForm.leaveType,addForm.ownerId)" :placeholder="$t('defaultText.pleaseChoose')" style="width: 240px">
|
|
<el-option v-for="item in qjType" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
<el-option v-for="item in qjType" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
<template v-if="addForm.leaveType == 6">
|
|
<template v-if="addForm.leaveType == 6">
|
|
- <span style="margin-left:18px;color:#777;">剩余可调休 {{addForm.ownerId != '' ? txselnum : '~'}} 天</span>
|
|
|
|
- <el-tooltip effect="dark" content="加班时长可用于调休抵扣" placement="top-start">
|
|
|
|
|
|
+ <span style="margin-left:18px;color:#777;">{{ $t('restcanbeadjusted') }} {{addForm.ownerId != '' ? txselnum : '~'}} {{ $t('time.day') }}</span>
|
|
|
|
+ <el-tooltip effect="dark" :content="$t('overtimhourscabeusedforoffsetting')" 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>
|
|
</template>
|
|
</template>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 请假人 -->
|
|
<!-- 请假人 -->
|
|
- <el-form-item label="请假人" prop="ownerId" style="width: 300px">
|
|
|
|
|
|
+ <el-form-item :label="$t('leavepeople')" prop="ownerId" style="width: 300px">
|
|
<!--普通员工只能自己填报自己的 -->
|
|
<!--普通员工只能自己填报自己的 -->
|
|
- <el-select v-model="addForm.ownerId" @change="txselts(addForm.leaveType,addForm.ownerId)" placeholder="请选择请假人" style="width: 240px" :disabled="true" filterable="true">
|
|
|
|
|
|
+ <el-select v-model="addForm.ownerId" @change="txselts(addForm.leaveType,addForm.ownerId)" :placeholder="$t('defaultText.pleaseChoose')" style="width: 240px" :disabled="true" filterable="true">
|
|
<span v-for="(item, index) in users" :key="index">
|
|
<span v-for="(item, index) in users" :key="index">
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
</span>
|
|
</span>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 电话 -->
|
|
<!-- 电话 -->
|
|
- <el-form-item label="电话" prop="tel" style="margin-right:300px">
|
|
|
|
- <el-input ref="ipts" v-model="addForm.tel" placeholder="请输入手机号" style="width: 250px"></el-input>
|
|
|
|
|
|
+ <el-form-item :label="$t('phone')" prop="tel" style="margin-right:300px">
|
|
|
|
+ <el-input ref="ipts" v-model="addForm.tel" :placeholder="$t('peaseenterthe')" style="width: 250px"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 单选 -->
|
|
<!-- 单选 -->
|
|
- <el-form-item style="display: inline-block;width:300px" label="时长单位">
|
|
|
|
|
|
+ <el-form-item style="display: inline-block;width:300px" :label="$t('lengthunit')">
|
|
<el-radio-group v-model="addForm.timeType" @change="chanRadio()" style="display:inline-block;width:240px">
|
|
<el-radio-group v-model="addForm.timeType" @change="chanRadio()" style="display:inline-block;width:240px">
|
|
- <el-radio label="0">按天请假</el-radio>
|
|
|
|
- <el-radio label="1" v-if="addForm.leaveType != 6">按小时请假</el-radio>
|
|
|
|
|
|
+ <el-radio label="0">{{ $t('accordingdays') }}</el-radio>
|
|
|
|
+ <el-radio label="1" v-if="addForm.leaveType != 6">{{ $t('leavehour') }}</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 选择审批人 -->
|
|
<!-- 选择审批人 -->
|
|
- <el-form-item label="审批人" style="width:300px" prop="projectAuditorJson">
|
|
|
|
- <el-select style="display:inline-block;width:250px;" multiple v-model="addForm.projectAuditorJson" placeholder="请选择">
|
|
|
|
|
|
+ <el-form-item :label="$t('approver')" style="width:300px" prop="projectAuditorJson">
|
|
|
|
+ <el-select style="display:inline-block;width:250px;" multiple v-model="addForm.projectAuditorJson" :placeholder="$t('defaultText.pleaseChoose')">
|
|
<el-option
|
|
<el-option
|
|
v-for="item in approverList"
|
|
v-for="item in approverList"
|
|
:key="item.id"
|
|
:key="item.id"
|
|
@@ -135,36 +135,36 @@
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 时间选择 -->
|
|
<!-- 时间选择 -->
|
|
- <el-form-item :label="flg ? '选择日期' : '选择时间'" style="width: 100%;">
|
|
|
|
|
|
+ <el-form-item :label="flg ? $t('optiondate') : $t('other.timeSelection')" style="width: 100%;">
|
|
<el-col style="display: inline-block; width: 240px">
|
|
<el-col style="display: inline-block; width: 240px">
|
|
- <el-date-picker v-if="flg" type="date" placeholder="开始日期" value-format="yyyy-MM-dd" v-model="addForm.startDate" style="width: 240px;" @blur="datas()"></el-date-picker>
|
|
|
|
- <el-date-picker v-else type="date" placeholder="开始日期" value-format="yyyy-MM-dd" v-model="addForm.startDate" style="width: 240px;" @change="datasss()"></el-date-picker>
|
|
|
|
|
|
+ <el-date-picker v-if="flg" type="date" :placeholder="$t('time.startDate')" value-format="yyyy-MM-dd" v-model="addForm.startDate" style="width: 240px;" @blur="datas()"></el-date-picker>
|
|
|
|
+ <el-date-picker v-else type="date" :placeholder="$t('time.startDate')" value-format="yyyy-MM-dd" v-model="addForm.startDate" style="width: 240px;" @change="datasss()"></el-date-picker>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col class="line" v-if="flg" style="display: inline-block; width: 50px">-</el-col>
|
|
<el-col class="line" v-if="flg" style="display: inline-block; width: 50px">-</el-col>
|
|
<el-col style="display: inline-block; width: 240px">
|
|
<el-col style="display: inline-block; width: 240px">
|
|
- <el-date-picker v-if="flg" type="date" placeholder="结束日期" value-format="yyyy-MM-dd" :picker-options="pickerOptionsEnd" v-model="addForm.endDate" style="width: 250px;" @blur="datas()"></el-date-picker>
|
|
|
|
|
|
+ <el-date-picker v-if="flg" type="date" :placeholder="$t('time.endDate')" value-format="yyyy-MM-dd" :picker-options="pickerOptionsEnd" v-model="addForm.endDate" style="width: 250px;" @blur="datas()"></el-date-picker>
|
|
<!-- <el-select v-else v-model="addForm.timeHours" placeholder="请假时长" @change="chanSele()">
|
|
<!-- <el-select v-else v-model="addForm.timeHours" placeholder="请假时长" @change="chanSele()">
|
|
<el-option v-for="(item, index) in options" :key="index" :label="item" :value="item"></el-option>
|
|
<el-option v-for="(item, index) in options" :key="index" :label="item" :value="item"></el-option>
|
|
</el-select> -->
|
|
</el-select> -->
|
|
</el-col>
|
|
</el-col>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 请假天数 -->
|
|
<!-- 请假天数 -->
|
|
- <el-form-item :label="flg ? '请假天数' : '请假时长'" prop="timeDays" style="margin-right: 500px">
|
|
|
|
|
|
+ <el-form-item :label="flg ? $t('leavedays') : $t('leavetime')" prop="timeDays" style="margin-right: 500px">
|
|
<!-- {{flg ? addForm.timeDays : addForm.timeHours}}{{flg ? '天' : '小时'}} -->
|
|
<!-- {{flg ? addForm.timeDays : addForm.timeHours}}{{flg ? '天' : '小时'}} -->
|
|
<!-- <div v-if="flg">{{addForm.timeDays}} 天</div> -->
|
|
<!-- <div v-if="flg">{{addForm.timeDays}} 天</div> -->
|
|
- <div v-if="flg"> <el-input v-model="addForm.timeDays" @blur="inputs()" @input="addForm.timeDays=addForm.timeDays.replace(/[^\d.]/g,'')" style="width: 120px; margin-right: 20px;" type="number" :step="0.5"></el-input> 天</div>
|
|
|
|
|
|
+ <div v-if="flg"> <el-input v-model="addForm.timeDays" @blur="inputs()" @input="addForm.timeDays=addForm.timeDays.replace(/[^\d.]/g,'')" style="width: 120px; margin-right: 20px;" type="number" :step="0.5"></el-input> {{ $t('time.day') }}</div>
|
|
<div v-else>
|
|
<div v-else>
|
|
- <el-input v-model="addForm.timeHours" @blur="inputss()" @input="addForm.timeHours=addForm.timeHours.replace(/[^\d.]/g,'')" style="width: 120px; margin-right: 20px;"></el-input> 小时
|
|
|
|
|
|
+ <el-input v-model="addForm.timeHours" @blur="inputss()" @input="addForm.timeHours=addForm.timeHours.replace(/[^\d.]/g,'')" style="width: 120px; margin-right: 20px;"></el-input> {{ $t('time.hour') }}
|
|
</div>
|
|
</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 备注 -->
|
|
<!-- 备注 -->
|
|
- <el-form-item label="备注" style="width: 100%">
|
|
|
|
|
|
+ <el-form-item :label="$t('bei-zhu')" style="width: 100%">
|
|
<el-input type="textarea" v-model="addForm.remark" :rows="5" style="width: 550px" maxlength="100" show-word-limit></el-input>
|
|
<el-input type="textarea" v-model="addForm.remark" :rows="5" style="width: 550px" maxlength="100" show-word-limit></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
<div>
|
|
<div>
|
|
- <p style="margin-left: 20%"><el-button type="primary" @click="submits('addFormRules')" size="mini" :disabled="txselnum == 0 && addForm.leaveType == 6 && addForm.ownerId != '' ? true : false">提交</el-button></p>
|
|
|
|
|
|
+ <p style="margin-left: 20%"><el-button type="primary" @click="submits('addFormRules')" size="mini" :disabled="txselnum == 0 && addForm.leaveType == 6 && addForm.ownerId != '' ? true : false">{{ $t('btn.submit') }}</el-button></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -175,28 +175,28 @@
|
|
<div class="ctons" style="width: 98%;">
|
|
<div class="ctons" style="width: 98%;">
|
|
<div class="flex">
|
|
<div class="flex">
|
|
<div>
|
|
<div>
|
|
- <el-select v-model="ownerIds" placeholder="请选择请假人" clearable @change="chufas()" style="width: 160px" size="small" v-show="permissions.leaveAll" filterable="true">
|
|
|
|
|
|
+ <el-select v-model="ownerIds" :placeholder="$t('pleaseselectthepersonaskingforleave')" clearable @change="chufas()" style="width: 160px" size="small" v-show="permissions.leaveAll" filterable="true">
|
|
<span v-for="(item, index) in users" :key="index">
|
|
<span v-for="(item, index) in users" :key="index">
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
</span>
|
|
</span>
|
|
</el-select>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
- <span style="color: #606266">请假类型</span>
|
|
|
|
- <el-select v-model="type" placeholder="请选择请假类型" clearable @change="chufas()" style="width: 160px;" size="small" filterable="true">
|
|
|
|
|
|
+ <span style="color: #606266">{{ $t('leavetype') }}</span>
|
|
|
|
+ <el-select v-model="type" :placeholder="$t('defaultText.pleaseChoose')" clearable @change="chufas()" style="width: 160px;" size="small" filterable="true">
|
|
<span v-for="(item, index) in typess" :key="index">
|
|
<span v-for="(item, index) in typess" :key="index">
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
</span>
|
|
</span>
|
|
</el-select>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
- <span style="color: #606266">请假状态</span>
|
|
|
|
- <el-select v-if="falg == 0" v-model="code" placeholder="请选择请假状态" clearable @change="chufas()" size="small" style="width: 160px" filterable="true">
|
|
|
|
|
|
+ <span style="color: #606266">{{$t('offstate')}}</span>
|
|
|
|
+ <el-select v-if="falg == 0" v-model="code" :placeholder="$t('defaultText.pleaseChoose')" clearable @change="chufas()" size="small" style="width: 160px" filterable="true">
|
|
<span v-for="(item, index) in statuss" :key="index">
|
|
<span v-for="(item, index) in statuss" :key="index">
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
</span>
|
|
</span>
|
|
</el-select>
|
|
</el-select>
|
|
- <el-select v-if="falg == 1" disabled v-model="code" placeholder="请选择请假类型" clearable @change="chufas()" size="small" style="width: 160px" filterable="true">
|
|
|
|
|
|
+ <el-select v-if="falg == 1" disabled v-model="code" :placeholder="$t('pleaseselectthetypeofleave')" clearable @change="chufas()" size="small" style="width: 160px" filterable="true">
|
|
<span v-for="(item, index) in statuss" :key="index">
|
|
<span v-for="(item, index) in statuss" :key="index">
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
</span>
|
|
</span>
|
|
@@ -205,14 +205,14 @@
|
|
<div>
|
|
<div>
|
|
<!-- <span style="color: #606266">请假时间</span>
|
|
<!-- <span style="color: #606266">请假时间</span>
|
|
<el-date-picker v-model="createDate" type="date" @change="chufas()" value-format="yyyy-MM-dd" placeholder="选择日期" size="small" clearable="false"> </el-date-picker> -->
|
|
<el-date-picker v-model="createDate" type="date" @change="chufas()" value-format="yyyy-MM-dd" placeholder="选择日期" size="small" clearable="false"> </el-date-picker> -->
|
|
- <span style="color: #606266">时间段</span>
|
|
|
|
- <el-date-picker v-model="createDate" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="chufas()" value-format="yyyy-MM-dd" placeholder="选择日期" size="small" clearable style="width:280px"></el-date-picker>
|
|
|
|
|
|
+ <span style="color: #606266">{{ $t('message.period') }}</span>
|
|
|
|
+ <el-date-picker v-model="createDate" type="daterange" :range-separator="$t('other.to')" :start-placeholder="$t('time.startDate')" :end-placeholder="$t('time.endDate')" @change="chufas()" value-format="yyyy-MM-dd" :placeholder="$t('optiondate')" size="small" clearable style="width:280px"></el-date-picker>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<el-table v-loading="loading" :data="tableData" style="width: 100%" height="94%">
|
|
<el-table v-loading="loading" :data="tableData" style="width: 100%" height="94%">
|
|
- <el-table-column prop="ownerName" :label="'请假人'" min-width="120" fixed="left"></el-table-column>
|
|
|
|
- <el-table-column prop="tel" label="电话" min-width="120"></el-table-column>
|
|
|
|
- <el-table-column prop="leaveType" label="请假类型" min-width="120">
|
|
|
|
|
|
+ <el-table-column prop="ownerName" :label="$t('leavepeople')" min-width="120" fixed="left"></el-table-column>
|
|
|
|
+ <el-table-column prop="tel" :label="$t('phone')" min-width="120"></el-table-column>
|
|
|
|
+ <el-table-column prop="leaveType" :label="$t('leavetype')" min-width="120">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<!-- <div v-if="scope.row.leaveType == 0">事假</div>
|
|
<!-- <div v-if="scope.row.leaveType == 0">事假</div>
|
|
<div v-if="scope.row.leaveType == 1">病假</div>
|
|
<div v-if="scope.row.leaveType == 1">病假</div>
|
|
@@ -221,41 +221,41 @@
|
|
{{qjType[scope.row.leaveType].name}}
|
|
{{qjType[scope.row.leaveType].name}}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="startDate" label="请假开始时间" min-width="150"></el-table-column>
|
|
|
|
- <el-table-column prop="endDate" label="请假结束时间" min-width="150"></el-table-column>
|
|
|
|
- <el-table-column label="请假天数" min-width="120">
|
|
|
|
|
|
+ <el-table-column prop="startDate" :label="$t('leavestarttime')" min-width="150"></el-table-column>
|
|
|
|
+ <el-table-column prop="endDate" :label="$t('leaveendtime')" min-width="150"></el-table-column>
|
|
|
|
+ <el-table-column :label="$t('leavedays')" min-width="120">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div v-if="scope.row.timeType == '1'">/</div>
|
|
<div v-if="scope.row.timeType == '1'">/</div>
|
|
- <div v-else>{{scope.row.timeDays}}天</div>
|
|
|
|
|
|
+ <div v-else>{{scope.row.timeDays}} {{ $t('time.day') }}</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="请假时长" min-width="120" v-if="!user.timeType.syncDingding">
|
|
|
|
|
|
+ <el-table-column :label="$t('leavetime')" min-width="120" v-if="!user.timeType.syncDingding">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <div>{{scope.row.timeHours}}小时</div>
|
|
|
|
|
|
+ <div>{{scope.row.timeHours}} {{ $t('time.hour') }}</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="status" label="状态" min-width="100">
|
|
|
|
|
|
+ <el-table-column prop="status" :label="$t('state.states')" min-width="100">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div v-if="scope.row.status == 0 || scope.row.status == 1 || scope.row.status == 2 || scope.row.status == 3 || scope.row.status == 4">
|
|
<div v-if="scope.row.status == 0 || scope.row.status == 1 || scope.row.status == 2 || scope.row.status == 3 || scope.row.status == 4">
|
|
- <div v-if="scope.row.status == 0" >审核通过</div>
|
|
|
|
- <div v-if="scope.row.status == 1" style="color: orange">待审核</div>
|
|
|
|
- <div v-if="scope.row.status == 2" style="color: red">驳回</div>
|
|
|
|
- <div v-if="scope.row.status == 3" style="color: #666666">撤销</div>
|
|
|
|
|
|
+ <div v-if="scope.row.status == 0" >{{ $t('state.approved') }}</div>
|
|
|
|
+ <div v-if="scope.row.status == 1" style="color: orange">{{ $t('state.WaitingAudit') }}</div>
|
|
|
|
+ <div v-if="scope.row.status == 2" style="color: red">{{ $t('btn.rejected') }}</div>
|
|
|
|
+ <div v-if="scope.row.status == 3" style="color: #666666">{{ $t('btn.undo') }}</div>
|
|
</div>
|
|
</div>
|
|
<div v-else>
|
|
<div v-else>
|
|
- <span>暂无请假单</span>
|
|
|
|
|
|
+ <span>{{ $t('norequestforleaveatpresent') }}</span>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="remark" label="备注" min-width="200" header-align="center">
|
|
|
|
|
|
+ <el-table-column prop="remark" :label="$t('bei-zhu')" min-width="200" header-align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<!-- <div class="apls">{{scope.row.remark}}</div> -->
|
|
<!-- <div class="apls">{{scope.row.remark}}</div> -->
|
|
- <el-popover placement="top-start" title="标题" width="200" trigger="hover" :content="scope.row.remark">
|
|
|
|
|
|
+ <el-popover placement="top-start" :title="$t('biao-ti')" width="200" trigger="hover" :content="scope.row.remark">
|
|
<div slot="reference" class="apls">{{scope.row.remark}}</div>
|
|
<div slot="reference" class="apls">{{scope.row.remark}}</div>
|
|
</el-popover>
|
|
</el-popover>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="操作" min-width="180" fixed="right" v-if="isAuditList && !isDingding">
|
|
|
|
|
|
+ <el-table-column :label="$t('operation')" min-width="180" fixed="right" v-if="isAuditList && !isDingding">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div>
|
|
<div>
|
|
<el-button icon="el-icon-check" circle size="mini" @click.stop.native="approve(scope.row)"></el-button>
|
|
<el-button icon="el-icon-check" circle size="mini" @click.stop.native="approve(scope.row)"></el-button>
|
|
@@ -263,7 +263,7 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="操作" min-width="180" fixed="right" v-if="!isAuditList && !isDingding">
|
|
|
|
|
|
+ <el-table-column :label="$t('operation')" min-width="180" fixed="right" v-if="!isAuditList && !isDingding">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div v-if="(scope.row.status != 0 && scope.row.ownerId == user.id) || permissions.leaveAll">
|
|
<div v-if="(scope.row.status != 0 && scope.row.ownerId == user.id) || permissions.leaveAll">
|
|
<el-button icon="el-icon-delete" circle size="mini" @click.stop.native="deletes(scope.row)" ></el-button>
|
|
<el-button icon="el-icon-delete" circle size="mini" @click.stop.native="deletes(scope.row)" ></el-button>
|
|
@@ -305,16 +305,16 @@
|
|
<div class="ctons" style="width: 98%;">
|
|
<div class="ctons" style="width: 98%;">
|
|
<div style="display: flex;align-items: center;padding-bottom: 20px;border-bottom: 1px solid #f2f2f2">
|
|
<div style="display: flex;align-items: center;padding-bottom: 20px;border-bottom: 1px solid #f2f2f2">
|
|
<div style="display: inline-block;width: 350px">
|
|
<div style="display: inline-block;width: 350px">
|
|
- <el-input style="float:left;" v-model="keyword" class="input-with-select" placeholder="请输入人员搜索" clearable="true" size="small">
|
|
|
|
|
|
+ <el-input style="float:left;" v-model="keyword" class="input-with-select" :placeholder="$t('pleaseenterstaffsearch')" clearable="true" size="small">
|
|
<el-button slot="append" @click="statistical()" icon="el-icon-search"></el-button>
|
|
<el-button slot="append" @click="statistical()" icon="el-icon-search"></el-button>
|
|
</el-input>
|
|
</el-input>
|
|
</div>
|
|
</div>
|
|
<div style="display: inline-block;width: 340px">
|
|
<div style="display: inline-block;width: 340px">
|
|
- <span style="display: inline-block;margin: 0 15px 0 20px;color: rgb(96, 98, 102);">开始日期</span>
|
|
|
|
|
|
+ <span style="display: inline-block;margin: 0 15px 0 20px;color: rgb(96, 98, 102);">{{ $t('time.startDate') }}</span>
|
|
<el-date-picker
|
|
<el-date-picker
|
|
v-model="statData"
|
|
v-model="statData"
|
|
type="date"
|
|
type="date"
|
|
- placeholder="选择日期"
|
|
|
|
|
|
+ :placeholder="$t('optiondate')"
|
|
size="small"
|
|
size="small"
|
|
@change="statistical()"
|
|
@change="statistical()"
|
|
clearable="false"
|
|
clearable="false"
|
|
@@ -323,11 +323,11 @@
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
</div>
|
|
</div>
|
|
<div style="display: inline-block;width: 350px">
|
|
<div style="display: inline-block;width: 350px">
|
|
- <span style="display: inline-block;margin: 0 15px 0 0;color: rgb(96, 98, 102);">结束日期</span>
|
|
|
|
|
|
+ <span style="display: inline-block;margin: 0 15px 0 0;color: rgb(96, 98, 102);">{{ $t('time.endDate') }}</span>
|
|
<el-date-picker
|
|
<el-date-picker
|
|
v-model="endData"
|
|
v-model="endData"
|
|
type="date"
|
|
type="date"
|
|
- placeholder="选择日期"
|
|
|
|
|
|
+ :placeholder="$t('optiondate')"
|
|
size="small"
|
|
size="small"
|
|
@change="statistical()"
|
|
@change="statistical()"
|
|
clearable="fasle"
|
|
clearable="fasle"
|
|
@@ -339,24 +339,24 @@
|
|
<!-- <div style="margin-top: 30px"> -->
|
|
<!-- <div style="margin-top: 30px"> -->
|
|
<div>
|
|
<div>
|
|
<el-table key="apk2is4" v-loading="loading" :data="statisticalList" height="780px" style="width: 99%">
|
|
<el-table key="apk2is4" v-loading="loading" :data="statisticalList" height="780px" style="width: 99%">
|
|
- <el-table-column prop="ownerName" label="姓名" width="300">
|
|
|
|
|
|
+ <el-table-column prop="ownerName" :label="$t('lable.name')" width="300">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div v-if="scope.row.ownerName">
|
|
<div v-if="scope.row.ownerName">
|
|
{{scope.row.ownerName}}
|
|
{{scope.row.ownerName}}
|
|
</div>
|
|
</div>
|
|
<div v-else>
|
|
<div v-else>
|
|
- <span>暂无请假统计</span>
|
|
|
|
|
|
+ <span>{{ $t('Nstatisticpresent') }}</span>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="timeDays" label="请假总天数" width="300">
|
|
|
|
|
|
+ <el-table-column prop="timeDays" :label="$t('totaldaysleave')" width="300">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- {{scope.row.timeDays}}/天
|
|
|
|
|
|
+ {{scope.row.timeDays}} / {{ $t('time.day') }}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="timeHours" label="请假总时长">
|
|
|
|
|
|
+ <el-table-column prop="timeHours" :label="$t('totallengthofleave')">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- {{scope.row.timeHours}}/小时
|
|
|
|
|
|
+ {{scope.row.timeHours}}/{{ $t('time.hour') }}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -378,14 +378,14 @@
|
|
<el-col :span="18" >
|
|
<el-col :span="18" >
|
|
<el-scrollbar style="height:100%;border:1px solid #dddddd;margin-right:20px;" >
|
|
<el-scrollbar style="height:100%;border:1px solid #dddddd;margin-right:20px;" >
|
|
<div class="tree" :style="'height:'+ (tableHeight-120) + 'px'">
|
|
<div class="tree" :style="'height:'+ (tableHeight-120) + 'px'">
|
|
- <div style="padding:5px;color:#333;" v-if="depData != null">设置 <<span style="color:#20a0ff;">{{depData.label}}></span> 直属人员请假审批流程
|
|
|
|
|
|
+ <div style="padding:5px;color:#333;" v-if="depData != null">{{ $t('setup') }} <<span style="color:#20a0ff;">{{depData.label}}></span> {{ $t('approvalprocessforleaveofdirect staff') }}
|
|
<el-tooltip effect="dark" v-if="depData != null && depData.children!=null" content="仅适用于当前部门的直属人员,子部门人员的审批流程需要单独设置" placement="top-start">
|
|
<el-tooltip effect="dark" v-if="depData != null && depData.children!=null" content="仅适用于当前部门的直属人员,子部门人员的审批流程需要单独设置" placement="top-start">
|
|
<i class="el-icon-question"></i>
|
|
<i class="el-icon-question"></i>
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
</div>
|
|
</div>
|
|
- <div style="padding:5px;" v-if="depData == null">请选择部门</div>
|
|
|
|
|
|
+ <div style="padding:5px;" v-if="depData == null">{{ $t('qing-xuan-ze-bu-men') }}</div>
|
|
<div style="width:100%;margin:0 auto;text-align: center; margin-top:50px;" v-if="depData != null">
|
|
<div style="width:100%;margin:0 auto;text-align: center; margin-top:50px;" v-if="depData != null">
|
|
- <span>员工填报</span>
|
|
|
|
|
|
+ <span>{{ $t('employeeisallowed') }}</span>
|
|
<icon class="iconfont firerock-iconright"></icon>
|
|
<icon class="iconfont firerock-iconright"></icon>
|
|
<icon class="iconfont firerock-iconInsertLine addNode" @click="showNodeDialog(0)"></icon>
|
|
<icon class="iconfont firerock-iconInsertLine addNode" @click="showNodeDialog(0)"></icon>
|
|
<icon class="iconfont firerock-iconright"></icon>
|
|
<icon class="iconfont firerock-iconright"></icon>
|
|
@@ -402,11 +402,11 @@
|
|
|
|
|
|
<!--结束点 -->
|
|
<!--结束点 -->
|
|
<icon class="iconfont firerock-iconApp_New_Line" style="color:#20A0FF;"></icon>
|
|
<icon class="iconfont firerock-iconApp_New_Line" style="color:#20A0FF;"></icon>
|
|
- 审批完成
|
|
|
|
- </div>
|
|
|
|
|
|
+ {{ $t('approvaltocomplete') }}
|
|
|
|
+ </div>
|
|
|
|
|
|
<div style="width:100%;margin:0 auto;margin-bottom:30px;position: absolute;bottom: 0px;text-align: center; ">
|
|
<div style="width:100%;margin:0 auto;margin-bottom:30px;position: absolute;bottom: 0px;text-align: center; ">
|
|
- <el-button type="primary" @click="submitInsert" :loading="addLoading">保存</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="submitInsert" :loading="addLoading">{{ $t('save') }}</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</el-scrollbar>
|
|
</el-scrollbar>
|
|
@@ -415,16 +415,16 @@
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!--部门选择列表 -->
|
|
<!--部门选择列表 -->
|
|
- <el-dialog title="请选择审批人" v-if="dialogVisible" :visible.sync="dialogVisible" width="460px">
|
|
|
|
|
|
+ <el-dialog :title="$t('pleaseselectapprover')" v-if="dialogVisible" :visible.sync="dialogVisible" width="460px">
|
|
<el-form label-width="140px">
|
|
<el-form label-width="140px">
|
|
- <el-form-item label="选择部门/指定人员" >
|
|
|
|
- <el-cascader filterable ref="deptCascader" v-model="curDeptId" placeholder="请选择部门/指定人员" style="width: 100%" @change="chooseDept"
|
|
|
|
|
|
+ <el-form-item :label="$t('selectdepartmentsdesignatepersonnel')" >
|
|
|
|
+ <el-cascader filterable ref="deptCascader" v-model="curDeptId" :placeholder="$t('defaultText.pleaseChoose')" style="width: 100%" @change="chooseDept"
|
|
:options="soption" :props="{ checkStrictly: true,expandTrigger: 'hover' }" :show-all-levels="false" clearable></el-cascader>
|
|
:options="soption" :props="{ checkStrictly: true,expandTrigger: 'hover' }" :show-all-levels="false" clearable></el-cascader>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<div slot="footer" class="dialog-footer">
|
|
- <el-button type="default" @click="deleteNode" v-if="!isAdd" style="float:left;">删除</el-button>
|
|
|
|
- <el-button type="primary" @click="addNode" >确定</el-button>
|
|
|
|
|
|
+ <el-button type="default" @click="deleteNode" v-if="!isAdd" style="float:left;">{{ $t('btn.delete') }}</el-button>
|
|
|
|
+ <el-button type="primary" @click="addNode" >{{ $t('btn.determine') }}</el-button>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
@@ -434,20 +434,20 @@
|
|
<div class="ctons" style="width: 98%;">
|
|
<div class="ctons" style="width: 98%;">
|
|
<div style="display: flex;align-items: center;padding-bottom: 20px;border-bottom: 1px solid #f2f2f2">
|
|
<div style="display: flex;align-items: center;padding-bottom: 20px;border-bottom: 1px solid #f2f2f2">
|
|
<div style="display: inline-block;width: 18%;margin-left:1%">
|
|
<div style="display: inline-block;width: 18%;margin-left:1%">
|
|
- <el-button size="small" @click="changeAltime(0)">批量设置</el-button>
|
|
|
|
|
|
+ <el-button size="small" @click="changeAltime(0)">{{ $t('volumeset') }}</el-button>
|
|
</div>
|
|
</div>
|
|
<div style="display: inline-block;width: 26%">
|
|
<div style="display: inline-block;width: 26%">
|
|
- <el-input style="float:left;" v-model="keywordAl" class="input-with-select" placeholder="请输入人员姓名搜索" clearable="true" size="small" @clear="clearsearchAl()">
|
|
|
|
|
|
+ <el-input style="float:left;" v-model="keywordAl" class="input-with-select" :placeholder="$t('pleaseenterhepersonnamesearch')" clearable="true" size="small" @clear="clearsearchAl()">
|
|
<el-button slot="append" @click="searchAl()" icon="el-icon-search"></el-button>
|
|
<el-button slot="append" @click="searchAl()" icon="el-icon-search"></el-button>
|
|
</el-input>
|
|
</el-input>
|
|
</div>
|
|
</div>
|
|
<div style="display: inline-block;width: 32%;margin-left:12%">
|
|
<div style="display: inline-block;width: 32%;margin-left:12%">
|
|
- <span style="display: inline-block;margin: 0 15px 0 20px;color: rgb(96, 98, 102);">按部门筛选</span>
|
|
|
|
|
|
+ <span style="display: inline-block;margin: 0 15px 0 20px;color: rgb(96, 98, 102);">{{ $t('screeningDepartment') }}</span>
|
|
<el-cascader
|
|
<el-cascader
|
|
ref="selectAl"
|
|
ref="selectAl"
|
|
filterable
|
|
filterable
|
|
v-model="NcurDeptId"
|
|
v-model="NcurDeptId"
|
|
- placeholder="请选择部门"
|
|
|
|
|
|
+ :placeholder="$t('defaultText.pleaseChoose')"
|
|
size="small"
|
|
size="small"
|
|
style="width: 60%"
|
|
style="width: 60%"
|
|
@change="selAl()"
|
|
@change="selAl()"
|
|
@@ -462,45 +462,45 @@
|
|
<div>
|
|
<div>
|
|
<el-table key="apk2is6" v-loading="loading" :data="iAlDataS" height="480" style="width: 99%;" @selection-change="selPchg">
|
|
<el-table key="apk2is6" v-loading="loading" :data="iAlDataS" height="480" style="width: 99%;" @selection-change="selPchg">
|
|
<el-table-column type="selection"></el-table-column>
|
|
<el-table-column type="selection"></el-table-column>
|
|
- <el-table-column prop="userName" label="姓名" width="200">
|
|
|
|
|
|
+ <el-table-column prop="userName" :label="$t('lable.name')" width="200">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div v-if="scope.row.userName">
|
|
<div v-if="scope.row.userName">
|
|
{{scope.row.userName}}
|
|
{{scope.row.userName}}
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="department" label="所在部门" width="200">
|
|
|
|
|
|
+ <el-table-column prop="department" :label="$t('departmentsuod')" width="200">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
{{scope.row.department}}
|
|
{{scope.row.department}}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="yearDays" label="每年年假天数" width="200">
|
|
|
|
|
|
+ <el-table-column prop="yearDays" :label="$t('annualleaveperyear')" width="200">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- {{scope.row.yearDays != null ? scope.row.yearDays + "天" : "-"}}
|
|
|
|
|
|
+ {{scope.row.yearDays != null ? scope.row.yearDays + $t('time.day') : "-"}}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="leftdays" label="剩余年假天数" width="200">
|
|
|
|
|
|
+ <el-table-column prop="leftdays" :label="$t('remainingdaysofannualleave')" width="200">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- {{scope.row.yearDays != null ? scope.row.yearDays - scope.row.alreadyDays + "天" : "-"}}
|
|
|
|
|
|
+ {{scope.row.yearDays != null ? scope.row.yearDays - scope.row.alreadyDays + $t('time.day') : "-"}}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="id" label="修改年假天数">
|
|
|
|
|
|
+ <el-table-column prop="id" :label="$t('numberofannualleavedays')">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-button size="small" @click="changeAltime(scope.row)">设置</el-button>
|
|
|
|
|
|
+ <el-button size="small" @click="changeAltime(scope.row)">{{ $t('setup') }}</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <el-dialog title="请设置年假时限" v-if="Alshow" :visible.sync="Alshow" @close="delAltime()" width="500px">
|
|
|
|
|
|
+ <el-dialog :title="$t('pleasesetthetimelimitforannualleave')" v-if="Alshow" :visible.sync="Alshow" @close="delAltime()" width="500px">
|
|
<el-form label-width="8rem">
|
|
<el-form label-width="8rem">
|
|
- <el-form-item label="设置每年年假天数" >
|
|
|
|
- <el-input v-model="Alchange.yearDays" type="number" min="0" placeholder="请输入天数"></el-input>
|
|
|
|
|
|
+ <el-form-item :label="$t('setthenumberofannualleavedaysperyear')" >
|
|
|
|
+ <el-input v-model="Alchange.yearDays" type="number" min="0" :placeholder="$t('pleaseenterdays')"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<div slot="footer" class="dialog-footer">
|
|
- <el-button type="default" @click="delAltime()">取消</el-button>
|
|
|
|
- <el-button type="primary" @click="chgAltime()">确定</el-button>
|
|
|
|
|
|
+ <el-button type="default" @click="delAltime()">{{ $t('btn.cancel') }}</el-button>
|
|
|
|
+ <el-button type="primary" @click="chgAltime()">{{ $t('btn.determine') }}</el-button>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
@@ -510,8 +510,8 @@
|
|
<div class="ctons" style="width: 98%;">
|
|
<div class="ctons" style="width: 98%;">
|
|
<div class="flex">
|
|
<div class="flex">
|
|
<div>
|
|
<div>
|
|
- <span>请假类型</span>
|
|
|
|
- <el-select v-model="leaveTypeItem" placeholder="请选择请假类型" @change="leaveTypeChange()" style="width: 180px" size="small" filterable="true">
|
|
|
|
|
|
+ <span>{{ $t('leavetype') }}</span>
|
|
|
|
+ <el-select v-model="leaveTypeItem" :placeholder="$t('pleaseselectthetypeofleave')" @change="leaveTypeChange()" style="width: 180px" size="small" filterable="true">
|
|
<span v-for="item in leaveTypeList" :key="item.leaveCode">
|
|
<span v-for="item in leaveTypeList" :key="item.leaveCode">
|
|
<el-option :label="item.leaveName" :value="item.leaveCode"></el-option>
|
|
<el-option :label="item.leaveName" :value="item.leaveCode"></el-option>
|
|
</span>
|
|
</span>
|
|
@@ -519,51 +519,51 @@
|
|
</div>
|
|
</div>
|
|
<template v-if="permissions.leaveAll">
|
|
<template v-if="permissions.leaveAll">
|
|
<div>
|
|
<div>
|
|
- <span>部门筛选</span>
|
|
|
|
|
|
+ <span>{{ $t('departmentofscreening') }}</span>
|
|
<el-cascader
|
|
<el-cascader
|
|
size="small"
|
|
size="small"
|
|
@change="departmentOptionsChg"
|
|
@change="departmentOptionsChg"
|
|
v-model="departmentSel"
|
|
v-model="departmentSel"
|
|
:options="departmentOptions"
|
|
:options="departmentOptions"
|
|
- placeholder="请选择部门"
|
|
|
|
|
|
+ :placeholder="$t('qing-xuan-ze-bu-men')"
|
|
:show-all-levels="false"
|
|
:show-all-levels="false"
|
|
:props="{ checkStrictly: true }"
|
|
:props="{ checkStrictly: true }"
|
|
clearable></el-cascader>
|
|
clearable></el-cascader>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
- <span>人员筛选</span>
|
|
|
|
- <el-select v-model="userSelId" placeholder="请选择请假人" clearable @change="userChg()" style="width: 180px" size="small" v-show="permissions.leaveAll" filterable="true">
|
|
|
|
|
|
+ <span>{{ $t('personnelselection') }}</span>
|
|
|
|
+ <el-select v-model="userSelId" :placeholder="$t('pleaseselectthepersonaskingforleave')" clearable @change="userChg()" style="width: 180px" size="small" v-show="permissions.leaveAll" filterable="true">
|
|
<span v-for="(item, index) in users" :key="index">
|
|
<span v-for="(item, index) in users" :key="index">
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
</span>
|
|
</span>
|
|
</el-select>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
<div style="margin:0 10px 0 40px">
|
|
<div style="margin:0 10px 0 40px">
|
|
- <el-button size="small" type="primary" @click="listSynchronize" :loading="synchronizeLoading">从钉钉同步</el-button>
|
|
|
|
|
|
+ <el-button size="small" type="primary" @click="listSynchronize" :loading="synchronizeLoading">{{ $t('synchronizefromStaple') }}</el-button>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<el-table key="apk2is8" v-loading="loading" :data="vacationList" style="width: 100%" height="94%">
|
|
<el-table key="apk2is8" v-loading="loading" :data="vacationList" style="width: 100%" height="94%">
|
|
- <el-table-column prop="name" label="员工姓名" min-width="120" fixed="left"></el-table-column>
|
|
|
|
- <el-table-column label="有效期" min-width="250" align="center">
|
|
|
|
|
|
+ <el-table-column prop="name" :label="$t('screening.employeename')" min-width="120" fixed="left"></el-table-column>
|
|
|
|
+ <el-table-column :label="$t('periodofvalidity')" min-width="250" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<span>{{scope.row.startTime == null && scope.row.endTime == null ? '~ ~' : (scope.row.startTime + '\u3000~\u3000' + scope.row.endTime)}}</span>
|
|
<span>{{scope.row.startTime == null && scope.row.endTime == null ? '~ ~' : (scope.row.startTime + '\u3000~\u3000' + scope.row.endTime)}}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="总额度" min-width="100" align="center">
|
|
|
|
|
|
+ <el-table-column :label="$t('combination')" min-width="100" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span>{{scope.row.quotaInDays == null && scope.row.quotaInHours == null ? '-' : (scope.row.quotaInDays == null ? scope.row.quotaInHours + '小时' : scope.row.quotaInDays + '天')}}</span>
|
|
|
|
|
|
+ <span>{{scope.row.quotaInDays == null && scope.row.quotaInHours == null ? '-' : (scope.row.quotaInDays == null ? scope.row.quotaInHours + $t('time.hour') : scope.row.quotaInDays + $t('time.day'))}}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="已使用" min-width="100" align="center">
|
|
|
|
|
|
+ <el-table-column :label="$t('beenused')" min-width="100" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span>{{scope.row.usedInDays == null && scope.row.usedInHours == null ? '-' : (scope.row.usedInDays == null ? scope.row.usedInHours + '小时' : scope.row.usedInDays + '天')}}</span>
|
|
|
|
|
|
+ <span>{{scope.row.usedInDays == null && scope.row.usedInHours == null ? '-' : (scope.row.usedInDays == null ? scope.row.usedInHours + $t('time.hour') : scope.row.usedInDays + $t('time.day'))}}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="剩余额度" min-width="100" align="center">
|
|
|
|
|
|
+ <el-table-column :label="$t('remainingamount')" min-width="100" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span>{{scope.row.leftInDays == null && scope.row.leftInHours == null ? '-' : (scope.row.leftInDays == null ? scope.row.leftInHours + '小时' : scope.row.leftInDays + '天')}}</span>
|
|
|
|
|
|
+ <span>{{scope.row.leftInDays == null && scope.row.leftInHours == null ? '-' : (scope.row.leftInDays == null ? scope.row.leftInHours + $t('time.hour') : scope.row.leftInDays + $t('time.day'))}}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -583,60 +583,60 @@
|
|
<!-- --------- -->
|
|
<!-- --------- -->
|
|
</div>
|
|
</div>
|
|
<!-- 请假单详情 -->
|
|
<!-- 请假单详情 -->
|
|
- <el-dialog title="请假单详情" :visible.sync="dialog" width="1000px" @close="bangd()">
|
|
|
|
|
|
+ <el-dialog :title="$t('leaveForm')" :visible.sync="dialog" width="1000px" @close="bangd()">
|
|
<!-- 表单 -->
|
|
<!-- 表单 -->
|
|
<el-form ref="addForm" :model="addForm" label-width="80px" :rules="addFormRules">
|
|
<el-form ref="addForm" :model="addForm" label-width="80px" :rules="addFormRules">
|
|
<!-- 请假人 -->
|
|
<!-- 请假人 -->
|
|
- <el-form-item label="请假人" prop="ownerId" style="width: 300px;display: inline-block;">
|
|
|
|
|
|
+ <el-form-item :label="$t('leavepeople')" prop="ownerId" style="width: 300px;display: inline-block;">
|
|
<!--普通员工只能自己填报自己的 -->
|
|
<!--普通员工只能自己填报自己的 -->
|
|
- <el-select v-model="addForm.ownerId" @change="selts()" placeholder="请选择请假人" style="width: 240px" :disabled="true" filterable="true">
|
|
|
|
|
|
+ <el-select v-model="addForm.ownerId" @change="selts()" :placeholder="$t('pleaseselectthepersonaskingforleave')" style="width: 240px" :disabled="true" filterable="true">
|
|
<span v-for="(item, index) in users" :key="index">
|
|
<span v-for="(item, index) in users" :key="index">
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
</span>
|
|
</span>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 电话 -->
|
|
<!-- 电话 -->
|
|
- <el-form-item label="电话" prop="tel" style="width: 300px;display: inline-block;">
|
|
|
|
- <el-input ref="ipts" v-model="addForm.tel" placeholder="请输入手机号" style="width: 250px;"></el-input>
|
|
|
|
|
|
+ <el-form-item :label="$t('phone')" prop="tel" style="width: 300px;display: inline-block;">
|
|
|
|
+ <el-input ref="ipts" v-model="addForm.tel" :placeholder="$t('defaultText.PleaseEnterYourPhone')" style="width: 250px;"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 单选 -->
|
|
<!-- 单选 -->
|
|
- <el-form-item style="display: block" label="时长单位">
|
|
|
|
|
|
+ <el-form-item style="display: block" :label="$t('lengthunit')">
|
|
<el-radio-group v-model="addForm.timeType" @change="chanRadio()">
|
|
<el-radio-group v-model="addForm.timeType" @change="chanRadio()">
|
|
- <el-radio label="0">按天请假</el-radio>
|
|
|
|
- <el-radio label="1">按小时请假</el-radio>
|
|
|
|
|
|
+ <el-radio label="0">{{ $t('accordingdays') }}</el-radio>
|
|
|
|
+ <el-radio label="1">{{ $t('leavehour') }}</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 时间选择 -->
|
|
<!-- 时间选择 -->
|
|
- <el-form-item :label="flg ? '选择日期' : '选择时间'" style="width: 74%;margin-right:500px">
|
|
|
|
|
|
+ <el-form-item :label="flg ? $t('optiondate') : $t('other.timeSelection')" style="width: 74%;margin-right:500px">
|
|
<el-col :span="9">
|
|
<el-col :span="9">
|
|
- <el-date-picker v-if="flg" type="date" placeholder="开始日期" value-format="yyyy-MM-dd" v-model="addForm.startDate" style="width: 240px;" @blur="datas()"></el-date-picker>
|
|
|
|
- <el-date-picker v-else type="date" placeholder="开始日期" value-format="yyyy-MM-dd" v-model="addForm.startDate" style="width: 240px;" @change="datasss()"></el-date-picker>
|
|
|
|
|
|
+ <el-date-picker v-if="flg" type="date" :placeholder="$t('time.startDate')" value-format="yyyy-MM-dd" v-model="addForm.startDate" style="width: 240px;" @blur="datas()"></el-date-picker>
|
|
|
|
+ <el-date-picker v-else type="date" :placeholder="$t('time.startDate')" value-format="yyyy-MM-dd" v-model="addForm.startDate" style="width: 240px;" @change="datasss()"></el-date-picker>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col class="line" v-if="flg" :span="2">-</el-col>
|
|
<el-col class="line" v-if="flg" :span="2">-</el-col>
|
|
<el-col :span="9">
|
|
<el-col :span="9">
|
|
- <el-date-picker v-if="flg" type="date" placeholder="结束日期" value-format="yyyy-MM-dd" :picker-options="pickerOptionsEnd" v-model="addForm.endDate" style="width: 250px;" @blur="datas()"></el-date-picker>
|
|
|
|
|
|
+ <el-date-picker v-if="flg" type="date" :placeholder="$t('time.endDate')" value-format="yyyy-MM-dd" :picker-options="pickerOptionsEnd" v-model="addForm.endDate" style="width: 250px;" @blur="datas()"></el-date-picker>
|
|
<!-- <el-select v-else v-model="addForm.timeHours" placeholder="请假时长" @change="chanSele()">
|
|
<!-- <el-select v-else v-model="addForm.timeHours" placeholder="请假时长" @change="chanSele()">
|
|
<el-option v-for="(item, index) in options" :key="index" :label="item" :value="item"></el-option>
|
|
<el-option v-for="(item, index) in options" :key="index" :label="item" :value="item"></el-option>
|
|
</el-select> -->
|
|
</el-select> -->
|
|
</el-col>
|
|
</el-col>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 请假天数 -->
|
|
<!-- 请假天数 -->
|
|
- <el-form-item :label="flg ? '请假天数' : '请假时长'" prop="timeDays" style="margin-right: 500px">
|
|
|
|
|
|
+ <el-form-item :label="flg ? $t('leavedays') : $t('leavetime')" prop="timeDays" style="margin-right: 500px">
|
|
<!-- {{flg ? addForm.timeDays : addForm.timeHours}}{{flg ? '天' : '小时'}} -->
|
|
<!-- {{flg ? addForm.timeDays : addForm.timeHours}}{{flg ? '天' : '小时'}} -->
|
|
<!-- <div v-if="flg">{{addForm.timeDays}} 天</div> -->
|
|
<!-- <div v-if="flg">{{addForm.timeDays}} 天</div> -->
|
|
- <div v-if="flg"> <el-input v-model="addForm.timeDays" @blur="inputs()" @input="addForm.timeDays=addForm.timeDays.replace(/[^\d.]/g,'')" style="width: 100px; margin-right: 20px;"></el-input> 天</div>
|
|
|
|
|
|
+ <div v-if="flg"> <el-input v-model="addForm.timeDays" @blur="inputs()" @input="addForm.timeDays=addForm.timeDays.replace(/[^\d.]/g,'')" style="width: 100px; margin-right: 20px;"></el-input> {{ $t('time.day') }}</div>
|
|
<div v-else>
|
|
<div v-else>
|
|
- <el-input v-model="addForm.timeHours" @blur="inputss()" @input="addForm.timeHours=addForm.timeHours.replace(/[^\d.]/g,'')" style="width: 100px; margin-right: 20px;"></el-input> 小时
|
|
|
|
|
|
+ <el-input v-model="addForm.timeHours" @blur="inputss()" @input="addForm.timeHours=addForm.timeHours.replace(/[^\d.]/g,'')" style="width: 100px; margin-right: 20px;"></el-input> {{ $t('time.hour') }}
|
|
</div>
|
|
</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<!-- 备注 -->
|
|
<!-- 备注 -->
|
|
- <el-form-item label="备注" style="width: 100%">
|
|
|
|
|
|
+ <el-form-item :label="$t('bei-zhu')" style="width: 100%">
|
|
<el-input type="textarea" v-model="addForm.remark" :rows="5" style="width: 62%" maxlength="100" show-word-limit></el-input>
|
|
<el-input type="textarea" v-model="addForm.remark" :rows="5" style="width: 62%" maxlength="100" show-word-limit></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
- <el-button @click="dialog = false">取 消</el-button>
|
|
|
|
- <el-button type="primary" @click="determine()">确 定</el-button>
|
|
|
|
|
|
+ <el-button @click="dialog = false">{{ $t('btn.cancel') }}</el-button>
|
|
|
|
+ <el-button type="primary" @click="determine()">{{ $t('btn.determine') }}</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
@@ -653,22 +653,22 @@ export default {
|
|
//验证手机号
|
|
//验证手机号
|
|
var checkTel = (rule, value, callback) =>{
|
|
var checkTel = (rule, value, callback) =>{
|
|
if (!value) {
|
|
if (!value) {
|
|
- return callback(new Error('手机号不能为空'));
|
|
|
|
|
|
+ return callback(new Error(this.$t('phonenumbercannotbeempty')));
|
|
} else {
|
|
} else {
|
|
const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/
|
|
const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/
|
|
if (reg.test(value)) {
|
|
if (reg.test(value)) {
|
|
callback();
|
|
callback();
|
|
} else {
|
|
} else {
|
|
- return callback(new Error('请输入正确的手机号'));
|
|
|
|
|
|
+ return callback(new Error(this.$t('pleaseenterthecorrectcellphonenumber')));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
var checks = (rule, value, callback) => {
|
|
var checks = (rule, value, callback) => {
|
|
if (!value) {
|
|
if (!value) {
|
|
- return callback(new Error('请假天数不能为空'));
|
|
|
|
|
|
+ return callback(new Error(this.$t('leavedayscannotbeempty')));
|
|
} else {
|
|
} else {
|
|
if (value > this.timeChoose) {
|
|
if (value > this.timeChoose) {
|
|
- return callback(new Error('超过当前选择日期的天数'));
|
|
|
|
|
|
+ return callback(new Error(this.$t('daysbeyondthecurrentlyselecteddat')));
|
|
} else {
|
|
} else {
|
|
callback();
|
|
callback();
|
|
}
|
|
}
|
|
@@ -676,14 +676,14 @@ export default {
|
|
};
|
|
};
|
|
return {
|
|
return {
|
|
addFormRules: {
|
|
addFormRules: {
|
|
- ownerId: [{ required: true, message: "请选择请假人", trigger: "blur" }],
|
|
|
|
|
|
+ ownerId: [{ required: true, message: this.$t('pleaseselectthepersonaskingforleave'), trigger: "blur" }],
|
|
tel: [{required: true, validator: checkTel, trigger: 'blur'}],
|
|
tel: [{required: true, validator: checkTel, trigger: 'blur'}],
|
|
timeDays: [{required: true, validator: checks, trigger: 'blur'}],
|
|
timeDays: [{required: true, validator: checks, trigger: 'blur'}],
|
|
- leaveType: [{ required: true, message: "请选择请假类型", trigger: "blur" }],
|
|
|
|
- projectAuditorJson: [{ required: true, message: "请选择审批人", trigger: "blur" }]
|
|
|
|
|
|
+ leaveType: [{ required: true, message: this.$t('pleaseselectthetypeofleave'), trigger: "blur" }],
|
|
|
|
+ projectAuditorJson: [{ required: true, message: this.$t('pleaseselectapprover'), trigger: "blur" }]
|
|
},
|
|
},
|
|
user: JSON.parse(sessionStorage.getItem("user")),
|
|
user: JSON.parse(sessionStorage.getItem("user")),
|
|
- shuz: ['事假填报', '病假填报', '年假填报', '产假填报'],
|
|
|
|
|
|
+ shuz: [this.$t('personalleaveisallowed'), this.$t('leaveisallowed'), this.$t('annualleaveisallowed'), this.$t('maternityleaveisallowed')],
|
|
ins: 0,
|
|
ins: 0,
|
|
addForm: {
|
|
addForm: {
|
|
timeType: '0',
|
|
timeType: '0',
|
|
@@ -732,18 +732,18 @@ export default {
|
|
loading: false,
|
|
loading: false,
|
|
timeChoose: 1,
|
|
timeChoose: 1,
|
|
permissions: JSON.parse(sessionStorage.getItem("permissions")),
|
|
permissions: JSON.parse(sessionStorage.getItem("permissions")),
|
|
- typess: [{name: '事假',id: 0},{name: '病假',id: 1},{name: '年假',id: 2},{name: '产假',id: 3},{name: '婚假',id: 4},{name: '丧假',id: 5},{name: '调休假',id: 6},{name: '陪产假',id: 7},{name: '其他', id: 8}],
|
|
|
|
|
|
+ typess: [{name: this.$t('leave.personalLeave'),id: 0},{name: this.$t('leave.sickLeave'),id: 1},{name: this.$t('leave.annualLeave'),id: 2},{name: this.$t('leave.maternityLeave'),id: 3},{name: this.$t('leave.marriageLeave'),id: 4},{name: this.$t('leave.bereavementLeave'),id: 5},{name: this.$t('leave.leave'),id: 6},{name: this.$t('leave.paternityLeave'),id: 7},{name: this.$t('leave.other'), id: 8}],
|
|
statuss: [{
|
|
statuss: [{
|
|
- name: '审核通过',
|
|
|
|
|
|
+ name: this.$t('state.approved'),
|
|
id: 0
|
|
id: 0
|
|
},{
|
|
},{
|
|
- name: '待审核',
|
|
|
|
|
|
+ name: this.$t('state.WaitingAudit'),
|
|
id: 1
|
|
id: 1
|
|
},{
|
|
},{
|
|
- name: '驳回',
|
|
|
|
|
|
+ name: this.$t('btn.rejected'),
|
|
id: 2
|
|
id: 2
|
|
},{
|
|
},{
|
|
- name: '已撤销',
|
|
|
|
|
|
+ name: this.$t('state.undone'),
|
|
id: 3
|
|
id: 3
|
|
}],
|
|
}],
|
|
createDatelis: '',
|
|
createDatelis: '',
|
|
@@ -755,15 +755,15 @@ export default {
|
|
adform: {},
|
|
adform: {},
|
|
affId: '',
|
|
affId: '',
|
|
qjType: [
|
|
qjType: [
|
|
- {name: '事假', id: 0},
|
|
|
|
- {name: '病假', id: 1},
|
|
|
|
- {name: '年假', id: 2},
|
|
|
|
- {name: '产假', id: 3},
|
|
|
|
- {name: '婚假', id: 4},
|
|
|
|
- {name: '丧假', id: 5},
|
|
|
|
- {name: '调休假', id: 6},
|
|
|
|
- {name: '陪产假', id: 7},
|
|
|
|
- {name: '其他', id: 8}
|
|
|
|
|
|
+ {name: this.$t('leave.personalLeave'), id: 0},
|
|
|
|
+ {name: this.$t('leave.sickLeave'), id: 1},
|
|
|
|
+ {name: this.$t('leave.annualLeave'), id: 2},
|
|
|
|
+ {name: this.$t('leave.maternityLeave'), id: 3},
|
|
|
|
+ {name: this.$t('leave.marriageLeave'), id: 4},
|
|
|
|
+ {name: this.$t('leave.bereavementLeave'), id: 5},
|
|
|
|
+ {name: this.$t('leave.leave'), id: 6},
|
|
|
|
+ {name: this.$t('leave.paternityLeave'), id: 7},
|
|
|
|
+ {name: this.$t('leave.other'), id: 8}
|
|
],
|
|
],
|
|
//
|
|
//
|
|
apk2: false,
|
|
apk2: false,
|
|
@@ -847,7 +847,7 @@ export default {
|
|
if(res.code == 'ok'){
|
|
if(res.code == 'ok'){
|
|
this.synchronizeLoading = false
|
|
this.synchronizeLoading = false
|
|
this.$message({
|
|
this.$message({
|
|
- message: '同步成功',
|
|
|
|
|
|
+ message: this.$t('synchronoussuccess'),
|
|
type: 'success'
|
|
type: 'success'
|
|
})
|
|
})
|
|
this.getVacationList()
|
|
this.getVacationList()
|
|
@@ -971,7 +971,7 @@ export default {
|
|
this.approverList = res.data
|
|
this.approverList = res.data
|
|
if(this.approverList.length == 0){
|
|
if(this.approverList.length == 0){
|
|
this.$message({
|
|
this.$message({
|
|
- message: '当前无审批人,请联系管理员配置审批人',
|
|
|
|
|
|
+ message: this.$t('configureanapprover'),
|
|
type: 'warning'
|
|
type: 'warning'
|
|
})
|
|
})
|
|
}
|
|
}
|
|
@@ -992,7 +992,7 @@ export default {
|
|
|
|
|
|
changeAltime(e){
|
|
changeAltime(e){
|
|
if(e == 0 && this.AlchangeP.length == 0){
|
|
if(e == 0 && this.AlchangeP.length == 0){
|
|
- this.$message('请选择要批量设置的项')
|
|
|
|
|
|
+ this.$message(this.$t('selecttheitemsyouwanttobatchset'))
|
|
return
|
|
return
|
|
}else if(e != 0){
|
|
}else if(e != 0){
|
|
this.Alchange = JSON.parse(JSON.stringify(e))
|
|
this.Alchange = JSON.parse(JSON.stringify(e))
|
|
@@ -1134,8 +1134,8 @@ export default {
|
|
var list = res.data , list1 = JSON.parse(JSON.stringify(res.data));
|
|
var list = res.data , list1 = JSON.parse(JSON.stringify(res.data));
|
|
this.sdata = list;
|
|
this.sdata = list;
|
|
this.soption = [
|
|
this.soption = [
|
|
- {value: 1 , label : "部门" , children : this.changeArr(list1)},
|
|
|
|
- {value: 2 , label : "指定人员",children : this.susers}
|
|
|
|
|
|
+ {value: 1 , label : this.$t('lable.department') , children : this.changeArr(list1)},
|
|
|
|
+ {value: 2 , label : this.$t('designatedpersonnel'),children : this.susers}
|
|
]
|
|
]
|
|
this.Nsdata = list1
|
|
this.Nsdata = list1
|
|
} else {
|
|
} else {
|
|
@@ -1235,7 +1235,7 @@ export default {
|
|
this.listLoading = false;
|
|
this.listLoading = false;
|
|
if (res.code == "ok") {
|
|
if (res.code == "ok") {
|
|
this.$message({
|
|
this.$message({
|
|
- message: '保存成功',
|
|
|
|
|
|
+ message: this.$t('savesuccess'),
|
|
type: "success"
|
|
type: "success"
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
@@ -1486,7 +1486,7 @@ export default {
|
|
res => {
|
|
res => {
|
|
if (res.code == "ok") {
|
|
if (res.code == "ok") {
|
|
this.$message({
|
|
this.$message({
|
|
- message: '填报成功',
|
|
|
|
|
|
+ message: this.$t('message.fillinsuccessfully'),
|
|
type: "success"
|
|
type: "success"
|
|
});
|
|
});
|
|
this.addForm.timeType = '0'
|
|
this.addForm.timeType = '0'
|
|
@@ -1723,7 +1723,7 @@ export default {
|
|
// console.log(this.addForm)
|
|
// console.log(this.addForm)
|
|
},
|
|
},
|
|
deletes(e) {
|
|
deletes(e) {
|
|
- this.$confirm("确认要删除吗?", "提示", {
|
|
|
|
|
|
+ this.$confirm(this.$t('deleteit'), this.$t('other.prompts'), {
|
|
//type: 'warning'
|
|
//type: 'warning'
|
|
}).then(() => {
|
|
}).then(() => {
|
|
this.http.post('/leave-sheet/delete', {id:e.id},
|
|
this.http.post('/leave-sheet/delete', {id:e.id},
|
|
@@ -1731,7 +1731,7 @@ export default {
|
|
if (res.code == "ok") {
|
|
if (res.code == "ok") {
|
|
this.bills();
|
|
this.bills();
|
|
this.$message({
|
|
this.$message({
|
|
- message: '删除成功',
|
|
|
|
|
|
+ message: this.$t('message.successfullyDeleted'),
|
|
type: "success"
|
|
type: "success"
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|