<template>
|
<div>
|
<el-container>
|
<el-header :height="headerHeight">
|
<el-row>
|
<el-col :span="16">
|
<h3 class="bu-tian-jia-title">在职员工</h3>
|
</el-col>
|
<el-col :span="8" style="margin-top: 15px;">
|
<el-input v-model="queryParams.vague" placeholder="请输入内容" style="width:200px" />
|
<el-button type="primary" @click="vagueSearch">查询</el-button>
|
<el-button type="danger" @click="advancedQueryShowMethods">高级查询</el-button>
|
</el-col>
|
</el-row>
|
<div v-show="advancedQueryShow">
|
<el-row>
|
<el-col :span="3">员工编号:
|
<el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" />
|
</el-col>
|
<el-col :span="3">姓名:
|
<el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" />
|
</el-col>
|
<el-col :span="4">身份证号:
|
<el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" />
|
</el-col>
|
<el-col :span="3">护卫点:
|
<el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" />
|
</el-col>
|
<el-col :span="8">入职日期:
|
<el-date-picker
|
v-model="queryParams.entryDateStr"
|
size="small"
|
type="daterange"
|
align="right"
|
unlink-panels
|
range-separator="至"
|
value-format="yyyy-MM-dd"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
:picker-options="pickerOptions"
|
style="width: 400px;"
|
/>
|
</el-col>
|
<el-col :span="3">
|
<el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button>
|
<el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="24">
|
<table id="searchTable">
|
<tr>
|
<td>性别:</td>
|
<td>
|
<el-radio-group v-model="queryParams.sex">
|
<el-radio label="">全部</el-radio>
|
<el-radio label="1">男性</el-radio>
|
<el-radio label="2">女性</el-radio>
|
</el-radio-group>
|
</td>
|
</tr>
|
<tr>
|
<td>最高学历:</td>
|
<td>
|
<el-radio-group v-model="queryParams.education">
|
<el-radio label="">全部</el-radio>
|
<el-radio label="91">无学历</el-radio>
|
<el-radio label="81">小学</el-radio>
|
<el-radio label="71">初中</el-radio>
|
<el-radio label="61">高中</el-radio>
|
<el-radio label="42">中技</el-radio>
|
<el-radio label="41">中专</el-radio>
|
<el-radio label="31">大学专科</el-radio>
|
<el-radio label="21">大学本科</el-radio>
|
<el-radio label="11">硕士</el-radio>
|
<el-radio label="10">博士</el-radio>
|
</el-radio-group>
|
</td>
|
</tr>
|
<tr>
|
<td>政治面貌:</td>
|
<td>
|
<el-radio-group v-model="queryParams.politics">
|
<el-radio label="">全部</el-radio>
|
<el-radio label="01">中共党员</el-radio>
|
<el-radio label="02">预备党员</el-radio>
|
<el-radio label="03">共青团员</el-radio>
|
<el-radio label="04">民革会员</el-radio>
|
<el-radio label="05">民盟盟员</el-radio>
|
<el-radio label="06">民建会员</el-radio>
|
<el-radio label="07">民进会员</el-radio>
|
<el-radio label="08">农工党员</el-radio>
|
<el-radio label="09">致公党员</el-radio>
|
<el-radio label="10">九三社员</el-radio>
|
<el-radio label="11">台盟盟员</el-radio>
|
<el-radio label="12">民主人士</el-radio>
|
<el-radio label="13">群众</el-radio>
|
</el-radio-group>
|
</td>
|
</tr>
|
<tr>
|
<td>年龄:</td>
|
<td>
|
<el-radio-group v-model="queryParams.ageStr">
|
<el-radio label="">全部</el-radio>
|
<el-radio label="18-29">18-29</el-radio>
|
<el-radio label="30-39">30-39</el-radio>
|
<el-radio label="40-49">40-49</el-radio>
|
<el-radio label="50-59">50-59</el-radio>
|
<el-radio label="60-69">60-69</el-radio>
|
<el-radio label="69-999">69及以上</el-radio>
|
</el-radio-group>
|
</td>
|
</tr>
|
<tr>
|
<td>档案情况:</td>
|
<td>
|
<el-radio-group v-model="queryParams.archivesStatus">
|
<el-radio label="">全部</el-radio>
|
<el-radio label="0">已移交</el-radio>
|
<el-radio label="1">未移交</el-radio>
|
</el-radio-group>
|
</td>
|
</tr>
|
<tr>
|
<td>保险类型:</td>
|
<td>
|
<el-radio-group v-model="queryParams.insuranceType">
|
<el-radio label="">全部</el-radio>
|
<el-radio :label="1">深户(五险一档)</el-radio>
|
<el-radio :label="2">非深户(五险一档)</el-radio>
|
<el-radio :label="3">非深户(五险二档)</el-radio>
|
<el-radio :label="4">非深户(五险三档)</el-radio>
|
<el-radio :label="5">非深户(四险三档)</el-radio>
|
</el-radio-group>
|
</td>
|
</tr>
|
<tr>
|
<td>员工状态:</td>
|
<td>
|
<el-radio-group v-model="queryParams.empStatus">
|
<el-radio label="">全部</el-radio>
|
<el-radio :label="1">在职</el-radio>
|
<el-radio :label="2">正常离职</el-radio>
|
<el-radio :label="3">自动离职</el-radio>
|
<el-radio :label="4">公司辞退</el-radio>
|
</el-radio-group>
|
</td>
|
</tr>
|
<tr>
|
<td>员工手册:</td>
|
<td>
|
<el-radio-group v-model="queryParams.handbookStatus">
|
<el-radio label="3">全部</el-radio>
|
<el-radio :label="0">未发</el-radio>
|
<el-radio :label="9">已发</el-radio>
|
</el-radio-group>
|
</td>
|
</tr>
|
<tr>
|
<td>工作证:</td>
|
<td>
|
<el-radio-group v-model="queryParams.empCardStatus">
|
<el-radio label="">全部</el-radio>
|
<el-radio :label="0">未发</el-radio>
|
<el-radio :label="1">已发</el-radio>
|
</el-radio-group>
|
</td>
|
</tr>
|
</table>
|
</el-col>
|
</el-row>
|
</div>
|
</el-header>
|
<el-main style="height: 85%;">
|
<el-row>
|
<el-col :span="24">
|
<el-button type="danger" @click="showXzyg(0)">新增员工</el-button>
|
<el-button type="primary" @click="delEmp">删除员工</el-button>
|
<el-button type="danger" @click="showYgdg(0)">员工调岗</el-button>
|
<el-button type="danger" @click="showDryg(0)">导入员工</el-button>
|
<el-button type="danger" @click="showDcyg(0)">导出员工</el-button>
|
<el-button type="danger" @click="doDcda">导出档案</el-button>
|
<el-button type="danger" @click="showGbda(0)">关闭档案</el-button>
|
</el-col>
|
</el-row>
|
<el-table ref="multipleTable" :data="tableData" style="width: 100%;">
|
<el-table-column type="selection" width="55" />
|
<el-table-column label="操作" width="100">
|
<template slot-scope="scope">
|
<el-button type="text" size="small" @click="editEmpBase(scope.row)">编辑
|
</el-button>
|
</template>
|
</el-table-column>
|
<el-table-column prop="empNumb" label="员工编号" width="100" />
|
<el-table-column prop="deptName" label="护卫点" width="100" />
|
<el-table-column prop="jobName" label="岗位" width="100" />
|
<el-table-column prop="empName" label="姓名" width="100" />
|
<el-table-column prop="certificateNumb" label="身份证号码" width="180" />
|
<el-table-column prop="sexName" label="性别" width="50" />
|
<el-table-column prop="age" label="年龄" />
|
<el-table-column prop="educationName" label="最高学历" width="100" />
|
<el-table-column prop="nativePlaceName" label="籍贯" />
|
<el-table-column prop="telePhone" label="联系电话" />
|
<el-table-column prop="entryDate" label="入职日期" width="100" />
|
<el-table-column prop="delFlag" label="员工状态">
|
<template slot-scope="{row}">
|
{{ transDelFlag(row.delFlag) }}
|
</template>
|
</el-table-column>
|
</el-table>
|
<pagination
|
v-show="total>0"
|
:total="total"
|
:page.sync="pagination.num"
|
:limit.sync="pagination.size"
|
@pagination="search"
|
/>
|
</el-main>
|
</el-container>
|
<el-dialog title="新增员工" :visible.sync="dialogShowXzyg" width="50%">
|
<el-form
|
ref="empBaseInfoForm"
|
:model="empBaseInfoForm"
|
:rules="empBaseInfoRules"
|
label-position="right"
|
label-width="120px"
|
>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="档案号" prop="archivesNumb">
|
<el-input v-model="empBaseInfoForm.archivesNumb" />
|
</el-form-item>
|
<el-form-item label="员工编号" prop="empNumb">
|
<el-input v-model="empBaseInfoForm.empNumb" />
|
</el-form-item>
|
<el-form-item label="身份证号码" prop="certificateNumb">
|
<el-input
|
v-model="empBaseInfoForm.certificateNumb"
|
@input="generateUserInfo(0,empBaseInfoForm.certificateNumb)"
|
/>
|
</el-form-item>
|
<el-form-item label="员工类别" prop="empType">
|
<el-select v-model="empBaseInfoForm.empType" placeholder="请选择员工类型">
|
<el-option label="正式工" value="1" />
|
<el-option label="临时工" value="2" />
|
</el-select>
|
</el-form-item>
|
<el-form-item label="民族" prop="nation">
|
<el-select v-model="empBaseInfoForm.nation" placeholder="请选择民族">
|
<el-option label="汉族" value="01" />
|
<el-option label="蒙古族" value="02" />
|
<el-option label="回族" value="03" />
|
<el-option label="藏族" value="04" />
|
<el-option label="维吾尔族" value="05" />
|
<el-option label="苗族" value="06" />
|
<el-option label="彝族" value="07" />
|
<el-option label="壮族" value="08" />
|
<el-option label="布衣族" value="09" />
|
<el-option label="朝鲜族" value="10" />
|
<el-option label="满族" value="11" />
|
<el-option label="侗族" value="12" />
|
<el-option label="瑶族" value="13" />
|
<el-option label="白族" value="14" />
|
<el-option label="土家族" value="15" />
|
<el-option label="哈尼族" value="16" />
|
<el-option label="哈萨克族" value="17" />
|
<el-option label="傣族" value="18" />
|
<el-option label="黎族" value="19" />
|
<el-option label="傈傈族" value="20" />
|
<el-option label="瓦族" value="21" />
|
<el-option label="畲族" value="22" />
|
<el-option label="高山族" value="23" />
|
<el-option label="拉祜族" value="24" />
|
<el-option label="水族" value="25" />
|
<el-option label="东乡族" value="26" />
|
<el-option label="纳西族" value="27" />
|
<el-option label="景颇族" value="28" />
|
<el-option label="柯尔克孜族" value="29" />
|
<el-option label="土族" value="30" />
|
<el-option label="达斡尔族" value="31" />
|
<el-option label="仫佬族" value="32" />
|
<el-option label="羌族" value="33" />
|
<el-option label="布朗族" value="34" />
|
<el-option label="撒拉族" value="35" />
|
<el-option label="毛难族" value="36" />
|
<el-option label="仡佬族" value="37" />
|
<el-option label="锡伯族" value="38" />
|
<el-option label="阿昌族" value="39" />
|
<el-option label="普米族" value="40" />
|
<el-option label="塔吉克族" value="41" />
|
<el-option label="怒族" value="42" />
|
<el-option label="乌孜别克族" value="43" />
|
<el-option label="俄罗斯族" value="44" />
|
<el-option label="鄂温克族" value="45" />
|
<el-option label="崩龙族" value="46" />
|
<el-option label="保安族" value="47" />
|
<el-option label="裕固族" value="48" />
|
<el-option label="京族" value="49" />
|
<el-option label="塔塔尔族" value="50" />
|
<el-option label="独龙族" value="51" />
|
<el-option label="鄂伦春" value="52" />
|
<el-option label="郝哲族" value="53" />
|
<el-option label="门巴族" value="54" />
|
<el-option label="珞巴族" value="55" />
|
<el-option label="基诺族" value="56" />
|
<el-option label="其他族" value="91" />
|
<el-option label="外国民族" value="98" />
|
</el-select>
|
</el-form-item>
|
<el-form-item label="婚姻状态" prop="marriage">
|
<el-select v-model="empBaseInfoForm.marriage" placeholder="请选择婚姻状态">
|
<el-option label="未婚" value="1" />
|
<el-option label="已婚" value="2" />
|
<el-option label="丧偶" value="3" />
|
<el-option label="离婚" value="4" />
|
<el-option label="再婚" value="5" />
|
<el-option label="其它" value="9" />
|
</el-select>
|
</el-form-item>
|
<el-form-item label="身高(cm)" prop="stature">
|
<el-input v-model="empBaseInfoForm.stature" />
|
</el-form-item>
|
<el-form-item label="政治面貌" prop="politics">
|
<el-select v-model="empBaseInfoForm.politics" placeholder="请选择政治面貌">
|
<el-option label="中共党员" value="01" />
|
<el-option label="预备党员" value="02" />
|
<el-option label="共青团员" value="03" />
|
<el-option label="民革会员" value="04" />
|
<el-option label="民盟盟员" value="05" />
|
<el-option label="民建会员" value="06" />
|
<el-option label="民进会员" value="07" />
|
<el-option label="农工党员" value="08" />
|
<el-option label="致公党员" value="09" />
|
<el-option label="九三社员" value="10" />
|
<el-option label="台盟盟员" value="11" />
|
<el-option label="民主人士" value="12" />
|
<el-option label="群众" value="13" />
|
</el-select>
|
</el-form-item>
|
<el-form-item label="最高学历" prop="education">
|
<el-select v-model="empBaseInfoForm.education" placeholder="请选择最高学历">
|
<el-option label="博士" value="10" />
|
<el-option label="硕士" value="11" />
|
<el-option label="大学本科" value="21" />
|
<el-option label="大学专科" value="31" />
|
<el-option label="中专" value="41" />
|
<el-option label="中技" value="42" />
|
<el-option label="高中" value="61" />
|
<el-option label="初中" value="71" />
|
<el-option label="小学" value="81" />
|
<el-option label="无学历" value="91" />
|
</el-select>
|
</el-form-item>
|
<el-form-item label="籍贯" prop="nativePlaceName">
|
<el-autocomplete
|
v-model="empBaseInfoForm.nativePlaceName"
|
class="inline-input"
|
:fetch-suggestions="querySearch"
|
placeholder="请选择籍贯"
|
@select="placeNameSelect"
|
/>
|
</el-form-item>
|
<el-form-item label="现住址" prop="currentAddress">
|
<el-input v-model="empBaseInfoForm.currentAddress" />
|
</el-form-item>
|
<el-form-item label="电话号码" prop="telePhone">
|
<el-input v-model="empBaseInfoForm.telePhone" />
|
</el-form-item>
|
<el-form-item label="招聘介绍人" prop="introducer">
|
<el-input v-model="empBaseInfoForm.introducer" />
|
</el-form-item>
|
<el-form-item label="银行名称" prop="bankName">
|
<el-input v-model="empBaseInfoForm.bankName" />
|
</el-form-item>
|
<el-form-item label="保险类型" prop="insuranceType">
|
<el-select v-model="empBaseInfoForm.insuranceType" placeholder="请选择保险类型">
|
<el-option label="(深户)五险一档" value="1" />
|
<el-option label="(非深户)五险一档" value="2" />
|
<el-option label="(非深户)五险二档" value="3" />
|
<el-option label="(非深户)五险三档" value="4" />
|
<el-option label="(非深户)四险一档" value="5" />
|
</el-select>
|
</el-form-item>
|
<el-form-item label="家庭成员及关系" prop="family">
|
<el-input v-model="empBaseInfoForm.family" />
|
</el-form-item>
|
<el-form-item label="紧急联系电话" prop="urgencyPhone">
|
<el-input v-model="empBaseInfoForm.urgencyPhone" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="姓名" prop="empName">
|
<el-input v-model="empBaseInfoForm.empName" />
|
</el-form-item>
|
<el-form-item label="部门(护卫点)" required message="请选择护卫点" prop="deptId">
|
<treeselect
|
v-model="empBaseInfoForm.deptId"
|
:multiple="false"
|
:options="depts"
|
:clear-value-text="$t('common.clear')"
|
placeholder="请选择部门(护卫点)"
|
style="width:100%"
|
/>
|
</el-form-item>
|
<el-form-item label="岗位" prop="jobName">
|
<el-autocomplete
|
v-model="empBaseInfoForm.jobName"
|
class="inline-input"
|
:fetch-suggestions="querySearchJob"
|
placeholder="请输入岗位"
|
@select="jobNameSelect"
|
/>
|
</el-form-item>
|
<el-form-item label="性别" prop="sex">
|
<el-select v-model="empBaseInfoForm.sex" placeholder="请选择性别">
|
<el-option label="男" value="1" />
|
<el-option label="女" value="2" />
|
</el-select>
|
</el-form-item>
|
<el-form-item label="身份证有效期" prop="certificateValidity">
|
<el-date-picker
|
v-model="empBaseInfoForm.certificateValidity"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="选择日期"
|
/>
|
</el-form-item>
|
<el-form-item label="年龄" prop="age">
|
<el-input v-model="empBaseInfoForm.age" />
|
</el-form-item>
|
<el-form-item label="出生日期" prop="birthdate">
|
<el-date-picker
|
v-model="empBaseInfoForm.birthdate"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="选择日期"
|
/>
|
</el-form-item>
|
<el-form-item label="入职日期" prop="entryDate">
|
<el-date-picker
|
v-model="empBaseInfoForm.entryDate"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="选择日期"
|
@input="calculateSeniority"
|
/>
|
</el-form-item>
|
<el-form-item label="入司工龄" prop="seniority">
|
<el-input v-model="empBaseInfoForm.seniority" />
|
</el-form-item>
|
<el-form-item label="户籍地址" prop="censusAddress">
|
<el-input v-model="empBaseInfoForm.censusAddress" />
|
</el-form-item>
|
<el-form-item label="保安员证号" prop="guardNumb">
|
<el-input v-model="empBaseInfoForm.guardNumb" />
|
</el-form-item>
|
<el-form-item label="保安员回执" prop="returnReceipt">
|
<el-input v-model="empBaseInfoForm.returnReceipt" />
|
</el-form-item>
|
<el-form-item label="档案情况" prop="archivesStatus">
|
<el-select v-model="empBaseInfoForm.archivesStatus" placeholder="请选择档案情况">
|
<el-option label="未移交" value="0" />
|
<el-option label="已移交" value="1" />
|
</el-select>
|
</el-form-item>
|
<el-form-item label="银行账号" prop="bankNumb">
|
<el-input v-model="empBaseInfoForm.bankNumb" />
|
</el-form-item>
|
<el-form-item label="社保电脑号" prop="socialNumb">
|
<el-input v-model="empBaseInfoForm.socialNumb" />
|
</el-form-item>
|
<el-form-item label="员工手册">
|
<el-select v-model="empBaseInfoForm.handbookStatus" placeholder="请选择员工手册">
|
<el-option label="未发" value="0" />
|
<el-option label="已发" value="1" />
|
</el-select>
|
</el-form-item>
|
<el-form-item label="工作证" prop="empCardStatus">
|
<el-select v-model="empBaseInfoForm.empCardStatus" placeholder="请选择工作证">
|
<el-option label="未发" value="0" />
|
<el-option label="已发" value="1" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="24">
|
<el-form-item label="相关证件" prop="certificateList">
|
<el-select v-model="empBaseInfoForm.certificateList" placeholder="请选择相关证件">
|
<el-option label="高中毕业证" value="1" />
|
<el-option label="专科毕业证" value="2" />
|
<el-option label="本科毕业证" value="3" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="putEmpBase('empBaseInfoForm')">保 存</el-button>
|
<el-button type="primary" @click="putEmpBaseContinue('empBaseInfoForm')">保存并继续新增</el-button>
|
<el-button @click="showXzyg()">取 消</el-button>
|
</div>
|
</el-dialog>
|
<el-dialog id="ygxq" title="" width="100%" :visible.sync="dialogTableVisible">
|
<div>
|
<el-divider />
|
<el-container>
|
<el-aside width="200px">
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[0],0)">
|
员工编号
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[0],0)">
|
100452312
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[0],0)">
|
基本信息
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[1],1)">
|
工作信息
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[2],2)">
|
工作经历
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[3],3)">
|
体检信息
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[4],4)">
|
合同信息
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[5],5)">
|
考勤情况
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[6],6)">
|
请假记录
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[7],7)">
|
调岗记录
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[8],8)">
|
备注
|
</el-card>
|
<el-card class="info-card" shadow="always" @click.native="isShow(showArr[9],9)">
|
记录截图
|
</el-card>
|
</el-aside>
|
<el-main>
|
<table>
|
<tr>
|
<td colspan="5" class="tdTitle">基本信息</td>
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td>档案号</td>
|
<td>中保亚太</td>
|
<td>姓名</td>
|
<td>赵建国</td>
|
<td>性别</td>
|
<td>男</td>
|
</tr>
|
<tr>
|
<td>所属部门</td>
|
<td>一分公司</td>
|
<td>所属岗位</td>
|
<td>保安员</td>
|
<td>员工类别</td>
|
<td>正式工</td>
|
</tr>
|
<tr>
|
<td>民族</td>
|
<td>汉族</td>
|
<td>身份证号码</td>
|
<td>510304197402225813</td>
|
<td>年龄</td>
|
<td>46</td>
|
</tr>
|
<tr>
|
<td>婚姻状况</td>
|
<td>已婚</td>
|
<td>身份证有效期</td>
|
<td>10年</td>
|
<td>身高</td>
|
<td>170</td>
|
</tr>
|
<tr>
|
<td>政治面貌</td>
|
<td>群众</td>
|
<td>出生日期</td>
|
<td>1974-02-22</td>
|
<td>最高学历</td>
|
<td>高中</td>
|
</tr>
|
<tr>
|
<td>籍贯</td>
|
<td>广东省番禺市</td>
|
<td>户籍地址</td>
|
<td>广东省番禺市XXX镇XXX村XXX号</td>
|
<td>现住址</td>
|
<td>广东省番禺市XXX镇XXX村XXX号</td>
|
</tr>
|
<tr>
|
<td>保安员证号</td>
|
<td />
|
<td>保安员回执</td>
|
<td />
|
<td>档案情况</td>
|
<td>已移交</td>
|
</tr>
|
<tr>
|
<td>银行名称</td>
|
<td />
|
<td>银行账号</td>
|
<td />
|
<td>电话号码</td>
|
<td>138098097888</td>
|
</tr>
|
<tr>
|
<td>入职日期</td>
|
<td>2020-01-02</td>
|
<td>保险类型</td>
|
<td>深户(五险一档)</td>
|
<td>社保电脑号</td>
|
<td />
|
</tr>
|
<tr>
|
<td>招聘介绍人</td>
|
<td />
|
<td>入司工龄</td>
|
<td>1</td>
|
<td>工作证</td>
|
<td>已发</td>
|
</tr>
|
<tr>
|
<td>家庭成员及关系</td>
|
<td />
|
<td>紧急联系电话</td>
|
<td />
|
<td>员工手册</td>
|
<td>已发</td>
|
</tr>
|
<tr>
|
<td>相关证件</td>
|
<td colspan="5">本科毕业证、保安员证、退伍证、军官证</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="4" class="tdTitle">工作经历</td>
|
<td class="link_button">新增工作经历</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>开始日期</td>
|
<td>结束日期</td>
|
<td>工作单位</td>
|
<td>主要工作内容</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2020-01-02</td>
|
<td>2021-01-02</td>
|
<td>XXXX用品公司</td>
|
<td>主要工作内容描述</td>
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2015-02-03</td>
|
<td>2019-02-03</td>
|
<td>深圳XXX机械制造厂</td>
|
<td>主要工作内容描述</td>
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="9">体检信息</td>
|
<td class="link_button">新增体检信息</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>体检医院</td>
|
<td>体检日期</td>
|
<td>体检类型</td>
|
<td>血压</td>
|
<td>转氨酶</td>
|
<td>心电图</td>
|
<td>体检结论</td>
|
<td>复查记录</td>
|
<td>备注</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>深圳人民医院</td>
|
<td>2020-01-02</td>
|
<td>入职体检</td>
|
<td>120/80</td>
|
<td>80</td>
|
<td>异常</td>
|
<td>窦性心动过缓,出现不规则图像,建议复查</td>
|
<td>2020-01-08</td>
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>深圳人民医院</td>
|
<td>2019-02-03</td>
|
<td>员工体检</td>
|
<td>120/80</td>
|
<td>80</td>
|
<td>正常</td>
|
<td>血压偏高</td>
|
<td>2019-02-05</td>
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="6">合同信息</td>
|
<td class="link_button">新增合同信息</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>合同开始日期</td>
|
<td>合同结束日期</td>
|
<td>合同期限(年)</td>
|
<td>合同状态</td>
|
<td>合同办理人</td>
|
<td>备注</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2020-01-02</td>
|
<td>2023-01-02</td>
|
<td>3</td>
|
<td>有效</td>
|
<td>张力</td>
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2017-01-03</td>
|
<td>2020-01-02</td>
|
<td>3</td>
|
<td>续签</td>
|
<td>张力</td>
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="8" class="tdTitle">调岗记录</td>
|
</tr>
|
<tr>
|
<td>序号</td>
|
<td>调岗日期</td>
|
<td>类型</td>
|
<td>原部门</td>
|
<td>原岗位</td>
|
<td>现部门</td>
|
<td>现岗位</td>
|
<td>理由描述</td>
|
</tr>
|
<tr>
|
<td>1</td>
|
<td>2020-01-02</td>
|
<td>升职</td>
|
<td>十二分公司</td>
|
<td>保安员</td>
|
<td>十二分公司</td>
|
<td>组长</td>
|
<td />
|
</tr>
|
<tr>
|
<td>2</td>
|
<td>2019-02-03</td>
|
<td>调动</td>
|
<td>清洗车间</td>
|
<td>保安员</td>
|
<td>十二分公司</td>
|
<td>保安员</td>
|
<td />
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="7" class="tdTitle">请假记录</td>
|
<td class="link_button">新增请假记录</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>开始日期</td>
|
<td>结束日期</td>
|
<td>请假天数</td>
|
<td>请假类型</td>
|
<td>到岗时间</td>
|
<td>报备人</td>
|
<td>备注</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2020-01-02</td>
|
<td>2023-01-02</td>
|
<td>3</td>
|
<td />
|
<td />
|
<td>张力</td>
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2017-01-03</td>
|
<td>2020-01-02</td>
|
<td>3</td>
|
<td />
|
<td />
|
<td>张力</td>
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="8" class="tdTitle">离职当月考勤</td>
|
<td class="link_button">新增离职考勤</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>考勤年月</td>
|
<td>出勤天数</td>
|
<td>加班(天)</td>
|
<td>加班(小时)</td>
|
<td>有无代扣款项</td>
|
<td>请假(天)</td>
|
<td>旷工(天)</td>
|
<td>备注</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2020年12月</td>
|
<td />
|
<td>3</td>
|
<td />
|
<td />
|
<td>1</td>
|
<td>0</td>
|
<td>考勤信息描述</td>
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2020年10月</td>
|
<td />
|
<td>2</td>
|
<td />
|
<td />
|
<td>0</td>
|
<td>3</td>
|
<td>考勤信息描述</td>
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2020年11月</td>
|
<td />
|
<td>0</td>
|
<td />
|
<td />
|
<td>0</td>
|
<td>0</td>
|
<td>考勤信息描述</td>
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="4" class="tdTitle">辞职申请</td>
|
<td class="link_button">新增辞职申请</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>申请日期</td>
|
<td>事由</td>
|
<td>汇报人</td>
|
<td>备注</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2020-01-02</td>
|
<td />
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2019-02-03</td>
|
<td>家里XXXX有事情需要处理,个人原因申请离职</td>
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="7" class="tdTitle">入离职记录</td>
|
</tr>
|
<tr>
|
<td>序号</td>
|
<td>入职日期</td>
|
<td>离职日期</td>
|
<td>离职类型</td>
|
<td>自离天数</td>
|
<td>报告人</td>
|
<td>备注(入离职原因)</td>
|
</tr>
|
<tr>
|
<td>1</td>
|
<td>2020-01-02</td>
|
<td>2020-10-11</td>
|
<td>自离</td>
|
<td />
|
<td />
|
<td />
|
</tr>
|
<tr>
|
<td>2</td>
|
<td>2019-02-03</td>
|
<td>2019-10-11</td>
|
<td>辞职</td>
|
<td />
|
<td />
|
<td>家里XXXX有事情需要处理,个人原因申请离职</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="5" class="tdTitle">失业金领取</td>
|
<td class="link_button">新增失业金领取</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td>序号</td>
|
<td>申请日期</td>
|
<td>申报事由</td>
|
<td>报备人</td>
|
<td>审核人</td>
|
<td>备注</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td>1</td>
|
<td>2020-01-02</td>
|
<td />
|
<td />
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td>2</td>
|
<td>2019-02-03</td>
|
<td />
|
<td />
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="7" class="tdTitle">社保申请</td>
|
<td class="link_button">新增社保申请</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>申请时间</td>
|
<td>申请人</td>
|
<td>社保档位</td>
|
<td>是否已报告</td>
|
<td>状态</td>
|
<td>审批人</td>
|
<td>备注</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2020-01-02</td>
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2019-02-03</td>
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="17" class="tdTitle">工伤案件</td>
|
<td class="link_button">新增工伤案件</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>受伤时间</td>
|
<td>受伤地点</td>
|
<td>受伤部位</td>
|
<td>受伤描述</td>
|
<td>工伤诊断</td>
|
<td>就诊医院</td>
|
<td>就诊科室</td>
|
<td>是否住院</td>
|
<td>床号</td>
|
<td>递交资料时间</td>
|
<td>递交人</td>
|
<td>工伤总费用</td>
|
<td>赔付总费用</td>
|
<td>报单号</td>
|
<td>人事处理时间</td>
|
<td>状态</td>
|
<td>案结时间</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2020-01-02</td>
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td>是</td>
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2019-02-03</td>
|
<td />
|
<td />
|
<td>家里XXXX有事情需要处理,个人原因申请离职</td>
|
<td />
|
<td />
|
<td />
|
<td>是</td>
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="8" class="tdTitle">劳资案件</td>
|
<td class="link_button">新增劳资案件</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>仲裁日期</td>
|
<td>仲裁类型</td>
|
<td>仲裁事由</td>
|
<td>汇报人</td>
|
<td>备注</td>
|
<td>仲裁赔付(元)</td>
|
<td>状态</td>
|
<td>案结日期</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2020-01-02</td>
|
<td>劳资纠纷</td>
|
<td>仲裁事由描述XXXXX</td>
|
<td>张山</td>
|
<td />
|
<td>2500.00</td>
|
<td>已结案</td>
|
<td>2021-01-16</td>
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>2019-02-03</td>
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<table>
|
<tr>
|
<td colspan="2" class="tdTitle">备注</td>
|
<td class="link_button">新增备注</td>
|
<td class="del_button">删除</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td>备注日期</td>
|
<td>备注</td>
|
<td>操作</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
<tr>
|
<td><input type="checkbox"></td>
|
<td />
|
<td />
|
<td class="link_button">编辑</td>
|
</tr>
|
</table>
|
<div class="tdTitle">记录截图 点击可查看大图</div>
|
<div>
|
<img style="width: 119px;height: 136px;" src="../../../images/u3112.png">x
|
<img style="width: 119px;height: 136px;" src="../../../images/u3112.png">x
|
<img style="width: 119px;height: 136px;" src="../../../images/u3112.png">x
|
<img style="width: 119px;height: 136px;" src="../../../images/sctp.png">
|
</div>
|
<div class="tdTitle">相关附件</div>
|
<div>
|
<img style="width: 119px;height: 136px;" src="../../../images/u2637.png">照片.jpgx
|
<img style="width: 119px;height: 136px;" src="../../../images/u2775.png">学历证书.jpgx
|
<img style="width: 119px;height: 136px;" src="../../../images/u2777.png">保安证.jpgx
|
</div>
|
</el-main>
|
</el-container>
|
</div>
|
</el-dialog>
|
<el-dialog title="员工调岗" :visible.sync="dialogShowYgdg" width="50%">
|
<el-form ref="ygdgForm" :model="ygdgForm" :rules="ygdgRules" label-position="right" label-width="120px">
|
<el-row>
|
<el-col span="24">
|
<el-form-item label="调岗人员">
|
<input v-model="ygdgForm.empIds" type="hidden">
|
<el-input v-model="ygdgForm.empNames" type="textarea" />
|
</el-form-item>
|
<el-form-item label="现部门(护卫点)" required message="请选择护卫点" prop="deptId">
|
<treeselect
|
v-model="ygdgForm.deptId"
|
:multiple="false"
|
:options="depts"
|
:clear-value-text="$t('common.clear')"
|
placeholder="请选择部门(护卫点)"
|
style="width:100%"
|
@select="deptNameSelect"
|
/>
|
</el-form-item>
|
<el-form-item label="现岗位" prop="jobId">
|
<el-autocomplete
|
v-model="ygdgForm.newJobName"
|
class="inline-input"
|
:fetch-suggestions="querySearchJob"
|
placeholder="请输入岗位"
|
@select="jobNameSelect"
|
/>
|
</el-form-item>
|
<el-form-item label="调岗类型" prop="changeType">
|
<el-select v-model="ygdgForm.changeType" placeholder="请选择">
|
<el-option label="升职" value="2" />
|
<el-option label="调动" value="3" />
|
</el-select>
|
</el-form-item>
|
<el-form-item label="调岗日期" prop="changeDate">
|
<el-date-picker
|
v-model="ygdgForm.changeDate"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="选择日期"
|
/>
|
</el-form-item>
|
<el-form-item label="理由描述" prop="changeReason">
|
<el-input v-model="ygdgForm.changeReason" type="textarea" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="showYgdg(1,'')">取 消</el-button>
|
<el-button type="primary" @click="showYgdg(2,'ygdgForm')">确 定</el-button>
|
</div>
|
</el-dialog>
|
<el-dialog title="导入员工信息" :visible.sync="dialogShowDryg" width="50%">
|
<el-form :model="baseicInformationForm" label-position="right" label-width="120px">
|
<el-row>
|
<el-col span="24">
|
<el-form-item label="员工模板下载" prop="region">
|
<a href="/员工信息.xls" target="_blank" style="color: #3A8EE6;">员工信息.xlxs</a>
|
<span style="margin-left: 100px;">点击下载</span>
|
</el-form-item>
|
<el-form-item label="导入员工">
|
<el-upload
|
ref="upload"
|
class="upload-demo"
|
action="hr/empBaseInfo/importEmp"
|
accept=".xls, .xlsx, .excel"
|
:headers="headers()"
|
:file-list="fileList"
|
:auto-upload="false"
|
>
|
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
|
</el-upload>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="showDryg(1)">取 消</el-button>
|
<el-button type="primary" @click="showDryg(2)">确 定</el-button>
|
</div>
|
</el-dialog>
|
<el-dialog title="关闭档案" :visible.sync="dialogShowGbda" width="50%">
|
<el-form ref="gbdaForm" :model="gbdaForm" :rules="gbdaRules" label-position="right" label-width="120px">
|
<el-row>
|
<el-col span="24">
|
<el-form-item label="离职类型" prop="dimissionType">
|
<el-radio-group v-model="gbdaForm.dimissionType">
|
<el-radio :label="1">正常离职</el-radio>
|
<el-radio :label="2">自动离职</el-radio>
|
<el-radio :label="3">公司劝退</el-radio>
|
<el-radio :label="4">公司辞退</el-radio>
|
<el-radio :label="5">试用期内</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col span="12">
|
<el-form-item label="自离天数" prop="selfLeaveDay">
|
<el-input v-model="gbdaForm.selfLeaveDay" onkeyup="value=value.replace(/[^0-9.]/g,'')" />
|
</el-form-item>
|
</el-col>
|
<el-col span="12">
|
<el-form-item label="报告人" prop="reporter">
|
<el-input v-model="gbdaForm.reporter" />
|
</el-form-item>
|
</el-col>
|
<el-col span="24">
|
<el-form-item label="关闭日期" prop="dimissionDate">
|
<el-date-picker
|
v-model="gbdaForm.dimissionDate"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="选择日期"
|
/>
|
</el-form-item>
|
<el-form-item label="备注说明" prop="remark">
|
<el-input v-model="gbdaForm.remark" type="textarea" :rows="4" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="showGbda(1,'')">取 消</el-button>
|
<el-button type="primary" @click="showGbda(2,'gbdaForm')">确 定</el-button>
|
</div>
|
</el-dialog>
|
<el-dialog title="导出员工 请勾选需要导出的字段" :visible.sync="dialogShowDcyg" width="40%">
|
<table id="dcygTable" width="100%">
|
<tr>
|
<td colspan="6" style="text-align: left;">
|
<el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange" />
|
全部字段
|
</td>
|
</tr>
|
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
|
<tr>
|
<td>档案号</td>
|
<td>
|
<el-checkbox label="archivesNumb"><span /></el-checkbox>
|
</td>
|
<td>姓名</td>
|
<td>
|
<el-checkbox label="empName"><span /></el-checkbox>
|
</td>
|
<td>性别</td>
|
<td>
|
<el-checkbox label="sex"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>部门(护卫点)</td>
|
<td>
|
<el-checkbox label="deptName"><span /></el-checkbox>
|
</td>
|
<td>所属岗位</td>
|
<td>
|
<el-checkbox label="jobName"><span /></el-checkbox>
|
</td>
|
<td>员工类别</td>
|
<td>
|
<el-checkbox label="empType"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>民族</td>
|
<td>
|
<el-checkbox label="nation"><span /></el-checkbox>
|
</td>
|
<td>身份证号码</td>
|
<td>
|
<el-checkbox label="certificateNumb"><span /></el-checkbox>
|
</td>
|
<td>年龄</td>
|
<td>
|
<el-checkbox label="age"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>婚姻状况</td>
|
<td>
|
<el-checkbox label="marriage"><span /></el-checkbox>
|
</td>
|
<td>身份证有效期</td>
|
<td>
|
<el-checkbox label="certificateValidity"><span /></el-checkbox>
|
</td>
|
<td>身高</td>
|
<td>
|
<el-checkbox label="stature"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>政治面貌</td>
|
<td>
|
<el-checkbox label="politics"><span /></el-checkbox>
|
</td>
|
<td>出生日期</td>
|
<td>
|
<el-checkbox label="birthdate"><span /></el-checkbox>
|
</td>
|
<td>最高学历</td>
|
<td>
|
<el-checkbox label="education"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>籍贯</td>
|
<td>
|
<el-checkbox label="nativePlace"><span /></el-checkbox>
|
</td>
|
<td>户籍地址</td>
|
<td>
|
<el-checkbox label="censusAddress"><span /></el-checkbox>
|
</td>
|
<td>现住址</td>
|
<td>
|
<el-checkbox label="currentAddress"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>保安员证号</td>
|
<td>
|
<el-checkbox label="guardNumb"><span /></el-checkbox>
|
</td>
|
<td>保安员回执</td>
|
<td>
|
<el-checkbox label="returnReceipt"><span /></el-checkbox>
|
</td>
|
<td>档案情况</td>
|
<td>
|
<el-checkbox label="archivesStatus"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>银行名称</td>
|
<td>
|
<el-checkbox label="bankName"><span /></el-checkbox>
|
</td>
|
<td>银行账号</td>
|
<td>
|
<el-checkbox label="bankNumb"><span /></el-checkbox>
|
</td>
|
<td>电话号码</td>
|
<td>
|
<el-checkbox label="telePhone"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>入职日期</td>
|
<td>
|
<el-checkbox label="entryDate"><span /></el-checkbox>
|
</td>
|
<td>保险类型</td>
|
<td>
|
<el-checkbox label="insuranceType"><span /></el-checkbox>
|
</td>
|
<td>社保电脑号</td>
|
<td>
|
<el-checkbox label="socialNumb"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>招聘介绍人</td>
|
<td>
|
<el-checkbox label="introducer"><span /></el-checkbox>
|
</td>
|
<td>入司工龄</td>
|
<td>
|
<el-checkbox label="seniority"><span /></el-checkbox>
|
</td>
|
<td>工作证</td>
|
<td>
|
<el-checkbox label="empCardStatus"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>相关证件</td>
|
<td>
|
<el-checkbox label="certificateList"><span /></el-checkbox>
|
</td>
|
<td>紧急联系电话</td>
|
<td>
|
<el-checkbox label="urgencyPhone"><span /></el-checkbox>
|
</td>
|
<td>员工手册</td>
|
<td>
|
<el-checkbox label="handbookStatus"><span /></el-checkbox>
|
</td>
|
</tr>
|
<tr>
|
<td>家庭成员及关系</td>
|
<td>
|
<el-checkbox label="family"><span /></el-checkbox>
|
</td>
|
<td />
|
<td />
|
<td />
|
<td />
|
</tr>
|
</el-checkbox-group>
|
</table>
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="showDcyg(1)">取 消</el-button>
|
<el-button type="primary" @click="showDcyg(2)">确 定</el-button>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
<script>
|
import { getToken } from '@/utils/auth'
|
import Pagination from '@/components/Pagination'
|
import Treeselect from '@riophae/vue-treeselect'
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
import { calculateSeniority, toCardGetUserInfo } from '@/utils/myUtil'
|
|
export default {
|
components: {
|
Pagination, Treeselect
|
},
|
data() {
|
return {
|
total: 0, // 总数量
|
queryParams: {
|
empNumb: ''
|
}, // 查询参数
|
sort: {}, // 排序
|
pagination: { // 分页参数
|
size: 20,
|
num: 1
|
},
|
empBaseInfoForm: {
|
empId: '',
|
customerId: '',
|
archivesNumb: '',
|
deptId: '',
|
deptName: '',
|
empNumb: '',
|
empName: '',
|
sex: '1',
|
JobId: '',
|
jobName: '',
|
empType: '1',
|
certificateType: '',
|
certificateNumb: '',
|
nation: '01',
|
certificateValidity: '',
|
marriage: '1',
|
age: '',
|
stature: '',
|
birthdate: '',
|
politics: '13',
|
entryDate: '',
|
education: '61',
|
seniority: '',
|
nativePlace: '',
|
nativePlaceName: '',
|
censusAddress: '',
|
currentAddress: '',
|
guardNumb: '',
|
telePhone: '',
|
returnReceipt: '',
|
introducer: '',
|
archivesStatus: '0',
|
bankName: '',
|
bankNumb: '',
|
InsuranceType: '',
|
socialNumb: '',
|
family: '',
|
handbookStatus: '0',
|
urgencyPhone: '',
|
empCardStatus: '0',
|
certificateList: '',
|
createTime: '',
|
creator: '',
|
modifyTime: '',
|
modifier: '',
|
delFlag: '0',
|
empStatus: 0,
|
version: ''
|
},
|
ygdgForm: {},
|
gbdaForm: {
|
dgryIds: '',
|
dimissionType: '1',
|
dimissionDate: new Date(),
|
remark: ''
|
},
|
depts: [],
|
fileList: [],
|
empBaseInfoRules: {
|
archivesNumb: [{ required: true, message: '请输入档案号', trigger: 'blur' }, {
|
max: 20,
|
message: this.$t('rules.noMoreThan20'),
|
trigger: 'blur'
|
}],
|
empName: [{ required: true, message: '请输入员工姓名', trigger: 'blur' },
|
{ min: 2, max: 32, message: '长度不超过32个字符', trigger: 'blur' }],
|
empNumb: [{ required: true, message: '请输入员工编号', trigger: 'blur' },
|
{ min: 2, max: 20, message: this.$t('rules.noMoreThan20'), trigger: 'blur' }],
|
deptName: [
|
{ required: true, message: '请选择护卫点', trigger: 'input' }
|
],
|
certificateNumb: [{ required: true, message: '请输入身份证号', trigger: 'blur' }, {
|
min: 15,
|
max: 18,
|
message: '身份证长度为15-18位',
|
trigger: 'blur'
|
}],
|
jobName: [{ required: true, message: '请选择岗位', trigger: 'change' }],
|
nativePlaceName: [{ required: true, message: '请选择籍贯', trigger: 'change' }],
|
bankName: [{ required: true, message: '请输入银行名称', trigger: 'blur' }, {
|
max: 36,
|
message: '长度不超过36个字符',
|
trigger: 'blur'
|
}],
|
insuranceType: [{ required: true, message: '请选择保险类型', trigger: 'change' }],
|
entryDate: [{ required: true, message: '请选择入职日期', trigger: 'change' }],
|
seniority: [{ required: true, message: '请输入入司工龄', trigger: 'blur' }],
|
archivesStatus: [{ required: true, message: '请选择档案情况', trigger: 'change' }],
|
bankNumb: [{ required: true, message: '请输入银行账号', trigger: 'blur' }, {
|
max: 32,
|
message: '长度不超过32个字符',
|
trigger: 'blur'
|
}],
|
empType: [{ required: true, message: '请选择员工类型', trigger: 'change' }],
|
censusAddress: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }],
|
currentAddress: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }],
|
guardNumb: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
|
telePhone: [{ max: 30, message: '长度不超过30个字符', trigger: 'blur' }],
|
returnReceipt: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
|
introducer: [{ max: 32, message: '长度不超过32个字符', trigger: 'blur' }],
|
socialNumb: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }],
|
family: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }],
|
certificateValidity: [{ required: true, message: '请选择身份证有效期', trigger: 'change' }],
|
urgencyPhone: [{ max: 30, message: '长度不超过30个字符', trigger: 'blur' }]
|
},
|
gbdaRules: {
|
dimissionType: [{ required: true, message: '请选择离职类型', trigger: 'change' }],
|
dimissionDate: [{ required: true, message: '请选择关闭日期', trigger: 'change' }],
|
selfLeaveDay: [{ required: true, validator: this.validSelfLeaveDay }],
|
reporter: [{ required: true, validator: this.validReporter }],
|
remark: [{ max: 500, message: '长度不超过500个字符', trigger: 'blur' }]
|
},
|
ygdgRules: {
|
changeType: [{ required: true, message: '请选择调岗类型', trigger: 'change' }],
|
changeDate: [{ required: true, message: '请选择调岗日期', trigger: 'change' }],
|
jobId: [{ required: true, message: '请选择现岗位', trigger: 'change' }],
|
deptId: [{ required: true, message: '请选择现部门', trigger: 'change' }],
|
changeReason: [{ max: 500, message: '长度不超过500个字符', trigger: 'blur' }]
|
},
|
restaurants: [{ value: '北京市', code: '110000' },
|
{ value: '天津市', code: '120000' },
|
{ value: '河北省', code: '130000' },
|
{ value: '山西省', code: '140000' },
|
{ value: '内蒙古自治区', code: '150000' },
|
{ value: '辽宁省', code: '210000' },
|
{ value: '吉林省', code: '220000' },
|
{ value: '黑龙江省', code: '230000' },
|
{ value: '上海市', code: '310000' },
|
{ value: '江苏省', code: '320000' },
|
{ value: '浙江省', code: '330000' },
|
{ value: '安徽省', code: '340000' },
|
{ value: '福建省', code: '350000' },
|
{ value: '江西省', code: '360000' },
|
{ value: '山东省', code: '370000' },
|
{ value: '河南省', code: '410000' },
|
{ value: '湖北省', code: '420000' },
|
{ value: '湖南省', code: '430000' },
|
{ value: '广东省', code: '440000' },
|
{ value: '广西壮族自治区', code: '450000' },
|
{ value: '海南省', code: '460000' },
|
{ value: '重庆市', code: '500000' },
|
{ value: '四川省', code: '510000' },
|
{ value: '贵州省', code: '520000' },
|
{ value: '云南省', code: '530000' },
|
{ value: '西藏自治区', code: '540000' },
|
{ value: '陕西省', code: '610000' },
|
{ value: '甘肃省', code: '620000' },
|
{ value: '青海省', code: '630000' },
|
{ value: '宁夏回族自治区', code: '640000' },
|
{ value: '新疆维吾尔自治区', code: '650000' },
|
{ value: '台湾省', code: '710000' },
|
{ value: '香港特别行政区', code: '810000' },
|
{ value: '澳门特别行政区', code: '820000' }],
|
restaurJob: [{ value: '总经理', code: '2942725270000031' },
|
{ value: '总秘', code: '2942725270000032' },
|
{ value: '总助', code: '2942725270000033' },
|
{ value: '经理', code: '2942725270000022' },
|
{ value: '副经理', code: '2942725270000015' },
|
{ value: '助理', code: '2942725270000030' },
|
{ value: '项目经理', code: '2942725270000027' },
|
{ value: '大队长', code: '2942725270000006' },
|
{ value: '大队长兼内勤', code: '2942725270000007' },
|
{ value: '中队长', code: '2942725270000029' },
|
{ value: '队长', code: '2942725270000011' },
|
{ value: '分队长', code: '2942725270000013' },
|
{ value: '副队长', code: '2942725270000014' },
|
{ value: '班长', code: '2942725270000002' },
|
{ value: '保安员', code: '2942725270000003' },
|
{ value: '内勤', code: '2942725270000024' },
|
{ value: '保洁', code: '2942725270000004' },
|
{ value: '电工', code: '2942725270000010' },
|
{ value: '绿化工', code: '2942725270000023' },
|
{ value: '出纳', code: '2942725270000005' },
|
{ value: '人事专员', code: '2942725270000025' },
|
{ value: '司机', code: '2942725270000026' },
|
{ value: '购买保险', code: '2942725270000016' },
|
{ value: '广州燃气中队长', code: '2942725270000018' },
|
{ value: '管理员', code: '2942725270000017' },
|
{ value: '监控员', code: '2942725270000021' },
|
{ value: '员工', code: '2942725270000028' }],
|
headerHeight: '30px',
|
advancedQueryShow: false,
|
dialogTableVisible: false,
|
dialogShowDcyg: false,
|
dialogShowXzyg: false,
|
dialogShowYgdg: false,
|
dialogShowDryg: false,
|
dialogShowGbda: false,
|
exportUrl: '',
|
checkAll: false,
|
isIndeterminate: false,
|
cityOptions: ['sex', 'empName', 'archivesNumb', 'deptName', 'jobName', 'empType', 'nation', 'certificateNumb', 'age', 'marriage', 'certificateValidity', 'stature', 'politics', 'birthdate', 'education', 'nativePlace', 'censusAddress', 'currentAddress', 'guardNumb', 'returnReceipt', 'archivesStatus', 'bankName', 'bankNumb', 'telePhone', 'entryDate', 'insuranceType', 'socialNumb', 'introducer', 'seniority', 'empCardStatus', 'certificateList', 'urgencyPhone', 'handbookStatus', 'family'],
|
checkedCities: [],
|
tableData: []
|
}
|
},
|
mounted() {
|
this.fetch()
|
this.initDept()
|
},
|
methods: {
|
resetSearch() {
|
this.queryParams = {
|
empNumb: ''
|
}
|
this.search()
|
},
|
// 翻页方法
|
search() {
|
this.fetch({
|
...this.queryParams,
|
...this.sort
|
})
|
},
|
fetch(params = {}) {
|
var that = this
|
params.pageSize = this.pagination.size
|
params.pageNum = this.pagination.num
|
params.delFlag = 0
|
params.empStatus = 0
|
this.$get('hr/empBaseInfo/list', {
|
...params
|
}).then((r) => {
|
const data = r.data.data
|
that.total = data.total
|
that.tableData = data.rows
|
})
|
},
|
vagueSearch() {
|
this.fetch({
|
empNumb: this.queryParams.vague,
|
empName: this.queryParams.vague,
|
deptName: this.queryParams.vague
|
})
|
},
|
transDelFlag(delFlag) {
|
switch (delFlag) {
|
case 0:
|
return '正常'
|
case 1:
|
return '删除'
|
case 2:
|
return '暂存'
|
}
|
},
|
initDept() {
|
this.$get('system/dept').then((r) => {
|
this.depts = r.data.data.rows
|
this.deptTree = this.depts
|
}).catch((error) => {
|
console.error(error)
|
this.$message({
|
message: this.$t('tips.getDataFail'),
|
type: 'error'
|
})
|
})
|
},
|
advancedQueryShowMethods() {
|
if (this.advancedQueryShow) {
|
this.headerHeight = '30px'
|
this.advancedQueryShow = false
|
} else {
|
this.headerHeight = '350px'
|
this.advancedQueryShow = true
|
}
|
},
|
calculateSeniority(val) {
|
this.empBaseInfoForm.seniority = calculateSeniority(val)
|
},
|
cleanEmpBase() {
|
this.empBaseInfoForm.empId = ''
|
this.empBaseInfoForm.customerId = ''
|
this.empBaseInfoForm.archivesNumb = ''
|
this.empBaseInfoForm.deptId = ''
|
this.empBaseInfoForm.deptName = ''
|
this.empBaseInfoForm.empNumb = ''
|
this.empBaseInfoForm.empName = ''
|
this.empBaseInfoForm.sex = ''
|
this.empBaseInfoForm.JobId = ''
|
this.empBaseInfoForm.jobName = ''
|
this.empBaseInfoForm.empType = ''
|
this.empBaseInfoForm.certificateType = ''
|
this.empBaseInfoForm.certificateNumb = ''
|
this.empBaseInfoForm.nation = ''
|
this.empBaseInfoForm.certificateValidity = ''
|
this.empBaseInfoForm.marriage = ''
|
this.empBaseInfoForm.age = ''
|
this.empBaseInfoForm.stature = ''
|
this.empBaseInfoForm.birthdate = ''
|
this.empBaseInfoForm.politics = ''
|
this.empBaseInfoForm.entryDate = ''
|
this.empBaseInfoForm.education = ''
|
this.empBaseInfoForm.seniority = ''
|
this.empBaseInfoForm.nativePlace = ''
|
this.empBaseInfoForm.nativePlaceName = ''
|
this.empBaseInfoForm.censusAddress = ''
|
this.empBaseInfoForm.currentAddress = ''
|
this.empBaseInfoForm.guardNumb = ''
|
this.empBaseInfoForm.telePhone = ''
|
this.empBaseInfoForm.returnReceipt = ''
|
this.empBaseInfoForm.introducer = ''
|
this.empBaseInfoForm.archivesStatus = ''
|
this.empBaseInfoForm.bankName = ''
|
this.empBaseInfoForm.bankNumb = ''
|
this.empBaseInfoForm.InsuranceType = ''
|
this.empBaseInfoForm.socialNumb = ''
|
this.empBaseInfoForm.family = ''
|
this.empBaseInfoForm.handbookStatus = ''
|
this.empBaseInfoForm.urgencyPhone = ''
|
this.empBaseInfoForm.empCardStatus = ''
|
this.empBaseInfoForm.certificateList = ''
|
this.empBaseInfoForm.createTime = ''
|
this.empBaseInfoForm.creator = ''
|
this.empBaseInfoForm.modifyTime = ''
|
this.empBaseInfoForm.modifier = ''
|
this.empBaseInfoForm.delFlag = ''
|
this.empBaseInfoForm.version = ''
|
},
|
editEmpBase(row) {
|
this.isAdd = false
|
this.empBaseInfoForm.empId = row.empId
|
this.empBaseInfoForm.customerId = row.customerId
|
this.empBaseInfoForm.archivesNumb = row.archivesNumb
|
this.empBaseInfoForm.deptId = row.deptId
|
this.empBaseInfoForm.deptName = row.deptName
|
this.empBaseInfoForm.empNumb = row.empNumb
|
this.empBaseInfoForm.empName = row.empName
|
this.empBaseInfoForm.sex = row.sex
|
this.empBaseInfoForm.JobId = row.JobId
|
this.empBaseInfoForm.jobName = row.jobName
|
this.empBaseInfoForm.empType = row.empType
|
this.empBaseInfoForm.certificateType = row.certificateType
|
this.empBaseInfoForm.certificateNumb = row.certificateNumb
|
this.empBaseInfoForm.nation = row.nation
|
this.empBaseInfoForm.certificateValidity = row.certificateValidity
|
this.empBaseInfoForm.marriage = row.marriage
|
this.empBaseInfoForm.age = row.age
|
this.empBaseInfoForm.stature = row.stature
|
this.empBaseInfoForm.birthdate = row.birthdate
|
this.empBaseInfoForm.politics = row.politics
|
this.empBaseInfoForm.entryDate = row.entryDate
|
this.empBaseInfoForm.education = row.education
|
this.empBaseInfoForm.seniority = row.seniority
|
this.empBaseInfoForm.nativePlace = row.nativePlace
|
this.empBaseInfoForm.nativePlaceName = row.nativePlaceName
|
this.empBaseInfoForm.censusAddress = row.censusAddress
|
this.empBaseInfoForm.currentAddress = row.currentAddress
|
this.empBaseInfoForm.guardNumb = row.guardNumb
|
this.empBaseInfoForm.telePhone = row.telePhone
|
this.empBaseInfoForm.returnReceipt = row.returnReceipt
|
this.empBaseInfoForm.introducer = row.introducer
|
this.empBaseInfoForm.archivesStatus = row.archivesStatus
|
this.empBaseInfoForm.bankName = row.bankName
|
this.empBaseInfoForm.bankNumb = row.bankNumb
|
this.empBaseInfoForm.insuranceType = row.insuranceType
|
this.empBaseInfoForm.insuranceTypeName = row.insuranceTypeName
|
this.empBaseInfoForm.socialNumb = row.socialNumb
|
this.empBaseInfoForm.family = row.family
|
this.empBaseInfoForm.handbookStatus = row.handbookStatus
|
this.empBaseInfoForm.urgencyPhone = row.urgencyPhone
|
this.empBaseInfoForm.empCardStatus = row.empCardStatus
|
this.empBaseInfoForm.certificateList = row.certificateList
|
this.empBaseInfoForm.createTime = row.createTime
|
this.empBaseInfoForm.creator = row.creator
|
this.empBaseInfoForm.modifyTime = row.modifyTime
|
this.empBaseInfoForm.modifier = row.modifier
|
this.empBaseInfoForm.delFlag = row.delFlag
|
this.empBaseInfoForm.version = row.version
|
this.showXzyg(1)
|
},
|
putEmpBase(formName) {
|
this.$refs[formName].validate((valid) => {
|
if (valid) {
|
if (this.isAdd) {
|
this.$post('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => {
|
this.buttonLoading = false
|
this.$message({
|
message: this.$t('tips.createSuccess'),
|
type: 'success'
|
})
|
this.cleanEmpBase()
|
})
|
} else {
|
this.$put('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => {
|
this.$message({
|
message: this.$t('tips.updateSuccess'),
|
type: 'success'
|
})
|
this.$emit('success')
|
this.cleanEmpBase()
|
})
|
}
|
this.fetch({
|
...this.queryParams,
|
...this.sort
|
})
|
this.cleanEmpBase()
|
this.showXzyg()
|
}
|
})
|
},
|
putEmpBaseContinue(formName) {
|
this.$refs[formName].validate((valid) => {
|
if (valid) {
|
if (this.isAdd) {
|
this.$post('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => {
|
this.buttonLoading = false
|
this.$message({
|
message: this.$t('tips.createSuccess'),
|
type: 'success'
|
})
|
this.cleanEmpBase()
|
})
|
}
|
this.cleanEmpBase()
|
this.fetch({
|
...this.queryParams,
|
...this.sort
|
})
|
}
|
})
|
},
|
delEmp() {
|
var selection = this.$refs.multipleTable.store.states.selection
|
if (selection.length === 0) {
|
this.$message({
|
message: '请先选中需要删除的数据',
|
type: 'error'
|
})
|
} else {
|
var empIds = []
|
for (var i = 0; i < selection.length; i++) {
|
var data = selection[i]
|
empIds.push(data.empId)
|
}
|
this.$delete(`hr/empBaseInfo/` + empIds.join(',')).then(() => {
|
this.$message({
|
message: this.$t('tips.deleteSuccess'),
|
type: 'success'
|
})
|
this.search()
|
})
|
}
|
},
|
showEmpInfo() {
|
this.dialogTableVisible = true
|
},
|
showXzyg(val) {
|
if (val === 0) {
|
this.isAdd = true
|
}
|
if (!this.dialogShowXzyg) {
|
// this.isAdd = true
|
this.dialogShowXzyg = true
|
} else {
|
// this.isAdd = false
|
this.dialogShowXzyg = false
|
}
|
this.fetch({
|
...this.queryParams,
|
...this.sort
|
})
|
},
|
handleCheckAllChange(val) {
|
this.checkedCities = val ? this.cityOptions : []
|
this.isIndeterminate = false
|
},
|
handleCheckedCitiesChange(value) {
|
const checkedCount = value.length
|
this.checkAll = checkedCount === this.cityOptions.length
|
this.isIndeterminate = checkedCount > 0 && checkedCount < this.cityOptions.length
|
},
|
showDcyg(operate) {
|
switch (operate) {
|
case 0:
|
this.dialogShowDcyg = true
|
break
|
case 1:
|
this.dialogShowDcyg = false
|
break
|
case 2:
|
var params = { exportField: this.checkedCities.join(',') }
|
this.$download('hr/empBaseInfo/export', { ...params }, '在职员工列表.xls').then(() => {
|
this.$message({
|
message: '下载成功!',
|
type: 'success'
|
})
|
})
|
break
|
}
|
},
|
showYgdg(operate, formName) {
|
switch (operate) {
|
case 0:
|
var selection = this.$refs.multipleTable.store.states.selection
|
if (selection.length === 0) {
|
this.$message({
|
message: '请先选中需要调岗的人员',
|
type: 'error'
|
})
|
} else {
|
var ids = []
|
var names = []
|
var deptNames = []
|
var jobNames = []
|
for (var i = 0; i < selection.length; i++) {
|
var data = selection[i]
|
ids.push(data.empId)
|
names.push(data.empName)
|
deptNames.push(data.deptName)
|
jobNames.push(data.jobName)
|
}
|
this.ygdgForm = {
|
empIds: ids.join(','),
|
empNames: names.join(','),
|
oldDeptNames: deptNames.join(','),
|
oldJobNames: jobNames.join(',')
|
}
|
this.dialogShowYgdg = true
|
}
|
break
|
case 1:
|
this.dialogShowYgdg = false
|
break
|
case 2:
|
this.$refs[formName].validate((valid) => {
|
if (valid) {
|
this.$post('hr/empBaseInfo/jobChange', { ...this.ygdgForm }).then(() => {
|
this.dialogShowYgdg = false
|
this.$message({
|
message: this.$t('员工调岗成功'),
|
type: 'success'
|
})
|
this.fetch({
|
...this.queryParams,
|
...this.sort
|
})
|
})
|
}
|
})
|
break
|
}
|
},
|
querySearch(queryString, cb) {
|
var restaurants = this.restaurants
|
var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants
|
// 调用 callback 返回建议列表的数据
|
cb(results)
|
},
|
createFilter(queryString) {
|
return (restaurant) => {
|
return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
|
}
|
},
|
placeNameSelect(item) {
|
this.empBaseInfoForm.nativePlaceName = item.value
|
this.empBaseInfoForm.nativePlace = item.code
|
},
|
deptNameSelect(node) {
|
this.ygdgForm.newDeptName = node.label
|
},
|
querySearchJob(queryString, cb) {
|
const restaurants = this.restaurJob
|
const results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants
|
// 调用 callback 返回建议列表的数据
|
cb(results)
|
},
|
jobNameSelect(item) {
|
this.empBaseInfoForm.jobName = item.value
|
this.empBaseInfoForm.JobId = item.code
|
|
this.ygdgForm.newJobName = item.value
|
this.ygdgForm.jobId = item.code
|
},
|
generateUserInfo(index, val) {
|
var userinfo = toCardGetUserInfo(val)
|
if (userinfo === null) {
|
return
|
}
|
this.empBaseInfoForm.age = userinfo.age
|
this.empBaseInfoForm.birthdate = userinfo.birth
|
this.empBaseInfoForm.sex = userinfo.sex
|
},
|
showDryg(operate) {
|
switch (operate) {
|
case 0:
|
this.dialogShowDryg = true
|
break
|
case 1:
|
this.dialogShowDryg = false
|
break
|
case 2:
|
this.$refs.upload.submit()
|
break
|
}
|
},
|
validSelfLeaveDay(rule, value, callback) {
|
const type = this.gbdaForm.dimissionType
|
if (type === 2) {
|
if (!value) {
|
callback(new Error('自动离职时自离天数不能为空!'))
|
} else {
|
callback()
|
}
|
} else {
|
callback()
|
}
|
},
|
validReporter(rule, value, callback) {
|
const type = this.gbdaForm.dimissionType
|
if (type === 2) {
|
if (!value) {
|
callback(new Error('自动离职时报告人不能为空!'))
|
} else {
|
if (value.length > 32) {
|
callback(new Error('自动离职时报告人最多32个字符!'))
|
} else {
|
callback()
|
}
|
}
|
} else {
|
callback()
|
}
|
},
|
showGbda(operate, formName) {
|
switch (operate) {
|
case 0:
|
var selection = this.$refs.multipleTable.store.states.selection
|
if (selection.length === 0) {
|
this.$message({
|
message: '请先选中需要关闭档案的人员',
|
type: 'error'
|
})
|
} else {
|
var ids = []
|
var names = []
|
var dates = []
|
for (var i = 0; i < selection.length; i++) {
|
var data = selection[i]
|
ids.push(data.empId)
|
names.push(data.empName)
|
dates.push(data.entryDate)
|
}
|
const nowDate = new Date()
|
const year = nowDate.getFullYear()
|
const month = nowDate.getMonth() + 1
|
const day = nowDate.getDate()
|
this.gbdaForm = {
|
empIds: ids.join(','),
|
dgryNames: names.join(','),
|
entryDates: dates.join(','),
|
dimissionType: '1',
|
dimissionDate: year + '-' + month + '-' + day,
|
remark: ''
|
}
|
this.dialogShowGbda = true
|
}
|
break
|
case 1:
|
this.dialogShowGbda = false
|
break
|
case 2:
|
this.$refs[formName].validate((valid) => {
|
if (valid) {
|
this.$post('hr/empBaseInfo/dimission', { ...this.gbdaForm }).then(() => {
|
this.dialogShowGbda = false
|
this.$message({
|
message: this.$t('员工档案关闭成功'),
|
type: 'success'
|
})
|
this.fetch({
|
...this.queryParams,
|
...this.sort
|
})
|
})
|
}
|
})
|
break
|
}
|
},
|
doDcda() {
|
this.$confirm('是否确定要导出档案?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
this.$message({
|
type: 'success',
|
message: '导出成功!'
|
})
|
}).catch(() => {
|
this.$message({
|
type: 'info',
|
message: '已取消'
|
})
|
})
|
},
|
downloadExcel() {
|
debugger
|
this.$download('../../assets/excel/员工信息.xls', { }, '在职员工列表.xls').then(() => {
|
this.$message({
|
message: '下载成功!',
|
type: 'success'
|
})
|
})
|
},
|
headers() {
|
const token = getToken()
|
if (token) {
|
return {
|
Authorization: 'bearer ' + token
|
}
|
} else {
|
return null
|
}
|
}
|
}
|
}
|
</script>
|
<style lang="scss" scoped>
|
.el-main {
|
height: 600px;
|
}
|
|
.el-autocomplete {
|
width: 100%;
|
}
|
|
.el-select {
|
width: 100%;
|
}
|
|
.el-aside {
|
padding: 20px;
|
background: #f3f5f8;
|
height: 600px;
|
|
.el-tree {
|
height: 100%;
|
}
|
}
|
|
#searchTable {
|
margin-top: 10px;
|
border-collapse: collapse;
|
width: 100%;
|
}
|
|
#searchTable td,
|
#searchTable th {
|
border: 1px solid #cad9ea;
|
color: #666;
|
height: 30px;
|
}
|
|
#ygxq table {
|
border-collapse: collapse;
|
margin: 0 auto;
|
text-align: center;
|
width: 100%;
|
margin-top: 20px;
|
}
|
|
#ygxq table td,
|
#ygxq table th {
|
border: 1px solid #DDDCDC;
|
color: #666;
|
height: 30px;
|
}
|
|
#ygxq table thead th {
|
background-color: #CCE8EB;
|
width: 100px;
|
}
|
|
#ygxq table tr:nth-child(odd) {
|
background: #fff;
|
}
|
|
#ygxq table tr:nth-child(even) {
|
background: #F5FAFA;
|
}
|
|
.tdTitle {
|
font-size: 14px;
|
font-weight: 700;
|
text-align: left;
|
}
|
|
.link_button {
|
color: #169BD5;
|
}
|
|
.del_button {
|
color: #D9001B;
|
}
|
|
#dcygTable {
|
border-collapse: collapse;
|
}
|
|
#dcygTable td {
|
width: 130px;
|
text-align: center;
|
border: 1px solid darkgray;
|
height: 30px;
|
font-size:15px;
|
}
|
</style>
|