|
@@ -102,7 +102,7 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align='center'
|
|
|
- label="所属部门">
|
|
|
+ label="所属分部">
|
|
|
<template slot-scope="scope">
|
|
|
<tooltip :content="scope.row.organNameList | joinArray(',')"></tooltip>
|
|
|
</template>
|
|
@@ -201,14 +201,13 @@
|
|
|
:value="item.value"></el-option>
|
|
|
</select-all>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="所属部门"
|
|
|
+ <el-form-item label="所属分部"
|
|
|
prop="organIdLists"
|
|
|
:label-width="formLabelWidth">
|
|
|
- <!-- style="width: calc(100% - 75px) !important;" -->
|
|
|
<select-all
|
|
|
filterable
|
|
|
clearable
|
|
|
- placeholder="请选择部门"
|
|
|
+ placeholder="请选择分部"
|
|
|
collapse-tags
|
|
|
v-model.trim="form.organIdLists"
|
|
|
multiple>
|
|
@@ -217,7 +216,36 @@
|
|
|
:label="item.name"
|
|
|
:value="item.id"></el-option>
|
|
|
</select-all>
|
|
|
- <!-- <el-button @click="onBranchCheckAll">全选</el-button> -->
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="所属部门"
|
|
|
+ prop="deptIds"
|
|
|
+ :label-width="formLabelWidth">
|
|
|
+ <treeselect
|
|
|
+ v-model="form.deptIds"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ multiple
|
|
|
+ style="line-height: 36px;"
|
|
|
+ :options="deptList"
|
|
|
+ :normalizer="normalizer"
|
|
|
+ placeholder="请选择归属部门"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="所属岗位"
|
|
|
+ prop="postIds"
|
|
|
+ :label-width="formLabelWidth">
|
|
|
+ <select-all
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ placeholder="请选择分部"
|
|
|
+ collapse-tags
|
|
|
+ v-model.trim="form.postIds"
|
|
|
+ multiple>
|
|
|
+ <el-option v-for="item in postList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"></el-option>
|
|
|
+ </select-all>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="工作类型"
|
|
|
prop="jobNature"
|
|
@@ -318,9 +346,11 @@
|
|
|
<script>
|
|
|
import pagination from '@/components/Pagination/index'
|
|
|
import { permission } from "@/utils/directivePage";
|
|
|
-import { queryEmployByOrganId, employeeOperate, getUserRole, employeeAdd, employeeUpdate, hasCourseGroupRelation, updateEducationTeacherId, queryEmployeeOrganByUser } from '@/api/systemManage'
|
|
|
+import { queryEmployByOrganId, employeeOperate, getUserRole, employeeAdd, employeeUpdate, hasCourseGroupRelation, updateEducationTeacherId, queryEmployeeOrganByUser, getDepts, getPosts } from '@/api/systemManage'
|
|
|
import { findEducationTeacher } from '@/api/specialSetting'
|
|
|
import { findEducationUsers } from '@/api/buildTeam'
|
|
|
+import Treeselect from '@riophae/vue-treeselect'
|
|
|
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|
|
import Tooltip from '@/components/Tooltip/index'
|
|
|
import { isvalidPhone } from '@/utils/validate'
|
|
|
import handover from './modals/handover'
|
|
@@ -335,12 +365,14 @@ let validPhone = (rule, value, callback) => {
|
|
|
}
|
|
|
export default {
|
|
|
name: 'staffManager',
|
|
|
- components: { pagination, Tooltip, handover },
|
|
|
+ components: { pagination, Tooltip, handover, Treeselect },
|
|
|
data () {
|
|
|
return {
|
|
|
organList: [],
|
|
|
tableList: [],
|
|
|
educationList: [],
|
|
|
+ deptList: [],
|
|
|
+ postList: [],
|
|
|
educationForm: {
|
|
|
targetUserId: ''
|
|
|
},
|
|
@@ -369,6 +401,8 @@ export default {
|
|
|
phone: null,
|
|
|
roleIds: [],
|
|
|
organIdLists: [],
|
|
|
+ deptIds: [],
|
|
|
+ postIds: [],
|
|
|
jobNature: null,
|
|
|
entryDate: null,
|
|
|
contactAddress: null,
|
|
@@ -379,7 +413,9 @@ export default {
|
|
|
gender: [{ required: true, message: '请选择性别', trigger: 'change' }],
|
|
|
phone: [{ type: 'number', required: true, validator: validPhone, trigger: 'blur' }, { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' }],
|
|
|
roleIds: [{ type: 'array', required: true, message: '请选择分类', trigger: 'change' }],
|
|
|
- organIdLists: [{ type: 'array', required: true, message: '请选择所属部门', trigger: 'change' }],
|
|
|
+ organIdLists: [{ type: 'array', required: true, message: '请选择所属分部', trigger: 'change' }],
|
|
|
+ deptIds: [{ type: 'array', required: true, message: '请选择所属部门', trigger: 'change' }],
|
|
|
+ postIds: [{ type: 'array', required: true, message: '请选择所属岗位', trigger: 'change' }],
|
|
|
jobNature: [{ required: true, message: '请选择工作类型', trigger: 'change' }],
|
|
|
entryDate: [{ required: true, message: '请选择入职时间', trigger: 'blur' }],
|
|
|
|
|
@@ -464,6 +500,17 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ /** 转换菜单数据结构 */
|
|
|
+ normalizer(node) {
|
|
|
+ if (node.children && !node.children.length) {
|
|
|
+ delete node.children
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ id: node.deptId,
|
|
|
+ label: node.deptName,
|
|
|
+ children: node.children
|
|
|
+ }
|
|
|
+ },
|
|
|
getRoleList () { // 获取角色
|
|
|
getUserRole({ delFlag: 0, rows: 9999 }).then(res => {
|
|
|
let result = res.data
|
|
@@ -477,6 +524,25 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
+ getDepts({ rows: 9999 }).then(res => {
|
|
|
+ console.log(res)
|
|
|
+ if(res.code == 200 && res.data && res.data.length > 0) {
|
|
|
+ this.deptList = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 岗位
|
|
|
+ getPosts({ rows: 9999 }).then(res => {
|
|
|
+ if(res.code == 200 && res.data && res.data.length > 0) {
|
|
|
+ this.postList = []
|
|
|
+ console.log(res.data)
|
|
|
+ res.data.forEach(item => {
|
|
|
+ this.postList.push({
|
|
|
+ label: item.postName,
|
|
|
+ value: item.postId
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
this.$store.dispatch('setBranchs')
|
|
|
},
|
|
|
async roleOperation (type, data) {
|
|
@@ -500,7 +566,9 @@ export default {
|
|
|
jobNature: data.jobNature,
|
|
|
entryDate: data.entryDate,
|
|
|
contactAddress: data.contactAddress,
|
|
|
- postalCode: data.postalCode
|
|
|
+ postalCode: data.postalCode,
|
|
|
+ deptIds: data.deptIds ? eval(data.deptIds) : [],
|
|
|
+ postIds: data.postIds ? eval(data.postIds) : []
|
|
|
}
|
|
|
}
|
|
|
},
|