用户管理微调
This commit is contained in:
parent
ea7c131298
commit
d87f1184c0
@ -7,36 +7,21 @@
|
||||
</div>
|
||||
<div class="al-tree">
|
||||
<div class="boxShadow" @click="active = list[0].id; crud.title = '区域'" />
|
||||
<el-tree
|
||||
default-expand-all
|
||||
:data="list"
|
||||
:indent="20"
|
||||
icon-class="#"
|
||||
:props="{ children: 'children', label: 'label' }"
|
||||
@node-click="handleNodeClick"
|
||||
>
|
||||
<el-tree default-expand-all :data="list" :indent="20" icon-class="#"
|
||||
:props="{ children: 'children', label: 'label' }" @node-click="handleNodeClick">
|
||||
<template slot-scope="{node,data}">
|
||||
<div
|
||||
style="width:100%;"
|
||||
class="treeData"
|
||||
<div style="width:100%;" class="treeData"
|
||||
:class="{ activeBlue: active === data.id, activeIndent: node.level === 3 || node.level === 4 }"
|
||||
@click="handleTool(node, data)"
|
||||
>
|
||||
@click="handleTool(node, data)">
|
||||
<div v-if="node.level !== 1" class="dashedBox">
|
||||
<div class="firstBox" />
|
||||
<div :class="{ dashshow: data.last }" />
|
||||
</div>
|
||||
<div v-if="node.level !== 3">
|
||||
<svg-icon
|
||||
v-if="active !== data.id"
|
||||
style="width: 1rem;height: 1rem;opacity: 0.8;"
|
||||
:icon-class="node.level === 1 ? 'gongsi' : 'tree-table'"
|
||||
/>
|
||||
<svg-icon
|
||||
v-else
|
||||
style="width: 1rem;height: 1rem;opacity: 0.8;"
|
||||
:icon-class="node.level === 1 ? 'gongsilanse' : 'tree-table'"
|
||||
/>
|
||||
<svg-icon v-if="active !== data.id" style="width: 1rem;height: 1rem;opacity: 0.8;"
|
||||
:icon-class="node.level === 1 ? 'gongsi' : 'tree-table'" />
|
||||
<svg-icon v-else style="width: 1rem;height: 1rem;opacity: 0.8;"
|
||||
:icon-class="node.level === 1 ? 'gongsilanse' : 'tree-table'" />
|
||||
</div>
|
||||
<div :title="data.label">{{ data.label }}</div>
|
||||
</div>
|
||||
@ -48,34 +33,37 @@
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<div>
|
||||
<el-button
|
||||
v-permission="permission.add"
|
||||
class="filter-item"
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="crud.toAdd"
|
||||
>
|
||||
<el-button v-permission="permission.add" class="filter-item" size="mini" type="primary"
|
||||
icon="el-icon-plus" @click="crud.toAdd">
|
||||
添加{{ crud.title }}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<!--表单渲染-->
|
||||
<el-dialog append-to-body :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
|
||||
:title="crud.status.title" width="30%">
|
||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
||||
<el-row :gutter="10">
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
||||
<el-form-item :label="`${crud.title}名称`" prop="name">
|
||||
<el-input v-model="form.name" :placeholder="`请输入${crud.title}名称`"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer" style="margin-top: -30px;">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">新增</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;">
|
||||
<el-table-column :show-overflow-tooltip="true" prop="name" :label="`${crud.title}名称`" />
|
||||
<el-table-column :show-overflow-tooltip="true" prop="num" :label="`${crud.title === '区域' ? '景区' : '人员'}数量`" />
|
||||
<el-table-column
|
||||
v-if="checkPer(['admin','user:edit','user:del'])"
|
||||
label="操作"
|
||||
width="115"
|
||||
align="center"
|
||||
fixed="right"
|
||||
>
|
||||
<el-table-column v-if="checkPer(['admin', 'user:edit', 'user:del'])" label="操作" width="115" align="center"
|
||||
fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
:permission="permission"
|
||||
/>
|
||||
<udOperation :data="scope.row" :permission="permission" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -105,6 +93,11 @@ export default {
|
||||
del: ['admin', 'user:del']
|
||||
},
|
||||
active: '',
|
||||
rules: {
|
||||
'name': [
|
||||
{ required: true, message: `名称不能为空`, trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
list: [{
|
||||
id: 1,
|
||||
label: '爱尚云',
|
||||
|
@ -145,7 +145,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
defaultProps: { children: 'children', label: 'label', isLeaf: 'leaf' },
|
||||
dateScopes: ['全部', '本级', '自定义'], level: 3,
|
||||
dateScopes: ['全部', '本级'], level: 3,
|
||||
currentId: 0, menuLoading: false, showButton: false,
|
||||
menus: [], menuIds: [], depts: [], deptDatas: [], // 多选时使用
|
||||
permission: {
|
||||
|
@ -83,11 +83,12 @@
|
||||
v-model="form.role"
|
||||
placeholder="请选择角色"
|
||||
@remove-tag="deleteTag"
|
||||
@change="changeJob"
|
||||
@change="changeRole"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in jobs"
|
||||
v-for="item in roles"
|
||||
:key="item.name"
|
||||
:disabled="level !== 1 && item.level <= level"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
@ -201,7 +202,7 @@
|
||||
<el-table-column :selectable="checkboxT" type="selection" width="55" />
|
||||
<el-table-column :show-overflow-tooltip="true" prop="nickName" label="姓名" />
|
||||
<el-table-column :show-overflow-tooltip="true" prop="username" label="账户" />
|
||||
<el-table-column show-overflow-tooltip prop="role" label="角色" />
|
||||
<el-table-column show-overflow-tooltip prop="roles[0].name" label="角色" />
|
||||
<el-table-column :show-overflow-tooltip="true" prop="phone" width="100" label="手机号" />
|
||||
<el-table-column :show-overflow-tooltip="true" prop="area" label="区域" />
|
||||
<el-table-column :show-overflow-tooltip="true" prop="spot" label="景区" />
|
||||
@ -247,7 +248,7 @@ import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
import { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
|
||||
let userRoles = []
|
||||
let userJobs = []
|
||||
const defaultForm = { id: null, username: null, nickName: null, enabled: 'false', password: null, phone: null, area: null, spot: null, role: null, intelligence: null, intelligenceFile: null }
|
||||
const defaultForm = { id: null, username: null, nickName: null, enabled: 'false', password: null, phone: null, area: null, spot: null, role: null, intelligence: null, intelligenceFile: null, roles: [] }
|
||||
export default {
|
||||
name: 'User',
|
||||
components: { Treeselect, crudOperation, rrOperation, udOperation, pagination, DateRangePicker },
|
||||
@ -305,18 +306,18 @@ export default {
|
||||
{ required: true, message: '飞行资质不能为空', trigger: 'blur' }
|
||||
],
|
||||
role: [
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
value = this.jobDatas
|
||||
if (!value || value.length === 0) {
|
||||
callback(new Error('请选择至少一个角色'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
trigger: 'change'
|
||||
},
|
||||
{ required: true, message: '请选择至少一个角色', trigger: 'blur' }
|
||||
// {
|
||||
// validator: (rule, value, callback) => {
|
||||
// value = this.jobDatas
|
||||
// if (!value || value.length === 0) {
|
||||
// callback(new Error('请选择至少一个角色'))
|
||||
// } else {
|
||||
// callback()
|
||||
// }
|
||||
// },
|
||||
// trigger: 'change'
|
||||
// },
|
||||
{ required: true, message: '角色不能为空', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -327,7 +328,7 @@ export default {
|
||||
])
|
||||
},
|
||||
created() {
|
||||
this.crud.msg.add = '新增成功,默认密码:123456'
|
||||
this.crud.msg.add = '新增成功'
|
||||
},
|
||||
mounted: function() {
|
||||
const that = this
|
||||
@ -386,11 +387,14 @@ export default {
|
||||
}
|
||||
},
|
||||
changeRole(value) {
|
||||
userRoles = []
|
||||
value.forEach(function(data, index) {
|
||||
const role = { id: data }
|
||||
userRoles.push(role)
|
||||
})
|
||||
// userRoles = []
|
||||
// value.forEach(function(data, index) {
|
||||
// const role = { id: data }
|
||||
// userRoles.push(role)
|
||||
// })
|
||||
console.log(value);
|
||||
userRoles = [{ id: value }];
|
||||
this.form.role = value;
|
||||
},
|
||||
changeJob(value) {
|
||||
userJobs = []
|
||||
@ -436,6 +440,7 @@ export default {
|
||||
const rol = { id: role.id }
|
||||
userRoles.push(rol)
|
||||
})
|
||||
form.role = form.roles[0].id;
|
||||
form.jobs.forEach(function(job, index) {
|
||||
_this.jobDatas.push(job.id)
|
||||
const data = { id: job.id }
|
||||
@ -444,7 +449,7 @@ export default {
|
||||
},
|
||||
// 提交前做的操作
|
||||
[CRUD.HOOK.afterValidateCU](crud) {
|
||||
crud.form.roles = userRoles
|
||||
crud.form.roles = [userRoles[0]]
|
||||
crud.form.jobs = userJobs
|
||||
console.log(this.jobDatas)
|
||||
return true
|
||||
|
Loading…
Reference in New Issue
Block a user