From cdfb7d768d971f53d4c897534497c3819a476464 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期日, 31 一月 2021 23:18:53 +0800
Subject: [PATCH] feat(信息录入): 请假记录
---
src/views/user/Informationinput.vue | 249 ++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 191 insertions(+), 58 deletions(-)
diff --git a/src/views/user/Informationinput.vue b/src/views/user/Informationinput.vue
index 7487ad8..805644c 100644
--- a/src/views/user/Informationinput.vue
+++ b/src/views/user/Informationinput.vue
@@ -194,31 +194,28 @@
<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" :data="leaveData" style="width: 100%">
+ <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>
- <el-button type="text" size="small">编辑</el-button>
- </template>
+ <template slot-scope="scope"><el-button type="text" size="small" @click="editLeaveInfo(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="deptName" label="所属部门" width="180" />
- <el-table-column prop="leaveStartDate" label="请假开始时间" width="180" />
- <el-table-column prop="leaveEndDate" label="请假结束时间" width="180" />
+ <el-table-column prop="empNumb" label="员工编号" width="180" />
+ <el-table-column prop="deptName" label="部门名称" width="180" />
+ <el-table-column prop="jobName" label="岗位名称" width="180" />
+ <el-table-column prop="empName" label="员工姓名" width="180" />
+ <el-table-column prop="certificateNumb" label="证件号码" width="180" />
+ <el-table-column prop="beginTime" label="开始时间" width="180" />
+ <el-table-column prop="endTime" label="结束时间" width="180" />
<el-table-column prop="leaveDay" label="请假天数" width="180" />
<el-table-column prop="leaveType" label="请假类型" width="180" />
- <el-table-column prop="comeDate" label="到岗时间" width="180" />
- <el-table-column prop="report" label="报备人" width="180" />
+ <el-table-column prop="returnDate" label="到岗时间" width="180" />
+ <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" :data="resignData" 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>
+ <template slot-scope="scope"><el-button type="text" size="small" @click="editLeaveInfo(scope.row)">编辑</el-button></template>
</el-table-column>
<el-table-column prop="userNumb" label="员工编号" width="180" />
<el-table-column prop="name" label="姓名" width="180" />
@@ -231,10 +228,9 @@
<el-table-column prop="remark" label="备注" width="180" />
</el-table>
<el-table v-show="showArr[7].show" :data="unemploymentData" 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>
+ <template slot-scope="scope"><el-button type="text" size="small" @click="editLeaveInfo(scope.row)">编辑</el-button></template>
</el-table-column>
<el-table-column prop="userNumb" label="员工编号" width="180" />
<el-table-column prop="name" label="姓名" width="180" />
@@ -248,10 +244,9 @@
<el-table-column prop="remark" label="备注" width="180" />
</el-table>
<el-table v-show="showArr[8].show" :data="socialSecurityData" 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>
+ <template slot-scope="scope"><el-button type="text" size="small" @click="editLeaveInfo(scope.row)">编辑</el-button></template>
</el-table-column>
<el-table-column prop="userNumb" label="员工编号" width="180" />
<el-table-column prop="name" label="姓名" width="180" />
@@ -267,10 +262,9 @@
<el-table-column prop="remark" label="备注" width="280" />
</el-table>
<el-table v-show="showArr[9].show" :data="data1" 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>
+ <template slot-scope="scope"><el-button type="text" size="small" @click="editLeaveInfo(scope.row)">编辑</el-button></template>
</el-table-column>
<el-table-column prop="prop2" label="所属部门" width="180" />
<el-table-column prop="prop3" label="员工编号" width="180" />
@@ -296,10 +290,9 @@
<el-table-column prop="prop23" label="案结时间" width="180" />
</el-table>
<el-table v-show="showArr[10].show" :data="data2" 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>
+ <template slot-scope="scope"><el-button type="text" size="small" @click="editLeaveInfo(scope.row)">编辑</el-button></template>
</el-table-column>
<el-table-column prop="prop2" label="员工编号" width="180" />
<el-table-column prop="prop3" label="姓名" width="180" />
@@ -987,58 +980,65 @@
<el-button @click="dialogIsShow()">取 消</el-button>
</div>
</el-dialog>
-
<el-dialog title="请假记录" :visible.sync="dialogshowArr[5].show" width="50%">
- <el-form :model="leaveForm" label-position="right" label-width="120px">
+ <el-form :model="leaveInfoForm" label-position="right" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="员工编号">
- <el-input v-model="leaveForm.name" />
+ <el-input v-model="leaveInfoForm.empNumb" />
</el-form-item>
- <el-form-item label="身份证号码">
- <el-input v-model="leaveForm.name" />
+ <el-form-item label="性别" prop="region">
+ <el-select v-model="leaveInfoForm.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="leaveInfoForm.deptName" /></el-form-item>
<el-form-item label="请假开始时间">
<el-date-picker
- v-model="leaveForm.name"
- type="date"
+ v-model="leaveInfoForm.beginTime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
+ type="datetime"
placeholder="选择请假开始时间"
/>
</el-form-item>
<el-form-item label="请假类型" prop="region">
- <el-select v-model="contractData.name" placeholder="请选择请假类型">
+ <el-select v-model="leaveInfoForm.leaveType" placeholder="请选择请假类型">
<el-option label="事假" value="1" />
<el-option label="病假" value="2" />
</el-select>
</el-form-item>
<el-form-item label="报备人">
- <el-input v-model="leaveForm.name" />
+ <el-input v-model="leaveInfoForm.reporter" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="姓名">
- <el-input v-model="leaveForm.name" />
+ <el-input v-model="leaveInfoForm.empName" />
</el-form-item>
- <el-form-item label="所属部门">
- <el-input v-model="leaveForm.name" />
- </el-form-item>
+ <el-form-item label="证件号码"><el-input v-model="leaveInfoForm.certificateNumb" /></el-form-item>
+ <el-form-item label="岗位名称"><el-input v-model="leaveInfoForm.jobName" /></el-form-item>
<el-form-item label="请假结束时间">
<el-date-picker
- v-model="leaveForm.name"
- type="date"
+ v-model="leaveInfoForm.endTime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
+ type="datetime"
placeholder="选择请假结束时间"
/>
</el-form-item>
<el-form-item label="请假天数">
- <el-input v-model="leaveForm.name" />
+ <el-input v-model="leaveInfoForm.leaveDay" />
</el-form-item>
<el-form-item label="到岗时间">
<el-date-picker
- v-model="leaveForm.name"
+ v-model="leaveInfoForm.returnDate"
+ value-format="yyyy-MM-dd"
type="date"
placeholder="选择到岗时间"
/>
@@ -1049,14 +1049,15 @@
<el-row>
<el-col :span="24">
<el-form-item label="备注">
- <el-input v-model="leaveForm.name" type="textarea" />
+ <el-input v-model="leaveInfoForm.remark" type="textarea" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="putLeaveInfo()">保 存</el-button>
+ <el-button type="primary" @click="putLeaveInfoContinue()">保存并继续新增</el-button>
<el-button @click="dialogIsShow()">取 消</el-button>
- <el-button type="primary" @click="dialogIsShow()">确 定</el-button>
</div>
</el-dialog>
@@ -1772,7 +1773,7 @@
basicInformationData: [],
contractData: [],
attendanceData: [],
- leaveData: [],
+ leaveInfoData: [],
resignData: [
{
userNumb: '12321222',
@@ -2290,18 +2291,29 @@
report: '',
remark: ''
},
- leaveForm: {
- userNumb: '',
- name: '',
- deptName: '',
+ leaveInfoForm: {
+ leaveId: '',
+ empId: '',
+ empNumb: '',
+ empName: '',
sex: '',
- idNumber: '',
- leaveStartDate: '',
- leaveEndDate: '',
- leaveDay: '',
+ certificateNumb: '',
+ deptId: '',
+ deptName: '',
+ JobId: '',
+ jobName: '',
+ beginTime: '',
+ endTime: '',
leaveType: '',
- comeDate: '',
- report: '',
+ leaveDay: '',
+ reporter: '',
+ returnDate: '',
+ createTime: '',
+ creator: '',
+ modifyTime: '',
+ modifier: '',
+ delFlag: '',
+ version: '',
remark: ''
},
contractInfoForm: {
@@ -2470,6 +2482,7 @@
this.selectPhysicalExam()
this.selectContractInfo()
this.selectDimissionAttend()
+ this.selectLeaveInfo()
},
methods: {
dialogIsShow() {
@@ -2508,6 +2521,7 @@
}
break
case 1:
+ // eslint-disable-next-line no-redeclare
var selected = this.$refs.workExperienceTable.selection
if (selected.length > 0) {
const delIds = []
@@ -2571,6 +2585,23 @@
type: 'success'
})
this.selectDimissionAttend()
+ })
+ }
+ break
+ case 5:
+ // eslint-disable-next-line no-redeclare
+ var selected = this.$refs.leaveInfoTable.selection
+ if (selected.length > 0) {
+ const delIds = []
+ selected.forEach((j) => {
+ delIds.push(j.leaveId)
+ })
+ this.$delete(`hr/empLeaveInfo/` + delIds).then(() => {
+ this.$message({
+ message: this.$t('tips.deleteSuccess'),
+ type: 'success'
+ })
+ this.selectLeaveInfo()
})
}
break
@@ -3178,6 +3209,108 @@
this.dimissionAttendForm.version = row.version
this.dimissionAttendForm.remark = row.remark
this.dialogshowArr[4].show = true
+ },
+ selectLeaveInfo() {
+ this.$get('hr/empLeaveInfo/list').then((r) => {
+ this.leaveInfoData = r.data.data.rows
+ }).catch((error) => {
+ console.error(error)
+ this.$message({
+ message: this.$t('tips.getDataFail'),
+ type: 'error'
+ })
+ })
+ },
+ putLeaveInfo() {
+ if (this.isAdd) {
+ this.$post('hr/empLeaveInfo', { ...this.leaveInfoForm }).then(() => {
+ this.buttonLoading = false
+ this.$message({
+ message: this.$t('tips.createSuccess'),
+ type: 'success'
+ })
+ this.cleanLeaveInfo()
+ this.selectLeaveInfo()
+ })
+ } else {
+ this.$put('hr/empLeaveInfo', { ...this.leaveInfoForm }).then(() => {
+ this.$message({
+ message: this.$t('tips.updateSuccess'),
+ type: 'success'
+ })
+ this.$emit('success')
+ this.cleanLeaveInfo()
+ this.selectLeaveInfo()
+ })
+ }
+ this.dialogIsShow()
+ },
+ putLeaveInfoContinue() {
+ if (this.isAdd) {
+ this.$post('hr/empLeaveInfo', { ...this.leaveInfoForm }).then(() => {
+ this.buttonLoading = false
+ this.$message({
+ message: this.$t('tips.createSuccess'),
+ type: 'success'
+ })
+ this.cleanLeaveInfo()
+ this.selectLeaveInfo()
+ })
+ }
+ },
+ cleanLeaveInfo() {
+ this.leaveInfoForm.leaveId = ''
+ this.leaveInfoForm.empId = ''
+ this.leaveInfoForm.empNumb = ''
+ this.leaveInfoForm.empName = ''
+ this.leaveInfoForm.sex = ''
+ this.leaveInfoForm.certificateNumb = ''
+ this.leaveInfoForm.deptId = ''
+ this.leaveInfoForm.deptName = ''
+ this.leaveInfoForm.JobId = ''
+ this.leaveInfoForm.jobName = ''
+ this.leaveInfoForm.beginTime = ''
+ this.leaveInfoForm.endTime = ''
+ this.leaveInfoForm.leaveType = ''
+ this.leaveInfoForm.leaveDay = ''
+ this.leaveInfoForm.reporter = ''
+ this.leaveInfoForm.returnDate = ''
+ this.leaveInfoForm.createTime = ''
+ this.leaveInfoForm.creator = ''
+ this.leaveInfoForm.modifyTime = ''
+ this.leaveInfoForm.modifier = ''
+ this.leaveInfoForm.delFlag = ''
+ this.leaveInfoForm.version = ''
+ this.leaveInfoForm.remark = ''
+ },
+ editLeaveInfo(row) {
+ this.isAdd = false
+
+ this.leaveInfoForm.leaveId = row.leaveId
+ this.leaveInfoForm.empId = row.empId
+ this.leaveInfoForm.empNumb = row.empNumb
+ this.leaveInfoForm.empName = row.empName
+ this.leaveInfoForm.sex = row.sex
+ this.leaveInfoForm.certificateNumb = row.certificateNumb
+ this.leaveInfoForm.deptId = row.deptId
+ this.leaveInfoForm.deptName = row.deptName
+ this.leaveInfoForm.JobId = row.JobId
+ this.leaveInfoForm.jobName = row.jobName
+ this.leaveInfoForm.beginTime = row.beginTime
+ this.leaveInfoForm.endTime = row.endTime
+ this.leaveInfoForm.leaveType = row.leaveType
+ this.leaveInfoForm.leaveDay = row.leaveDay
+ this.leaveInfoForm.reporter = row.reporter
+ this.leaveInfoForm.returnDate = row.returnDate
+ this.leaveInfoForm.createTime = row.createTime
+ this.leaveInfoForm.creator = row.creator
+ this.leaveInfoForm.modifyTime = row.modifyTime
+ this.leaveInfoForm.modifier = row.modifier
+ this.leaveInfoForm.delFlag = row.delFlag
+ this.leaveInfoForm.version = row.version
+ this.leaveInfoForm.remark = row.remark
+
+ this.dialogshowArr[5].show = true
}
}
}
--
Gitblit v1.8.0