Browse Source

系统管理-用户管理 岗位已选择,但任然提示“请选择岗位”,无法添加新用户

master
z_yu 2 years ago
parent
commit
826d2e32da
  1. 143
      src/views/system/user/index.vue

143
src/views/system/user/index.vue

@ -5,27 +5,12 @@
<el-col :xs="9" :sm="6" :md="5" :lg="4" :xl="4">
<div class="head-container" style="padding-left:0">
<el-input
v-model="deptName"
clearable
size="small"
placeholder="输入部门名称搜索"
prefix-icon="el-icon-search"
class="filter-item"
@input="getDeptDatas"
/>
<el-input v-model="deptName" clearable size="small" placeholder="输入部门名称搜索" prefix-icon="el-icon-search" class="filter-item" @input="getDeptDatas" />
</div>
<div class="container-left" style="min-height: calc(100vh - 262px)">
<span class="right-top-line" />
<span class="left-bottom-line" />
<el-tree
:data="deptDatas"
:load="getDeptDatas"
:props="defaultProps"
:expand-on-click-node="false"
lazy
@node-click="handleNodeClick"
/>
<el-tree :data="deptDatas" :load="getDeptDatas" :props="defaultProps" :expand-on-click-node="false" lazy @node-click="handleNodeClick" />
</div>
</el-col>
<!--用户数据-->
@ -34,33 +19,11 @@
<div class="head-container" style="padding:20px 0">
<div v-if="crud.props.searchToggle" class="head-search">
<!-- 搜索 -->
<el-input
v-model="query.blurry"
clearable
size="small"
placeholder="输入名称或者邮箱搜索"
prefix-icon="el-icon-search"
style="width: 200px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
<el-input v-model="query.blurry" clearable size="small" placeholder="输入名称或者邮箱搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<date-range-picker v-model="query.createTime" class="date-item" />
<el-select
v-model="query.enabled"
clearable
size="small"
placeholder="状态"
class="filter-item"
style="width: 100px"
@change="crud.toQuery"
>
<el-select v-model="query.enabled" clearable size="small" placeholder="状态" class="filter-item" style="width: 100px" @change="crud.toQuery">
<i slot="prefix" class="iconfont icon-zhuangtai-fanbai" />
<el-option
v-for="item in enabledTypeOptions"
:key="item.key"
:label="item.display_name"
:value="item.key"
/>
<el-option v-for="item in enabledTypeOptions" :key="item.key" :label="item.display_name" :value="item.key" />
</el-select>
<rrOperation />
</div>
@ -88,29 +51,11 @@
<el-input v-model="form.email" />
</el-form-item>
<el-form-item label="部门" prop="dept.id">
<treeselect
v-model="form.dept.id"
:options="depts"
:load-options="loadDepts"
style="width: 184px"
placeholder="选择部门"
/>
<treeselect v-model="form.dept.id" :options="depts" :load-options="loadDepts" style="width: 184px" placeholder="选择部门" />
</el-form-item>
<el-form-item label="岗位" prop="jobs">
<el-select
v-model="jobDatas"
style="width: 184px"
multiple
placeholder="请选择"
@remove-tag="deleteTag"
@change="changeJob"
>
<el-option
v-for="item in jobs"
:key="item.name"
:label="item.name"
:value="item.id"
/>
<el-form-item label="岗位" prop="jobs" class="is-required">
<el-select v-model="jobDatas" style="width: 184px" multiple placeholder="请选择" @remove-tag="deleteTag" @change="changeJob">
<el-option v-for="item in jobs" :key="item.name" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="性别">
@ -121,29 +66,12 @@
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.enabled" :disabled="form.id === user.id">
<el-radio
v-for="item in dict.user_status"
:key="item.id"
:label="item.value"
>{{ item.label }}</el-radio>
<el-radio v-for="item in dict.user_status" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item style="margin-bottom: 0;" label="角色" prop="roles">
<el-select
v-model="roleDatas"
style="width: 437px"
multiple
placeholder="请选择"
@remove-tag="deleteTag"
@change="changeRole"
>
<el-option
v-for="item in roles"
:key="item.name"
:disabled="level !== 1 && item.level <= level"
:label="item.name"
:value="item.id"
/>
<el-select v-model="roleDatas" style="width: 437px" multiple placeholder="请选择" @remove-tag="deleteTag" @change="changeRole">
<el-option v-for="item in roles" :key="item.name" :disabled="level !== 1 && item.level <= level" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-form>
@ -168,13 +96,7 @@
</el-table-column>
<el-table-column label="状态" align="center" prop="enabled">
<template slot-scope="scope">
<el-switch
v-model="scope.row.enabled"
:disabled="user.id === scope.row.id"
active-color="#409EFF"
inactive-color="#F56C6C"
@change="changeEnabled(scope.row, scope.row.enabled)"
/>
<el-switch v-model="scope.row.enabled" :disabled="user.id === scope.row.id" active-color="#409EFF" inactive-color="#F56C6C" @change="changeEnabled(scope.row, scope.row.enabled)" />
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="createTime" width="145" label="创建日期">
@ -182,19 +104,9 @@
<div>{{ scope.row.createTime | parseTime }}</div>
</template>
</el-table-column>
<el-table-column
v-if="checkPer(['admin','user:edit','user:del'])"
label="操作"
width="120"
align="center"
fixed="right"
>
<el-table-column v-if="checkPer(['admin','user:edit','user:del'])" label="操作" width="120" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
:disabled-dle="scope.row.id === user.id"
/>
<udOperation :data="scope.row" :permission="permission" :disabled-dle="scope.row.id === user.id" />
</template>
</el-table-column>
</el-table>
@ -245,6 +157,14 @@ export default {
callback()
}
}
// var validateJob = (rule, value, callback) => {
// console.log(value)
// if (this.jobDatas.length > 0) {
// callback()
// } else {
// callback(new Error(''))
// }
// }
return {
height: document.documentElement.clientHeight - 180 + 'px;',
deptName: '', depts: [], deptDatas: [], jobs: [], level: 3, roles: [],
@ -277,10 +197,11 @@ export default {
],
'dept.id': [
{ required: true, trigger: 'blur', message: '请选择部门' }
],
jobs: [
{ required: true, trigger: 'blur', message: '请选择岗位' }
]
// ,
// jobs: [
// { trigger: 'blur', validator: validateJob }
// ]
}
}
},
@ -502,8 +423,10 @@ export default {
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
::v-deep .vue-treeselect__control,::v-deep .vue-treeselect__placeholder,::v-deep .vue-treeselect__single-value {
height: 30px;
line-height: 30px;
}
::v-deep .vue-treeselect__control,
::v-deep .vue-treeselect__placeholder,
::v-deep .vue-treeselect__single-value {
height: 30px;
line-height: 30px;
}
</style>
Loading…
Cancel
Save