| | |
| | | width="180" |
| | | /> |
| | | </el-table> |
| | | <el-table |
| | | v-show="showArr[1].show" |
| | | ref="workExperienceTable" |
| | | :data="workExperienceData" |
| | | style="width: 100%" |
| | | > |
| | | <el-table v-show="showArr[1].show" ref="workExperienceTable" :data="workExperienceData" style="width: 100%"> |
| | | <el-table-column |
| | | type="selection" |
| | | width="55" |
| | |
| | | <el-table-column prop="endDate" label="结束日期" width="180" /> |
| | | <el-table-column prop="jobContent" label="主要工作内容" width="180" /> |
| | | </el-table> |
| | | <el-table |
| | | v-show="showArr[2].show" |
| | | :data="physicalData" |
| | | style="width: 100%" |
| | | > |
| | | <el-table v-show="showArr[2].show" ref="physicalExamTable" :data="physicalExamData" style="width: 100%"> |
| | | <el-table-column |
| | | type="selection" |
| | | width="55" |
| | | /> |
| | | <el-table-column |
| | | fixed="left" |
| | | label="操作" |
| | | width="100" |
| | | > |
| | | <template> |
| | | <el-button type="text" size="small">编辑</el-button> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" @click="editPhysicalExam(scope.row)">编辑</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="userNumb" |
| | | label="员工编号" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="姓名" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="sex" |
| | | label="性别" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="idNumber" |
| | | label="身份证号码" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="hospital" |
| | | label="体检医院" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="physicalDate" |
| | | label="体检日期" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="physicalType" |
| | | label="体检类型" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="bloodPressure" |
| | | label="血压" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="transaminase" |
| | | label="转氨酶" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="ecg" |
| | | label="心电图" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="conclusion" |
| | | label="体检结论" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="reviewRecords" |
| | | label="复查记录" |
| | | width="180" |
| | | /> |
| | | <el-table-column |
| | | prop="remark" |
| | | label="备注" |
| | | width="240" |
| | | /> |
| | | |
| | | <el-table-column prop="empNumb" label="员工编号" width="180" /> |
| | | <el-table-column prop="deptName" label="护卫点" width="180" /> |
| | | <el-table-column prop="empName" label="员工姓名" width="180" /> |
| | | <el-table-column prop="certificateNumb" label="身份证号码" width="180" /> |
| | | <el-table-column prop="jobName" label="岗位" width="180" /> |
| | | <el-table-column prop="hospital" label="体检医院" width="180" /> |
| | | <el-table-column prop="physicalExamDate" label="体检日期" width="180" /> |
| | | <el-table-column prop="physicalExamType" label="体检类型" width="180" /> |
| | | <el-table-column prop="bloodPressure" label="血压" width="180" /> |
| | | <el-table-column prop="transaminase" label="转氨酶" width="180" /> |
| | | <el-table-column prop="ecg" label="心电图" width="180" /> |
| | | <el-table-column prop="conclusion" label="体检结论" width="180" /> |
| | | <el-table-column prop="reviewRecord" label="复查记录" width="180" /> |
| | | <el-table-column prop="remark" label="备注" width="180" /> |
| | | </el-table> |
| | | <el-table |
| | | v-show="showArr[3].show" |
| | |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="体检信息" :visible.sync="dialogshowArr[2].show" width="50%"> |
| | | <el-form :model="physicalForm" label-position="right" label-width="120px"> |
| | | <el-form :model="physicalExamForm" label-position="right" label-width="120px"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="员工编号"> |
| | | <el-input v-model="physicalForm.name" /> |
| | | <el-input v-model="physicalExamForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="身份证号码"> |
| | | <el-input v-model="physicalForm.name" /> |
| | | <el-input v-model="physicalExamForm.certificateNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"><el-input v-model="physicalExamForm.deptName" /></el-form-item> |
| | | <el-form-item label="体检医院"> |
| | | <el-input v-model="physicalForm.name" /> |
| | | <el-input v-model="physicalExamForm.hospital" /> |
| | | </el-form-item> |
| | | <el-form-item label="体检类型" prop="region"> |
| | | <el-select v-model="physicalForm.name" placeholder="请选择体检类型"> |
| | | <el-select v-model="physicalExamForm.physicalExamType" placeholder="请选择体检类型"> |
| | | <el-option label="普通体检" value="1" /> |
| | | <el-option label="员工体检" value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="转氨酶"> |
| | | <el-input v-model="physicalForm.name" /> |
| | | <el-input v-model="physicalExamForm.transaminase" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="姓名"> |
| | | <el-input v-model="physicalForm.name" /> |
| | | <el-input v-model="physicalExamForm.empName" /> |
| | | </el-form-item> |
| | | <el-form-item label="性别" prop="region"> |
| | | <el-select v-model="physicalForm.name" placeholder="请选择性别"> |
| | | <el-select v-model="physicalExamForm.sex" placeholder="请选择性别"> |
| | | <el-option label="男" value="1" /> |
| | | <el-option label="女" value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="岗位名称"><el-input v-model="physicalExamForm.jobName" /></el-form-item> |
| | | <el-form-item label="体检日期"> |
| | | <el-date-picker |
| | | v-model="physicalForm.name" |
| | | v-model="physicalExamForm.physicalExamDate" |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | placeholder="选择体检日期" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="血压"> |
| | | <el-input v-model="physicalForm.name" /> |
| | | <el-input v-model="physicalExamForm.bloodPressure" /> |
| | | </el-form-item> |
| | | <el-form-item label="心电图" prop="region"> |
| | | <el-select v-model="physicalForm.name" placeholder="请选择心电图"> |
| | | <el-select v-model="physicalExamForm.name" placeholder="ecg"> |
| | | <el-option label="正常" value="1" /> |
| | | <el-option label="异常" value="2" /> |
| | | <el-option label="异常" value="0" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="体检结论"> |
| | | <el-input v-model="physicalForm.name" /> |
| | | <el-input v-model="physicalExamForm.conclusion" /> |
| | | </el-form-item> |
| | | <el-form-item label="复查记录"> |
| | | <el-input v-model="physicalForm.name" /> |
| | | <el-input v-model="physicalExamForm.reviewRecord" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="备注"> |
| | | <el-input v-model="physicalForm.name" type="textarea" /> |
| | | <el-input v-model="physicalExamForm.remark" type="textarea" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putPhysicalExam()">保 存</el-button> |
| | | <el-button type="primary" @click="putPhysicalExamContinue()">保存并继续新增</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | <el-button type="primary" @click="dialogIsShow()">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | |
| | | // eslint-disable-next-line no-undef |
| | | showArr: [{ show: true }, { show: false }, { show: false }, { show: false }, { show: false }, { show: false }, { show: false }, { show: false }, { show: false }, { show: false }, { show: false }, { show: false }, { show: false }, { show: false }], |
| | | isAdd: false, |
| | | physicalData: [{ |
| | | name: '王小虎', |
| | | userNumb: '12321222', |
| | | sex: '女', |
| | | idNumber: '430422199823222222', |
| | | hospital: '宝安中心医院', |
| | | physicalDate: '2020-01-01', |
| | | physicalType: '员工体检', |
| | | bloodPressure: '80/120', |
| | | transaminase: '85', |
| | | ecg: '正常', |
| | | conclusion: '血压偏高', |
| | | reviewRecords: '2019-02-05', |
| | | remark: '' |
| | | }, { |
| | | name: '王小虎', |
| | | userNumb: '12321222', |
| | | sex: '女', |
| | | idNumber: '430422199823222222', |
| | | hospital: '宝安中心医院', |
| | | physicalDate: '2020-01-01', |
| | | physicalType: '员工体检', |
| | | bloodPressure: '80/120', |
| | | transaminase: '85', |
| | | ecg: '正常', |
| | | conclusion: '血压偏高', |
| | | reviewRecords: '2019-02-05', |
| | | remark: '' |
| | | }, { |
| | | name: '王小虎', |
| | | userNumb: '12321222', |
| | | sex: '女', |
| | | idNumber: '430422199823222222', |
| | | hospital: '宝安中心医院', |
| | | physicalDate: '2020-01-01', |
| | | physicalType: '员工体检', |
| | | bloodPressure: '80/120', |
| | | transaminase: '85', |
| | | ecg: '正常', |
| | | conclusion: '血压偏高', |
| | | reviewRecords: '2019-02-05', |
| | | remark: '' |
| | | }], |
| | | physicalExamData: [], |
| | | workExperienceData: [], |
| | | basicInformationData: [], |
| | | contractData: [], |
| | |
| | | absenteeismDay: '', |
| | | remark: '' |
| | | }, |
| | | physicalForm: { |
| | | name: '', |
| | | userNumb: '', |
| | | physicalExamForm: { |
| | | physicalExamId: '', |
| | | empId: '', |
| | | empNumb: '', |
| | | empName: '', |
| | | certificateNumb: '', |
| | | sex: '', |
| | | idNumber: '', |
| | | deptId: '', |
| | | deptName: '', |
| | | JobId: '', |
| | | jobName: '', |
| | | hospital: '', |
| | | physicalDate: '', |
| | | physicalType: '', |
| | | physicalExamDate: '', |
| | | physicalExamType: '', |
| | | bloodPressure: '', |
| | | transaminase: '', |
| | | ecg: '', |
| | | conclusion: '', |
| | | reviewRecords: '', |
| | | remark: '' |
| | | reviewRecord: '', |
| | | remark: '', |
| | | createTime: '', |
| | | creator: '', |
| | | modifyTime: '', |
| | | modifier: '', |
| | | delFlag: '', |
| | | version: '' |
| | | }, |
| | | workExperienceForm: { |
| | | workExperienceId: '', |
| | |
| | | this.getBadRecord() |
| | | this.selectEmpBase() |
| | | this.selectWorkExperience() |
| | | this.selectPhysicalExam() |
| | | }, |
| | | methods: { |
| | | dialogIsShow() { |
| | |
| | | this.showArr[this.thisShowIndex].show = false |
| | | } |
| | | this.thisShowIndex = index |
| | | }, |
| | | butDelete() { |
| | | switch (this.thisShowIndex) { |
| | | case 1: |
| | | var selected = this.$refs.workExperienceTable.selection |
| | | if (selected.length > 0) { |
| | | const delIds = [] |
| | | selected.forEach((j) => { |
| | | delIds.push(j.workExperienceId) |
| | | }) |
| | | this.$delete(`hr/empWorkExperience/` + delIds).then(() => { |
| | | this.$message({ |
| | | message: this.$t('tips.deleteSuccess'), |
| | | type: 'success' |
| | | }) |
| | | this.selectWorkExperience() |
| | | }) |
| | | } |
| | | break |
| | | case 2: |
| | | // eslint-disable-next-line no-redeclare |
| | | var selected = this.$refs.physicalExamTable.selection |
| | | if (selected.length > 0) { |
| | | const delIds = [] |
| | | selected.forEach((j) => { |
| | | delIds.push(j.physicalExamId) |
| | | }) |
| | | this.$delete(`hr/empPhysicalExam/` + delIds).then(() => { |
| | | this.$message({ |
| | | message: this.$t('tips.deleteSuccess'), |
| | | type: 'success' |
| | | }) |
| | | this.selectPhysicalExam() |
| | | }) |
| | | } |
| | | break |
| | | case 12: |
| | | // eslint-disable-next-line no-redeclare |
| | | var selected = this.$refs.badRecordTable.selection |
| | | if (selected.length > 0) { |
| | | const badIds = [] |
| | | selected.forEach((j) => { |
| | | badIds.push(j.badId) |
| | | }) |
| | | this.$delete(`hr/empBadRecord/` + badIds).then(() => { |
| | | this.$message({ |
| | | message: this.$t('tips.deleteSuccess'), |
| | | type: 'success' |
| | | }) |
| | | this.getBadRecord() |
| | | }) |
| | | } |
| | | break |
| | | } |
| | | }, |
| | | getBadRecord() { |
| | | this.$get('hr/empBadRecord/list').then((r) => { |
| | |
| | | this.badRecordFrom.creator = row.creator |
| | | this.badRecordFrom.remark = row.remark |
| | | this.dialogshowArr[12].show = true |
| | | }, |
| | | butDelete() { |
| | | switch (this.thisShowIndex) { |
| | | case 1: |
| | | var selected = this.$refs.workExperienceTable.selection |
| | | if (selected.length > 0) { |
| | | const delIds = [] |
| | | selected.forEach((j) => { |
| | | delIds.push(j.workExperienceId) |
| | | }) |
| | | this.$delete(`hr/empWorkExperience/` + delIds).then(() => { |
| | | this.$message({ |
| | | message: this.$t('tips.deleteSuccess'), |
| | | type: 'success' |
| | | }) |
| | | this.selectWorkExperience() |
| | | }) |
| | | } |
| | | break |
| | | case 12: |
| | | // eslint-disable-next-line no-redeclare |
| | | var selected = this.$refs.badRecordTable.selection |
| | | if (selected.length > 0) { |
| | | const badIds = [] |
| | | selected.forEach((j) => { |
| | | badIds.push(j.badId) |
| | | }) |
| | | this.$delete(`hr/empBadRecord/` + badIds).then(() => { |
| | | this.$message({ |
| | | message: this.$t('tips.deleteSuccess'), |
| | | type: 'success' |
| | | }) |
| | | this.getBadRecord() |
| | | }) |
| | | } |
| | | break |
| | | } |
| | | }, |
| | | selectEmpBase() { |
| | | this.$get('hr/empBaseInfo/list').then((r) => { |
| | |
| | | this.workExperienceForm.delFlag = row.delFlag |
| | | this.workExperienceForm.version = row.version |
| | | this.dialogshowArr[1].show = true |
| | | }, |
| | | selectPhysicalExam() { |
| | | this.$get('hr/empPhysicalExam/list').then((r) => { |
| | | this.physicalExamData = r.data.data.rows |
| | | }).catch((error) => { |
| | | console.error(error) |
| | | this.$message({ |
| | | message: this.$t('tips.getDataFail'), |
| | | type: 'error' |
| | | }) |
| | | }) |
| | | }, |
| | | putPhysicalExam() { |
| | | if (this.isAdd) { |
| | | this.$post('hr/empPhysicalExam', { ...this.physicalExamForm }).then(() => { |
| | | this.buttonLoading = false |
| | | this.$message({ |
| | | message: this.$t('tips.createSuccess'), |
| | | type: 'success' |
| | | }) |
| | | this.cleanPhysicalExam() |
| | | this.selectPhysicalExam() |
| | | }) |
| | | } else { |
| | | this.$put('hr/empPhysicalExam', { ...this.physicalExamForm }).then(() => { |
| | | this.$message({ |
| | | message: this.$t('tips.updateSuccess'), |
| | | type: 'success' |
| | | }) |
| | | this.$emit('success') |
| | | this.cleanPhysicalExam() |
| | | this.selectPhysicalExam() |
| | | }) |
| | | } |
| | | this.dialogIsShow() |
| | | }, |
| | | putPhysicalExamContinue() { |
| | | if (this.isAdd) { |
| | | this.$post('hr/empPhysicalExam', { ...this.physicalExamForm }).then(() => { |
| | | this.buttonLoading = false |
| | | this.$message({ |
| | | message: this.$t('tips.createSuccess'), |
| | | type: 'success' |
| | | }) |
| | | this.cleanPhysicalExam() |
| | | this.selectPhysicalExam() |
| | | }) |
| | | } |
| | | }, |
| | | cleanPhysicalExam() { |
| | | this.physicalExamForm.hospital = '' |
| | | this.physicalExamForm.physicalExamDate = '' |
| | | this.physicalExamForm.physicalExamType = '' |
| | | this.physicalExamForm.bloodPressure = '' |
| | | this.physicalExamForm.transaminase = '' |
| | | this.physicalExamForm.ecg = '' |
| | | this.physicalExamForm.conclusion = '' |
| | | this.physicalExamForm.reviewRecord = '' |
| | | this.physicalExamForm.remark = '' |
| | | }, |
| | | editPhysicalExam(row) { |
| | | this.isAdd = false |
| | | this.physicalExamForm.physicalExamId = row.physicalExamId |
| | | this.physicalExamForm.empId = row.empId |
| | | this.physicalExamForm.empNumb = row.empNumb |
| | | this.physicalExamForm.empName = row.empName |
| | | this.physicalExamForm.certificateNumb = row.certificateNumb |
| | | this.physicalExamForm.sex = row.sex |
| | | this.physicalExamForm.deptId = row.deptId |
| | | this.physicalExamForm.deptName = row.deptName |
| | | this.physicalExamForm.JobId = row.JobId |
| | | this.physicalExamForm.jobName = row.jobName |
| | | this.physicalExamForm.hospital = row.hospital |
| | | this.physicalExamForm.physicalExamDate = row.physicalExamDate |
| | | this.physicalExamForm.physicalExamType = row.physicalExamType |
| | | this.physicalExamForm.bloodPressure = row.bloodPressure |
| | | this.physicalExamForm.transaminase = row.transaminase |
| | | this.physicalExamForm.ecg = row.ecg |
| | | this.physicalExamForm.conclusion = row.conclusion |
| | | this.physicalExamForm.reviewRecord = row.reviewRecord |
| | | this.physicalExamForm.remark = row.remark |
| | | this.physicalExamForm.createTime = row.createTime |
| | | this.physicalExamForm.creator = row.creator |
| | | this.physicalExamForm.modifyTime = row.modifyTime |
| | | this.physicalExamForm.modifier = row.modifier |
| | | this.physicalExamForm.delFlag = row.delFlag |
| | | this.physicalExamForm.version = row.version |
| | | |
| | | this.dialogshowArr[2].show = true |
| | | } |
| | | } |
| | | } |