Commit 195947f1 authored by 晓彤's avatar 晓彤

权限管理功能

parent 31484c6d
......@@ -14,3 +14,11 @@ export function getUserDetail(paramInfo) {
params: paramInfo
})
}
// 获取登出接口
export function logout(data) {
return request({
url: '/user/logout',
method: 'post',
data
})
}
import request from '@/utils/holmesRequest'
// 获取用户列表
export function getUserList(paramInfo) {
return request({
url: '/user/list',
method: 'get',
params: paramInfo
})
}
// 获取角色列表
export function getRoleList(paramInfo) {
return request({
url: '/role/list',
method: 'get',
params: paramInfo
})
}
// 编辑用户角色信息
export function saveUserForm(data) {
return request({
url: '/user/role/edit',
method: 'post',
data
})
}
// 获取权限列表(无参数)
export function getPermissionList(paramInfo) {
return request({
url: '/permission/list',
method: 'get',
params: paramInfo
})
}
// 添加角色信息
export function addRolePermission(data) {
return request({
url: '/role/permission/add',
method: 'post',
data
})
}
// 编辑角色接口
export function editRolePermission(data) {
return request({
url: '/role/permission/edit',
method: 'post',
data
})
}
// 删除角色接口
export function delRolePermission(paramInfo) {
return request({
url: '/role/permission/del',
method: 'get',
params: paramInfo
})
}
// 获取权限列表
export function getPermissionListPaging(paramInfo) {
return request({
url: '/permission/list/paging',
method: 'get',
params: paramInfo
})
}
// 新增权限接口
export function addPermissionForm(data) {
return request({
url: '/permission/add',
method: 'post',
data
})
}
// 编辑权限接口
export function editPermissionForm(data) {
return request({
url: '/permission/edit',
method: 'post',
data
})
}
// 删除权限接口
export function delPermissionForm(paramInfo) {
return request({
url: '/permission/del',
method: 'get',
params: paramInfo
})
}
......@@ -13,6 +13,30 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-quality:before {
content: "\e627";
}
.icon-process:before {
content: "\e718";
}
.icon-role:before {
content: "\e611";
}
.icon-Usergroup:before {
content: "\e605";
}
.icon-mg-role:before {
content: "\e60a";
}
.icon-rolejiaose:before {
content: "\e766";
}
.icon-password:before {
content: "\e609";
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -5,6 +5,48 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "1471612",
"name": "quality",
"font_class": "quality",
"unicode": "e627",
"unicode_decimal": 58919
},
{
"icon_id": "6145976",
"name": "process",
"font_class": "process",
"unicode": "e718",
"unicode_decimal": 59160
},
{
"icon_id": "7207759",
"name": "role",
"font_class": "role",
"unicode": "e611",
"unicode_decimal": 58897
},
{
"icon_id": "8860638",
"name": "User group",
"font_class": "Usergroup",
"unicode": "e605",
"unicode_decimal": 58885
},
{
"icon_id": "11466716",
"name": "mg-role",
"font_class": "mg-role",
"unicode": "e60a",
"unicode_decimal": 58890
},
{
"icon_id": "20375091",
"name": "role角色",
"font_class": "rolejiaose",
"unicode": "e766",
"unicode_decimal": 59238
},
{
"icon_id": "5700816",
"name": "password",
......
......@@ -50,7 +50,12 @@ import {
MessageBox,
Row,
Col,
Tooltip
Tooltip,
Dropdown,
DropdownItem,
DropdownMenu,
Checkbox,
CheckboxGroup
} from 'element-ui'
Vue.config.productionTip = false
......@@ -99,7 +104,11 @@ Vue.use(Col)
Vue.use(JsonViewer)
Vue.use(Tooltip)
Vue.use(directives)
Vue.use(Dropdown)
Vue.use(DropdownItem)
Vue.use(DropdownMenu)
Vue.use(Checkbox)
Vue.use(CheckboxGroup)
// Vue.use(Sortable)
/* eslint-disable no-new */
new Vue({
......
import Vue from 'vue'
import Router from 'vue-router'
import Login from '../views/login/Login'
// import Login from '../views/login/Login'
import Main from '../views/Main'
// import Home from '../views/Home'
import Home from '../views/layout/Home'
import XyqbGenLoanData from '../views/xyqb/GenLoanData'
import XyqbGetLoanData from '../views/xyqb/GetLoanData'
......@@ -33,6 +31,10 @@ import ReportList from '../views/auto/ReportList'
import ReportDetail from '../views/auto/ReportDetail'
// 添加同步数据库功能
import SynDatabase from '../views/effect/SynDatabase'
// 添加用户全权限管理功能
import user from '../views/user/user'
import role from '../views/user/role'
import permission from '../views/user/permission'
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
......@@ -52,10 +54,6 @@ const router = new Router({
name: '登录页',
component: Login
},
// {
// 'path': '/login',
// component: Login
// },
{
path: '/home',
redirect: '/main',
......@@ -189,9 +187,44 @@ const router = new Router({
path: '/effect/database',
name: SynDatabase,
component: SynDatabase
},
// 用户管理
{
path: '/user/list',
name: user,
component: user
},
// 角色管理
{
path: '/user/role',
name: role,
component: role
},
// 权限管理
{
path: '/role/permission',
name: permission,
component: permission
}
]
}
]
})
// 判断用户是否登陆到系统
// router.beforeEach(function(to, from, next) {
// var token = window.sessionStorage.getItem('token')
// if (token) {
// if (to.path === '/login') {
// // 如果已经登陆,跳转到首页
// console.log('777', to.path)
// next()
// } else {
// console.log('888', to.path)
// // 如果没有登录,就跳转登录页面
// store.commit('user/RESET_USER')
// next()
// }
// }
// })
export default router
const state = {
userId: '',
username: '',
chineseName: '',
menuList: [],
roleIds: [],
permissionCodeList: []
......@@ -10,6 +11,7 @@ const mutations = {
SET_USER(state, userInfo) {
state.userId = userInfo.userId
state.username = userInfo.username
state.chineseName = userInfo.chineseName
state.menuList = userInfo.menuList
state.roleIds = userInfo.roleIds
state.permissionCodeList = userInfo.permissionCodeList
......@@ -17,6 +19,7 @@ const mutations = {
RESET_USER: state => {
state.userId = ''
state.username = ''
state.chineseName = ''
state.menuList = []
state.roleIds = []
state.permissionCodeList = []
......@@ -28,6 +31,12 @@ const getters = {
},
PermissionList: state => {
return state.permissionCodeList
},
UserName: state => {
return state.username
},
chineseName: state => {
return state.chineseName
}
}
// 异步获取用户信息
......
import store from '../store/store'
// import store from '../store/store'
export function hasPermission(permission) {
permission = permission.trim()
let myPermissions = store.getters['user/PermissionList']
// let myPermissions = store.getters['user/PermissionList']
// 从缓存中获取用户权限信息
let myPermissions = window.sessionStorage.getItem('permissionList')
// console.log('6666', myPermissions)
return myPermissions.indexOf(permission) > -1
}
......@@ -8,11 +8,11 @@
</el-select>
<el-input v-model="queryModuleInfo.testcaseName" clearable placeholder="请输入用例名称" style="width: 300px;"></el-input>
<el-button type="primary" style="margin-left:10px" icon="el-icon-search" @click="queryData">查询</el-button>
<el-button type="primary" style="margin-left:10px" icon="el-icon-circle-plus" @click="addPage">新增</el-button>
<el-button type="primary" style="margin-left:10px" icon="el-icon-circle-plus" @click="addPage" v-permission="('auto:testcase:add')">新增</el-button>
</div>
<el-table :data="singleCaseList" border style="width: 100%;margin-top:20px">
<el-table-column type='index' width="50px">
<template slot-scope="scope">
<template slot-scope="scope">
<span>{{ (queryModuleInfo.pageNum -1 ) * queryModuleInfo.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
......@@ -23,13 +23,12 @@
<el-table-column label="操作">
<slot slot-scope="scope">
<el-button type="success" icon="el-icon-link" @click="executeCaseFrom(scope.row)">执行</el-button>
<el-button type="warning" icon="el-icon-edit" @click="editCaseFrom(scope.row)">编辑</el-button>
<!-- <el-button type="danger" icon="el-icon-delete" @click="delCaseFrom(scope.row)">删除</el-button> -->
<el-button type="warning" icon="el-icon-edit" @click="editCaseFrom(scope.row)" v-permission="('auto:testcase:edit')">编辑</el-button>
<el-button type="danger" icon="el-icon-delete" @click="delCaseFrom(scope.row)" v-permission="('auto:testcase:del')">删除</el-button>
</slot>
</el-table-column>
</el-table>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next"
:total="totalNum"></el-pagination>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next" :total="totalNum"></el-pagination>
</el-card>
<!-- 接口返回数据 -->
<el-card v-if="isShow">
......@@ -46,11 +45,7 @@
</template>
<script>
import { getModulList } from '@/api/getAotoInterface'
import {
singleCaseList,
executeCase
// delCase
} from '@/api/getAutoCase'
import { singleCaseList, executeCase, delCase } from '@/api/getAutoCase'
export default {
data() {
return {
......@@ -153,23 +148,23 @@ export default {
.catch(() => {})
},
// 删除用例
// delCaseFrom(row) {
// this.delCase.testcaseId = row.id
// this.openMessage('您确定要删除吗?', '删除', () => {
// delCase(this.delCase)
// .then((resp) => {
// if (resp.data.data === true) {
// this.$message.success('删除成功!')
// this.getCaseList()
// } else if (resp.data.data === false) {
// this.$message.error(resp.data.msg)
// }
// })
// .catch((error) => {
// this.$message({ type: 'error', message: error })
// })
// })
// },
delCaseFrom(row) {
this.delCase.testcaseId = row.id
this.openMessage('您确定要删除吗?', '删除', () => {
delCase(this.delCase)
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('删除成功!')
this.getCaseList()
} else if (resp.data.data === false) {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
})
},
handleSizeChange(newSize) {
this.queryModuleInfo.pageSize = newSize
this.getCaseList()
......
......@@ -12,11 +12,11 @@
</el-select>
<el-input v-model="queryModuleInfo.interfaceName" clearable placeholder="请输入接口名称" style="width: 300px;"></el-input>
<el-button type="primary" style="margin-left:10px" icon="el-icon-search" @click="queryData">查询</el-button>
<el-button type="primary" style="margin-left:10px" icon="el-icon-circle-plus" @click="addPage">新增</el-button>
<el-button type="primary" style="margin-left:10px" icon="el-icon-circle-plus" @click="addPage" v-permission="('auto:interface:add')">新增</el-button>
</div>
<el-table :data="interfaceList" border style="width: 100%;margin-top:20px">
<el-table-column type='index' width="50px">
<template slot-scope="scope">
<template slot-scope="scope">
<span>{{ (queryModuleInfo.pageNum -1 ) * queryModuleInfo.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
......@@ -29,13 +29,12 @@
<el-table-column prop="createTime" label="创建时间" width="200px"></el-table-column>
<el-table-column label="操作">
<slot slot-scope="scope">
<el-button type="warning" icon="el-icon-edit" @click="editInterfaceFrom(scope.row)">编辑</el-button>
<!-- <el-button type="danger" icon="el-icon-delete" @click="delInterfaceFrom(scope.row)">删除</el-button> -->
<el-button type="warning" icon="el-icon-edit" @click="editInterfaceFrom(scope.row)" v-permission="('auto:interface:edit')">编辑</el-button>
<el-button type="danger" icon="el-icon-delete" @click="delInterfaceFrom(scope.row)" v-permission="('auto:interface:del')">删除</el-button>
</slot>
</el-table-column>
</el-table>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next"
:total="totalNum"></el-pagination>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next" :total="totalNum"></el-pagination>
</el-card>
</div>
</template>
......@@ -44,8 +43,8 @@
import {
getModulList,
getProjectList,
interfaceDetailList
// delInterface
interfaceDetailList,
delInterface
} from '@/api/getAotoInterface'
// 引入组件
import bus from '@/utils/bus'
......@@ -149,31 +148,31 @@ export default {
doit()
})
.catch(() => {})
}
},
// 删除接口方法
// delInterfaceFrom(row) {
// this.delInterfaceParam.interfaceId = row.id
// this.openMessage('您确定要删除吗?', '删除', () => {
// delInterface(this.delInterfaceParam)
// .then((resp) => {
// if (resp.data.data === true) {
// this.$message.success('删除成功!')
// this.getInterfaceDetailList()
// } else if (resp.data.data === false) {
// this.$message.error(resp.data.msg)
// }
// })
// .catch((error) => {
// this.$message({ type: 'error', message: error })
// })
// })
// }
delInterfaceFrom(row) {
this.delInterfaceParam.interfaceId = row.id
this.openMessage('您确定要删除吗?', '删除', () => {
delInterface(this.delInterfaceParam)
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('删除成功!')
this.getInterfaceDetailList()
} else if (resp.data.data === false) {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
})
}
}
}
</script>
<style lang="less" scoped>
.el-select {
margin: 0 10px 0 5px;
margin: 0 10px 0 5px;
}
</style>
......@@ -2,11 +2,11 @@
<div>
<el-card>
<div class="filter">
<el-button type="primary" icon="el-icon-circle-plus" @click="addModelBtn">新增</el-button>
<el-button type="primary" icon="el-icon-circle-plus" @click="addModelBtn" v-permission="('auto:module:add')">新增</el-button>
</div>
<el-table :data="modelList" border style="width: 100%;margin-top:20px">
<el-table-column type='index' width="50px">
<template slot-scope="scope">
<template slot-scope="scope">
<span>{{ (queryModuleInfo.pageNum -1 ) * queryModuleInfo.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
......@@ -17,14 +17,13 @@
<el-table-column prop="createTime" label="创建时间" width="200px"></el-table-column>
<el-table-column label="操作">
<slot slot-scope="scope">
<el-button type="warning" icon="el-icon-edit" @click="openEditDialog(scope.row)">编辑</el-button>
<!-- <el-button type="danger" icon="el-icon-delete" @click="delModelFrom(scope.row)">删除</el-button> -->
<el-button type="warning" icon="el-icon-edit" @click="openEditDialog(scope.row)" v-permission="('auto:module:edit')">编辑</el-button>
<el-button type="danger" icon="el-icon-delete" @click="delModelFrom(scope.row)" v-permission="('auto:module:del')">删除</el-button>
</slot>
</el-table-column>
</el-table>
<!-- 分页 -->
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next"
:total="totalNum"></el-pagination>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next" :total="totalNum"></el-pagination>
</el-card>
<!-- 新增模块 -->
<el-dialog title="新增模块" :visible.sync="DialogVisible" @close="closeAddDialog" width="30%">
......@@ -80,8 +79,8 @@ import {
getModulList,
getProjectList,
addModul,
editModel
// delModel
editModel,
delModel
} from '@/api/getAotoInterface'
export default {
data() {
......@@ -252,25 +251,25 @@ export default {
},
closeAddDialog() {
this.$refs.addModelFormRef.resetFields()
}
},
// 删除模块
// delModelFrom(row) {
// this.delModelParam.moduleId = row.id
// this.openMessage('您确定要删除吗?', '删除', () => {
// delModel(this.delModelParam)
// .then((resp) => {
// if (resp.data.data === true) {
// this.$message.success('删除成功!')
// this.getModelList()
// } else if (resp.data.data === false) {
// this.$message.error(resp.data.msg)
// }
// })
// .catch((error) => {
// this.$message({ type: 'error', message: error })
// })
// })
// }
delModelFrom(row) {
this.delModelParam.moduleId = row.id
this.openMessage('您确定要删除吗?', '删除', () => {
delModel(this.delModelParam)
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('删除成功!')
this.getModelList()
} else if (resp.data.data === false) {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
})
}
}
}
</script>
......@@ -6,12 +6,12 @@
<el-button type="primary" icon="el-icon-search" @click="searchMockList">查询</el-button> -->
<!-- <el-button type="primary" icon="el-icon-circle-plus" @click="DialogAddVisible=true">新增</el-button> -->
<el-button type="primary" icon="el-icon-circle-plus" @click="DialogAddVisible=true" v-if="hasPermission('auto:project:add')">新增</el-button>
<el-button type="primary" icon="el-icon-circle-plus" @click="DialogAddVisible=true" v-permission="('auto:project:add')">新增</el-button>
</div>
<el-table :data="projectList" border style="width: 100%;margin-top:20px">
<el-table-column type='index' width="50px">
<template slot-scope="scope">
<span>{{ (queryModuleInfo.pageNum -1 ) * queryModuleInfo.pageSize + scope.$index + 1}}</span>
<span>{{(queryModuleInfo.pageNum -1 ) * queryModuleInfo.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column prop="name" label="名称" width="200px"></el-table-column>
......@@ -19,8 +19,8 @@
<el-table-column prop="createTime" label="创建时间" width="200px"></el-table-column>
<el-table-column label="操作">
<slot slot-scope="scope">
<el-button type="warning" icon="el-icon-edit" @click="openEditDialog(scope.row)" v-if="hasPermission('auto:project:edit')">编辑</el-button>
<el-button type="danger" icon="el-icon-delete" @click="delProjectFrom(scope.row)" v-if="hasPermission('auto:project:del')">删除</el-button>
<el-button type="warning" icon="el-icon-edit" @click="openEditDialog(scope.row)" v-permission="('auto:project:edit')">编辑</el-button>
<el-button type="danger" icon="el-icon-delete" @click="delProjectFrom(scope.row)" v-permission="('auto:project:del')">删除</el-button>
</slot>
</el-table-column>
</el-table>
......@@ -67,7 +67,7 @@ import {
editProject,
delProject
} from '@/api/getAotoInterface'
import { mapGetters } from 'vuex'
// import { mapGetters } from 'vuex'
export default {
data() {
return {
......@@ -113,12 +113,12 @@ export default {
created() {
this.getProjectList()
},
computed: {
...mapGetters({
// 获取用户信息
permissionList: 'user/PermissionList'
})
},
// computed: {
// ...mapGetters({
// // 获取用户信息
// permissionList: 'user/PermissionList'
// })
// },
methods: {
// 获取项目列表
getProjectList() {
......@@ -226,10 +226,10 @@ export default {
handleCurrentChange(newPage) {
this.queryModuleInfo.pageNum = newPage
this.getProjectList()
},
hasPermission(permission) {
return this.permissionList.indexOf(permission) > -1
}
// hasPermission(permission) {
// return this.permissionList.indexOf(permission) > -1
// }
}
}
</script>
......
......@@ -5,7 +5,7 @@
场景名称:
<el-input v-model="queryModuleInfo.sceneName" clearable placeholder="请输入场景名称" style="width: 300px;"></el-input>
<el-button type="primary" style="margin-left:10px" icon="el-icon-search" @click="queryData">查询</el-button>
<el-button type="primary" style="margin-left:10px" icon="el-icon-circle-plus" @click="DialogVisible = true">新增</el-button>
<el-button type="primary" style="margin-left:10px" icon="el-icon-circle-plus" @click="DialogVisible = true" v-permission="('auto:scene:add')">新增</el-button>
</div>
<el-table :data="sceneList" border style="width: 100%;margin-top:20px">
<el-table-column type='index' width="50px">
......@@ -18,16 +18,15 @@
<el-table-column prop="createTime" label="创建时间" width="200px"></el-table-column>
<el-table-column label="操作">
<slot slot-scope="scope">
<el-button type="success" size="medium" icon="el-icon-link" @click="executeSceneFrom(scope.row)" style="width:80px;margin-left:1px">执行</el-button>
<el-button type="warning" size="medium" icon="el-icon-edit-outline" @click="editeSceneCaseFrom(scope.row)" style="width:135px;margin-left:1px">编辑场景用例</el-button>
<el-button type="warning" size="medium" icon="el-icon-edit" @click="editeSceneFrom(scope.row)" style="width:110px;margin-left:1px">编辑场景</el-button>
<el-button type="success" size="medium" icon="el-icon-link" @click="executeSceneFrom(scope.row)" style="width:80px;margin-left:1px">执行</el-button>
<el-button type="warning" size="medium" icon="el-icon-edit-outline" @click="editeSceneCaseFrom(scope.row)" style="width:135px;margin-left:1px" v-permission="('auto:scene:case:edit')" >编辑场景用例</el-button>
<el-button type="warning" size="medium" icon="el-icon-edit" @click="editeSceneFrom(scope.row)" style="width:110px;margin-left:1px" v-permission="('auto:scene:edit')">编辑场景</el-button>
<el-button type="primary" size="medium" icon="el-icon-circle-check" @click="checkReport(scope.row)" style="width:110px;margin-left:1px">查看报告</el-button>
<!-- <el-button type="danger" icon="el-icon-delete" @click="deleSceneFrom(scope.row)">删除</el-button> -->
<el-button type="danger" icon="el-icon-delete" @click="deleSceneFrom(scope.row)" v-permission="('auto:scene:del')">删除</el-button>
</slot>
</el-table-column>
</el-table>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next"
:total="totalNum"></el-pagination>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next" :total="totalNum"></el-pagination>
</el-card>
<!-- 接口返回数据 -->
<el-card v-if="isShow">
......@@ -80,7 +79,7 @@
import {
getSceneList,
addSecene,
// delSecne,
delSecne,
executeScene,
editScene
} from '@/api/getAutoScene'
......@@ -214,23 +213,23 @@ export default {
.catch(() => {})
},
// 删除场景
// deleSceneFrom(row) {
// this.delSceneForm.sceneId = row.id
// this.openMessage('您确定要删除吗?', '删除', () => {
// delSecne(this.delSceneForm)
// .then((resp) => {
// if (resp.data.data === true) {
// this.$message.success('删除成功!')
// this.getSecneList()
// } else if (resp.data.data === false) {
// this.$message.error(resp.data.msg)
// }
// })
// .catch((error) => {
// this.$message({ type: 'error', message: error })
// })
// })
// },
deleSceneFrom(row) {
this.delSceneForm.sceneId = row.id
this.openMessage('您确定要删除吗?', '删除', () => {
delSecne(this.delSceneForm)
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('删除成功!')
this.getSecneList()
} else if (resp.data.data === false) {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
})
},
handleSizeChange(newSize) {
this.queryModuleInfo.pageSize = newSize
this.getSecneList()
......
......@@ -97,10 +97,15 @@ export default {
// this.$store.dispatch('user/userMsg', {
// userInfo: resp.data.data
// })
console.log(this.getUserId)
// 同步赋值mutations
this.$store.commit('user/SET_USER', resp.data.data)
// 将用户信息存储到session中
window.sessionStorage.setItem(
'permissionList',
resp.data.data.permissionCodeList
)
this.menuList = resp.data.data.menuList
this.getNav()
})
......@@ -112,9 +117,9 @@ export default {
return this.$route.path
},
...mapGetters({
getCollapseState: 'header/CollapseState',
getCollapseState: 'header/CollapseState'
// 获取用户信息
getUserId: 'user/UserId'
// getUserId: 'user/UserId'
})
},
created() {
......
......@@ -158,15 +158,40 @@
{
"id": 6,
"title": "质量保证",
"icon": "iconfont icon-jira",
"icon": "iconfont icon-quality",
"child": [
{
"id": 1,
"title": "测试流程",
"icon": "iconfont icon-notice",
"icon": "iconfont icon-process",
"path": "/qa/process"
}
]
},
{
"id": 7,
"title": "用户权限管理",
"icon": "iconfont icon-mg-role",
"child": [
{
"id": 1,
"title": "用户列表",
"icon": "iconfont icon-Usergroup",
"path": "/user/list"
},
{
"id": 2,
"title": "角色管理",
"icon": "iconfont icon-role",
"path": "/user/role"
},
{
"id": 3,
"title": "权限管理",
"icon": "iconfont icon-password1",
"path": "/role/permission"
}
]
}
]
}
\ No newline at end of file
......@@ -16,11 +16,18 @@
</div>
<div class="right">
<!-- <el-tag>当前环境:{{ env }}</el-tag> -->
<el-select v-model="env" @change="envChange" placeholder="请选择环境">
<el-select v-model="env" @change="envChange" placeholder="请选择环境" style="width:90px">
<el-option v-for="item in envList" :key="item.key" :label="item.desc" :value="item.key">
</el-option>
</el-select>
<el-button plain @click="logout">退出</el-button>
<el-dropdown>
<span class="el-dropdown-link">{{getUserName}}<i class="el-icon-arrow-down el-icon--right"></i></span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>
<el-button type="text" @click="logout">退出</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</el-header>
</template>
......@@ -29,6 +36,7 @@
import { getNamespaceList } from '@/api/getXyqbData/'
import Crumbs from './Crumbs'
import { mapGetters } from 'vuex'
import { logout } from '@/api/Login/'
export default {
name: 'Header',
data() {
......@@ -40,7 +48,9 @@ export default {
computed: {
...mapGetters({
getCollapseState: 'header/CollapseState',
getCrumbs: 'header/Crumbs'
getCrumbs: 'header/Crumbs',
// 获取用户名称
getUserName: 'user/chineseName'
})
},
methods: {
......@@ -61,8 +71,15 @@ export default {
this.$router.go(0) // 刷新页面
},
logout() {
window.sessionStorage.clear()
this.$router.push('/')
// window.sessionStorage.clear()
logout()
.then((resp) => {
this.$store.commit('user/RESET_USER')
this.$router.push('/')
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
}
},
created() {
......@@ -129,4 +146,12 @@ p[multiBtn] {
box-shadow: 0 0 6px #b3b3b3 inset;
transition: all 0.5s ease;
}
.el-dropdown-link {
cursor: pointer;
color:#606266;
font-size: 16px;
}
.el-icon-arrow-down {
margin-top: 10px;
}
</style>
......@@ -13,7 +13,7 @@
</el-option>
</el-select>
<el-button type="primary" icon="el-icon-search" @click="searchMockList">查询</el-button>
<el-button type="primary" @click="addDialogVisible = true">新增mock</el-button>
<el-button type="primary" @click="addDialogVisible = true" v-permission="('mock:add')">新增mock</el-button>
</div>
<el-table :data="mockList" border style="width: 100%">
<el-table-column prop="id" label="序号" width="80">
......@@ -41,7 +41,7 @@
<el-table-column label="操作">
<slot slot-scope="scope">
<el-button type="warning" @click="openDetailDialog(scope.row)">详情</el-button>
<el-button type="success" @click="openEditDialog(scope.row)">编辑</el-button>
<el-button type="success" @click="openEditDialog(scope.row)" v-permission="('mock:edit')">编辑</el-button>
<!-- <el-button type="danger">删除</el-button> -->
</slot>
</el-table-column>
......
<template>
<div>
<el-card>
<div class="filter">
<el-button type="primary" icon="el-icon-circle-plus" @click="addPermissionDialog=true" v-permission="('role:permission:add')">新增</el-button>
</div>
<el-table :data="permissionList" border style="width: 100%;margin-top:20px">
<el-table-column type='index' width="50px">
<template slot-scope="scope">
<span>{{(queryModuleInfo.pageNum -1 ) * queryModuleInfo.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column prop="permissionName" label="权限名称" width="200px"></el-table-column>
<el-table-column prop="permissionCode" label="权限编码" width="200px"></el-table-column>
<el-table-column prop="menuName" label="菜单名称" width="200px"></el-table-column>
<el-table-column prop="menuCode" label="菜单路径" width="200px"></el-table-column>
<el-table-column prop="createTime" label="创建时间" width="200px"></el-table-column>
<el-table-column label="操作">
<slot slot-scope="scope">
<el-button type="warning" icon="el-icon-edit" @click="openPermissionDialog(scope.row)" v-permission="('role:permission:edit')">编辑</el-button>
<el-button type="danger" icon="el-icon-delete" @click="delPermissionFrom(scope.row)" v-permission="('role:permission:del')">删除</el-button>
</slot>
</el-table-column>
</el-table>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next" :total="totalNum">
</el-pagination>
</el-card>
<!-- 添加权限对话框 -->
<el-dialog title="添加权限" :visible.sync="addPermissionDialog" width="30%" @close="closeAddDialog">
<el-form ref="addPermissionFormRef" :rules="rules" :model="addPermissionForm" label-width="90px">
<el-form-item label="权限名称:" prop="permissionName" style="width:350px">
<el-input v-model="addPermissionForm.permissionName"></el-input>
</el-form-item>
<el-form-item label="权限编码:" prop="permissionCode" style="width:350px">
<el-input v-model="addPermissionForm.permissionCode"></el-input>
</el-form-item>
<el-form-item label="菜单名称:" prop="menuName" style="width:350px">
<el-input v-model="addPermissionForm.menuName"></el-input>
</el-form-item>
<el-form-item label="菜单路径:" prop="menuCode" style="width:350px">
<el-input v-model="addPermissionForm.menuCode"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addPermissionDialog=false">取 消</el-button>
<el-button type="primary" @click="addPermissionFrom">确 定</el-button>
</span>
</el-dialog>
<!-- 编辑权限对话框 -->
<el-dialog title="添加权限" :visible.sync="editPermissionDialog" width="30%">
<el-form ref="editPermissionFormRef" :rules="rules" :model="editPermissionForm" label-width="90px">
<el-form-item label="权限名称:" prop="permissionName" style="width:350px">
<el-input v-model="editPermissionForm.permissionName"></el-input>
</el-form-item>
<el-form-item label="权限编码:" prop="permissionCode" style="width:350px">
<el-input v-model="editPermissionForm.permissionCode"></el-input>
</el-form-item>
<el-form-item label="菜单名称:" prop="menuName" style="width:350px">
<el-input v-model="editPermissionForm.menuName"></el-input>
</el-form-item>
<el-form-item label="菜单路径:" prop="menuCode" style="width:350px">
<el-input v-model="editPermissionForm.menuCode"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editPermissionDialog=false">取 消</el-button>
<el-button type="primary" @click="editSavePermissionForm">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
getPermissionListPaging,
addPermissionForm,
delPermissionForm,
editPermissionForm
} from '@/api/getUser'
export default {
data() {
return {
queryModuleInfo: {
pageNum: 1,
pageSize: 10
},
permissionList: [],
addPermissionForm: {
permissionCode: '',
permissionName: '',
menuName: '',
menuCode: ''
},
editPermissionForm: {
id: '',
permissionCode: '',
permissionName: '',
menuName: '',
menuCode: ''
},
totalNum: 0,
addPermissionDialog: false,
editPermissionDialog: false,
rules: {
permissionName: [
{
required: true,
message: '权限名称不能为空!',
trigger: 'blur'
}
],
permissionCode: [
{
required: true,
message: '权限编码不能为空!',
trigger: 'blur'
}
],
menuName: [
{
required: true,
message: '菜单名称不能为空!',
trigger: 'blur'
}
],
menuCode: [
{
required: true,
message: '菜单路径不能为空!',
trigger: 'blur'
}
]
}
}
},
created() {
this.getPermissionList()
},
methods: {
// 获取权限列表
getPermissionList() {
getPermissionListPaging(this.queryModuleInfo).then((resp) => {
this.permissionList = resp.data.data.list
this.totalNum = resp.data.data.total
})
},
// 保存权限信息
addPermissionFrom() {
this.$refs.addPermissionFormRef.validate((valid) => {
if (!valid) {
return false
} else {
addPermissionForm(this.addPermissionForm)
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('添加成功!')
this.addPermissionDialog = false
this.getPermissionList()
} else {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
}
})
},
// 数据回显
openPermissionDialog(row) {
this.editPermissionDialog = true
this.editPermissionForm.id = row.id
this.editPermissionForm.permissionName = row.permissionName
this.editPermissionForm.permissionCode = row.permissionCode
this.editPermissionForm.menuName = row.menuName
this.editPermissionForm.menuCode = row.menuCode
},
// 修改后保存权限
editSavePermissionForm() {
this.$refs.editPermissionFormRef.validate((valid) => {
if (!valid) {
return false
} else {
editPermissionForm(this.editPermissionForm)
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('修改成功!')
this.editPermissionDialog = false
this.getPermissionList()
} else {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
}
})
},
// 对话框方法
openMessage(message, confirmText, doit) {
this.$messageBox
.confirm(message, '确定', {
cancelButtonText: '取消',
confirmButtonText: confirmText,
type: 'warning'
})
.then(() => {
doit()
})
.catch(() => {})
},
// 删除权限
delPermissionFrom(row) {
this.openMessage('您确定要删除吗?', '删除', () => {
delPermissionForm({ permissionId: row.id })
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('删除成功!')
this.getPermissionList()
} else if (resp.data.data === false) {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
})
},
closeAddDialog() {
this.$refs.addPermissionFormRef.resetFields()
},
handleSizeChange(newSize) {
this.queryModuleInfo.pageSize = newSize
this.getPermissionList()
},
handleCurrentChange(newPage) {
this.queryModuleInfo.pageNum = newPage
this.getPermissionList()
}
}
}
</script>
<template>
<div>
<el-card>
<div class="filter">
<el-button type="primary" icon="el-icon-circle-plus" @click="showCreate" v-permission="('user:role:add')">新增</el-button>
</div>
<el-table :data="roleList" border style="width: 100%;margin-top:20px">
<el-table-column type='index' width="50px">
<template slot-scope="scope">
<span>{{(queryModuleInfo.pageNum -1 ) * queryModuleInfo.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column prop="roleName" label="角色名称" width="200px"></el-table-column>
<el-table-column label="用户名称" width="200px">
<template slot-scope="scope">
<div v-for="user in scope.row.usernameList" :key="user">
<div v-text="user" style="display: inline-block;vertical-align: middle;"></div>
</div>
</template>
</el-table-column>
<!-- <el-table-column label="菜单&权限" width="200px">
<template slot-scope="scope">
<div v-for="permission in scope.row.permissionIdList" :key="permission">
<el-tag type="success" v-text="permission"></el-tag>
</div>
</template>
</el-table-column> -->
<el-table-column prop="createTime" label="创建时间" width="200px"></el-table-column>
<el-table-column label="操作">
<slot slot-scope="scope">
<el-button type="warning" icon="el-icon-edit" @click="editRoleDialog(scope.$index)" v-permission="('user:role:edit')">编辑</el-button>
<el-button type="danger" icon="el-icon-delete" @click="delRoleFrom(scope.row)" v-permission="('user:role:del')">删除</el-button>
</slot>
</el-table-column>
</el-table>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next" :total="totalNum">
</el-pagination>
</el-card>
<!-- 添加角色 -->
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="45%">
<el-form ref="addRoleFormRef" :rules="rules" :model="addRoleForm" label-width="90px">
<el-form-item label="角色名称:" prop="roleName" style="width:400px">
<el-input v-model="addRoleForm.roleName"></el-input>
</el-form-item>
<el-form-item label="菜单&权限" prop="roleCode" style="width:600px">
<div v-for=" (menu,_index) in allPermissionList" :key="menu.menuName">
<span style="width:100px;display: inline-block;">
<el-button :type="isMenuNone(_index)?'':(isMenuAll(_index)?'success':'primary')" size="mini" style="width:100px;" @click="checkAll(_index)">{{menu.menuName}}</el-button>
</span>
<div style="display:inline-block;margin-left:30px;">
<el-checkbox-group v-model="addRoleForm.permissionIdList">
<el-checkbox v-for="perm in menu.permissionList" :label="perm.id" :key="perm.id">
{{perm.permissionName}}
</el-checkbox>
</el-checkbox-group>
</div>
</div>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible=false">取 消</el-button>
<el-button v-if="dialogStatus==='create'" type="primary" @click="addSaveRole">确 定</el-button>
<el-button type="primary" v-else @click="editSaveRole">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
getRoleList,
addRolePermission,
getPermissionList,
delRolePermission,
editRolePermission
} from '@/api/getUser'
export default {
data() {
return {
queryModuleInfo: {
pageNum: 1,
pageSize: 10
},
totalNum: 0,
roleList: [],
textMap: {
update: '编辑角色',
create: '添加角色'
},
dialogStatus: 'create',
dialogFormVisible: false,
addRoleForm: {
roleName: '',
roleId: '',
permissionIdList: []
},
rules: {
roleName: [
{
required: true,
message: '角色名称不能为空!',
trigger: 'blur'
}
]
},
allPermissionList: []
}
},
created() {
this.getRoleList()
this.getPermissionList()
},
methods: {
// 获取角色列表
getRoleList() {
getRoleList(this.queryModuleInfo).then((resp) => {
this.roleList = resp.data.data.list
this.totalNum = resp.data.data.total
})
},
// 获取权限列表
getPermissionList() {
getPermissionList().then((resp) => {
// console.log('9090', resp.data.data)
this.allPermissionList = resp.data.data
})
},
// 显示新增对话框
showCreate() {
// 显示新增对话框
this.addRoleForm.roleName = ''
this.addRoleForm.roleId = ''
this.addRoleForm.permissionIdList = []
this.dialogStatus = 'create'
this.dialogFormVisible = true
},
// 编辑角色
editRoleDialog($index) {
let role = this.roleList[$index]
this.addRoleForm.roleName = role.roleName
this.addRoleForm.roleId = role.roleId
this.addRoleForm.permissionIdList = role.permissionIdList
this.dialogStatus = 'update'
this.dialogFormVisible = true
},
// 对话框方法
openMessage(message, confirmText, doit) {
this.$messageBox
.confirm(message, '确定', {
cancelButtonText: '取消',
confirmButtonText: confirmText,
type: 'warning'
})
.then(() => {
doit()
})
.catch(() => {})
},
// 删除角色
delRoleFrom(row) {
this.openMessage('您确定要删除吗?', '删除', () => {
delRolePermission({ roleId: row.roleId })
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('删除成功!')
this.getRoleList()
} else if (resp.data.data === false) {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
})
},
// 保存角色信息
addSaveRole() {
this.$refs.addRoleFormRef.validate((valid) => {
if (!valid) {
return false
} else {
addRolePermission(this.addRoleForm)
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('添加成功!')
this.dialogFormVisible = false
this.getRoleList()
} else {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
}
})
},
// 编辑保存角色
editSaveRole() {
editRolePermission(this.addRoleForm)
.then((resp) => {
if (resp.data.data === true) {
this.dialogFormVisible = false
this.$message.success('修改成功!')
this.getRoleList()
} else {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
},
handleSizeChange(newSize) {
this.queryModuleInfo.pageSize = newSize
this.getRoleList()
},
handleCurrentChange(newPage) {
this.queryModuleInfo.pageNum = newPage
this.getRoleList()
},
// 判断本级菜单内的权限是否一个都没选
isMenuNone(_index) {
let menu = this.allPermissionList[_index].permissionList
let result = true
for (let i = 0; i < menu.length; i++) {
if (this.addRoleForm.permissionIdList.indexOf(menu[i].id) > -1) {
result = false
break
}
}
return result
},
isMenuAll(_index) {
// 判断本级菜单内的权限是否全选了
let menu = this.allPermissionList[_index].permissionList
let result = true
for (let j = 0; j < menu.length; j++) {
if (this.addRoleForm.permissionIdList.indexOf(menu[j].id) < 0) {
result = false
break
}
}
return result
},
checkAll(_index) {
// 点击菜单相当于全选按钮
let v = this
if (v.isMenuAll(_index)) {
// 如果已经全选了,则全部取消
v.noPerm(_index)
} else {
// 如果尚未全选,则全选
v.allPerm(_index)
}
},
noPerm(_index) {
// 全部取消选中
let menu = this.allPermissionList[_index].permissionList
for (let j = 0; j < menu.length; j++) {
let idIndex = this.addRoleForm.permissionIdList.indexOf(menu[j].id)
if (idIndex > -1) {
this.addRoleForm.permissionIdList.splice(idIndex, 1)
}
}
},
allPerm(_index) {
// 全部选中
let menu = this.allPermissionList[_index].permissionList
for (let j = 0; j < menu.length; j++) {
this.addUnique(menu[j].id, this.addRoleForm.permissionIdList)
}
},
addUnique(val, arr) {
// 数组内防重复地添加元素
let _index = arr.indexOf(val)
if (_index < 0) {
arr.push(val)
}
}
}
}
</script>
<style lang="less" scoped>
</style>
<template>
<div>
<el-card>
<el-table :data="userList" border style="width: 100%;">
<el-table-column type='index' width="50px">
<template slot-scope="scope">
<span>{{(queryModuleInfo.pageNum -1 ) * queryModuleInfo.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column prop="userName" label="用户名称" width="200px"></el-table-column>
<el-table-column label="角色" width="150px">
<template slot-scope="scope">
<el-tag type="success" v-text="scope.row.roleName" v-if="scope.row.roleId===1"></el-tag>
<el-tag type="primary" v-text="scope.row.roleName" v-else></el-tag>
</template>
</el-table-column>
<el-table-column prop="chineseName" label="中文名称" width="150px"></el-table-column>
<el-table-column prop="email" label="邮箱" width="300px"></el-table-column>
<el-table-column prop="title" label="职位名称" width="200px"></el-table-column>
<el-table-column prop="createTime" label="创建时间" width="200px"></el-table-column>
<el-table-column label="操作">
<slot slot-scope="scope">
<el-button type="warning" icon="el-icon-edit" @click="openEditDialog(scope.row)" v-permission="('user:list:edit')">编辑</el-button>
</slot>
</el-table-column>
</el-table>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="queryModuleInfo.pageNum" :page-size="queryModuleInfo.pageSize" layout="total, prev, pager, next" :total="totalNum">
</el-pagination>
</el-card>
<!-- 编辑用户 -->
<el-dialog title="编辑用户" :visible.sync="DialogVisible" @close="closeDialog" width="30%">
<el-form ref="editUserFormRef" :rules="rules" :model="editUserForm" label-width="90px">
<el-form-item label="用户名称:" style="width:400px">
<el-input v-model="editUserForm.userName" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="角色名称:" prop="roleId" style="width:400px">
<el-select v-model="editUserForm.roleId" placeholder="请选择角色" clearable filterable style="width:310px">
<el-option v-for="item in roleList" :key="item.roleId" :label="item.roleName" :value="item.roleId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="中文名称:" style="width:400px">
<el-input v-model="editUserForm.chineseName" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="邮箱:" style="width:400px">
<el-input v-model="editUserForm.email" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="职位名称:" style="width:400px">
<el-input v-model="editUserForm.title" :disabled="true"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="DialogVisible=false">取 消</el-button>
<el-button type="primary" @click="saveUserFrom">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { getUserList, getRoleList, saveUserForm } from '@/api/getUser'
export default {
data() {
return {
queryModuleInfo: {
pageNum: 1,
pageSize: 10
},
totalNum: 0,
userList: [],
DialogVisible: false,
editUserForm: {
roleId: '',
id: '',
userId: '',
userName: '',
chineseName: '',
email: '',
title: ''
},
roleInfo: {
pageNum: 1,
pageSize: 100
},
roleList: [],
rules: {
roleId: [
{
required: true,
message: '角色名称不能为空!',
trigger: 'blur'
}
]
}
}
},
created() {
this.getUserList()
},
methods: {
// 获取用户列表
getUserList() {
getUserList(this.queryModuleInfo).then((resp) => {
this.userList = resp.data.data.list
this.totalNum = resp.data.data.total
})
},
// 获取权限列表
getRoleList() {
getRoleList(this.roleInfo).then((resp) => {
this.roleList = resp.data.data.list
})
},
// 点击编辑按钮
openEditDialog(row) {
this.DialogVisible = true
this.getRoleList()
this.editUserForm.roleId = row.roleName
this.editUserForm.id = row.id
this.editUserForm.userId = row.userId
this.editUserForm.userName = row.userName
this.editUserForm.chineseName = row.chineseName
this.editUserForm.email = row.email
this.editUserForm.title = row.title
},
closeDialog() {
this.$refs.editUserFormRef.resetFields()
},
// 保存用户信息
saveUserFrom() {
let formData = new FormData()
formData.set('id', this.editUserForm.id)
formData.set('roleId', this.editUserForm.roleId)
formData.set('userId', this.editUserForm.userId)
this.$refs.editUserFormRef.validate((valid) => {
if (!valid) {
return false
} else {
saveUserForm(formData)
.then((resp) => {
if (resp.data.data === true) {
this.$message.success('修改成功!')
this.DialogVisible = false
this.getUserList()
} else {
this.$message.error(resp.data.msg)
}
})
.catch((error) => {
this.$message({ type: 'error', message: error })
})
}
})
},
handleSizeChange(newSize) {
this.queryModuleInfo.pageSize = newSize
this.getUserList()
},
handleCurrentChange(newPage) {
this.queryModuleInfo.pageNum = newPage
this.getUserList()
}
}
}
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment