‘首次‘
This commit is contained in:
@@ -0,0 +1,332 @@
|
||||
/**
|
||||
* 系统管理 公司管理
|
||||
*/
|
||||
<template>
|
||||
<div>
|
||||
<!-- 面包屑导航 -->
|
||||
<el-breadcrumb separator-class="el-icon-arrow-right">
|
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
||||
<el-breadcrumb-item>公司管理</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
<!-- 搜索筛选 -->
|
||||
<el-form :inline="true" :model="formInline" class="user-search">
|
||||
<el-form-item label="搜索:">
|
||||
<el-input size="small" v-model="formInline.deptName" placeholder="输入部门名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-input size="small" v-model="formInline.deptNo" placeholder="输入部门代码"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
|
||||
<el-button size="small" type="primary" icon="el-icon-plus" @click="handleEdit()">添加</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!--列表-->
|
||||
<el-table size="small" :data="listData" highlight-current-row v-loading="loading" border element-loading-text="拼命加载中" style="width: 100%;">
|
||||
<el-table-column align="center" type="selection" width="60">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="deptName" label="部门名称" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="deptNo" label="部门代码" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="editTime" label="修改时间" width="300">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.editTime|timestampToTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="editUser" label="修改人" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" min-width="300">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
|
||||
<el-button size="mini" type="danger" @click="deleteUser(scope.$index, scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页组件 -->
|
||||
<Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination>
|
||||
<!-- 编辑界面 -->
|
||||
<el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click="closeDialog">
|
||||
<el-form label-width="120px" :model="editForm" :rules="rules" ref="editForm">
|
||||
<el-form-item label="部门名称" prop="deptName">
|
||||
<el-input size="small" v-model="editForm.deptName" auto-complete="off" placeholder="请输入部门名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="部门代码" prop="deptNo">
|
||||
<el-input size="small" v-model="editForm.deptNo" auto-complete="off" placeholder="请输入部门代码"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="closeDialog">取消</el-button>
|
||||
<el-button size="small" type="primary" :loading="loading" class="title" @click="submitForm('editForm')">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { deptList, deptSave, deptDelete } from '../../api/userMG'
|
||||
import Pagination from '../../components/Pagination'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
nshow: true, //switch开启
|
||||
fshow: false, //switch关闭
|
||||
loading: false, //是显示加载
|
||||
editFormVisible: false, //控制编辑页面显示与隐藏
|
||||
title: '添加',
|
||||
editForm: {
|
||||
deptId: '',
|
||||
deptName: '',
|
||||
deptNo: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// rules表单验证
|
||||
rules: {
|
||||
deptName: [
|
||||
{ required: true, message: '请输入部门名称', trigger: 'blur' }
|
||||
],
|
||||
deptNo: [{ required: true, message: '请输入部门代码', trigger: 'blur' }]
|
||||
},
|
||||
formInline: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
varLable: '',
|
||||
varName: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// 删除部门
|
||||
seletedata: {
|
||||
ids: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
userparm: [], //搜索权限
|
||||
listData: [], //用户数据
|
||||
// 分页参数
|
||||
pageparm: {
|
||||
currentPage: 1,
|
||||
pageSize: 10,
|
||||
total: 10
|
||||
}
|
||||
}
|
||||
},
|
||||
// 注册组件
|
||||
components: {
|
||||
Pagination
|
||||
},
|
||||
/**
|
||||
* 数据发生改变
|
||||
*/
|
||||
|
||||
/**
|
||||
* 创建完毕
|
||||
*/
|
||||
created() {
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
|
||||
/**
|
||||
* 里面的方法只有被调用才会执行
|
||||
*/
|
||||
methods: {
|
||||
// 获取公司列表
|
||||
getdata(parameter) {
|
||||
this.loading = true
|
||||
// 模拟数据
|
||||
let res = {
|
||||
code: 0,
|
||||
msg: null,
|
||||
count: 5,
|
||||
data: [
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1521062371000,
|
||||
editTime: 1526700200000,
|
||||
deptId: 2,
|
||||
deptName: '上海分公司',
|
||||
deptNo: '1',
|
||||
parentId: 1
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1521063247000,
|
||||
editTime: 1526652291000,
|
||||
deptId: 3,
|
||||
deptName: '上海测试',
|
||||
deptNo: '02',
|
||||
parentId: 1
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526349555000,
|
||||
editTime: 1526349565000,
|
||||
deptId: 12,
|
||||
deptName: '1',
|
||||
deptNo: '11',
|
||||
parentId: 1
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526373178000,
|
||||
editTime: 1526373178000,
|
||||
deptId: 13,
|
||||
deptName: '5',
|
||||
deptNo: '5',
|
||||
parentId: 1
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526453107000,
|
||||
editTime: 1526453107000,
|
||||
deptId: 17,
|
||||
deptName: 'v',
|
||||
deptNo: 'v',
|
||||
parentId: 1
|
||||
}
|
||||
]
|
||||
}
|
||||
this.loading = false
|
||||
this.listData = res.data
|
||||
// 分页赋值
|
||||
this.pageparm.currentPage = this.formInline.page
|
||||
this.pageparm.pageSize = this.formInline.limit
|
||||
this.pageparm.total = res.count
|
||||
// 模拟数据结束
|
||||
|
||||
/***
|
||||
* 调用接口,注释上面模拟数据 取消下面注释
|
||||
*/
|
||||
// deptList(parameter)
|
||||
// .then(res => {
|
||||
// this.loading = false
|
||||
// if (res.success == false) {
|
||||
// this.$message({
|
||||
// type: 'info',
|
||||
// message: res.msg
|
||||
// })
|
||||
// } else {
|
||||
// this.listData = res.data
|
||||
// // 分页赋值
|
||||
// this.pageparm.currentPage = this.formInline.page
|
||||
// this.pageparm.pageSize = this.formInline.limit
|
||||
// this.pageparm.total = res.count
|
||||
// }
|
||||
// })
|
||||
// .catch(err => {
|
||||
// this.loading = false
|
||||
// this.$message.error('菜单加载失败,请稍后再试!')
|
||||
// })
|
||||
},
|
||||
// 分页插件事件
|
||||
callFather(parm) {
|
||||
this.formInline.page = parm.currentPage
|
||||
this.formInline.limit = parm.pageSize
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
// 搜索事件
|
||||
search() {
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
//显示编辑界面
|
||||
handleEdit: function(index, row) {
|
||||
this.editFormVisible = true
|
||||
if (row != undefined && row != 'undefined') {
|
||||
this.title = '修改'
|
||||
this.editForm.deptId = row.deptId
|
||||
this.editForm.deptName = row.deptName
|
||||
this.editForm.deptNo = row.deptNo
|
||||
} else {
|
||||
this.title = '添加'
|
||||
this.editForm.deptId = ''
|
||||
this.editForm.deptName = ''
|
||||
this.editForm.deptNo = ''
|
||||
}
|
||||
},
|
||||
// 编辑、增加页面保存方法
|
||||
submitForm(editData) {
|
||||
this.$refs[editData].validate(valid => {
|
||||
if (valid) {
|
||||
deptSave(this.editForm)
|
||||
.then(res => {
|
||||
this.editFormVisible = false
|
||||
this.loading = false
|
||||
if (res.success) {
|
||||
this.getdata(this.formInline)
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '公司保存成功!'
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.editFormVisible = false
|
||||
this.loading = false
|
||||
this.$message.error('公司保存失败,请稍后再试!')
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 删除公司
|
||||
deleteUser(index, row) {
|
||||
this.$confirm('确定要删除吗?', '信息', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
deptDelete(row.deptId)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '公司已删除!'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('公司删除失败,请稍后再试!')
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 关闭编辑、增加弹出框
|
||||
closeDialog() {
|
||||
this.editFormVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.user-search {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.userRole {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -0,0 +1,331 @@
|
||||
/**
|
||||
* 系统管理 菜单管理
|
||||
*/
|
||||
<template>
|
||||
<div>
|
||||
<!-- 面包屑导航 -->
|
||||
<el-breadcrumb separator-class="el-icon-arrow-right">
|
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
||||
<el-breadcrumb-item>菜单管理</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
<!-- 主体内容 -->
|
||||
<el-row>
|
||||
<!-- title -->
|
||||
<div class="modt-box">用户管理</div>
|
||||
<el-col :span="4"> </el-col>
|
||||
<el-col :span="6">
|
||||
<div class="mod-btnbox">
|
||||
<el-button size="small" type="primary">全部展开</el-button>
|
||||
<el-button size="small" type="primary">全部压缩</el-button>
|
||||
</div>
|
||||
<el-tree class="treeclass" ref="tree" :data="treeData" default-expand-all="" :props="defaultProps" @node-click="nodeclick" @check-change="handleClick" check-strictly node-key="id" show-checkbox></el-tree>
|
||||
</el-col>
|
||||
<el-col :span="18">
|
||||
<div class="mod-btnbox">
|
||||
<el-button size="small" type="primary" icon="el-icon-plus" @click="addModule">添加</el-button>
|
||||
</div>
|
||||
<el-form ref="form" :model="form" label-width="80px" :rules="rules">
|
||||
<el-form-item label="父级菜单" prop="parentId">
|
||||
<el-select size="small" v-model="form.parentId" placeholder="请选择" class="selectw">
|
||||
<el-option v-for="parm in fmenu" :key="parm.id" :label="parm.name" :value="parm.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单名称" prop="moduleName">
|
||||
<el-input size="small" v-model="form.moduleName"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="图标" prop="moduleIcon">
|
||||
<el-input size="small" v-model="form.moduleIcon"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="URL" prop="moduleUrl">
|
||||
<el-input size="small" v-model="form.moduleUrl"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="顺序" prop="moduleOrder">
|
||||
<el-input size="small" v-model="form.moduleOrder"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" @click="saveModule('form')">保存</el-button>
|
||||
<el-button size="small" type="primary" v-show="showdelete" @click="deleteModule">删除</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
ModuleList,
|
||||
ModuleGet,
|
||||
ModuleNodes,
|
||||
ModuleSave,
|
||||
ModuleDelete
|
||||
} from '../../api/userMG'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
showdelete: false,
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
},
|
||||
form: {
|
||||
addUser: '',
|
||||
editUser: '',
|
||||
addTime: '',
|
||||
editTime: '',
|
||||
moduleId: '',
|
||||
parentId: '',
|
||||
moduleLevel: '',
|
||||
systemNo: '',
|
||||
isLeaf: '',
|
||||
fullIndex: '',
|
||||
moduleIcon: '',
|
||||
moduleOrder: '',
|
||||
moduleName: '',
|
||||
moduleNotes: '',
|
||||
moduleUrl: ''
|
||||
},
|
||||
// rules表单验证
|
||||
rules: {
|
||||
parentId: [
|
||||
{ required: true, message: '请选择父级菜单', trigger: 'blur' }
|
||||
],
|
||||
moduleName: [
|
||||
{ required: true, message: '请输入菜单名称', trigger: 'blur' }
|
||||
],
|
||||
moduleIcon: [
|
||||
{ required: true, message: '请输入菜单图标', trigger: 'blur' }
|
||||
],
|
||||
moduleUrl: [{ required: true, message: '请输入URL', trigger: 'blur' }],
|
||||
moduleOrder: [
|
||||
{ required: true, message: '请输入菜单顺序', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
fmenu: []
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 创建完毕
|
||||
*/
|
||||
|
||||
created() {
|
||||
this.getdata()
|
||||
this.getmenu()
|
||||
},
|
||||
|
||||
/**
|
||||
* 里面的方法只有被调用才会执行
|
||||
*/
|
||||
methods: {
|
||||
// 获取数据
|
||||
getdata() {
|
||||
ModuleList()
|
||||
.then(res => {
|
||||
this.treeData = [
|
||||
{
|
||||
id: 1,
|
||||
pId: 0,
|
||||
name: '平台顶级',
|
||||
open: true,
|
||||
checked: false
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
pId: 1,
|
||||
name: '一层',
|
||||
open: true,
|
||||
checked: false
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
pId: 1,
|
||||
name: '一层',
|
||||
open: true,
|
||||
checked: false
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
pId: 1,
|
||||
name: '一层',
|
||||
open: true,
|
||||
checked: false
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
pId: 1,
|
||||
name: '一层',
|
||||
open: true,
|
||||
checked: false
|
||||
},
|
||||
{
|
||||
id: 17,
|
||||
pId: 1,
|
||||
name: '一层',
|
||||
open: true,
|
||||
checked: false
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
pId: 2,
|
||||
name: '一层',
|
||||
open: true,
|
||||
checked: false
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
pId: 2,
|
||||
name: '一层',
|
||||
open: true,
|
||||
checked: false
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
pId: 2,
|
||||
name: '一层',
|
||||
open: true,
|
||||
checked: false
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
pId: 2,
|
||||
name: '一层',
|
||||
open: true,
|
||||
checked: false
|
||||
}
|
||||
]
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('菜单管理列表失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
// 添加
|
||||
addModule() {
|
||||
this.showdelete = false
|
||||
this.form.addUser = ''
|
||||
this.form.editUser = ''
|
||||
this.form.addTime = ''
|
||||
this.form.editTime = ''
|
||||
this.form.moduleId = ''
|
||||
this.form.parentId = ''
|
||||
this.form.moduleLevel = ''
|
||||
this.form.systemNo = ''
|
||||
this.form.isLeaf = ''
|
||||
this.form.fullIndex = ''
|
||||
this.form.moduleIcon = ''
|
||||
this.form.moduleOrder = ''
|
||||
this.form.moduleName = ''
|
||||
this.form.moduleNotes = ''
|
||||
this.form.moduleUrl = ''
|
||||
},
|
||||
// 获取父级菜单
|
||||
getmenu() {
|
||||
let parm = {
|
||||
page: '1',
|
||||
limit: '10'
|
||||
}
|
||||
ModuleNodes(parm)
|
||||
.then(res => {
|
||||
this.fmenu = res.data
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('父级菜单列表获取失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
// 复选变单选
|
||||
handleClick(data, checked, node) {
|
||||
if (checked) {
|
||||
this.$refs.tree.setCheckedNodes([])
|
||||
this.$refs.tree.setCheckedNodes([data])
|
||||
this.showdelete = true
|
||||
} else {
|
||||
}
|
||||
},
|
||||
// 点击节点
|
||||
nodeclick(arr, node, self) {
|
||||
ModuleGet(arr.id)
|
||||
.then(res => {
|
||||
console.log(JSON.stringify(res))
|
||||
this.form = res.data.data
|
||||
this.$refs.tree.setCheckedNodes([])
|
||||
this.$refs.tree.setCheckedNodes([arr])
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('用户管理获取失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
// 保存菜单
|
||||
saveModule(editData) {
|
||||
this.$refs[editData].validate(valid => {
|
||||
if (valid) {
|
||||
ModuleSave(this.form)
|
||||
.then(res => {
|
||||
this.getdata()
|
||||
this.getmenu()
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error('菜单管理列表保存失败,请稍后再试!')
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 删除菜单
|
||||
deleteModule() {
|
||||
ModuleDelete(this.form.moduleId)
|
||||
.then(res => {
|
||||
this.getdata()
|
||||
this.getmenu()
|
||||
this.$message.error('菜单管理列表删除成功!')
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error('菜单管理列表删除失败,请稍后再试!')
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.user-search {
|
||||
margin-top: 20px !important;
|
||||
}
|
||||
.user-search td {
|
||||
margin-top: 20px !important;
|
||||
}
|
||||
.userRole {
|
||||
width: 100%;
|
||||
}
|
||||
.el-table__expanded-cell {
|
||||
padding: 0px !important;
|
||||
margin: 0px !important;
|
||||
}
|
||||
.modt-box {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
line-height: 60px;
|
||||
background-color: #f0f2f5;
|
||||
text-align: center;
|
||||
color: #334157;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
font-size: 24px;
|
||||
}
|
||||
.mod-btnbox {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.treeclass {
|
||||
border: 1px solid #f3f3f3;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.selectw {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -0,0 +1,465 @@
|
||||
/**
|
||||
* 系统管理 权限管理
|
||||
*/
|
||||
<template>
|
||||
<div>
|
||||
<!-- 面包屑导航 -->
|
||||
<el-breadcrumb separator-class="el-icon-arrow-right">
|
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
||||
<el-breadcrumb-item>权限管理</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
<!-- 搜索筛选 -->
|
||||
<el-form :inline="true" :model="formInline" class="user-search">
|
||||
<el-form-item label="搜索:">
|
||||
<el-input size="small" v-model="formInline.permissionName" placeholder="输入权限名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-input size="small" v-model="formInline.permission" placeholder="输入权限CODE"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色:">
|
||||
<el-select size="small" v-model="formInline.roleId" placeholder="请选择">
|
||||
<el-option selected label="请选择" value="0"></el-option>
|
||||
<el-option v-for="parm in userparm" :key="parm.roleId" :label="parm.roleName" :value="parm.roleId"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
|
||||
<el-button size="small" type="primary" icon="el-icon-plus" @click="handleEdit()">添加</el-button>
|
||||
<el-button size="small" type="primary" icon="el-icon-plus" @click="RolePermission()">配置权限</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!--列表-->
|
||||
<el-table size="small" @selection-change="selectChange" :data="listData" highlight-current-row v-loading="loading" border element-loading-text="拼命加载中" style="width: 100%;">
|
||||
<el-table-column align="center" type="selection" width="60">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="permissionName" label="权限名称" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="permission" label="权限CODE" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="editTime" label="修改时间" width="300">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.editTime|timestampToTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="editUser" label="修改人" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" min-width="300">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
|
||||
<el-button size="mini" type="danger" @click="deleteUser(scope.$index, scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页组件 -->
|
||||
<Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination>
|
||||
<!-- 编辑界面 -->
|
||||
<el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click="closeDialog">
|
||||
<el-form label-width="120px" :model="editForm" :rules="rules" ref="editForm">
|
||||
<el-form-item label="权限名称" prop="permissionName">
|
||||
<el-input size="small" v-model="editForm.permissionName" auto-complete="off" placeholder="权限名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="权限CODE" prop="permission">
|
||||
<el-input size="small" v-model="editForm.permission" auto-complete="off" placeholder="权限CODE"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="closeDialog">取消</el-button>
|
||||
<el-button size="small" type="primary" :loading="loading" class="title" @click="submitForm('editForm')">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
permissionList,
|
||||
ermissionSave,
|
||||
ermissionDelete,
|
||||
roleDropDown,
|
||||
RolePermission
|
||||
} from '../../api/userMG'
|
||||
import Pagination from '../../components/Pagination'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
nshow: true, //switch开启
|
||||
fshow: false, //switch关闭
|
||||
loading: false, //是显示加载
|
||||
editFormVisible: false, //控制编辑页面显示与隐藏
|
||||
title: '添加',
|
||||
editForm: {
|
||||
permissionId: '',
|
||||
permissionName: '',
|
||||
permission: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// rules表单验证
|
||||
rules: {
|
||||
permissionName: [
|
||||
{ required: true, message: '请输入权限名称', trigger: 'blur' }
|
||||
],
|
||||
permission: [
|
||||
{ required: true, message: '请输入权限CODE', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
formInline: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
permissionName: '',
|
||||
permission: '',
|
||||
roleId: '0',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// 选择数据
|
||||
selectdata: [],
|
||||
userparm: [], //搜索权限
|
||||
listData: [], //用户数据
|
||||
// 分页参数
|
||||
pageparm: {
|
||||
currentPage: 1,
|
||||
pageSize: 10,
|
||||
total: 10
|
||||
}
|
||||
}
|
||||
},
|
||||
// 注册组件
|
||||
components: {
|
||||
Pagination
|
||||
},
|
||||
/**
|
||||
* 数据发生改变
|
||||
*/
|
||||
|
||||
watch: {},
|
||||
|
||||
/**
|
||||
* 创建完毕
|
||||
*/
|
||||
|
||||
created() {
|
||||
this.getdata(this.formInline)
|
||||
this.getAccsee()
|
||||
},
|
||||
|
||||
/**
|
||||
* 里面的方法只有被调用才会执行
|
||||
*/
|
||||
|
||||
methods: {
|
||||
// 获取数据方法
|
||||
getdata(parameter) {
|
||||
this.loading = true
|
||||
// 模拟数据
|
||||
let res = {
|
||||
code: 0,
|
||||
msg: null,
|
||||
count: 0,
|
||||
data: [
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1519728609000,
|
||||
editTime: 1522585700000,
|
||||
permissionId: 1,
|
||||
permissionName: '用户-列表',
|
||||
permission: 'system:User:list',
|
||||
lay_CHECKED: false,
|
||||
LAY_CHECKED: false
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1519728667000,
|
||||
editTime: 1522585706000,
|
||||
permissionId: 3,
|
||||
permissionName: '用户-修改',
|
||||
permission: 'system:User:save',
|
||||
lay_CHECKED: false,
|
||||
LAY_CHECKED: false
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1519728669000,
|
||||
editTime: 1522256096000,
|
||||
permissionId: 4,
|
||||
permissionName: '用户-删除',
|
||||
permission: 'system:User:delete',
|
||||
lay_CHECKED: false,
|
||||
LAY_CHECKED: false
|
||||
},
|
||||
{
|
||||
addUser: 'root',
|
||||
editUser: 'root',
|
||||
addTime: 1520249365000,
|
||||
editTime: 1522256085000,
|
||||
permissionId: 5,
|
||||
permissionName: '系统管理:角色:列表',
|
||||
permission: 'system:Role:list',
|
||||
lay_CHECKED: false,
|
||||
LAY_CHECKED: false
|
||||
},
|
||||
{
|
||||
addUser: 'root',
|
||||
editUser: 'root',
|
||||
addTime: 1520249588000,
|
||||
editTime: 1520249588000,
|
||||
permissionId: 7,
|
||||
permissionName: 'system:Role:save',
|
||||
permission: 'system:Role:save',
|
||||
lay_CHECKED: false,
|
||||
LAY_CHECKED: false
|
||||
},
|
||||
{
|
||||
addUser: 'root',
|
||||
editUser: 'root',
|
||||
addTime: 1520249588000,
|
||||
editTime: 1520249588000,
|
||||
permissionId: 8,
|
||||
permissionName: 'system:Role:delete',
|
||||
permission: 'system:Role:delete',
|
||||
lay_CHECKED: false,
|
||||
LAY_CHECKED: false
|
||||
},
|
||||
{
|
||||
addUser: 'root',
|
||||
editUser: 'root',
|
||||
addTime: 1520251014000,
|
||||
editTime: 1520251014000,
|
||||
permissionId: 9,
|
||||
permissionName: 'system:Variable:列表',
|
||||
permission: 'system:Variable:list',
|
||||
lay_CHECKED: false,
|
||||
LAY_CHECKED: false
|
||||
},
|
||||
{
|
||||
addUser: 'root',
|
||||
editUser: 'root',
|
||||
addTime: 1520251014000,
|
||||
editTime: 1520251014000,
|
||||
permissionId: 11,
|
||||
permissionName: 'system:Variable:修改',
|
||||
permission: 'system:Variable:save',
|
||||
lay_CHECKED: false,
|
||||
LAY_CHECKED: false
|
||||
},
|
||||
{
|
||||
addUser: 'root',
|
||||
editUser: 'root',
|
||||
addTime: 1520251014000,
|
||||
editTime: 1520251014000,
|
||||
permissionId: 12,
|
||||
permissionName: 'system:Variable:删除',
|
||||
permission: 'system:Variable:delete',
|
||||
lay_CHECKED: false,
|
||||
LAY_CHECKED: false
|
||||
}
|
||||
]
|
||||
}
|
||||
this.loading = false
|
||||
this.listData = res.data
|
||||
// 分页赋值
|
||||
this.pageparm.currentPage = this.formInline.page
|
||||
this.pageparm.pageSize = this.formInline.limit
|
||||
this.pageparm.total = res.count
|
||||
// 模拟数据结束
|
||||
|
||||
/***
|
||||
* 调用接口,注释上面模拟数据 取消下面注释
|
||||
*/
|
||||
// 获取权限列表
|
||||
// permissionList(parameter)
|
||||
// .then(res => {
|
||||
// this.loading = false
|
||||
// if (res.success == false) {
|
||||
// this.$message({
|
||||
// type: 'info',
|
||||
// message: res.msg
|
||||
// })
|
||||
// } else {
|
||||
// this.listData = res.data
|
||||
// // 分页赋值
|
||||
// this.pageparm.currentPage = this.formInline.page
|
||||
// this.pageparm.pageSize = this.formInline.limit
|
||||
// this.pageparm.total = res.count
|
||||
// }
|
||||
// })
|
||||
// .catch(err => {
|
||||
// this.loading = false
|
||||
// this.$message.error('权限管理列表获取失败,请稍后再试!')
|
||||
// })
|
||||
},
|
||||
// 获取权限
|
||||
getAccsee() {
|
||||
roleDropDown()
|
||||
.then(res => {
|
||||
if (res.success == false) {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
} else {
|
||||
this.userparm = res.data
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error('权限获取失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
// 分页插件事件
|
||||
callFather(parm) {
|
||||
this.formInline.page = parm.currentPage
|
||||
this.formInline.limit = parm.pageSize
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
// 搜索事件
|
||||
search() {
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
//显示编辑界面
|
||||
handleEdit: function(index, row) {
|
||||
this.editFormVisible = true
|
||||
// 深拷贝并赋值
|
||||
//this.editForm = Object.assign({}, row)
|
||||
if (row != undefined && row != 'undefined') {
|
||||
this.title = '修改'
|
||||
this.editForm.permissionId = row.permissionId
|
||||
this.editForm.permissionName = row.permissionName
|
||||
this.editForm.permission = row.permission
|
||||
} else {
|
||||
this.title = '添加'
|
||||
this.editForm.permissionId = ''
|
||||
this.editForm.permissionName = ''
|
||||
this.editForm.permission = ''
|
||||
}
|
||||
},
|
||||
// 编辑、增加页面保存方法
|
||||
submitForm(editData) {
|
||||
this.$refs[editData].validate(valid => {
|
||||
if (valid) {
|
||||
ermissionSave(this.editForm)
|
||||
.then(res => {
|
||||
this.editFormVisible = false
|
||||
this.loading = false
|
||||
if (res.success) {
|
||||
this.getdata(this.formInline)
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '权限管理保存成功!'
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.editFormVisible = false
|
||||
this.loading = false
|
||||
this.$message.error('权限管理保存失败,请稍后再试!')
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 删除权限
|
||||
deleteUser(index, row) {
|
||||
this.$confirm('确定要删除吗?', '信息', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
ermissionDelete(row.permissionId)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '权限管理已删除!'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('权限管理删除失败,请稍后再试!')
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 选择复选框事件
|
||||
selectChange(val) {
|
||||
this.selectdata = val
|
||||
},
|
||||
// 配置权限
|
||||
RolePermission() {
|
||||
let parms = {
|
||||
roleId: '',
|
||||
permissionIds: ''
|
||||
}
|
||||
if (this.formInline.roleId == '0') {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '请选择角色'
|
||||
})
|
||||
return false
|
||||
}
|
||||
parms.roleId = this.formInline.roleId
|
||||
let len = this.selectdata
|
||||
let ids = []
|
||||
if (len != 0) {
|
||||
for (let i = 0; i < len.length; i++) {
|
||||
ids.push(len[i].permissionId)
|
||||
}
|
||||
}
|
||||
parms.permissionIds = ids.join(',')
|
||||
RolePermission(parms)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '配置权限成功!'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('配置权限失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
// 关闭编辑、增加弹出框
|
||||
closeDialog() {
|
||||
this.editFormVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.user-search {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.userRole {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -0,0 +1,500 @@
|
||||
/**
|
||||
* 系统管理 角色管理
|
||||
*/
|
||||
<template>
|
||||
<div>
|
||||
<!-- 面包屑导航 -->
|
||||
<el-breadcrumb separator-class="el-icon-arrow-right">
|
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
||||
<el-breadcrumb-item>角色管理</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
<!-- 搜索筛选 -->
|
||||
<el-form :inline="true" :model="formInline" class="user-search">
|
||||
|
||||
<el-form-item label="搜索:">
|
||||
<el-input size="small" v-model="formInline.roleName" placeholder="输入角色名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-input size="small" v-model="formInline.roleNo" placeholder="输入角色代码"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
|
||||
<el-button size="small" type="primary" icon="el-icon-plus" @click="handleEdit()">添加</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!--列表-->
|
||||
<el-table size="small" :data="listData" highlight-current-row v-loading="loading" border element-loading-text="拼命加载中" style="width: 100%;">
|
||||
<el-table-column align="center" type="selection" width="60">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="roleName" label="角色名称" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="roleNo" label="角色代码" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="editTime" label="修改时间" width="300">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.editTime|timestampToTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="editUser" label="修改人" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" min-width="300">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
|
||||
<el-button size="mini" type="danger" @click="deleteUser(scope.$index, scope.row)">删除</el-button>
|
||||
<el-button size="mini" type="success" @click="menuAccess(scope.$index, scope.row)">菜单权限</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页组件 -->
|
||||
<Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination>
|
||||
<!-- 编辑界面 -->
|
||||
<el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click='closeDialog("edit")'>
|
||||
<el-form label-width="120px" :model="editForm" ref="editForm" :rules="rules">
|
||||
<el-form-item label="系统编码" prop="systemNo">
|
||||
<el-input size="small" v-model="editForm.systemNo" auto-complete="off" placeholder="请输入系统编码"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色名称" prop="roleName">
|
||||
<el-input size="small" v-model="editForm.roleName" auto-complete="off" placeholder="请输入角色名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色代码" prop="roleNo">
|
||||
<el-input size="small" v-model="editForm.roleNo" auto-complete="off" placeholder="请输入角色代码"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click='closeDialog("edit")'>取消</el-button>
|
||||
<el-button size="small" type="primary" :loading="loading" class="title" @click="submitForm('editForm')">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 菜单权限 -->
|
||||
<el-dialog title="菜单权限" :visible.sync="menuAccessshow" width="30%" @click='closeDialog("perm")'>
|
||||
<el-tree ref="tree" default-expand-all="" :data="RoleRight" :props="RoleRightProps" :default-checked-keys="checkmenu" node-key="id" show-checkbox>
|
||||
</el-tree>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click='closeDialog("perm")'>取消</el-button>
|
||||
<el-button size="small" type="primary" :loading="loading" class="title" @click="menuPermSave">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
roleList,
|
||||
roleSave,
|
||||
roleDelete,
|
||||
rolePwd,
|
||||
RoleRightTree,
|
||||
RoleRightSave
|
||||
} from '../../api/userMG'
|
||||
import Pagination from '../../components/Pagination'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
nshow: true, //switch开启
|
||||
fshow: false, //switch关闭
|
||||
loading: false, //是显示加载
|
||||
editFormVisible: false, //控制编辑页面显示与隐藏
|
||||
menuAccessshow: false, //控制数据权限显示与隐藏
|
||||
title: '添加',
|
||||
editForm: {
|
||||
roleId: '',
|
||||
systemNo: '',
|
||||
roleNo: '',
|
||||
roleName: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// rules 表单验证
|
||||
rules: {
|
||||
systemNo: [
|
||||
{ required: true, message: '请输入系统编码', trigger: 'blur' }
|
||||
],
|
||||
roleNo: [
|
||||
{ required: true, message: '请输入角色代码', trigger: 'blur' }
|
||||
],
|
||||
roleName: [
|
||||
{ required: true, message: '请输入角色名称', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
formInline: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
varLable: '',
|
||||
varName: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// 删除
|
||||
seletedata: {
|
||||
ids: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
userparm: [], //搜索权限
|
||||
listData: [], //用户数据
|
||||
// 数据权限
|
||||
RoleRight: [],
|
||||
RoleRightProps: {
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
},
|
||||
// 选中
|
||||
checkmenu: [],
|
||||
//参数role
|
||||
saveroleId: '',
|
||||
// 分页参数
|
||||
pageparm: {
|
||||
currentPage: 1,
|
||||
pageSize: 10,
|
||||
total: 10
|
||||
}
|
||||
}
|
||||
},
|
||||
// 注册组件
|
||||
components: {
|
||||
Pagination
|
||||
},
|
||||
/**
|
||||
* 数据发生改变
|
||||
*/
|
||||
|
||||
watch: {},
|
||||
|
||||
/**
|
||||
* 创建完毕
|
||||
*/
|
||||
|
||||
created() {
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
|
||||
/**
|
||||
* 里面的方法只有被调用才会执行
|
||||
*/
|
||||
|
||||
methods: {
|
||||
// 获取角色列表
|
||||
getdata(parameter) {
|
||||
// 模拟数据
|
||||
let res = {
|
||||
code: 0,
|
||||
msg: null,
|
||||
count: 6,
|
||||
data: [
|
||||
{
|
||||
addUser: 'root',
|
||||
editUser: 'root',
|
||||
addTime: 1519182004000,
|
||||
editTime: 1520288426000,
|
||||
roleId: 1,
|
||||
systemNo: 'pmd',
|
||||
roleNo: 'Administrator',
|
||||
roleName: '超级管理员'
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1521111376000,
|
||||
editTime: 1520678191000,
|
||||
roleId: 2,
|
||||
systemNo: 'order',
|
||||
roleNo: 'admin',
|
||||
roleName: '公司管理员'
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1520678221000,
|
||||
editTime: 1520678221000,
|
||||
roleId: 95,
|
||||
systemNo: 'pm',
|
||||
roleNo: 'common',
|
||||
roleName: '普通用户'
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526349853000,
|
||||
editTime: 1526349853000,
|
||||
roleId: 96,
|
||||
systemNo: '1',
|
||||
roleNo: '1',
|
||||
roleName: '1'
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526349942000,
|
||||
editTime: 1526437443000,
|
||||
roleId: 97,
|
||||
systemNo: '2',
|
||||
roleNo: '2',
|
||||
roleName: '2'
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526652148000,
|
||||
editTime: 1526652148000,
|
||||
roleId: 101,
|
||||
systemNo: 'test',
|
||||
roleNo: 'demo',
|
||||
roleName: '演示角色'
|
||||
}
|
||||
]
|
||||
}
|
||||
this.loading = false
|
||||
this.listData = res.data
|
||||
// 分页赋值
|
||||
this.pageparm.currentPage = this.formInline.page
|
||||
this.pageparm.pageSize = this.formInline.limit
|
||||
this.pageparm.total = res.count
|
||||
// 模拟数据结束
|
||||
|
||||
/***
|
||||
* 调用接口,注释上面模拟数据 取消下面注释
|
||||
*/
|
||||
// roleList(parameter)
|
||||
// .then(res => {
|
||||
// this.loading = false
|
||||
// if (res.success == false) {
|
||||
// this.$message({
|
||||
// type: 'info',
|
||||
// message: res.msg
|
||||
// })
|
||||
// } else {
|
||||
// this.listData = res.data
|
||||
// // 分页赋值
|
||||
// this.pageparm.currentPage = this.formInline.page
|
||||
// this.pageparm.pageSize = this.formInline.limit
|
||||
// this.pageparm.total = res.count
|
||||
// }
|
||||
// })
|
||||
// .catch(err => {
|
||||
// this.loading = false
|
||||
// this.$message.error('获取角色列表失败,请稍后再试!')
|
||||
// })
|
||||
},
|
||||
// 分页插件事件
|
||||
callFather(parm) {
|
||||
this.formInline.page = parm.currentPage
|
||||
this.formInline.limit = parm.pageSize
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
// 搜索事件
|
||||
search() {
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
//显示编辑界面
|
||||
handleEdit: function(index, row) {
|
||||
this.editFormVisible = true
|
||||
if (row != undefined && row != 'undefined') {
|
||||
this.title = '修改'
|
||||
this.editForm.roleId = row.roleId
|
||||
this.editForm.systemNo = row.systemNo
|
||||
this.editForm.roleNo = row.roleNo
|
||||
this.editForm.roleName = row.roleName
|
||||
} else {
|
||||
this.title = '添加'
|
||||
this.editForm.roleId = ''
|
||||
this.editForm.systemNo = ''
|
||||
this.editForm.roleNo = ''
|
||||
this.editForm.roleName = ''
|
||||
}
|
||||
},
|
||||
// 编辑、增加页面保存方法
|
||||
submitForm(editData) {
|
||||
this.$refs[editData].validate(valid => {
|
||||
if (valid) {
|
||||
roleSave(this.editForm)
|
||||
.then(res => {
|
||||
this.editFormVisible = false
|
||||
this.loading = false
|
||||
if (res.success) {
|
||||
this.getdata(this.formInline)
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '角色保存成功!'
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.editFormVisible = false
|
||||
this.loading = false
|
||||
this.$message.error('角色保存失败,请稍后再试!')
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 删除角色
|
||||
deleteUser(index, row) {
|
||||
this.$confirm('确定要删除吗?', '信息', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
roleDelete(row.roleId)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '角色已删除!'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('角色删除失败,请稍后再试!')
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 数据权限
|
||||
menuAccess: function(index, row) {
|
||||
this.menuAccessshow = true
|
||||
this.saveroleId = row.roleId
|
||||
RoleRightTree(row.roleId)
|
||||
.then(res => {
|
||||
if (res.data.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '获取权限成功'
|
||||
})
|
||||
this.changemenu(res.data.data)
|
||||
this.RoleRight = this.changeArr(res.data.data)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.data.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('获取权限失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
// 选中菜单
|
||||
changemenu(arr) {
|
||||
let change = []
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
if (arr[i].checked) {
|
||||
change.push(arr[i].id)
|
||||
}
|
||||
}
|
||||
this.checkmenu = change
|
||||
},
|
||||
// tree 递归
|
||||
changeArr(list) {
|
||||
var temptree = [],
|
||||
tree = [],
|
||||
items = []
|
||||
for (var i in list) {
|
||||
if (!temptree[list[i].id]) {
|
||||
var trow = {
|
||||
id: list[i].id,
|
||||
pId: list[i].pId,
|
||||
name: list[i].name,
|
||||
open: list[i].open,
|
||||
checked: list[i].checked,
|
||||
children: []
|
||||
}
|
||||
temptree[list[i].id] = trow
|
||||
items.push(trow)
|
||||
}
|
||||
if (list[i].uid > 0) {
|
||||
temptree[list[i].id]['children'].push({
|
||||
id: list[i].id,
|
||||
pId: list[i].pId,
|
||||
name: list[i].name,
|
||||
open: list[i].open,
|
||||
checked: list[i].checked,
|
||||
children: []
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
for (var j in items) {
|
||||
if (temptree[items[j].pId]) {
|
||||
temptree[items[j].pId]['children'].push(temptree[items[j].id])
|
||||
} else {
|
||||
tree.push(temptree[items[j].id])
|
||||
}
|
||||
}
|
||||
temptree = null
|
||||
items = null
|
||||
return tree
|
||||
},
|
||||
// 菜单权限-保存
|
||||
menuPermSave() {
|
||||
let parm = {
|
||||
roleId: this.saveroleId,
|
||||
moduleIds: ''
|
||||
}
|
||||
let node = this.$refs.tree.getCheckedNodes()
|
||||
let moduleIds = []
|
||||
if (node.length != 0) {
|
||||
for (let i = 0; i < node.length; i++) {
|
||||
moduleIds.push(node[i].id)
|
||||
}
|
||||
parm.moduleIds = JSON.stringify(moduleIds)
|
||||
}
|
||||
RoleRightSave(parm)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '权限保存成功'
|
||||
})
|
||||
this.menuAccessshow = false
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('权限保存失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
// 关闭编辑、增加弹出框
|
||||
closeDialog(dialog) {
|
||||
if (dialog == 'edit') {
|
||||
this.editFormVisible = false
|
||||
} else if (dialog == 'perm') {
|
||||
this.menuAccessshow = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.user-search {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.userRole {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -0,0 +1,367 @@
|
||||
/**
|
||||
* 系统管理 系统环境变量
|
||||
*/
|
||||
<template>
|
||||
<div>
|
||||
<!-- 面包屑导航 -->
|
||||
<el-breadcrumb separator-class="el-icon-arrow-right">
|
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
||||
<el-breadcrumb-item>系统环境变量</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
<!-- 搜索筛选 -->
|
||||
<el-form :inline="true" :model="formInline" class="user-search">
|
||||
|
||||
<el-form-item label="搜索:">
|
||||
<el-input size="small" v-model="formInline.varLable" placeholder="输入变量描述"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-input size="small" v-model="formInline.varName" placeholder="输入变量名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
|
||||
<el-button size="small" type="primary" icon="el-icon-plus" @click="handleEdit()">添加</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!--列表-->
|
||||
<el-table size="small" :data="listData" highlight-current-row v-loading="loading" border element-loading-text="拼命加载中" style="width: 100%;">
|
||||
<el-table-column align="center" type="selection" width="60">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="varLable" label="变量描述" width="200">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="varName" label="变量名称" width="200">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="varValue" label="变量名称" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="editTime" label="修改时间" width="200">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.editTime|timestampToTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="editUser" label="修改人" width="200">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" min-width="300">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
|
||||
<el-button size="mini" type="danger" @click="deleteUser(scope.$index, scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页组件 -->
|
||||
<Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination>
|
||||
<!-- 编辑界面 -->
|
||||
<el-dialog title="修改" :visible.sync="editFormVisible" width="30%" @click="closeDialog">
|
||||
<el-form label-width="120px" :model="editForm" :rules="rules" ref="editForm">
|
||||
<el-form-item label="变量描述" prop="varLable">
|
||||
<el-input size="small" v-model="editForm.varLable" auto-complete="off" placeholder="变量描述"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="变量名称" prop="varName">
|
||||
<el-input size="small" v-model="editForm.varName" auto-complete="off" placeholder="变量名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="变量名称" prop="varValue">
|
||||
<el-input size="small" v-model="editForm.varValue" auto-complete="off" placeholder="变量名称"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="closeDialog">取消</el-button>
|
||||
<el-button size="small" type="primary" :loading="loading" class="title" @click="submitForm('editForm')">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { variableList, variableSave, variableDelete } from '../../api/userMG'
|
||||
import Pagination from '../../components/Pagination'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
nshow: true, //switch开启
|
||||
fshow: false, //switch关闭
|
||||
loading: false, //是显示加载
|
||||
editFormVisible: false, //控制编辑页面显示与隐藏
|
||||
title: '添加',
|
||||
editForm: {
|
||||
varId: '',
|
||||
varLable: '',
|
||||
varName: '',
|
||||
varValue: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// rules表单验证
|
||||
rules: {
|
||||
varLable: [
|
||||
{ required: true, message: '请输入变量描述', trigger: 'blur' }
|
||||
],
|
||||
varName: [
|
||||
{ required: true, message: '请输入变量名称', trigger: 'blur' }
|
||||
],
|
||||
varValue: [
|
||||
{ required: true, message: '请输入变量名称', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
formInline: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
varLable: '',
|
||||
varName: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// 删除
|
||||
seletedata: {
|
||||
ids: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
userparm: [], //搜索权限
|
||||
listData: [], //用户数据
|
||||
// 分页参数
|
||||
pageparm: {
|
||||
currentPage: 1,
|
||||
pageSize: 10,
|
||||
total: 10
|
||||
}
|
||||
}
|
||||
},
|
||||
// 注册组件
|
||||
components: {
|
||||
Pagination
|
||||
},
|
||||
/**
|
||||
* 数据发生改变
|
||||
*/
|
||||
|
||||
watch: {},
|
||||
|
||||
/**
|
||||
* 创建完毕
|
||||
*/
|
||||
|
||||
created() {
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
|
||||
/**
|
||||
* 里面的方法只有被调用才会执行
|
||||
*/
|
||||
|
||||
methods: {
|
||||
// 获取数据方法
|
||||
getdata(parameter) {
|
||||
this.loading = true
|
||||
// 模拟数据
|
||||
let res = {
|
||||
code: 0,
|
||||
msg: null,
|
||||
count: 6,
|
||||
data: [
|
||||
{
|
||||
addUser: 'root',
|
||||
editUser: 'root',
|
||||
addTime: 1519385529000,
|
||||
editTime: 1520619747000,
|
||||
varId: 190,
|
||||
deptId: 1,
|
||||
varLable: '支付访问域名',
|
||||
varName: 'domainName',
|
||||
varValue: 'http://127.0.0.1:8080/iot-service-pay'
|
||||
},
|
||||
{
|
||||
addUser: 'root',
|
||||
editUser: 'root',
|
||||
addTime: 1519451541000,
|
||||
editTime: 1519451547000,
|
||||
varId: 191,
|
||||
deptId: 1,
|
||||
varLable: '商品图片地址',
|
||||
varName: 'productImgURL',
|
||||
varValue: 'http://ymwlw.com/pic'
|
||||
},
|
||||
{
|
||||
addUser: 'root',
|
||||
editUser: 'root',
|
||||
addTime: 1519452658000,
|
||||
editTime: 1519452661000,
|
||||
varId: 192,
|
||||
deptId: 1,
|
||||
varLable: '手机支付广告地址',
|
||||
varName: 'groupDomain',
|
||||
varValue: 'http://ymwlwl.com'
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1519879624000,
|
||||
editTime: 1519879628000,
|
||||
varId: 193,
|
||||
deptId: 1,
|
||||
varLable: '下单接口测试模式',
|
||||
varName: 'envType',
|
||||
varValue: 'false'
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526374014000,
|
||||
editTime: 1526374031000,
|
||||
varId: 198,
|
||||
deptId: null,
|
||||
varLable: 'sgh',
|
||||
varName: 'jhjj',
|
||||
varValue: 'jhjhgs'
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526453243000,
|
||||
editTime: 1526453243000,
|
||||
varId: 199,
|
||||
deptId: null,
|
||||
varLable: 'v',
|
||||
varName: 'v',
|
||||
varValue: 'v'
|
||||
}
|
||||
]
|
||||
}
|
||||
this.loading = false
|
||||
this.listData = res.data
|
||||
// 分页赋值
|
||||
this.pageparm.currentPage = this.formInline.page
|
||||
this.pageparm.pageSize = this.formInline.limit
|
||||
this.pageparm.total = res.count
|
||||
// 模拟数据结束
|
||||
|
||||
/***
|
||||
* 调用接口,注释上面模拟数据 取消下面注释
|
||||
*/
|
||||
// variableList(parameter)
|
||||
// .then(res => {
|
||||
// console.log(JSON.stringify(res))
|
||||
// this.loading = false
|
||||
// if (res.success == false) {
|
||||
// this.$message({
|
||||
// type: 'info',
|
||||
// message: res.msg
|
||||
// })
|
||||
// } else {
|
||||
// this.listData = res.data
|
||||
// // 分页赋值
|
||||
// this.pageparm.currentPage = this.formInline.page
|
||||
// this.pageparm.pageSize = this.formInline.limit
|
||||
// this.pageparm.total = res.count
|
||||
// }
|
||||
// })
|
||||
// .catch(err => {
|
||||
// this.loading = false
|
||||
// this.$message.error('菜单加载失败,请稍后再试!')
|
||||
// })
|
||||
},
|
||||
// 分页插件事件
|
||||
callFather(parm) {
|
||||
this.formInline.page = parm.currentPage
|
||||
this.formInline.limit = parm.pageSize
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
// 搜索事件
|
||||
search() {
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
//显示编辑界面
|
||||
handleEdit: function(index, row) {
|
||||
this.editFormVisible = true
|
||||
if (row != undefined && row != 'undefined') {
|
||||
this.title = '修改'
|
||||
this.editForm.varId = row.varId
|
||||
this.editForm.varLable = row.varLable
|
||||
this.editForm.varName = row.varName
|
||||
this.editForm.varValue = row.varValue
|
||||
} else {
|
||||
this.title = '添加'
|
||||
this.editForm.varId = ''
|
||||
this.editForm.varLable = ''
|
||||
this.editForm.varName = ''
|
||||
this.editForm.varValue = ''
|
||||
}
|
||||
},
|
||||
// 编辑、增加页面保存方法
|
||||
submitForm(editData) {
|
||||
this.$refs[editData].validate(valid => {
|
||||
if (valid) {
|
||||
variableSave(this.editForm)
|
||||
.then(res => {
|
||||
this.editFormVisible = false
|
||||
this.loading = false
|
||||
if (res.success) {
|
||||
this.getdata(this.formInline)
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '系统环境变量保存成功!'
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.editFormVisible = false
|
||||
this.loading = false
|
||||
this.$message.error('系统环境变量保存失败,请稍后再试!')
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 删除权限
|
||||
deleteUser(index, row) {
|
||||
this.$confirm('确定要删除吗?', '信息', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
variableDelete(row.varId)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '系统环境变量已删除'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('系统环境变量删除失败,请稍后再试!')
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 关闭编辑、增加弹出框
|
||||
closeDialog() {
|
||||
this.editFormVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.user-search {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.userRole {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@@ -0,0 +1,907 @@
|
||||
/**
|
||||
* 系统管理 用户管理
|
||||
*/
|
||||
<template>
|
||||
<div>
|
||||
<!-- 面包屑导航 -->
|
||||
<el-breadcrumb separator-class="el-icon-arrow-right">
|
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
||||
<el-breadcrumb-item>用户管理</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
<!-- 搜索筛选 -->
|
||||
<el-form :inline="true" :model="formInline" class="user-search">
|
||||
<el-form-item label="搜索:">
|
||||
<el-select size="small" v-model="formInline.isLock" placeholder="请选择">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="正常" value="N"></el-option>
|
||||
<el-option label="已锁定" value="Y"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-input size="small" v-model="formInline.userName" placeholder="输入用户名"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="">
|
||||
<el-input size="small" v-model="formInline.userMobile" placeholder="输入手机号"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="small" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
|
||||
<el-button size="small" type="primary" icon="el-icon-plus" @click="handleEdit()">添加</el-button>
|
||||
<el-button size="small" type="primary" @click="handleunit()">部门设置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!--列表-->
|
||||
<el-table size="small" @selection-change="selectChange" :data="userData" highlight-current-row v-loading="loading" border element-loading-text="拼命加载中" style="width: 100%;">
|
||||
<el-table-column align="center" type="selection" width="50">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" sortable prop="deptName" label="公司" width="120">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" sortable prop="userName" label="用户名" width="120">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" sortable prop="userRealName" label="姓名" width="120">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" sortable prop="userMobile" label="手机号" width="120">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" sortable prop="userSex" label="性别" min-width="50">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" sortable prop="userEmail" label="邮件" min-width="120">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" sortable prop="editTime" label="修改时间" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.editTime|timestampToTime}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" sortable prop="isLock" label="状态" min-width="50">
|
||||
<template slot-scope="scope">
|
||||
<el-switch v-model="scope.row.isLock=='N'?nshow:fshow" active-color="#13ce66" inactive-color="#ff4949" @change="editType(scope.$index, scope.row)">
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" min-width="300">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
|
||||
<el-button size="mini" type="danger" @click="deleteUser(scope.$index, scope.row)">删除</el-button>
|
||||
<el-button size="mini" type="success" @click="resetpwd(scope.$index, scope.row)">重置密码</el-button>
|
||||
<el-button size="mini" type="success" @click="dataAccess(scope.$index, scope.row)">数据权限</el-button>
|
||||
<el-button size="mini" type="success" @click="offlineUser(scope.$index, scope.row)">下线</el-button>
|
||||
<el-button size="mini" type="success" @click="refreshCache(scope.$index, scope.row)">刷新缓存</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页组件 -->
|
||||
<Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination>
|
||||
<!-- 编辑界面 -->
|
||||
<el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click='closeDialog("edit")'>
|
||||
<el-form label-width="80px" ref="editForm" :model="editForm" :rules="rules">
|
||||
<el-form-item label="用户名" prop="userName">
|
||||
<el-input size="small" v-model="editForm.userName" auto-complete="off" placeholder="请输入用户名"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="userRealName">
|
||||
<el-input size="small" v-model="editForm.userRealName" auto-complete="off" placeholder="请输入姓名"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色" prop="roleId">
|
||||
<el-select size="small" v-model="editForm.roleId" placeholder="请选择" class="userRole">
|
||||
<el-option label="公司管理员" value="1"></el-option>
|
||||
<el-option label="普通用户" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号" prop="userMobile">
|
||||
<el-input size="small" v-model="editForm.userMobile" placeholder="请输入手机号"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="邮件" prop="userEmail">
|
||||
<el-input size="small" v-model="editForm.userEmail" placeholder="请输入邮箱地址"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="userSex">
|
||||
<el-radio v-model="editForm.userSex" label="男">男</el-radio>
|
||||
<el-radio v-model="editForm.userSex" label="女">女</el-radio>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click='closeDialog("edit")'>取消</el-button>
|
||||
<el-button size="small" type="primary" :loading="loading" class="title" @click="submitForm('editForm')">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 数据权限 -->
|
||||
<el-dialog title="数据权限" :visible.sync="dataAccessshow" width="30%" @click='closeDialog("perm")'>
|
||||
<el-tree ref="tree" default-expand-all="" :data="UserDept" :props="defaultProps" :default-checked-keys="checkmenu" node-key="id" show-checkbox>
|
||||
</el-tree>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click='closeDialog("perm")'>取消</el-button>
|
||||
<el-button size="small" type="primary" :loading="loading" class="title" @click="menuPermSave">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 所属单位 -->
|
||||
<el-dialog title="所属单位" :visible.sync="unitAccessshow" width="30%" @click='closeDialog("unit")'>
|
||||
<el-tree ref="tree" default-expand-all="" :data="UserDept" :props="defaultProps" @check-change="handleClick" :default-checked-keys="checkmenu" node-key="id" show-checkbox check-strictly>
|
||||
</el-tree>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click='closeDialog("unit")'>取消</el-button>
|
||||
<el-button size="small" type="primary" :loading="loading" class="title" @click="unitPermSave">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// 导入请求方法
|
||||
import {
|
||||
userList,
|
||||
userSave,
|
||||
userDelete,
|
||||
userPwd,
|
||||
userExpireToken,
|
||||
userFlashCache,
|
||||
userLock,
|
||||
UserDeptTree,
|
||||
UserDeptSave,
|
||||
UserDeptdeptTree,
|
||||
UserChangeDept
|
||||
} from '../../api/userMG'
|
||||
import Pagination from '../../components/Pagination'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
nshow: true, //switch开启
|
||||
fshow: false, //switch关闭
|
||||
loading: false, //是显示加载
|
||||
title: '添加用户',
|
||||
editFormVisible: false, //控制编辑页面显示与隐藏
|
||||
dataAccessshow: false, //控制数据权限显示与隐藏
|
||||
unitAccessshow: false, //控制所属单位隐藏与显示
|
||||
// 编辑与添加
|
||||
editForm: {
|
||||
userId: '',
|
||||
userName: '',
|
||||
userRealName: '',
|
||||
roleId: '',
|
||||
userMobile: '',
|
||||
userEmail: '',
|
||||
userSex: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// 部门参数
|
||||
unitparm: {
|
||||
userIds: '',
|
||||
deptId: '',
|
||||
deptName: ''
|
||||
},
|
||||
// 选择数据
|
||||
selectdata: [],
|
||||
// rules表单验证
|
||||
rules: {
|
||||
userName: [
|
||||
{ required: true, message: '请输入用户名', trigger: 'blur' }
|
||||
],
|
||||
userRealName: [
|
||||
{ required: true, message: '请输入姓名', trigger: 'blur' }
|
||||
],
|
||||
roleId: [{ required: true, message: '请选择角色', trigger: 'blur' }],
|
||||
userMobile: [
|
||||
{ required: true, message: '请输入手机号', trigger: 'blur' },
|
||||
{
|
||||
pattern: /^1(3\d|47|5((?!4)\d)|7(0|1|[6-8])|8\d)\d{8,8}$/,
|
||||
required: true,
|
||||
message: '请输入正确的手机号',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
userEmail: [
|
||||
{ required: true, message: '请输入邮箱', trigger: 'blur' },
|
||||
{
|
||||
pattern: /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/,
|
||||
required: true,
|
||||
message: '请输入正确的邮箱',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
userSex: [{ required: true, message: '请选择性别', trigger: 'blur' }]
|
||||
},
|
||||
// 删除用户
|
||||
seletedata: {
|
||||
ids: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// 重置密码
|
||||
resetpsd: {
|
||||
userId: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// 用户下线
|
||||
offline: {
|
||||
token: localStorage.getItem('logintoken')
|
||||
},
|
||||
// 请求数据参数
|
||||
formInline: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
deptId: '',
|
||||
userName: '',
|
||||
userMobile: '',
|
||||
isLock: ''
|
||||
},
|
||||
//用户数据
|
||||
userData: [],
|
||||
// 数据权限
|
||||
UserDept: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
},
|
||||
// 选中
|
||||
checkmenu: [],
|
||||
//参数role
|
||||
saveroleId: '',
|
||||
// 分页参数
|
||||
pageparm: {
|
||||
currentPage: 1,
|
||||
pageSize: 10,
|
||||
total: 10
|
||||
}
|
||||
}
|
||||
},
|
||||
// 注册组件
|
||||
components: {
|
||||
Pagination
|
||||
},
|
||||
|
||||
/**
|
||||
* 数据发生改变
|
||||
*/
|
||||
watch: {},
|
||||
|
||||
/**
|
||||
* 创建完毕
|
||||
*/
|
||||
created() {
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
|
||||
/**
|
||||
* 里面的方法只有被调用才会执行
|
||||
*/
|
||||
methods: {
|
||||
// 获取数据方法
|
||||
getdata(parameter) {
|
||||
this.loading = true
|
||||
// 模拟数据开始
|
||||
let res = {
|
||||
code: 0,
|
||||
msg: null,
|
||||
count: 12,
|
||||
data: [
|
||||
{
|
||||
addUser: '1',
|
||||
editUser: '1',
|
||||
addTime: null,
|
||||
editTime: 1527411068000,
|
||||
userId: 1,
|
||||
systemNo: 'pmd',
|
||||
userName: 'root',
|
||||
userPassword: 'e10adc3949ba59abbe56e057f20f883e',
|
||||
userRealName: '超级管理员',
|
||||
userSex: '女',
|
||||
userMobile: '138123456789',
|
||||
userEmail: '111@qq.com',
|
||||
isLock: 'N',
|
||||
deptId: 1,
|
||||
deptName: 'xxxx',
|
||||
roleId: 1
|
||||
},
|
||||
{
|
||||
addUser: '1',
|
||||
editUser: '1',
|
||||
addTime: null,
|
||||
editTime: 1527410579000,
|
||||
userId: 3,
|
||||
systemNo: 'mc',
|
||||
userName: 'zengzhuo',
|
||||
userPassword: 'e10adc3949ba59abbe56e057f20f883e',
|
||||
userRealName: '系统管理员',
|
||||
userSex: 'M',
|
||||
userMobile: '18616988966',
|
||||
userEmail: '222@qq.com',
|
||||
isLock: 'N',
|
||||
deptId: 2,
|
||||
deptName: 'xxxx',
|
||||
roleId: 101
|
||||
},
|
||||
{
|
||||
addUser: '1',
|
||||
editUser: '4',
|
||||
addTime: null,
|
||||
editTime: 1527411586000,
|
||||
userId: 4,
|
||||
systemNo: 'ec',
|
||||
userName: 'admin',
|
||||
userPassword: '59ba8b7dda9ff79186311a5a9fa155ca',
|
||||
userRealName: '超级管理员',
|
||||
userSex: '女',
|
||||
userMobile: '138123456789',
|
||||
userEmail: 'huangxuekun@founder.com',
|
||||
isLock: 'N',
|
||||
deptId: 2,
|
||||
deptName: 'xxxx',
|
||||
roleId: 3
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526275128000,
|
||||
editTime: 1526284402000,
|
||||
userId: 28,
|
||||
systemNo: null,
|
||||
userName: 'eee111',
|
||||
userPassword: 'e10adc3949ba59abbe56e057f20f883e',
|
||||
userRealName: '123111',
|
||||
userSex: '男',
|
||||
userMobile: '12354342345',
|
||||
userEmail: '111232@qq.com',
|
||||
isLock: 'N',
|
||||
deptId: 4,
|
||||
deptName: 'zxxxxx',
|
||||
roleId: 1
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526284533000,
|
||||
editTime: 1526284533000,
|
||||
userId: 37,
|
||||
systemNo: null,
|
||||
userName: 'ces',
|
||||
userPassword: 'e10adc3949ba59abbe56e057f20f883e',
|
||||
userRealName: 'sesfg',
|
||||
userSex: '男',
|
||||
userMobile: '12312312312',
|
||||
userEmail: '122111111',
|
||||
isLock: 'N',
|
||||
deptId: 1,
|
||||
deptName: 'xxxx',
|
||||
roleId: 1
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526285228000,
|
||||
editTime: 1526285228000,
|
||||
userId: 43,
|
||||
systemNo: null,
|
||||
userName: '22',
|
||||
userPassword: 'e10adc3949ba59abbe56e057f20f883e',
|
||||
userRealName: '22',
|
||||
userSex: '男',
|
||||
userMobile: '222',
|
||||
userEmail: '222',
|
||||
isLock: 'N',
|
||||
deptId: 1,
|
||||
deptName: 'xxxx',
|
||||
roleId: 1
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526448593000,
|
||||
editTime: 1526448593000,
|
||||
userId: 58,
|
||||
systemNo: null,
|
||||
userName: '1',
|
||||
userPassword: 'e10adc3949ba59abbe56e057f20f883e',
|
||||
userRealName: '1',
|
||||
userSex: '女',
|
||||
userMobile: '13607118810',
|
||||
userEmail: '1@qq.com',
|
||||
isLock: 'N',
|
||||
deptId: 1,
|
||||
deptName: 'xxxx',
|
||||
roleId: 1
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526452698000,
|
||||
editTime: 1526520341000,
|
||||
userId: 60,
|
||||
systemNo: null,
|
||||
userName: '222222222',
|
||||
userPassword: 'e10adc3949ba59abbe56e057f20f883e',
|
||||
userRealName: '222222222222',
|
||||
userSex: '男',
|
||||
userMobile: '13607118810',
|
||||
userEmail: '111@qq.com',
|
||||
isLock: 'N',
|
||||
deptId: 1,
|
||||
deptName: 'xxxx',
|
||||
roleId: 1
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526452731000,
|
||||
editTime: 1526452731000,
|
||||
userId: 61,
|
||||
systemNo: null,
|
||||
userName: '33333333333333',
|
||||
userPassword: 'e10adc3949ba59abbe56e057f20f883e',
|
||||
userRealName: '4444444444444444444',
|
||||
userSex: '女',
|
||||
userMobile: '13607118810',
|
||||
userEmail: 'qqq@qq.com',
|
||||
isLock: 'N',
|
||||
deptId: 1,
|
||||
deptName: 'xxxx',
|
||||
roleId: 2
|
||||
},
|
||||
{
|
||||
addUser: null,
|
||||
editUser: null,
|
||||
addTime: 1526452756000,
|
||||
editTime: 1527128981000,
|
||||
userId: 62,
|
||||
systemNo: null,
|
||||
userName: '211111111',
|
||||
userPassword: 'e10adc3949ba59abbe56e057f20f883e',
|
||||
userRealName: '21111111111',
|
||||
userSex: '男',
|
||||
userMobile: '13601478451',
|
||||
userEmail: '222222@qq.com',
|
||||
isLock: 'N',
|
||||
deptId: 17,
|
||||
deptName: 'v',
|
||||
roleId: 2
|
||||
}
|
||||
]
|
||||
}
|
||||
this.loading = false
|
||||
this.userData = res.data
|
||||
// 分页赋值
|
||||
this.pageparm.currentPage = this.formInline.page
|
||||
this.pageparm.pageSize = this.formInline.limit
|
||||
this.pageparm.total = res.count
|
||||
// 模拟数据结束
|
||||
|
||||
/***
|
||||
* 调用接口,注释上面模拟数据 取消下面注释
|
||||
*/
|
||||
// 获取用户列表
|
||||
// userList(parameter).then(res => {
|
||||
// this.loading = false
|
||||
// if (res.success == false) {
|
||||
// this.$message({
|
||||
// type: 'info',
|
||||
// message: res.msg
|
||||
// })
|
||||
// } else {
|
||||
// this.userData = res.data
|
||||
// // 分页赋值
|
||||
// this.pageparm.currentPage = this.formInline.page
|
||||
// this.pageparm.pageSize = this.formInline.limit
|
||||
// this.pageparm.total = res.count
|
||||
// }
|
||||
// })
|
||||
},
|
||||
// 分页插件事件
|
||||
callFather(parm) {
|
||||
this.formInline.page = parm.currentPage
|
||||
this.formInline.limit = parm.pageSize
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
//搜索事件
|
||||
search() {
|
||||
this.getdata(this.formInline)
|
||||
},
|
||||
// 修改type
|
||||
editType: function(index, row) {
|
||||
this.loading = true
|
||||
let parm = {
|
||||
lock: '',
|
||||
userId: '',
|
||||
token: localStorage.getItem('logintoken')
|
||||
}
|
||||
parm.userId = row.userId
|
||||
let lock = row.isLock
|
||||
if (lock == 'N') {
|
||||
parm.lock = 'Y'
|
||||
} else {
|
||||
parm.lock = 'N'
|
||||
}
|
||||
// 修改状态
|
||||
userLock(parm).then(res => {
|
||||
this.loading = false
|
||||
if (res.success == false) {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '状态修改成功'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
}
|
||||
})
|
||||
},
|
||||
//显示编辑界面
|
||||
handleEdit: function(index, row) {
|
||||
this.editFormVisible = true
|
||||
if (row != undefined && row != 'undefined') {
|
||||
this.title = '修改用户'
|
||||
this.editForm.userId = row.userId
|
||||
this.editForm.userName = row.userName
|
||||
this.editForm.userRealName = row.userRealName
|
||||
this.editForm.roleId = row.roleId
|
||||
this.editForm.userMobile = row.userMobile
|
||||
this.editForm.userEmail = row.userEmail
|
||||
this.editForm.userSex = row.userSex
|
||||
} else {
|
||||
this.title = '添加用户'
|
||||
this.editForm.userId = ''
|
||||
this.editForm.userName = ''
|
||||
this.editForm.userRealName = ''
|
||||
this.editForm.roleId = ''
|
||||
this.editForm.userMobile = ''
|
||||
this.editForm.userEmail = ''
|
||||
this.editForm.userSex = ''
|
||||
}
|
||||
},
|
||||
// 编辑、添加提交方法
|
||||
submitForm(editData) {
|
||||
this.$refs[editData].validate(valid => {
|
||||
if (valid) {
|
||||
// 请求方法
|
||||
userSave(this.editForm)
|
||||
.then(res => {
|
||||
this.editFormVisible = false
|
||||
this.loading = false
|
||||
if (res.success) {
|
||||
this.getdata(this.formInline)
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '数据保存成功!'
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.editFormVisible = false
|
||||
this.loading = false
|
||||
this.$message.error('保存失败,请稍后再试!')
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 显示部门设置
|
||||
handleunit: function(index, row) {
|
||||
this.unitAccessshow = true
|
||||
let parms = 0
|
||||
UserDeptdeptTree(parms)
|
||||
.then(res => {
|
||||
if (res.data.success) {
|
||||
this.UserDept = this.changeArr(res.data.data)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('配置权限失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
handleClick(data, checked, node) {
|
||||
if (checked) {
|
||||
this.$refs.tree.setCheckedNodes([])
|
||||
this.$refs.tree.setCheckedNodes([data])
|
||||
this.unitparm.deptId = data.id
|
||||
this.unitparm.deptName = data.name
|
||||
//交叉点击节点
|
||||
} else {
|
||||
}
|
||||
},
|
||||
// 保存部门
|
||||
unitPermSave() {
|
||||
let len = this.selectdata
|
||||
let ids = []
|
||||
if (len != 0) {
|
||||
for (let i = 0; i < len.length; i++) {
|
||||
ids.push(len[i].userId)
|
||||
}
|
||||
}
|
||||
this.unitparm.userIds = ids.join(',')
|
||||
UserChangeDept(this.unitparm)
|
||||
.then(res => {
|
||||
this.unitAccessshow = false
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '部门设置成功!'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('部门设置失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
// 选择复选框事件
|
||||
selectChange(val) {
|
||||
this.selectdata = val
|
||||
},
|
||||
// 关闭编辑、增加弹出框
|
||||
closeDialog(dialog) {
|
||||
if (dialog == 'edit') {
|
||||
this.editFormVisible = false
|
||||
} else if (dialog == 'perm') {
|
||||
this.dataAccessshow = false
|
||||
} else if (dialog == 'unit') {
|
||||
this.unitAccessshow = false
|
||||
}
|
||||
},
|
||||
// 删除用户
|
||||
deleteUser(index, row) {
|
||||
this.$confirm('确定要删除吗?', '信息', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
// 删除
|
||||
userDelete(row.id)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '数据已删除!'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('数据删除失败,请稍后再试!')
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除!'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 重置密码
|
||||
resetpwd(index, row) {
|
||||
this.resetpsd.userId = row.userId
|
||||
this.$confirm('确定要重置密码吗?', '信息', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
userPwd(this.resetpsd)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '重置密码成功!'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('重置密码失败,请稍后再试!')
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '取消重置密码!'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 数据权限
|
||||
dataAccess: function(index, row) {
|
||||
this.dataAccessshow = true
|
||||
this.saveroleId = row.userId
|
||||
UserDeptTree(row.userId)
|
||||
.then(res => {
|
||||
if (res.data.success) {
|
||||
this.checkmenu = this.changemenu(res.data.data)
|
||||
this.UserDept = this.changeArr(res.data.data)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.data.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('获取权限失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
//数据格式化
|
||||
changeArr(data) {
|
||||
var pos = {}
|
||||
var tree = []
|
||||
var i = 0
|
||||
while (data.length != 0) {
|
||||
if (data[i].pId == 0) {
|
||||
tree.push({
|
||||
id: data[i].id,
|
||||
name: data[i].name,
|
||||
pId: data[i].pId,
|
||||
open: data[i].open,
|
||||
checked: data[i].checked,
|
||||
children: []
|
||||
})
|
||||
pos[data[i].id] = [tree.length - 1]
|
||||
data.splice(i, 1)
|
||||
i--
|
||||
} else {
|
||||
var posArr = pos[data[i].pId]
|
||||
if (posArr != undefined) {
|
||||
var obj = tree[posArr[0]]
|
||||
for (var j = 1; j < posArr.length; j++) {
|
||||
obj = obj.children[posArr[j]]
|
||||
}
|
||||
|
||||
obj.children.push({
|
||||
id: data[i].id,
|
||||
name: data[i].name,
|
||||
pId: data[i].pId,
|
||||
open: data[i].open,
|
||||
checked: data[i].checked,
|
||||
children: []
|
||||
})
|
||||
pos[data[i].id] = posArr.concat([obj.children.length - 1])
|
||||
data.splice(i, 1)
|
||||
i--
|
||||
}
|
||||
}
|
||||
i++
|
||||
if (i > data.length - 1) {
|
||||
i = 0
|
||||
}
|
||||
}
|
||||
return tree
|
||||
},
|
||||
// 选中菜单
|
||||
changemenu(arr) {
|
||||
let change = []
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
if (arr[i].checked) {
|
||||
change.push(arr[i].id)
|
||||
}
|
||||
}
|
||||
return change
|
||||
},
|
||||
// 菜单权限-保存
|
||||
menuPermSave() {
|
||||
let parm = {
|
||||
userId: this.saveroleId,
|
||||
deptIds: ''
|
||||
}
|
||||
let node = this.$refs.tree.getCheckedNodes()
|
||||
let moduleIds = []
|
||||
if (node.length != 0) {
|
||||
for (let i = 0; i < node.length; i++) {
|
||||
moduleIds.push(node[i].id)
|
||||
}
|
||||
parm.deptIds = JSON.stringify(moduleIds)
|
||||
}
|
||||
UserDeptSave(parm)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '权限保存成功'
|
||||
})
|
||||
this.dataAccessshow = false
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('权限保存失败,请稍后再试!')
|
||||
})
|
||||
},
|
||||
// 下线用户
|
||||
offlineUser(index, row) {
|
||||
this.$confirm('确定要让' + row.userName + '用户下线吗?', '信息', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
userExpireToken(row.userName)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '用户' + row.userName + '强制下线成功!'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('用户下线失败,请稍后再试!')
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 刷新缓存
|
||||
refreshCache(index, row) {
|
||||
userFlashCache(row.userName)
|
||||
.then(res => {
|
||||
if (res.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '刷新成功!'
|
||||
})
|
||||
this.getdata(this.formInline)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: res.msg
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.loading = false
|
||||
this.$message.error('刷新失败,请稍后再试!')
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.user-search {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.userRole {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user