From 99563684fb0432f5d755b9b99aaf95fa32634b96 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期日, 03 三月 2024 19:28:43 +0800
Subject: [PATCH] 入离职记录增加部门护卫点信息: - 信息录入:写入入职的部门信息 - 在职员工:关闭档案时写入离职时的部门信息 - 离职员工:打开档案时写入打开时的部门信息 - 档案导出:在职员工和离职员工模板导出档案时的入离职记录的部门信息导出 上传左边的标签面是动态生成,调整数据库中标签数据,使生成的标签和更改的要求一致
---
src/views/user/inemployees.vue | 190 +++++++++++++++++++++++++++++++++--------------
1 files changed, 134 insertions(+), 56 deletions(-)
diff --git a/src/views/user/inemployees.vue b/src/views/user/inemployees.vue
index d60901b..5b856b2 100644
--- a/src/views/user/inemployees.vue
+++ b/src/views/user/inemployees.vue
@@ -124,7 +124,7 @@
</td>
</tr>
<tr>
- <td class="td">保险类型:</td>
+ <td class="td">社保档位:</td>
<td class="td-group">
<el-checkbox-group v-model="queryParams.insuranceType" class="fj-checkbox">
<el-checkbox label="" @change="selectAllInsuranceType">全部</el-checkbox>
@@ -188,9 +188,9 @@
<td class="td-group">
<el-checkbox-group v-model="queryParams.entryType" class="fj-checkbox">
<el-checkbox label="" @change="selectAllEntryType">全部</el-checkbox>
- <el-checkbox :label="4">新入职</el-checkbox>
- <el-checkbox :label="5">最新入职</el-checkbox>
- <el-checkbox :label="6">返聘入职</el-checkbox>
+ <el-checkbox :label="20">新入职</el-checkbox>
+ <el-checkbox :label="21">重新入职</el-checkbox>
+ <el-checkbox :label="22">返聘入职</el-checkbox>
<!-- <el-checkbox-->
<!-- v-for="data in dimissionTypeOptions"-->
<!-- :key="data.dicItemName"-->
@@ -198,6 +198,21 @@
<!-- >-->
<!-- {{ data.dicItemName }}-->
<!-- </el-checkbox>-->
+ </el-checkbox-group>
+ </td>
+ </tr>
+ <tr>
+ <td class="td">相关证件:</td>
+ <td class="td-group">
+ <el-checkbox-group v-model="queryParams.certificateList" class="fj-checkbox">
+ <el-checkbox label="" @change="selectAllCertificateList">全部</el-checkbox>
+ <el-checkbox
+ v-for="data in certificateListOptions"
+ :key="data.dicItemName"
+ :label="data.dicItemCode"
+ >
+ {{ data.dicItemName }}
+ </el-checkbox>
</el-checkbox-group>
</td>
</tr>
@@ -248,24 +263,28 @@
>编辑</span>
</template>
</el-table-column>
- <el-table-column show-overflow-tooltip="true" prop="empNumb" label="编号" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
- <el-table-column show-overflow-tooltip="true" prop="allDeptName" label="部门(护卫点)" width="300" sortable="custom" :sort-orders="['ascending', 'descending']" />
- <el-table-column show-overflow-tooltip="true" prop="jobName" label="岗位" width="80" />
- <el-table-column show-overflow-tooltip="true" prop="empName" label="姓名" width="100" sortable="custom" :sort-orders="['ascending', 'descending']" />
- <el-table-column show-overflow-tooltip="true" prop="certificateNumb" label="身份证号码" width="160" />
- <el-table-column show-overflow-tooltip="true" prop="sex" label="性别" width="60" :formatter="sexFormat" />
- <el-table-column show-overflow-tooltip="true" prop="age" label="年龄" width="60" />
- <el-table-column show-overflow-tooltip="true" prop="education" label="学历" width="60" :formatter="educationFormat" />
- <el-table-column show-overflow-tooltip="true" prop="nativePlace" label="籍贯" width="70" :formatter="nativePlaceFormat" />
- <el-table-column show-overflow-tooltip="true" prop="telePhone" label="联系电话" width="110" />
- <el-table-column show-overflow-tooltip="true" prop="empTypeName" label="员工类型" width="80" />
- <el-table-column show-overflow-tooltip="true" prop="entryDate" label="入职日期" width="110" sortable="custom" :sort-orders="['ascending', 'descending']" />
- <el-table-column show-overflow-tooltip="true" prop="empStatus" label="员工状态" width="80">
+ <el-table-column show-overflow-tooltip prop="empNumb" label="编号" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
+ <el-table-column show-overflow-tooltip prop="allDeptName" label="部门(护卫点)" width="300" sortable="custom" :sort-orders="['ascending', 'descending']" />
+ <el-table-column show-overflow-tooltip prop="jobName" label="岗位" width="80" />
+ <el-table-column show-overflow-tooltip prop="empName" label="姓名" width="100" sortable="custom" :sort-orders="['ascending', 'descending']" />
+ <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" width="160" />
+ <el-table-column show-overflow-tooltip prop="sex" label="性别" width="60" :formatter="sexFormat" />
+ <el-table-column show-overflow-tooltip prop="age" label="年龄" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
+ <el-table-column show-overflow-tooltip prop="education" label="学历" width="80" :formatter="educationFormat" sortable="custom" :sort-orders="['ascending', 'descending']" />
+ <el-table-column show-overflow-tooltip prop="nativePlace" label="籍贯" width="70" :formatter="nativePlaceFormat" />
+ <el-table-column show-overflow-tooltip prop="telePhone" label="联系电话" width="110" />
+ <el-table-column show-overflow-tooltip prop="empTypeName" label="员工类型" width="80" />
+ <el-table-column show-overflow-tooltip prop="entryDate" label="入职日期" width="110" sortable="custom" :sort-orders="['ascending', 'descending']" />
+ <el-table-column show-overflow-tooltip prop="empStatus" label="员工状态" width="80">
<template slot-scope="{row}">
{{ transEmpStatus(row.empStatus) }}
</template>
</el-table-column>
- <el-table-column prop="entryTypeName" label="入职类型" width="80" />
+ <el-table-column prop="entryType" label="入职类型" width="120" sortable="custom" :sort-orders="['ascending', 'descending']">
+ <template slot-scope="{row}">
+ {{ transEntryType(row.entryType) }}
+ </template>
+ </el-table-column>
</el-table>
<pagination
v-show="total>0"
@@ -385,11 +404,11 @@
<el-form-item label="招聘介绍人" prop="introducer">
<el-input v-model="empBaseInfoForm.introducer" />
</el-form-item>
- <el-form-item label="银行名称" prop="bankName">
+ <el-form-item label="银行名称">
<el-input v-model="empBaseInfoForm.bankName" />
</el-form-item>
- <el-form-item label="保险类型" prop="insuranceType">
- <el-select v-model="empBaseInfoForm.insuranceType" placeholder="请选择保险类型">
+ <el-form-item label="社保档位" prop="insuranceType">
+ <el-select v-model="empBaseInfoForm.insuranceType" placeholder="请选择社保档位">
<el-option
v-for="dict in insuranceTypeOptions"
:key="dict.dicItemCode"
@@ -398,10 +417,10 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="家庭成员及关系" prop="family">
+ <el-form-item label="家庭成员及关系1" prop="family">
<el-input v-model="empBaseInfoForm.family" />
</el-form-item>
- <el-form-item label="紧急联系电话" prop="urgencyPhone">
+ <el-form-item label="家庭成员及关系2" prop="urgencyPhone">
<el-input v-model="empBaseInfoForm.urgencyPhone" />
</el-form-item>
</el-col>
@@ -489,7 +508,7 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="银行账号" prop="bankNumb">
+ <el-form-item label="银行账号">
<el-input v-model="empBaseInfoForm.bankNumb" />
</el-form-item>
<el-form-item label="社保电脑号" prop="socialNumb">
@@ -607,7 +626,7 @@
<el-upload
ref="upload"
class="upload-demo"
- action="http://120.24.23.155:8301/hr/empBaseInfo/importEmp"
+ action="http://127.0.0.1:8301/hr/empBaseInfo/importEmp"
accept=".xls, .xlsx, .excel"
:headers="headers()"
:file-list="fileList"
@@ -630,21 +649,21 @@
<el-col span="24">
<el-form-item label="离职类型" prop="dimissionType">
<el-radio-group v-model="gbdaForm.dimissionType" @change="changeDimissionType">
- <el-radio :label="1">正常离职</el-radio>
- <el-radio :label="2">自动离职</el-radio>
+ <el-radio :label="1">合同期满</el-radio>
+ <el-radio :label="2">公司劝退</el-radio>
<el-radio :label="3">公司辞退</el-radio>
- <el-radio :label="7">合同期满</el-radio>
- <el-radio :label="8">公司劝退</el-radio>
- <el-radio :label="9">试用期内</el-radio>
+ <el-radio :label="4">自动离职</el-radio>
+ <el-radio :label="5">试用期内</el-radio>
+ <el-radio :label="6">正常离职</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
- <el-col v-if="selectDimissionType === 2" span="12">
+ <el-col v-if="selectDimissionType === 4" 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 v-if="selectDimissionType === 2" span="12">
+ <el-col v-if="selectDimissionType === 4" span="12">
<el-form-item label="报告人" prop="reporter">
<el-input v-model="gbdaForm.reporter" />
</el-form-item>
@@ -800,7 +819,7 @@
</td>
</tr>
<tr>
- <td>家庭成员及关系</td>
+ <td>家庭成员及关系1</td>
<td>
<el-checkbox label="family"><span /></el-checkbox>
</td>
@@ -818,7 +837,7 @@
<td>
<el-checkbox label="entryDate"><span /></el-checkbox>
</td>
- <td>保险类型</td>
+ <td>社保档位</td>
<td>
<el-checkbox label="insuranceTypeName"><span /></el-checkbox>
</td>
@@ -844,15 +863,29 @@
<tr>
<td>相关证件</td>
<td>
- <el-checkbox label="certificateList"><span /></el-checkbox>
+ <el-checkbox label="certificateListName"><span /></el-checkbox>
</td>
- <td>紧急联系电话</td>
+ <td>家庭成员及关系2</td>
<td>
<el-checkbox label="urgencyPhone"><span /></el-checkbox>
</td>
<td>员工手册</td>
<td>
<el-checkbox label="handbookStatusName"><span /></el-checkbox>
+ </td>
+ </tr>
+ <tr>
+ <td>入职类型</td>
+ <td>
+ <el-checkbox label="entryTypeName"><span /></el-checkbox>
+ </td>
+ <td>离职类型</td>
+ <td>
+ <el-checkbox label="dimissionTypeName"><span /></el-checkbox>
+ </td>
+ <td>编号</td>
+ <td>
+ <el-checkbox label="empNumb"><span /></el-checkbox>
</td>
</tr>
<!-- <tr>-->
@@ -877,6 +910,7 @@
:dialog-visible="dialog.isVisible"
:title="dialog.title"
:type="dialog.type"
+ @success="editSuccess"
@close="editClose"
/>
<el-dialog title="打开档案" :visible.sync="dialogShowDkda" width="50%">
@@ -891,8 +925,8 @@
<el-col span="24">
<el-form-item label="打开类型" prop="region">
<el-radio-group v-model="openArchivesForm.openType">
- <el-radio :label="5">重新入职</el-radio>
- <el-radio :label="6">返聘</el-radio>
+ <el-radio :label="21">重新入职</el-radio>
+ <el-radio :label="22">返聘</el-radio>
</el-radio-group>
(主要对已退休员工返聘)
</el-form-item>
@@ -954,7 +988,8 @@
empCardStatus: [],
handbookStatus: [],
entryType: [],
- empType: []
+ empType: [],
+ certificateList: []
}, // 查询参数
sort: {}, // 排序
pagination: { // 分页参数
@@ -1013,7 +1048,8 @@
modifier: '',
delFlag: '0',
empStatus: 0,
- version: ''
+ version: '',
+ entryType: '20'
},
ygdgForm: {
empIds: [],
@@ -1059,7 +1095,7 @@
message: '长度不超过36个字符',
trigger: 'blur'
}],
- insuranceType: [{ required: true, message: '请选择保险类型', trigger: 'change' }],
+ insuranceType: [{ required: true, message: '请选择社保档位', trigger: 'change' }],
entryDate: [{ required: true, message: '请选择入职日期', trigger: 'change' }],
seniority: [{ required: true, message: '请输入入司工龄', trigger: 'blur' }],
archivesStatus: [{ required: true, message: '请选择档案情况', trigger: 'change' }],
@@ -1167,7 +1203,7 @@
exportUrl: '',
checkAll: false,
isIndeterminate: false,
- cityOptions: ['archivesNumb', 'allDeptName', 'jobName', 'empName', 'certificateNumb', 'certificateValidity', 'sexName', 'nationName', 'age', 'marriageName', 'stature', 'birthdate', 'politicsName', 'empTypeName', 'educationName', 'nativePlaceName', 'censusAddress', 'currentAddress', 'guardNumb', 'returnReceipt', 'archivesStatusName', 'bankName', 'bankNumb', 'telePhone', 'entryDate', 'insuranceTypeName', 'socialNumb', 'introducer', 'seniority', 'empCardStatusName', 'certificateList', 'urgencyPhone', 'handbookStatusName', 'family', 'empStatusName', 'dimissionDate'],
+ cityOptions: ['archivesNumb', 'allDeptName', 'jobName', 'empName', 'certificateNumb', 'certificateValidity', 'sexName', 'nationName', 'age', 'marriageName', 'stature', 'birthdate', 'politicsName', 'empTypeName', 'educationName', 'nativePlaceName', 'censusAddress', 'currentAddress', 'guardNumb', 'returnReceipt', 'archivesStatusName', 'bankName', 'bankNumb', 'telePhone', 'entryDate', 'insuranceTypeName', 'socialNumb', 'introducer', 'seniority', 'empCardStatusName', 'certificateListName', 'urgencyPhone', 'handbookStatusName', 'family', 'empStatusName', 'dimissionDate', 'entryTypeName', 'dimissionTypeName', 'empNumb'],
checkedCities: [],
tableData: [],
selectDimissionType: 1,
@@ -1197,7 +1233,7 @@
dimissionTypeOptions: [],
ageStrOptions: [],
sexOptions: [],
- openArchivesForm: {}
+ openArchivesForm: { }
}
},
mounted() {
@@ -1254,7 +1290,7 @@
this.getDicts('LEAVETYPE').then(response => {
this.leaveTypeOptions = response.data
})
- this.getDicts('insuranceGaers').then(response => {
+ this.getDicts('INSURANCETYPE').then(response => {
this.insuranceGaersOptions = response.data
})
this.getDicts('applayStatus').then(response => {
@@ -1316,7 +1352,8 @@
handbookStatus: [],
baseKey: '',
empType: [],
- entryType: []
+ entryType: [],
+ certificateList: []
}
this.search()
},
@@ -1360,6 +1397,16 @@
return '离职'
case '2':
return '退休'
+ }
+ },
+ transEntryType(entryType) {
+ switch (entryType) {
+ case '20':
+ return '新入职'
+ case '21':
+ return '重新入职'
+ case '22':
+ return '返聘入职'
}
},
typeFormat(row, column) {
@@ -1551,18 +1598,27 @@
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.certificateNumb = row.certificateNumb
+ if (!row.birthdate) {
+ var userinfo = toCardGetUserInfo(this.empBaseInfoForm.certificateNumb)
+ if (userinfo !== null) {
+ this.empBaseInfoForm.age = userinfo.age
+ this.empBaseInfoForm.birthdate = userinfo.birth
+ this.empBaseInfoForm.sex = userinfo.sex
+ }
+ } else {
+ this.empBaseInfoForm.age = row.age
+ this.empBaseInfoForm.birthdate = row.birthdate
+ this.empBaseInfoForm.sex = row.sex
+ }
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
@@ -1597,7 +1653,8 @@
this.empBaseInfoForm.modifier = row.modifier
this.empBaseInfoForm.delFlag = row.delFlag
this.empBaseInfoForm.version = row.version
- this.empBaseInfoImageUrl = pages.getEmpBaseInfoImage + row.empId
+ // this.empBaseInfoImageUrl = ''
+ this.empBaseInfoImageUrl = pages.getEmpBaseInfoImage + row.empId + '?t=' + parseInt(100 * Math.random())
this.showXzyg(1)
},
putEmpBase(formName) {
@@ -1702,6 +1759,9 @@
})
break
}
+ },
+ editSuccess() {
+ this.search()
},
showYgdg(operate, formName) {
switch (operate) {
@@ -1816,7 +1876,6 @@
},
changeDimissionType(value) {
this.selectDimissionType = value
- console.log('值:' + value)
},
validSelfLeaveDay(rule, value, callback) {
const type = this.gbdaForm.dimissionType
@@ -1860,12 +1919,14 @@
var names = []
var dates = []
var numbers = []
+ var deptNames = []
for (var i = 0; i < selection.length; i++) {
var data = selection[i]
ids.push(data.empId)
names.push(data.empName)
dates.push(data.entryDate)
numbers.push(data.certificateNumb)
+ deptNames.push(data.allDeptName)
}
const nowDate = new Date()
const year = nowDate.getFullYear()
@@ -1879,7 +1940,8 @@
dimissionDate: year + '-' + month + '-' + day,
remark: '',
afterOperation: ['1'],
- certificateNumb: numbers.join(',')
+ certificateNumb: numbers.join(','),
+ deptNames: deptNames.join(',')
}
this.dialogShowGbda = true
}
@@ -2004,9 +2066,16 @@
},
selectAllEntryType(val) {
if (val) {
- this.queryParams.entryType = [4, 5, 6]
+ this.queryParams.entryType = [20, 21, 22]
} else {
this.queryParams.entryType = []
+ }
+ },
+ selectAllCertificateList(val) {
+ if (val) {
+ this.queryParams.certificateList = this.dicListToArr(this.certificateListOptions)
+ } else {
+ this.queryParams.certificateList = []
}
},
headers() {
@@ -2038,13 +2107,22 @@
let tempName
switch (r.data.data.dimissionType) {
case '1':
- tempName = '正常离职'
+ tempName = '合同期满'
break
case '2':
- tempName = '自动离职'
+ tempName = '公司劝退'
break
case '3':
tempName = '公司辞退'
+ break
+ case '4':
+ tempName = '自动离职'
+ break
+ case '5':
+ tempName = '试用期内'
+ break
+ case '6':
+ tempName = '正常离职'
break
}
var msg = '该员工已存在,' + tempName + '状态!\n\r'
@@ -2059,7 +2137,7 @@
empId: r.data.data.empId,
empName: r.data.data.empName,
certificateNumb: r.data.data.certificateNumb,
- openType: 2,
+ openType: 21,
openDate: this.getDateString(),
remark: ''
}
--
Gitblit v1.8.0