|
@@ -8,17 +8,19 @@
|
|
v-permission="'employee/add'"
|
|
v-permission="'employee/add'"
|
|
class='newBand'>添加</div>
|
|
class='newBand'>添加</div>
|
|
|
|
|
|
- <el-form :inline="true"
|
|
|
|
|
|
+ <save-form :inline="true"
|
|
class="searchForm"
|
|
class="searchForm"
|
|
- @submit.native.prevent
|
|
|
|
- v-model.trim="searchForm">
|
|
|
|
- <el-form-item>
|
|
|
|
- <el-input type="text"
|
|
|
|
|
|
+ ref="searchForm"
|
|
|
|
+ @submit="search"
|
|
|
|
+ @reset="reset"
|
|
|
|
+ :model="searchForm">
|
|
|
|
+ <el-form-item prop="search">
|
|
|
|
+ <el-input type="text" clearable
|
|
v-model.trim="searchForm.search"
|
|
v-model.trim="searchForm.search"
|
|
@keyup.enter.native='search'
|
|
@keyup.enter.native='search'
|
|
placeholder="姓名或手机号"></el-input>
|
|
placeholder="姓名或手机号"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item>
|
|
|
|
|
|
+ <el-form-item prop="jobNature">
|
|
<el-select v-model.trim="searchForm.jobNature"
|
|
<el-select v-model.trim="searchForm.jobNature"
|
|
clearable
|
|
clearable
|
|
filterable
|
|
filterable
|
|
@@ -31,18 +33,18 @@
|
|
value="TEMPORARY"></el-option>
|
|
value="TEMPORARY"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item>
|
|
|
|
|
|
+ <el-form-item prop="organId">
|
|
<el-select v-model.trim="searchForm.organId"
|
|
<el-select v-model.trim="searchForm.organId"
|
|
clearable
|
|
clearable
|
|
filterable
|
|
filterable
|
|
placeholder="请选择分部">
|
|
placeholder="请选择分部">
|
|
- <el-option v-for="item in branchList"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value"></el-option>
|
|
|
|
|
|
+ <el-option v-for="item in selects.branchs"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.name"
|
|
|
|
+ :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item>
|
|
|
|
|
|
+ <el-form-item prop="roleId">
|
|
<!-- multiple -->
|
|
<!-- multiple -->
|
|
<el-select v-model.trim="searchForm.roleId"
|
|
<el-select v-model.trim="searchForm.roleId"
|
|
clearable
|
|
clearable
|
|
@@ -56,10 +58,10 @@
|
|
<!-- collapse-tags -->
|
|
<!-- collapse-tags -->
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-button @click="search"
|
|
|
|
- type="danger">搜索</el-button>
|
|
|
|
|
|
+ <el-button native-type="submit" type="danger">搜索</el-button>
|
|
|
|
+ <el-button native-type="reset" type="primary">重置</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- </el-form>
|
|
|
|
|
|
+ </save-form>
|
|
|
|
|
|
<!-- 列表 -->
|
|
<!-- 列表 -->
|
|
<div class="tableWrap">
|
|
<div class="tableWrap">
|
|
@@ -68,20 +70,28 @@
|
|
<el-table-column align='center'
|
|
<el-table-column align='center'
|
|
prop="id"
|
|
prop="id"
|
|
label="员工编号">
|
|
label="员工编号">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <copy-text>{{ scope.row.id }}</copy-text>
|
|
|
|
+ </template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align='center'
|
|
<el-table-column align='center'
|
|
prop="realName"
|
|
prop="realName"
|
|
label="姓名">
|
|
label="姓名">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <copy-text>{{ scope.row.realName }}</copy-text>
|
|
|
|
+ </template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align='center'
|
|
<el-table-column align='center'
|
|
prop="phone"
|
|
prop="phone"
|
|
label="手机号">
|
|
label="手机号">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <copy-text>{{ scope.row.phone }}</copy-text>
|
|
|
|
+ </template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align='center'
|
|
<el-table-column align='center'
|
|
label="角色分类">
|
|
label="角色分类">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span style="max-height: 68px;display: block;"
|
|
|
|
- :title="scope.row.roleNames | joinArray(',')">{{ scope.row.roleNames | joinArray(',') }}</span>
|
|
|
|
|
|
+ <tooltip :content="scope.row.roleNames | joinArray(',')"></tooltip>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align='center'
|
|
<el-table-column align='center'
|
|
@@ -93,16 +103,9 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align='center'
|
|
<el-table-column align='center'
|
|
label="所属部门">
|
|
label="所属部门">
|
|
- <span style="display: inline-block;width: 100%;overflow: hidden;white-space: nowrap; text-overflow: ellipsis;"
|
|
|
|
- slot-scope="scope">
|
|
|
|
- <el-popover placement="top-start"
|
|
|
|
- width="200"
|
|
|
|
- trigger="hover"
|
|
|
|
- :content="scope.row.organNameList | joinArray(',')">
|
|
|
|
- <span slot="reference">{{ scope.row.organNameList | joinArray(',') }}</span>
|
|
|
|
- </el-popover>
|
|
|
|
-
|
|
|
|
- </span>
|
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <tooltip :content="scope.row.organNameList | joinArray(',')"></tooltip>
|
|
|
|
+ </template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align='center'
|
|
<el-table-column align='center'
|
|
label="状态"
|
|
label="状态"
|
|
@@ -139,7 +142,7 @@
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
- <pagination :total="pageInfo.total"
|
|
|
|
|
|
+ <pagination sync :total.sync="pageInfo.total"
|
|
:page.sync="pageInfo.page"
|
|
:page.sync="pageInfo.page"
|
|
:limit.sync="pageInfo.limit"
|
|
:limit.sync="pageInfo.limit"
|
|
:page-sizes="pageInfo.page_size"
|
|
:page-sizes="pageInfo.page_size"
|
|
@@ -157,13 +160,14 @@
|
|
<el-form-item label="姓名"
|
|
<el-form-item label="姓名"
|
|
prop="realName"
|
|
prop="realName"
|
|
:label-width="formLabelWidth">
|
|
:label-width="formLabelWidth">
|
|
- <el-input v-model.trim="form.realName"
|
|
|
|
|
|
+ <el-input v-model.trim="form.realName" placeholder="请输入姓名"
|
|
autocomplete="off"></el-input>
|
|
autocomplete="off"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="性别"
|
|
<el-form-item label="性别"
|
|
prop="gender"
|
|
prop="gender"
|
|
:label-width="formLabelWidth">
|
|
:label-width="formLabelWidth">
|
|
<el-select v-model.trim="form.gender"
|
|
<el-select v-model.trim="form.gender"
|
|
|
|
+ placeholder="请选择性别"
|
|
clearable
|
|
clearable
|
|
filterable>
|
|
filterable>
|
|
<el-option label="男"
|
|
<el-option label="男"
|
|
@@ -175,22 +179,23 @@
|
|
<el-form-item label="手机号"
|
|
<el-form-item label="手机号"
|
|
prop="phone"
|
|
prop="phone"
|
|
:label-width="formLabelWidth">
|
|
:label-width="formLabelWidth">
|
|
- <el-input v-model.trim.number="form.phone"
|
|
|
|
|
|
+ <el-input v-model.trim.number="form.phone" placeholder="请输入手机号"
|
|
autocomplete="off"></el-input>
|
|
autocomplete="off"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="角色分类"
|
|
<el-form-item label="角色分类"
|
|
prop="roleIds"
|
|
prop="roleIds"
|
|
:label-width="formLabelWidth">
|
|
:label-width="formLabelWidth">
|
|
<el-select v-model.trim="form.roleIds"
|
|
<el-select v-model.trim="form.roleIds"
|
|
|
|
+ placeholder="请选择角色分类"
|
|
clearable
|
|
clearable
|
|
filterable
|
|
filterable
|
|
|
|
+ collapse-tags
|
|
multiple>
|
|
multiple>
|
|
<el-option v-for="item in roleList"
|
|
<el-option v-for="item in roleList"
|
|
:key="item.value"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:label="item.label"
|
|
:value="item.value"></el-option>
|
|
:value="item.value"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
- <!-- collapse-tags -->
|
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="所属部门"
|
|
<el-form-item label="所属部门"
|
|
prop="organIdLists"
|
|
prop="organIdLists"
|
|
@@ -198,12 +203,14 @@
|
|
<el-select style="width: calc(100% - 75px) !important;"
|
|
<el-select style="width: calc(100% - 75px) !important;"
|
|
filterable
|
|
filterable
|
|
clearable
|
|
clearable
|
|
|
|
+ placeholder="请选择部门"
|
|
|
|
+ collapse-tags
|
|
v-model.trim="form.organIdLists"
|
|
v-model.trim="form.organIdLists"
|
|
multiple>
|
|
multiple>
|
|
- <el-option v-for="item in branchList"
|
|
|
|
- :key="item.value"
|
|
|
|
- :label="item.label"
|
|
|
|
- :value="item.value"></el-option>
|
|
|
|
|
|
+ <el-option v-for="item in selects.branchs"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.name"
|
|
|
|
+ :value="item.id"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
<el-button @click="onBranchCheckAll">全选</el-button>
|
|
<el-button @click="onBranchCheckAll">全选</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -212,6 +219,7 @@
|
|
:label-width="formLabelWidth">
|
|
:label-width="formLabelWidth">
|
|
<el-select v-model.trim="form.jobNature"
|
|
<el-select v-model.trim="form.jobNature"
|
|
clearable
|
|
clearable
|
|
|
|
+ placeholder="请选择工作类型"
|
|
filterable>
|
|
filterable>
|
|
<el-option label="全职"
|
|
<el-option label="全职"
|
|
value="FULL_TIME"></el-option>
|
|
value="FULL_TIME"></el-option>
|
|
@@ -230,19 +238,19 @@
|
|
firstDayOfWeek:1
|
|
firstDayOfWeek:1
|
|
}"
|
|
}"
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
- placeholder="选择日期">
|
|
|
|
|
|
+ placeholder="选择入职日期">
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="通讯地址"
|
|
<el-form-item label="通讯地址"
|
|
prop="contactAddress"
|
|
prop="contactAddress"
|
|
:label-width="formLabelWidth">
|
|
:label-width="formLabelWidth">
|
|
- <el-input v-model.trim="form.contactAddress"
|
|
|
|
|
|
+ <el-input v-model.trim="form.contactAddress" placeholder="请输入通讯地址"
|
|
autocomplete="off"></el-input>
|
|
autocomplete="off"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="邮政编码"
|
|
<el-form-item label="邮政编码"
|
|
prop="postalCode"
|
|
prop="postalCode"
|
|
:label-width="formLabelWidth">
|
|
:label-width="formLabelWidth">
|
|
- <el-input v-model.trim="form.postalCode"
|
|
|
|
|
|
+ <el-input v-model.trim="form.postalCode" placeholder="请输入邮政编码"
|
|
autocomplete="off"></el-input>
|
|
autocomplete="off"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
@@ -293,9 +301,9 @@
|
|
<script>
|
|
<script>
|
|
import pagination from '@/components/Pagination/index'
|
|
import pagination from '@/components/Pagination/index'
|
|
import { queryEmployByOrganId, employeeOperate, getUserRole, employeeAdd, employeeUpdate, hasCourseGroupRelation, updateEducationTeacherId } from '@/api/systemManage'
|
|
import { queryEmployByOrganId, employeeOperate, getUserRole, employeeAdd, employeeUpdate, hasCourseGroupRelation, updateEducationTeacherId } from '@/api/systemManage'
|
|
-import { branchQueryPage, findEducationTeacher } from '@/api/specialSetting'
|
|
|
|
|
|
+import { findEducationTeacher } from '@/api/specialSetting'
|
|
import { findEducationUsers } from '@/api/buildTeam'
|
|
import { findEducationUsers } from '@/api/buildTeam'
|
|
-import store from '@/store'
|
|
|
|
|
|
+import Tooltip from '@/components/Tooltip/index'
|
|
import { isvalidPhone } from '@/utils/validate'
|
|
import { isvalidPhone } from '@/utils/validate'
|
|
let validPhone = (rule, value, callback) => {
|
|
let validPhone = (rule, value, callback) => {
|
|
if (!value) {
|
|
if (!value) {
|
|
@@ -308,7 +316,7 @@ let validPhone = (rule, value, callback) => {
|
|
}
|
|
}
|
|
export default {
|
|
export default {
|
|
name: 'staffManager',
|
|
name: 'staffManager',
|
|
- components: { pagination },
|
|
|
|
|
|
+ components: { pagination, Tooltip },
|
|
data () {
|
|
data () {
|
|
return {
|
|
return {
|
|
tableList: [],
|
|
tableList: [],
|
|
@@ -328,7 +336,6 @@ export default {
|
|
roleStatus: false,
|
|
roleStatus: false,
|
|
formActionTitle: 'create',
|
|
formActionTitle: 'create',
|
|
roleList: [], // 角色列表
|
|
roleList: [], // 角色列表
|
|
- branchList: [], // 分部列表
|
|
|
|
formTitle: {
|
|
formTitle: {
|
|
create: '添加员工',
|
|
create: '添加员工',
|
|
update: '修改员工'
|
|
update: '修改员工'
|
|
@@ -367,17 +374,13 @@ export default {
|
|
this.getList()
|
|
this.getList()
|
|
this.getRoleList()
|
|
this.getRoleList()
|
|
},
|
|
},
|
|
- activated () {
|
|
|
|
- this.getList()
|
|
|
|
- this.getRoleList()
|
|
|
|
- },
|
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
|
onBranchCheckAll () {
|
|
onBranchCheckAll () {
|
|
this.form.organIdLists = []
|
|
this.form.organIdLists = []
|
|
|
|
|
|
- this.branchList.forEach(item => {
|
|
|
|
- this.form.organIdLists.push(item.value)
|
|
|
|
|
|
+ this.selects.branchs.forEach(item => {
|
|
|
|
+ this.form.organIdLists.push(item.id)
|
|
})
|
|
})
|
|
},
|
|
},
|
|
onRoleSubmit (formName) {
|
|
onRoleSubmit (formName) {
|
|
@@ -414,6 +417,10 @@ export default {
|
|
this.pageInfo.page = 1
|
|
this.pageInfo.page = 1
|
|
this.getList()
|
|
this.getList()
|
|
},
|
|
},
|
|
|
|
+ reset() {
|
|
|
|
+ this.$refs.searchForm.resetFields()
|
|
|
|
+ this.search()
|
|
|
|
+ },
|
|
getList () {
|
|
getList () {
|
|
let searchForm = this.searchForm
|
|
let searchForm = this.searchForm
|
|
let params = {
|
|
let params = {
|
|
@@ -444,21 +451,7 @@ export default {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- branchQueryPage({ // 获取分部
|
|
|
|
- delFlag: 0,
|
|
|
|
- rows: 9999
|
|
|
|
- }).then(res => {
|
|
|
|
- if (res.code == 200 && res.data && res.data.rows) {
|
|
|
|
- this.branchList = []
|
|
|
|
- res.data.rows.forEach(item => {
|
|
|
|
- this.branchList.push({
|
|
|
|
- label: item.name,
|
|
|
|
- value: item.id
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
|
|
+ this.$store.dispatch('setBranchs')
|
|
},
|
|
},
|
|
roleOperation (type, data) {
|
|
roleOperation (type, data) {
|
|
this.formActionTitle = type
|
|
this.formActionTitle = type
|