| | |
| | | <el-form ref="empBaseInfoForm" :model="empBaseInfoForm" :rules="rules" label-position="right" label-width="120px"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="档案号"> |
| | | <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="身份证号码"> |
| | | <el-form-item label="身份证号码" prop="certificateNumb"> |
| | | <el-input |
| | | v-model="empBaseInfoForm.certificateNumb" |
| | | @input="generateUserInfo(0,empBaseInfoForm.certificateNumb)" |
| | |
| | | <el-option label="临时工" value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="民族"> |
| | | <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="98" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="婚姻状态"> |
| | | <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="9" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="身高(cm)"> |
| | | <el-form-item label="身高(cm)" prop="stature"> |
| | | <el-input v-model="empBaseInfoForm.stature" /> |
| | | </el-form-item> |
| | | <el-form-item label="政治面貌"> |
| | | <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="13" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="最高学历"> |
| | | <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="91" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="籍贯"> |
| | | <el-form-item label="籍贯" prop="nativePlaceName"> |
| | | <el-autocomplete |
| | | v-model="empBaseInfoForm.nativePlaceName" |
| | | class="inline-input" |
| | |
| | | @select="placeNameSelect" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="现住址"> |
| | | <el-form-item label="现住址" prop="currentAddress"> |
| | | <el-input v-model="empBaseInfoForm.currentAddress" /> |
| | | </el-form-item> |
| | | <el-form-item label="电话号码"> |
| | | <el-form-item label="电话号码" prop="telePhone"> |
| | | <el-input v-model="empBaseInfoForm.telePhone" /> |
| | | </el-form-item> |
| | | <el-form-item label="招聘介绍人"> |
| | | <el-form-item label="招聘介绍人" prop="introducer"> |
| | | <el-input v-model="empBaseInfoForm.introducer" /> |
| | | </el-form-item> |
| | | <el-form-item label="银行名称"> |
| | | <el-form-item label="银行名称" prop="bankName"> |
| | | <el-input v-model="empBaseInfoForm.bankName" /> |
| | | </el-form-item> |
| | | <el-form-item label="保险类型"> |
| | | <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="5" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="家庭成员及关系"> |
| | | <el-form-item label="家庭成员及关系" prop="family"> |
| | | <el-input v-model="empBaseInfoForm.family" /> |
| | | </el-form-item> |
| | | <el-form-item label="紧急联系电话"> |
| | | <el-form-item label="紧急联系电话" prop="urgencyPhone"> |
| | | <el-input v-model="empBaseInfoForm.urgencyPhone" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-option label="女" value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="身份证有效期"> |
| | | <el-input v-model="empBaseInfoForm.certificateValidity" /> |
| | | <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="年龄"> |
| | | <el-form-item label="年龄" prop="age"> |
| | | <el-input v-model="empBaseInfoForm.age" /> |
| | | </el-form-item> |
| | | <el-form-item label="出生日期"> |
| | | <el-form-item label="出生日期" prop="birthdate"> |
| | | <el-date-picker |
| | | v-model="empBaseInfoForm.birthdate" |
| | | type="date" |
| | |
| | | placeholder="选择日期" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="入职日期"> |
| | | <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="入司工龄"> |
| | | <el-form-item label="入司工龄" prop="seniority"> |
| | | <el-input v-model="empBaseInfoForm.seniority" /> |
| | | </el-form-item> |
| | | <el-form-item label="户籍地址"> |
| | | <el-form-item label="户籍地址" prop="censusAddress"> |
| | | <el-input v-model="empBaseInfoForm.censusAddress" /> |
| | | </el-form-item> |
| | | <el-form-item label="保安员证号"> |
| | | <el-form-item label="保安员证号" prop="guardNumb"> |
| | | <el-input v-model="empBaseInfoForm.guardNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="保安员回执"> |
| | | <el-form-item label="保安员回执" prop="returnReceipt"> |
| | | <el-input v-model="empBaseInfoForm.returnReceipt" /> |
| | | </el-form-item> |
| | | <el-form-item label="档案情况"> |
| | | <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="银行账号"> |
| | | <el-form-item label="银行账号" prop="bankNumb"> |
| | | <el-input v-model="empBaseInfoForm.bankNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="社保电脑号"> |
| | | <el-form-item label="社保电脑号" prop="socialNumb"> |
| | | <el-input v-model="empBaseInfoForm.socialNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="员工手册"> |
| | | <el-form-item label="员工手册" prop="handbookStatus"> |
| | | <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="工作证"> |
| | | <el-form-item label="工作证" prop="empCardStatus"> |
| | | <el-select v-model="empBaseInfoForm.empCardStatus" placeholder="请选择工作证"> |
| | | <el-option label="未发" value="0" /> |
| | | <el-option label="已发" value="1" /> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="相关证件"> |
| | | <el-form-item label="相关证件" prop="certificateList"> |
| | | <el-select v-model="empBaseInfoForm.certificateList" placeholder="请选择相关证件"> |
| | | <el-option label="高中毕业证" value="1" /> |
| | | <el-option label="专科毕业证" value="2" /> |
| | |
| | | <el-form-item label="体检医院" prop="hospital"> |
| | | <el-input v-model="physicalExamForm.hospital" /> |
| | | </el-form-item> |
| | | <el-form-item label="体检类型"> |
| | | <el-form-item label="体检类型" prop="physicalExamType"> |
| | | <el-select |
| | | v-model="physicalExamForm.physicalExamType" |
| | | placeholder="请选择体检类型" |
| | |
| | | <el-option label="员工体检" value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="转氨酶"> |
| | | <el-form-item label="转氨酶" prop="transaminase"> |
| | | <el-input v-model="physicalExamForm.transaminase" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | placeholder="选择体检日期" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="血压"> |
| | | <el-form-item label="血压" prop="bloodPressure"> |
| | | <el-input v-model="physicalExamForm.bloodPressure" /> |
| | | </el-form-item> |
| | | <el-form-item label="心电图"> |
| | | <el-select v-model="physicalExamForm.name" placeholder="ecg"> |
| | | <el-form-item label="心电图" prop="ecg"> |
| | | <el-select v-model="physicalExamForm.ecg" placeholder="ecg"> |
| | | <el-option label="正常" value="1" /> |
| | | <el-option label="异常" value="0" /> |
| | | </el-select> |
| | |
| | | <el-form-item label="体检结论" prop="conclusion"> |
| | | <el-input v-model="physicalExamForm.conclusion" /> |
| | | </el-form-item> |
| | | <el-form-item label="复查记录"> |
| | | <el-form-item label="复查记录" prop="reviewRecord"> |
| | | <el-input v-model="physicalExamForm.reviewRecord" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="备注"> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="physicalExamForm.remark" type="textarea" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="请假天数"> |
| | | <el-form-item label="请假天数" prop="leaveDay"> |
| | | <el-input v-model="leaveInfoForm.leaveDay" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="到岗时间"> |
| | | <el-form-item label="到岗时间" prop="returnDate"> |
| | | <el-date-picker |
| | | v-model="leaveInfoForm.returnDate" |
| | | value-format="yyyy-MM-dd" |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { toCardGetUserInfo } from '@/utils/myUtil' |
| | | import { calculateSeniority, toCardGetUserInfo, dateDifference } from '@/utils/myUtil' |
| | | import Treeselect from '@riophae/vue-treeselect' |
| | | import '@riophae/vue-treeselect/dist/vue-treeselect.css' |
| | | import Pagination from '@/components/Pagination' |
| | |
| | | certificateNumb: [{ required: true, message: '请输入身份证号', trigger: 'blur' }], |
| | | jobName: [{ required: true, message: '请选择岗位', trigger: 'change' }], |
| | | nativePlaceName: [{ required: true, message: '请选择籍贯', trigger: 'change' }], |
| | | bankName: [{ required: true, message: '请输入银行名称', trigger: 'blur' }], |
| | | 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' }], |
| | | empType: [{ 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' }] |
| | | }, |
| | | workExperienceRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | |
| | | physicalExamDate: [{ required: true, message: '请选择体检日期', trigger: 'change' }], |
| | | hospital: [{ required: true, message: '请输入体检医院', trigger: 'blur' }, { max: 64, message: '长度不超过64个字符', trigger: 'blur' }], |
| | | physicalExamType: [{ required: true, message: '请选择体检类型', trigger: 'change' }], |
| | | bloodPressure: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }], |
| | | transaminase: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }], |
| | | ecg: [{ max: 16, message: '长度不超过16个字符', trigger: 'blur' }], |
| | | bloodPressure: [{ required: true, message: '请输入血压', trigger: 'blur' }, { max: 40, message: '长度不超过40个字符', trigger: 'blur' }], |
| | | transaminase: [{ required: true, message: '请输入转氨酶', trigger: 'blur' }, { max: 40, message: '长度不超过40个字符', trigger: 'blur' }], |
| | | ecg: [{ required: true, message: '请选择心电图', trigger: 'change' }, { max: 16, message: '长度不超过16个字符', trigger: 'blur' }], |
| | | conclusion: [{ required: true, message: '请输入体检结论', trigger: 'blur' }, { max: 128, message: '长度不超过128个字符', trigger: 'blur' }], |
| | | reviewRecord: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }], |
| | | remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }] |
| | |
| | | }, |
| | | leaveInfoRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | beginTime: [{ required: true, message: '请选择请假开始时间', trigger: 'change' }], |
| | | beginTime: [{ required: true, validator: this.startDate }], |
| | | leaveType: [{ required: true, message: '请选择请假类型', trigger: 'change' }], |
| | | endTime: [{ required: true, message: '请选择请假结束时间', trigger: 'change' }], |
| | | endTime: [{ required: true, validator: this.endDate }], |
| | | returnDate: [{ required: true, message: '请选择到岗时间', trigger: 'change' }], |
| | | reporter: [{ required: true, message: '请输入报备人', trigger: 'blur' }], |
| | | remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }] |
| | | }, |
| | |
| | | modifyTime: '', |
| | | modifier: '', |
| | | delFlag: '', |
| | | empStatus: 0, |
| | | version: '' |
| | | }, |
| | | laborTroubleForm: { |
| | |
| | | modifier: '', |
| | | delFlag: '', |
| | | version: '', |
| | | empStatus: 0, |
| | | remark: '' |
| | | }, |
| | | occupationalForm: { |
| | |
| | | modifier: '', |
| | | delFlag: '', |
| | | version: '', |
| | | empStatus: 0, |
| | | remark: '' |
| | | }, |
| | | accidentCasesForm: { |
| | |
| | | modifyTime: '', |
| | | modifier: '', |
| | | delFlag: '', |
| | | empStatus: 0, |
| | | version: '' |
| | | }, |
| | | insuranceForm: { |
| | |
| | | modifier: '', |
| | | delFlag: '', |
| | | version: '', |
| | | empStatus: 0, |
| | | remark: '' |
| | | }, |
| | | unemploymentForm: { |
| | |
| | | modifyTime: '', |
| | | modifier: '', |
| | | delFlag: '', |
| | | empStatus: 0, |
| | | version: '' |
| | | }, |
| | | resignForm: { |
| | |
| | | modifier: '', |
| | | delFlag: '', |
| | | version: '', |
| | | empStatus: 0, |
| | | remark: '' |
| | | }, |
| | | leaveInfoForm: { |
| | |
| | | modifier: '', |
| | | delFlag: '', |
| | | version: '', |
| | | empStatus: 0, |
| | | remark: '' |
| | | }, |
| | | contractInfoForm: { |
| | |
| | | modifyTime: '', |
| | | modifier: '', |
| | | delFlag: '', |
| | | empStatus: 0, |
| | | version: '' |
| | | }, |
| | | dimissionAttendForm: { |
| | |
| | | modifier: '', |
| | | delFlag: '', |
| | | version: '', |
| | | empStatus: 0, |
| | | remark: '' |
| | | }, |
| | | physicalExamForm: { |
| | |
| | | modifyTime: '', |
| | | modifier: '', |
| | | delFlag: '', |
| | | empStatus: 0, |
| | | version: '' |
| | | }, |
| | | workExperienceForm: { |
| | |
| | | modifyTime: '', |
| | | modifier: '', |
| | | delFlag: '', |
| | | empStatus: 0, |
| | | version: '' |
| | | }, |
| | | empBaseInfoForm: { |
| | |
| | | modifyTime: '', |
| | | modifier: '', |
| | | delFlag: '', |
| | | empStatus: 0, |
| | | version: '' |
| | | }, |
| | | badRecordForm: { |
| | |
| | | modifier: '', |
| | | delFlag: '', |
| | | version: '', |
| | | empStatus: 0, |
| | | remark: '' |
| | | } |
| | | } |
| | |
| | | // 如果起始在结束之前 |
| | | callback() |
| | | } else { |
| | | callback(new Error('开始始日期不能在结束日期之后,请重新选择')) |
| | | callback(new Error('开始日期不能在结束日期之后,请重新选择')) |
| | | } |
| | | } |
| | | break |
| | | case 5: |
| | | // 如果结束日期没选,cb |
| | | if (!this.leaveInfoForm.endTime) { |
| | | callback() |
| | | } else { |
| | | // 结束日期有,进行判断 |
| | | if (this.compareDate(value, this.leaveInfoForm.endTime)) { |
| | | // 如果起始在结束之前 |
| | | callback() |
| | | } else { |
| | | callback(new Error('开始时间不能在结束时间之后,请重新选择')) |
| | | } |
| | | } |
| | | break |
| | |
| | | // 起始日期有,进行判断 |
| | | if (this.compareDate(this.workExperienceForm.beginDate, value)) { |
| | | // 如果起始在结束之前 |
| | | this.leaveInfoForm.leaveDay = dateDifference(this.leaveInfoForm.beginTime, this.leaveInfoForm.endTime, 'd') |
| | | callback() |
| | | } else { |
| | | callback(new Error('结束日期不能在开始始日期之前,请重新选择')) |
| | | } |
| | | } |
| | | break |
| | | case 5: |
| | | // 如果起始日期没选,cb |
| | | if (!this.leaveInfoForm.beginTime) { |
| | | callback() |
| | | } else { |
| | | // 起始日期有,进行判断 |
| | | if (this.compareDate(this.leaveInfoForm.beginTime, value)) { |
| | | // 如果起始在结束之前 |
| | | this.leaveInfoForm.leaveDay = dateDifference(this.leaveInfoForm.beginTime, this.leaveInfoForm.endTime, 'd') |
| | | callback() |
| | | } else { |
| | | callback(new Error('结束日期不能在开始始日期之前,请重新选择')) |
| | |
| | | this.empBaseInfoForm.sex = userinfo.sex |
| | | break |
| | | } |
| | | }, |
| | | calculateSeniority(val) { |
| | | this.empBaseInfoForm.seniority = calculateSeniority(val) |
| | | } |
| | | } |
| | | } |