| | |
| | | <h3 class="bu-tian-jia-title">在职员工</h3> |
| | | </el-col> |
| | | <el-col :span="9" style="margin-top: 15px;"> |
| | | <el-input v-model="queryParams.vague" placeholder="请输入内容" style="width:300px" /> |
| | | <el-input v-model="queryParams.baseKey" placeholder="请输入内容" style="width:300px" /> |
| | | <span class="search-btn" @click="vagueSearch">查询</span> |
| | | <span class="sup-search-btn" @click="advancedQueryShowMethods">高级查询</span> |
| | | </el-col> |
| | |
| | | </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> |
| | |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">员工类型:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryParams.empType" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllEmpType">全部</el-checkbox> |
| | | <el-checkbox |
| | | v-for="data in empTypeOptions" |
| | | :key="data.dicItemName" |
| | | :label="data.dicItemCode" |
| | | > |
| | | {{ data.dicItemName }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td">入职类型:</td> |
| | | <td class="td-group"> |
| | | <el-checkbox-group v-model="queryParams.entryType" class="fj-checkbox"> |
| | | <el-checkbox label="" @change="selectAllEntryType">全部</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"--> |
| | | <!-- :label="data.dicItemCode"--> |
| | | <!-- >--> |
| | | <!-- {{ 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> |
| | | </table> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-button type="primary" style="background-color: #409EFF" @click="delEmp">删除员工</el-button> |
| | | <el-button type="danger" class="hr-but-all" @click="showYgdg(0)">员工调岗</el-button> |
| | | <!-- <el-button type="danger" class="hr-but-all" @click="showDryg(0)">导入员工</el-button> --> |
| | | <el-button type="danger" class="hr-but-all" @click="exportExcel()">导出员工</el-button> |
| | | <el-button type="danger" class="hr-but-all" @click="showDcyg(0)">导出EXCEL</el-button> |
| | | <el-button type="primary" style="background-color: #409EFF" @click="showGbda(0)">关闭档案</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table |
| | | ref="multipleTable" |
| | | :data="tableData" |
| | | :cell-style="{padding:'7px 0'}" |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | stripe |
| | | border |
| | | style="width: 100%;color: #000;" |
| | | @sort-change="changeSort" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column label="操作" width="130"> |
| | |
| | | >编辑</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column show-overflow-tooltip="true" prop="empNumb" label="编号" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="deptName" label="部门(护卫点)" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="jobName" label="岗位" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="empName" label="姓名" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="certificateNumb" label="身份证号码" /> |
| | | <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="empTypeName" label="员工类型" width="80" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="telePhone" label="联系电话" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="entryDate" label="入职日期" /> |
| | | <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" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="民族" prop="nation"> |
| | | <el-select v-model="empBaseInfoForm.nation" placeholder="请选择民族"> |
| | | <el-select v-model="empBaseInfoForm.nation" filterable placeholder="请选择民族"> |
| | | <el-option |
| | | v-for="dict in nationOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | <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" |
| | |
| | | /> |
| | | </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> |
| | |
| | | :clear-value-text="$t('common.clear')" |
| | | placeholder="请选择部门(护卫点)" |
| | | style="width:100%" |
| | | @select="empDeptNameSelect" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | |
| | | /> |
| | | </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"> |
| | |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="相关证件" prop="certificateList"> |
| | | <el-select v-model="empBaseInfoForm.certificateList" placeholder="请选择相关证件"> |
| | | <el-select v-model="empBaseInfoForm.certificateList" multiple placeholder="请选择相关证件"> |
| | | <el-option |
| | | v-for="dict in certificateListOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | <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" |
| | |
| | | <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="3">公司劝退</el-radio> |
| | | <el-radio :label="4">公司辞退</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 :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> |
| | |
| | | <el-button type="primary" @click="showGbda(2,'gbdaForm')">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="导出员工 请勾选需要导出的字段" :visible.sync="dialogShowDcyg" width="40%"> |
| | | <el-dialog title="导出员工" :visible.sync="dialogShowDcyg" width="40%"> |
| | | <div style="font-size: 16px;font-weight: 400;height: 35px;margin-top: -30px;color: #409EFF;">请勾选需要导出的字段</div> |
| | | <table id="dcygTable" width="100%"> |
| | | <tr> |
| | | <td colspan="6" style="text-align: left;"> |
| | |
| | | <tr> |
| | | <td>部门(护卫点)</td> |
| | | <td> |
| | | <el-checkbox label="deptName"><span /></el-checkbox> |
| | | <el-checkbox label="allDeptName"><span /></el-checkbox> |
| | | </td> |
| | | <td>所属岗位</td> |
| | | <td> |
| | |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td>家庭成员及关系1</td> |
| | | <td> |
| | | <el-checkbox label="family"><span /></el-checkbox> |
| | | </td> |
| | | <td>员工状态</td> |
| | | <td> |
| | | <el-checkbox label="empStatusName"><span /></el-checkbox> |
| | | </td> |
| | | <td>离职日期</td> |
| | | <td> |
| | | <el-checkbox label="dimissionDate"><span /></el-checkbox> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td>入职日期</td> |
| | | <td> |
| | | <el-checkbox label="entryDate"><span /></el-checkbox> |
| | | </td> |
| | | <td>保险类型</td> |
| | | <td>社保档位</td> |
| | | <td> |
| | | <el-checkbox label="InsuranceTypeName"><span /></el-checkbox> |
| | | <el-checkbox label="insuranceTypeName"><span /></el-checkbox> |
| | | </td> |
| | | <td>社保电脑号</td> |
| | | <td> |
| | |
| | | </td> |
| | | <td>工作证</td> |
| | | <td> |
| | | <el-checkbox label="empCardStatus"><span /></el-checkbox> |
| | | <el-checkbox label="empCardStatusName"><span /></el-checkbox> |
| | | </td> |
| | | </tr> |
| | | <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> |
| | | </tr> |
| | | <tr> |
| | | <td>家庭成员及关系</td> |
| | | <td>入职类型</td> |
| | | <td> |
| | | <el-checkbox label="family"><span /></el-checkbox> |
| | | <el-checkbox label="entryTypeName"><span /></el-checkbox> |
| | | </td> |
| | | <td /> |
| | | <td /> |
| | | <td /> |
| | | <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>--> |
| | | <!-- <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"> |
| | |
| | | :dialog-visible="dialog.isVisible" |
| | | :title="dialog.title" |
| | | :type="dialog.type" |
| | | @success="editSuccess" |
| | | @close="editClose" |
| | | /> |
| | | <el-dialog title="打开档案" :visible.sync="dialogShowDkda" width="50%"> |
| | | <el-form |
| | | ref="openArchivesForm" |
| | | :model="openArchivesForm" |
| | | rules="openArchivesRules" |
| | | label-position="right" |
| | | label-width="120px" |
| | | > |
| | | <el-row> |
| | | <el-col span="24"> |
| | | <el-form-item label="打开类型" prop="region"> |
| | | <el-radio-group v-model="openArchivesForm.openType"> |
| | | <el-radio :label="21">重新入职</el-radio> |
| | | <el-radio :label="22">返聘</el-radio> |
| | | </el-radio-group> |
| | | (主要对已退休员工返聘) |
| | | </el-form-item> |
| | | <el-form-item label="打开日期"> |
| | | <el-date-picker |
| | | v-model="openArchivesForm.openDate" |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | placeholder="选择打开日期" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="备注说明"> |
| | | <el-input v-model="openArchivesForm.remark" type="textarea" :rows="4" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="showDkda(1, '')">取 消</el-button> |
| | | <el-button type="primary" @click="showDkda(2, 'openArchivesForm')">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | |
| | | }, |
| | | total: 0, // 总数量 |
| | | queryParams: { |
| | | baseKey: '', |
| | | empNumb: '', |
| | | vague: '', |
| | | sex: [], |
| | |
| | | insuranceType: [], |
| | | empStatus: [], |
| | | empCardStatus: [], |
| | | handbookStatus: [] |
| | | handbookStatus: [], |
| | | entryType: [], |
| | | empType: [], |
| | | certificateList: [] |
| | | }, // 查询参数 |
| | | sort: {}, // 排序 |
| | | pagination: { // 分页参数 |
| | |
| | | empId: '', |
| | | customerId: '', |
| | | archivesNumb: '', |
| | | deptId: '', |
| | | deptId: null, |
| | | deptName: '', |
| | | empNumb: '', |
| | | allDeptName: '', |
| | | empName: '', |
| | | sex: '1', |
| | | JobId: '', |
| | |
| | | modifier: '', |
| | | delFlag: '0', |
| | | empStatus: 0, |
| | | version: '' |
| | | version: '', |
| | | entryType: '20' |
| | | }, |
| | | ygdgForm: {}, |
| | | ygdgForm: { |
| | | empIds: [], |
| | | empNames: [], |
| | | oldDeptNames: [], |
| | | oldJobNames: [], |
| | | changeType: '', |
| | | changeDate: '', |
| | | changeReason: '', |
| | | jobId: '', |
| | | newJobName: '', |
| | | deptId: '', |
| | | newDeptName: '', |
| | | allDeptName: '' |
| | | }, |
| | | gbdaForm: { |
| | | dgryIds: '', |
| | | dimissionType: 1, |
| | |
| | | message: this.$t('rules.noMoreThan20'), |
| | | trigger: 'blur' |
| | | }], |
| | | empName: [{ required: true, message: '请输入员工姓名', trigger: 'blur' }, |
| | | empName: [{ required: true, message: '请输入姓名', trigger: 'blur' }, |
| | | { min: 2, max: 50, message: this.$t('rules.noMoreThan50'), trigger: 'blur' }], |
| | | empNumb: [{ required: true, message: '请输入员工编号', trigger: 'blur' }, |
| | | { min: 2, max: 20, message: this.$t('rules.noMoreThan20'), trigger: 'blur' }], |
| | |
| | | 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' }], |
| | |
| | | dialogShowYgdg: false, |
| | | dialogShowDryg: false, |
| | | dialogShowGbda: false, |
| | | dialogShowDkda: false, |
| | | exportUrl: '', |
| | | checkAll: false, |
| | | isIndeterminate: false, |
| | | cityOptions: ['archivesNumb', 'deptName', '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', 'empCardStatus', 'certificateList', 'urgencyPhone', 'handbookStatusName', 'family'], |
| | | 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, |
| | | statusOptions: [], |
| | | empTypeOptions: [], |
| | | inTypeOptions: [], |
| | | nationOptions: [], |
| | | marriageOptions: [], |
| | | educationOptions: [], |
| | |
| | | dimissionTypeOptions: [], |
| | | ageStrOptions: [], |
| | | sexOptions: [], |
| | | openArchivesForm: {} |
| | | openArchivesForm: { } |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | 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 => { |
| | |
| | | this.getDicts('LZTYPE').then(response => { |
| | | this.dimissionTypeOptions = response.data |
| | | }) |
| | | this.initJob() |
| | | }, |
| | | methods: { |
| | | exportExcel() { |
| | | this.queryParams.baseKey = this.queryParams.vague |
| | | this.queryParams.delFlag = 0 |
| | | this.queryParams.empStatus = 0 |
| | | var params = this.queryParams |
| | | this.$download('hr/empBaseInfo/exportEmpAll', { ...params }, `基本信息_${new Date().getTime()}.xls`).then(() => { |
| | | this.$message({ |
| | |
| | | }, |
| | | editArchives(row) { |
| | | this.$refs.article.setArchives(row) |
| | | this.dialog.title = '档案管理' |
| | | this.dialog.title = row.empName + '员工档案' |
| | | this.dialog.isVisible = true |
| | | }, |
| | | editClose() { |
| | |
| | | insuranceType: [], |
| | | empStatus: [], |
| | | empCardStatus: [], |
| | | handbookStatus: [] |
| | | handbookStatus: [], |
| | | baseKey: '', |
| | | empType: [], |
| | | entryType: [], |
| | | certificateList: [] |
| | | } |
| | | this.search() |
| | | }, |
| | | initJob() { |
| | | this.$get('system/position/dicJob').then((r) => { |
| | | this.restaurJob = r.data.data |
| | | }) |
| | | }, |
| | | // 翻页方法 |
| | | search() { |
| | | this.queryParams.baseKey = '' |
| | | this.fetch({ |
| | | ...this.queryParams, |
| | | ...this.sort |
| | |
| | | }, |
| | | vagueSearch() { |
| | | this.fetch({ |
| | | empNumb: this.queryParams.vague, |
| | | empName: this.queryParams.vague, |
| | | deptName: this.queryParams.vague, |
| | | certificateNumb: this.queryParams.vague, |
| | | nativePlaceName: this.queryParams.vague, |
| | | censusAddress: this.queryParams.vague |
| | | baseKey: this.queryParams.baseKey |
| | | }) |
| | | }, |
| | | transEmpStatus(empStatus) { |
| | |
| | | return '离职' |
| | | case '2': |
| | | return '退休' |
| | | } |
| | | }, |
| | | transEntryType(entryType) { |
| | | switch (entryType) { |
| | | case '20': |
| | | return '新入职' |
| | | case '21': |
| | | return '重新入职' |
| | | case '22': |
| | | return '返聘入职' |
| | | } |
| | | }, |
| | | typeFormat(row, column) { |
| | |
| | | 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 |
| | |
| | | this.empBaseInfoForm.handbookStatus = row.handbookStatus |
| | | this.empBaseInfoForm.urgencyPhone = row.urgencyPhone |
| | | this.empBaseInfoForm.empCardStatus = row.empCardStatus |
| | | let certificateList = [] |
| | | if (row.certificateList && typeof row.certificateList === 'string') { |
| | | certificateList = row.certificateList.split(',') |
| | | row.certificateList = certificateList |
| | | } |
| | | this.empBaseInfoForm.certificateList = row.certificateList |
| | | this.empBaseInfoForm.createTime = row.createTime |
| | | this.empBaseInfoForm.creator = row.creator |
| | |
| | | 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) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | this.submitEmpInfo() |
| | | // if (this.isAdd) { |
| | | // this.$post('hr/empBaseInfo/addInEmp', { ...this.empBaseInfoForm }).then((r) => { |
| | | // if (r.data != null) { |
| | | // if (r.data.data.empStatus === '0') { |
| | | // this.$confirm('该员工已存在,是否修改?', '提示', { |
| | | // confirmButtonText: '确定', |
| | | // cancelButtonText: '取消', |
| | | // type: 'warning' |
| | | // }).then(() => { |
| | | // this.editEmpBase(r.data.data) |
| | | // }) |
| | | // } else { |
| | | // this.$confirm('该员工已离职,是否重新打开档案?', '提示', { |
| | | // confirmButtonText: '确定', |
| | | // cancelButtonText: '取消', |
| | | // type: 'warning' |
| | | // }).then(() => { |
| | | // this.openArchivesForm = { |
| | | // empId: r.data.data.empId, |
| | | // empName: r.data.data.empName, |
| | | // certificateNumb: r.data.data.certificateNumb, |
| | | // openType: 2, |
| | | // openDate: this.getDateString(), |
| | | // remark: '' |
| | | // } |
| | | // this.$post('hr/empOpenArchives', { ...this.openArchivesForm }).then(() => { |
| | | // this.$message({ |
| | | // message: this.$t('员工档案打开成功'), |
| | | // type: 'success' |
| | | // }) |
| | | // }) |
| | | // }) |
| | | // } |
| | | // } |
| | | // }) |
| | | // } 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 |
| | |
| | | break |
| | | case 2: |
| | | var params = this.queryParams |
| | | params.empStatus = '0' |
| | | params.exportField = this.checkedCities.join(',') |
| | | this.$download('hr/empBaseInfo/exportWithField', { ...params }, '在职员工列表.xls').then(() => { |
| | | this.$message({ |
| | |
| | | }) |
| | | break |
| | | } |
| | | }, |
| | | editSuccess() { |
| | | this.search() |
| | | }, |
| | | showYgdg(operate, formName) { |
| | | switch (operate) { |
| | |
| | | var data = selection[i] |
| | | ids.push(data.empId) |
| | | names.push(data.empName) |
| | | deptNames.push(data.deptName) |
| | | deptNames.push(data.allDeptName) |
| | | jobNames.push(data.jobName) |
| | | } |
| | | this.ygdgForm = { |
| | |
| | | this.empBaseInfoForm.nativePlace = item.code |
| | | }, |
| | | deptNameSelect(node) { |
| | | this.ygdgForm.deptId = node.deptId |
| | | this.ygdgForm.newDeptName = node.label |
| | | this.ygdgForm.allDeptName = node.allDeptName |
| | | }, |
| | | querySearchJob(queryString, cb) { |
| | | const restaurants = this.restaurJob |
| | |
| | | |
| | | this.ygdgForm.newJobName = item.value |
| | | this.ygdgForm.jobId = item.code |
| | | }, empDeptNameSelect(val) { |
| | | this.empBaseInfoForm.deptId = val.id |
| | | this.empBaseInfoForm.deptName = val.label |
| | | this.empBaseInfoForm.allDeptName = val.allDeptName |
| | | }, |
| | | generateUserInfo(index, val) { |
| | | var userinfo = toCardGetUserInfo(val) |
| | |
| | | }, |
| | | changeDimissionType(value) { |
| | | this.selectDimissionType = value |
| | | console.log('值:' + value) |
| | | }, |
| | | validSelfLeaveDay(rule, value, callback) { |
| | | const type = this.gbdaForm.dimissionType |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | // dic列表转为数组 |
| | | dicListToArr(dicList) { |
| | | var arr = [] |
| | | for (var i = 0; i < dicList.length; i++) { |
| | | var dic = dicList[i] |
| | | arr.push(dic.dicItemCode) |
| | | } |
| | | return arr |
| | | }, |
| | | selectAllSex(val) { |
| | | if (val) { |
| | | this.queryParams.sex = ['1', '2'] |
| | | this.queryParams.sex = this.dicListToArr(this.sexOptions) |
| | | } else { |
| | | this.queryParams.sex = [] |
| | | } |
| | | }, |
| | | selectAllEducation(val) { |
| | | if (val) { |
| | | this.queryParams.education = ['91', '81', '71', '61', '42', '41', '31', '21', '11', '10'] |
| | | this.queryParams.education = this.dicListToArr(this.educationOptions) |
| | | } else { |
| | | this.queryParams.education = [] |
| | | } |
| | | }, |
| | | selectAllPolitics(val) { |
| | | if (val) { |
| | | this.queryParams.politics = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13'] |
| | | this.queryParams.politics = this.dicListToArr(this.statusOptions) |
| | | } else { |
| | | this.queryParams.politics = [] |
| | | } |
| | | }, |
| | | selectAllAgeStr(val) { |
| | | if (val) { |
| | | this.queryParams.ageStr = ['18-29', '30-39', '40-49', '50-59', '60-69', '69-999'] |
| | | this.queryParams.ageStr = this.dicListToArr(this.ageStrOptions) |
| | | } else { |
| | | this.queryParams.ageStr = [] |
| | | } |
| | | }, |
| | | selectAllArchivesStatus(val) { |
| | | if (val) { |
| | | this.queryParams.archivesStatus = ['0', '1'] |
| | | this.queryParams.archivesStatus = this.dicListToArr(this.archivesStatusOptions) |
| | | } else { |
| | | this.queryParams.archivesStatus = [] |
| | | } |
| | | }, |
| | | selectAllInsuranceType(val) { |
| | | if (val) { |
| | | this.queryParams.insuranceType = ['1', '2', '3', '4', '5'] |
| | | this.queryParams.insuranceType = this.dicListToArr(this.insuranceTypeOptions) |
| | | } else { |
| | | this.queryParams.insuranceType = [] |
| | | } |
| | | }, |
| | | selectAllEmpStatus(val) { |
| | | if (val) { |
| | | this.queryParams.empStatus = ['0', '1', '2', '3'] |
| | | } else { |
| | | this.queryParams.empStatus = [] |
| | | } |
| | | }, |
| | | selectAllEmpCardStatus(val) { |
| | | if (val) { |
| | | this.queryParams.empCardStatus = ['0', '1'] |
| | | this.queryParams.empCardStatus = this.dicListToArr(this.empCardStatusOptions) |
| | | } else { |
| | | this.queryParams.empCardStatus = [] |
| | | } |
| | | }, |
| | | selectAllHandbookStatus(val) { |
| | | if (val) { |
| | | this.queryParams.handbookStatus = ['0', '1'] |
| | | this.queryParams.handbookStatus = this.dicListToArr(this.handbookStatusOptions) |
| | | } else { |
| | | this.queryParams.handbookStatus = [] |
| | | } |
| | | }, |
| | | selectAllEmpType(val) { |
| | | if (val) { |
| | | this.queryParams.empType = this.dicListToArr(this.empTypeOptions) |
| | | } else { |
| | | this.queryParams.empType = [] |
| | | } |
| | | }, |
| | | selectAllEntryType(val) { |
| | | if (val) { |
| | | 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() { |
| | |
| | | this.editEmpBase(r.data.data) |
| | | }) |
| | | } else { |
| | | this.$confirm('该员工已离职,是否重新打开档案?', '提示', { |
| | | let tempName |
| | | switch (r.data.data.dimissionType) { |
| | | case '1': |
| | | tempName = '合同期满' |
| | | break |
| | | case '2': |
| | | tempName = '公司劝退' |
| | | break |
| | | case '3': |
| | | tempName = '公司辞退' |
| | | break |
| | | case '4': |
| | | tempName = '自动离职' |
| | | break |
| | | case '5': |
| | | tempName = '试用期内' |
| | | break |
| | | case '6': |
| | | tempName = '正常离职' |
| | | break |
| | | } |
| | | var msg = '该员工已存在,' + tempName + '状态!\n\r' |
| | | msg += r.data.data.remark + '\n\r' |
| | | msg += '由于' + r.data.data.empName + '已离职,是否重新打开档案?' |
| | | this.$confirm(msg, '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | |
| | | empId: r.data.data.empId, |
| | | empName: r.data.data.empName, |
| | | certificateNumb: r.data.data.certificateNumb, |
| | | openType: 2, |
| | | openType: 21, |
| | | openDate: this.getDateString(), |
| | | remark: '' |
| | | } |
| | | this.$post('hr/empOpenArchives', { ...this.openArchivesForm }).then(() => { |
| | | this.$message({ |
| | | message: this.$t('员工档案打开成功'), |
| | | type: 'success' |
| | | }) |
| | | }) |
| | | this.dialogShowDkda = true |
| | | // this.$post('hr/empOpenArchives', { ...this.openArchivesForm }).then(() => { |
| | | // this.$message({ |
| | | // message: this.$t('员工档案打开成功'), |
| | | // type: 'success' |
| | | // }) |
| | | // }) |
| | | }) |
| | | } |
| | | } |
| | |
| | | this.$emit('success') |
| | | this.cleanEmpBase() |
| | | }) |
| | | } |
| | | }, |
| | | changeSort(val) { |
| | | this.sort.field = val.prop |
| | | this.sort.order = val.order |
| | | this.search() |
| | | }, |
| | | showDkda(operate, formName) { |
| | | switch (operate) { |
| | | // case 0: |
| | | // var selection = this.$refs.multipleTable.store.states.selection |
| | | // if (selection.length === 1) { |
| | | // var id = selection[0].empId |
| | | // var name = selection[0].empName |
| | | // var number = selection[0].certificateNumb |
| | | // const nowDate = new Date() |
| | | // const year = nowDate.getFullYear() |
| | | // const month = nowDate.getMonth() + 1 |
| | | // const day = nowDate.getDate() |
| | | // this.baseicInformationForm = { |
| | | // empId: id, |
| | | // empName: name, |
| | | // certificateNumb: number, |
| | | // openType: 2, |
| | | // openDate: year + '-' + month + '-' + day, |
| | | // remark: '' |
| | | // } |
| | | // this.dialogShowDkda = true |
| | | // } else { |
| | | // this.$message({ |
| | | // message: '请选中一个要打开档案的人员', |
| | | // type: 'error' |
| | | // }) |
| | | // } |
| | | // break |
| | | case 1: |
| | | this.dialogShowDkda = false |
| | | break |
| | | case 2: |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | this.$post('hr/empOpenArchives', { ...this.openArchivesForm }).then(() => { |
| | | this.dialogShowDkda = false |
| | | this.$message({ |
| | | message: this.$t('员工档案打开成功'), |
| | | type: 'success' |
| | | }) |
| | | this.fetch({ |
| | | ...this.queryParams, |
| | | ...this.sort |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | break |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | #dcygTable { |
| | | border-collapse: collapse; |
| | | tr { |
| | | width: 100%; |
| | | border-bottom: 1px dashed #ccc; |
| | | >td:nth-child(even) { |
| | | width: 100px; |
| | | text-align: left; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | #dcygTable td { |
| | | width: 130px; |
| | | width: 160px; |
| | | text-align: center; |
| | | border: 1px solid darkgray; |
| | | height: 30px; |
| | | height: 35px; |
| | | line-height: 35px; |
| | | font-size: 15px; |
| | | font-weight: 400; |
| | | } |
| | | |
| | | .search-btn { |