|
@@ -22,8 +22,8 @@
|
|
|
<el-table-column align='center' prop="organName"
|
|
|
label="所属部门">
|
|
|
</el-table-column>
|
|
|
- <el-table-column align='center' prop="lockFlag"
|
|
|
- label="状态">
|
|
|
+ <el-table-column align='center'
|
|
|
+ label="状态" :formatter="formatLockFlag">
|
|
|
</el-table-column>
|
|
|
<el-table-column align='center' prop="entryDate"
|
|
|
label="入职时间">
|
|
@@ -31,13 +31,13 @@
|
|
|
<el-table-column align='center' prop="demissionDate"
|
|
|
label="离职时间">
|
|
|
</el-table-column>
|
|
|
- <el-table-column align='center'
|
|
|
+ <el-table-column align='center' width="250px"
|
|
|
label="操作">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button type="text">重置密码</el-button>
|
|
|
- <!-- /解冻 -->
|
|
|
- <el-button type="text">冻结</el-button>
|
|
|
- <el-button type="text">离职</el-button>
|
|
|
+ <el-button @click="roleOperation('update', scope.row)" type="text">修改</el-button>
|
|
|
+ <el-button @click="onStaffOperation('RESET_PASSWORD', scope.row)" type="text">重置密码</el-button>
|
|
|
+ <el-button @click="onStaffOperation('LOCK_UNLOCK', scope.row)" type="text">{{ scope.row.lockFlag == 1 ? '解冻' : '冻结' }}</el-button>
|
|
|
+ <el-button @click="onStaffOperation('DEMISSION', scope.row)" type="text">离职</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -56,22 +56,22 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="性别" prop="gender" :label-width="formLabelWidth">
|
|
|
<el-select v-model="form.gender">
|
|
|
- <el-option label="男" value="MAN"></el-option>
|
|
|
- <el-option label="女" value="WOMAN"></el-option>
|
|
|
+ <el-option label="男" value="1"></el-option>
|
|
|
+ <el-option label="女" value="0"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="手机号" prop="phone" :label-width="formLabelWidth">
|
|
|
- <el-input v-model="form.phone" autocomplete="off"></el-input>
|
|
|
+ <el-input v-model.number="form.phone" autocomplete="off"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="角色分类" prop="roleName" :label-width="formLabelWidth">
|
|
|
<el-select v-model="form.roleName">
|
|
|
<el-option v-for="item in roleList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="所属部门" prop="organName" :label-width="formLabelWidth">
|
|
|
- <el-select v-model="form.organName">
|
|
|
- <el-option label="男" value="MAN"></el-option>
|
|
|
- <el-option label="女" value="WOMAN"></el-option>
|
|
|
+ <el-form-item label="所属部门" prop="organIDList" :label-width="formLabelWidth">
|
|
|
+ <el-select v-model="form.organIDList" multiple collapse-tags>
|
|
|
+ <el-option v-for="item in branchList" :key="item.value"
|
|
|
+ :label="item.label" :value="item.value"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="工作类型" prop="jobNature" :label-width="formLabelWidth">
|
|
@@ -84,7 +84,7 @@
|
|
|
<el-form-item label="入职时间" prop="entryDate" :label-width="formLabelWidth">
|
|
|
<el-date-picker
|
|
|
v-model="form.entryDate"
|
|
|
- type="date"
|
|
|
+ type="date" value-format="yyyy-MM-dd"
|
|
|
placeholder="选择日期">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
@@ -98,7 +98,8 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
import pagination from '@/components/Pagination/index'
|
|
|
-import { queryEmployByOrganId, getUserRole, organizationQueryPage, organizationAdd } from '@/api/systemManage'
|
|
|
+import { queryEmployByOrganId, employeeOperate, getUserRole, employeeAdd, employeeUpdate } from '@/api/systemManage'
|
|
|
+import { branchQueryPage } from '@/api/specialSetting'
|
|
|
import store from '@/store'
|
|
|
export default {
|
|
|
components: { pagination },
|
|
@@ -117,6 +118,7 @@ export default {
|
|
|
roleStatus: false,
|
|
|
formActionTitle: 'create',
|
|
|
roleList: [], // 角色列表
|
|
|
+ branchList: [], // 分部列表
|
|
|
formTitle: {
|
|
|
create: '添加员工',
|
|
|
update: '修改员工'
|
|
@@ -127,7 +129,7 @@ export default {
|
|
|
gender: null,
|
|
|
phone: null,
|
|
|
roleName: null,
|
|
|
- organName: null,
|
|
|
+ organIDList: [],
|
|
|
jobNature: null,
|
|
|
entryDate: null
|
|
|
},
|
|
@@ -136,9 +138,9 @@ export default {
|
|
|
gender: [{required: true, message: '请选择性别', trigger: 'change'}],
|
|
|
phone: [{ type: 'number', required: true, message: '手机号输入有误', trigger: 'blur'}],
|
|
|
roleName: [{required: true, message: '请选择分类', trigger: 'change'}],
|
|
|
- organName: [{required: true, message: '请选择所属部门', trigger: 'change'}],
|
|
|
+ organIDList: [{type: 'array', required: true, message: '请选择所属部门', trigger: 'change'}],
|
|
|
jobNature: [{required: true, message: '请选择工作类型', trigger: 'change'}],
|
|
|
- entryDate: [{ type: 'date', required: true, message: '请选择入职时间', trigger: 'blur'}],
|
|
|
+ entryDate: [{ required: true, message: '请选择入职时间', trigger: 'blur'}],
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -150,18 +152,14 @@ export default {
|
|
|
onRoleSubmit(formName) {
|
|
|
this.$refs[formName].validate((valid) => {
|
|
|
if (valid) {
|
|
|
+ this.form.organIDList = this.form.organIDList.join(',')
|
|
|
if(this.formActionTitle == 'create') {
|
|
|
- organizationAdd(this.form).then(res => {
|
|
|
- if(res.code == 200) {
|
|
|
- this.$message({
|
|
|
- message: '添加成功',
|
|
|
- type: 'success'
|
|
|
- })
|
|
|
- this.roleStatus = false
|
|
|
- this.getList()
|
|
|
- } else {
|
|
|
- this.$message.error(res.msg)
|
|
|
- }
|
|
|
+ employeeAdd(this.form).then(res => {
|
|
|
+ this.messageTips('添加', res)
|
|
|
+ })
|
|
|
+ } else if(this.formActionTitle == 'update') {
|
|
|
+ employeeUpdate(this.form).then(res => {
|
|
|
+ this.messageTips('修改', res)
|
|
|
})
|
|
|
}
|
|
|
} else {
|
|
@@ -169,6 +167,18 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ messageTips(title, res) {
|
|
|
+ if(res.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: title + '成功',
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ this.branchStatus = false
|
|
|
+ this.getList()
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.msg)
|
|
|
+ }
|
|
|
+ },
|
|
|
getList () {
|
|
|
queryEmployByOrganId({ organId: this.organId }).then(res => {
|
|
|
if(res.code == 200 && res.data) {
|
|
@@ -187,24 +197,66 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
- organizationQueryPage({ // 获取分部
|
|
|
+ branchQueryPage({ // 获取分部
|
|
|
delFlag: 0,
|
|
|
rows: 9999
|
|
|
}).then(res => {
|
|
|
- // console.log(res)
|
|
|
+ if(res.code == 200 && res.data && res.data.rows) {
|
|
|
+ res.data.rows.forEach(item => {
|
|
|
+ this.branchList.push({
|
|
|
+ label: item.name,
|
|
|
+ value: item.id
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
})
|
|
|
},
|
|
|
- roleOperation(type) {
|
|
|
+ roleOperation(type, data) {
|
|
|
this.formActionTitle = type
|
|
|
this.roleStatus = true
|
|
|
// 修改的时候
|
|
|
if(type == 'update') {
|
|
|
-
|
|
|
+ this.form = {
|
|
|
+ id: data.id,
|
|
|
+ username: data.username,
|
|
|
+ gender: data.gender,
|
|
|
+ phone: Number(data.phone),
|
|
|
+ roleName: data.roleName,
|
|
|
+ organIDList: data.organIDList ? data.organIDList : [],
|
|
|
+ jobNature: data.jobNature,
|
|
|
+ entryDate: data.entryDate
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
onFormClose(formName) { // 关闭弹窗重置验证
|
|
|
this.$refs[formName].clearValidate()
|
|
|
},
|
|
|
+ formatLockFlag(row) {
|
|
|
+ let reuslt = ['正常', '冻结']
|
|
|
+ if(row.demissionDate) {
|
|
|
+ return '离职'
|
|
|
+ } else {
|
|
|
+ return reuslt[row.lockFlag]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onStaffOperation(type, data) {
|
|
|
+ employeeOperate({
|
|
|
+ employeeId: data.id,
|
|
|
+ operate: type
|
|
|
+ }).then(res => {
|
|
|
+ console.log(res)
|
|
|
+ if(res.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: '更改成功',
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ this.roleStatus = false
|
|
|
+ this.getList()
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|