| | |
| | | v-show="showArr[0].show" |
| | | ref="empBaseInfoTable" |
| | | :data="basicInformationData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | v-show="showArr[1].show" |
| | | ref="workExperienceTable" |
| | | :data="workExperienceData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="empNumb" label="员工编号" width="180" /> |
| | | <el-table-column prop="empName" label="员工姓名" width="180" /> |
| | | <el-table-column prop="empNumb" label="员工编号" width="100" /> |
| | | <el-table-column prop="empName" label="员工姓名" width="100" /> |
| | | <el-table-column prop="certificateNumb" label="证件号码" width="180" /> |
| | | <el-table-column prop="workUnit" label="工作单位" width="180" /> |
| | | <el-table-column prop="beginDate" label="开始日期" width="180" /> |
| | | <el-table-column prop="endDate" label="结束日期" width="180" /> |
| | | <el-table-column prop="jobContent" label="主要工作内容" width="180" /> |
| | | <el-table-column prop="workUnit" label="工作单位" width="240" /> |
| | | <el-table-column prop="beginDate" label="开始日期" width="100" /> |
| | | <el-table-column prop="endDate" label="结束日期" width="100" /> |
| | | <el-table-column prop="jobContent" label="主要工作内容" width="300" /> |
| | | </el-table> |
| | | <el-table |
| | | v-show="showArr[2].show" |
| | | ref="physicalExamTable" |
| | | :data="physicalExamData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | v-show="showArr[3].show" |
| | | ref="contractInfoTable" |
| | | :data="contractInfoData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | v-show="showArr[4].show" |
| | | ref="dimissionAttendTable" |
| | | :data="dimissionAttendData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | <el-table-column prop="absenteeism" label="旷工(天)" width="180" /> |
| | | <el-table-column prop="remark" label="备注" width="180" /> |
| | | </el-table> |
| | | <el-table v-show="showArr[5].show" ref="leaveInfoTable" :data="leaveInfoData" style="width: 100%;height: 70%;"> |
| | | <el-table v-show="showArr[5].show" ref="leaveInfoTable" :data="leaveInfoData" style="width: 100%;"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | | <template slot-scope="scope"> |
| | |
| | | <el-table-column prop="reporter" label="报备人" width="180" /> |
| | | <el-table-column prop="remark" label="备注" width="180" /> |
| | | </el-table> |
| | | <el-table v-show="showArr[6].show" ref="resignTable" :data="resignData" style="width: 100%;height: 70%;"> |
| | | <el-table v-show="showArr[6].show" ref="resignTable" :data="resignData" style="width: 100%;"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | | <template slot-scope="scope"> |
| | |
| | | v-show="showArr[7].show" |
| | | ref="unemploymentTable" |
| | | :data="unemploymentData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | <el-table-column prop="auditor" label="审核人" width="180" /> |
| | | <el-table-column prop="remark" label="备注" width="180" /> |
| | | </el-table> |
| | | <el-table v-show="showArr[8].show" ref="insuranceTable" :data="insuranceData" style="width: 100%;height: 70%;"> |
| | | <el-table v-show="showArr[8].show" ref="insuranceTable" :data="insuranceData" style="width: 100%;"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | | <template slot-scope="scope"> |
| | |
| | | v-show="showArr[9].show" |
| | | ref="accidentCasesTable" |
| | | :data="accidentCasesData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | v-show="showArr[10].show" |
| | | ref="occupationalTable" |
| | | :data="occupationalData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | v-show="showArr[11].show" |
| | | ref="laborTroubleTable" |
| | | :data="laborTroubleData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | v-show="showArr[12].show" |
| | | ref="badRecordTable" |
| | | :data="badRecordData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | v-show="showArr[13].show" |
| | | ref="remarkInfoTable" |
| | | :data="remarkInfoData" |
| | | style="width: 100%;height: 70%;" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column fixed="left" label="操作" width="100"> |
| | |
| | | /> |
| | | </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 { calculateSeniority, 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' |
| | |
| | | urgencyPhone: [{ max: 30, message: '长度不超过30个字符', trigger: 'blur' }] |
| | | }, |
| | | workExperienceRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | workUnit: [{ required: true, message: '请输入工作单位', trigger: 'blur' }, { max: 128, message: '长度不超过128个字符', trigger: 'blur' }], |
| | | beginDate: [{ required: true, validator: this.startDate }], |
| | | endDate: [{ required: true, validator: this.endDate }], |
| | | jobContent: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }] |
| | | }, |
| | | physicalExamRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | physicalExamDate: [{ required: true, message: '请选择体检日期', trigger: 'change' }], |
| | | hospital: [{ required: true, message: '请输入体检医院', trigger: 'blur' }, { max: 64, message: '长度不超过64个字符', trigger: 'blur' }], |
| | | physicalExamType: [{ required: true, message: '请选择体检类型', trigger: 'change' }], |
| | |
| | | remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }] |
| | | }, |
| | | contractInfoRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | signingDate: [{ required: true, message: '请选择合同签订日期', trigger: 'change' }], |
| | | contractStatus: [{ required: true, message: '请选择合同状态', trigger: 'change' }], |
| | | transactor: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }], |
| | |
| | | remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }] |
| | | }, |
| | | dimissionAttendRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | attendMonth: [{ required: true, message: '请选择出勤月份', trigger: 'change' }], |
| | | deduct: [{ required: true, message: '请输入代扣填款项', trigger: 'blur' }], |
| | | attendDays: [{ required: true, message: '请输入出勤天数', trigger: 'blur' }] |
| | | }, |
| | | leaveInfoRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | beginTime: [{ required: true, message: '请选择请假开始时间', trigger: 'change' }], |
| | | empName: [{ 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' }] |
| | | }, |
| | | resignRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | applayDate: [{ required: true, message: '请选择申请日期', trigger: 'change' }], |
| | | reason: [{ required: true, message: '请输入事由', trigger: 'blur' }, { max: 256, message: '长度不超过256个字符', trigger: 'blur' }], |
| | | remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }], |
| | | reporter: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }] |
| | | }, |
| | | unemploymentRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | applayDate: [{ required: true, message: '请选择申请日期', trigger: 'change' }], |
| | | applayReason: [{ required: true, message: '请输入申报事由', trigger: 'blur' }, { max: 128, message: '长度不超过128个字符', trigger: 'blur' }], |
| | | reporter: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }], |
| | |
| | | remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }] |
| | | }, |
| | | insuranceRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | applayDate: [{ required: true, message: '请选择申请日期', trigger: 'change' }], |
| | | proposer: [{ required: true, message: '请输入申请人', trigger: 'blur' }, { max: 40, message: '长度不超过40个字符', trigger: 'blur' }], |
| | | insuranceGaers: [{ required: true, message: '请选择社保档位', trigger: 'change' }], |
| | |
| | | applayStatus: [{ required: true, message: '请选择申请状态', trigger: 'change' }] |
| | | }, |
| | | accidentCasesRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | injuredTime: [{ required: true, message: '请选择受伤时间', trigger: 'blur' }], |
| | | injuredPart: [{ required: true, message: '请输入受伤部位', trigger: 'blur' }, { max: 40, message: '长度不超过40个字符', trigger: 'blur' }], |
| | | injuredAddress: [{ required: true, message: '请输入受伤地点', trigger: 'blur' }, { max: 64, message: '长度不超过64个字符', trigger: 'blur' }], |
| | |
| | | remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }] |
| | | }, |
| | | occupationalRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | injuredTime: [{ required: true, message: '请选择受伤时间', trigger: 'blur' }], |
| | | injuredPart: [{ required: true, message: '请输入受伤部位', trigger: 'blur' }, { max: 40, message: '长度不超过40个字符', trigger: 'blur' }], |
| | | injuredDescribe: [{ required: true, message: '请输入受伤经过描述', trigger: 'blur' }, { max: 512, message: '长度不超过512个字符', trigger: 'blur' }], |
| | |
| | | companyCompensation: [{ required: true, message: '请输入公司赔偿总费用', trigger: 'blur' }] |
| | | }, |
| | | laborTroubleRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | arbitrationType: [{ required: true, message: '请选择仲裁类型', trigger: 'change' }], |
| | | arbitrationDate: [{ required: true, message: '请选择仲裁日期', trigger: 'change' }], |
| | | arbitrationReason: [{ required: true, message: '请输入仲裁事由', trigger: 'blur' }, { max: 1024, message: '长度不超过1024个字符', trigger: 'blur' }], |
| | |
| | | reporter: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }] |
| | | }, |
| | | badRecordRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | badDate: [{ required: true, message: '请选择不良记录日期', trigger: 'change' }], |
| | | badContent: [{ required: true, message: '请输入不良记录描述', trigger: 'blur' }, { |
| | | max: 512, |
| | |
| | | remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }] |
| | | }, |
| | | remarkInfoRules: { |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], |
| | | empName: [{ required: true, message: '请选择员工', trigger: 'change' }], |
| | | remarkDate: [{ required: true, message: '请选择备注日期', trigger: 'change' }], |
| | | remarkContent: [{ required: true, message: '请输入备注内容', trigger: 'blur' }, |
| | | { max: 512, message: this.$t('rules.noMoreThan512'), trigger: 'blur' }] |
| | |
| | | // 如果起始在结束之前 |
| | | 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('结束日期不能在开始始日期之前,请重新选择')) |