提交 12e84639 authored 作者: pengxiaohui's avatar pengxiaohui

接入高级设置和类型管理接口

上级 3f8ede6a
import httpRequest from '@/utils/axios' import httpRequest from '@/utils/axios'
/* ------------------------------------高级设置------------------------------------ */
/** /**
* 获取角色列表 * 获取角色列表
*/ */
export function getRoleList(params) { export function getRoleList(params) {
return httpRequest.get('/api/cms/admin/v1/roles', { params }) return httpRequest.get('/api/cms/admin/v1/roles', { params })
}
/**
* 获取权限列表
*/
export function getPermissionList(params) {
return httpRequest.get('/api/cms/admin/v1/permissions', { params })
}
/**
* 创建角色
*/
export function createRole(data) {
return httpRequest.post('/api/cms/admin/v1/role/create', data)
}
/**
* 获取角色详情
*/
export function getRoleDetails(params) {
return httpRequest.get(`/api/cms/admin/v1/role/${params.role_id}/detail`, { params })
}
/**
* 更新角色
*/
export function updateRole(data) {
return httpRequest.put(`/api/cms/admin/v1/role/${data.role_id}/update`, data)
}
/**
* 删除角色
*/
export function deleteRole(data) {
return httpRequest.delete(`/api/cms/admin/v1/role/${data.role_id}/delete`, data)
}
/* ------------------------------------员工管理------------------------------------ */
/**
* 获取员工列表
*/
export function getStaffList(params) {
return httpRequest.get('/api/cms/admin/v1/roles', { params })
}
/* ------------------------------------类型管理------------------------------------ */
/**
* 获取类型列表
*/
export function getTypeList(params) {
return httpRequest.get('/api/cms/admin/v1/types', { params })
}
/**
* 创建类型
*/
export function createType(data) {
return httpRequest.post('/api/cms/admin/v1/type/create', data)
}
/**
* 更新角色
*/
export function updateType(data) {
return httpRequest.put(`/api/cms/admin/v1/type/${data.type_id}/update`, data)
} }
\ No newline at end of file
...@@ -93,7 +93,6 @@ export default { ...@@ -93,7 +93,6 @@ export default {
watch: { watch: {
$route: { $route: {
handler: function(nv) { handler: function(nv) {
console.log(nv)
if (nv && nv.path) this.defaultActive = nv.path if (nv && nv.path) this.defaultActive = nv.path
else this.defaultActive = '' else this.defaultActive = ''
}, },
......
...@@ -52,7 +52,6 @@ export default { ...@@ -52,7 +52,6 @@ export default {
}, },
async logout() { async logout() {
await this.$store.dispatch('logout') await this.$store.dispatch('logout')
// console.log(this.$route.fullPath)
this.$router.push(this.$route.fullPath) this.$router.push(this.$route.fullPath)
} }
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<el-tabs v-model="activeName" type="card"> <el-tabs v-model="activeName" type="card">
<el-tab-pane label="角色权限" name="0" lazy> <el-tab-pane label="角色权限" name="0" lazy>
<table-list v-bind="tableOptions" ref="tabList"> <table-list v-bind="tableOptions" ref="tabList">
<template v-slot:table-role-name="{ row }"><span class="color-blue">{{row.role_name}}</span></template> <template v-slot:table-role-name="{ row }"><span class="color-blue">{{row.name}}</span></template>
<!-- 操作 --> <!-- 操作 -->
<template v-slot:table-operate="{ row }"> <template v-slot:table-operate="{ row }">
<el-button type="text" @click="handleEdit(row)" size="mini">编辑名称</el-button> <el-button type="text" @click="handleEdit(row)" size="mini">编辑名称</el-button>
...@@ -45,8 +45,7 @@ ...@@ -45,8 +45,7 @@
</template> </template>
<script> <script>
import TableList from '@/components/TableList' import TableList from '@/components/TableList'
import { permissionList } from './permission' import { getRoleList, getPermissionList, createRole, deleteRole, updateRole } from '@/api/settings.js'
import { getRoleList } from '@/api/settings.js'
function recursionData(arr) { function recursionData(arr) {
const leafArr = [] const leafArr = []
function recursion(target) { function recursion(target) {
...@@ -57,6 +56,7 @@ function recursionData(arr) { ...@@ -57,6 +56,7 @@ function recursionData(arr) {
} else if (Array.isArray(target.children)) { } else if (Array.isArray(target.children)) {
list = target.children list = target.children
} }
list.reverse()
list.filter(item => { list.filter(item => {
if (Array.isArray(item.children) && item.children.length > 0) { if (Array.isArray(item.children) && item.children.length > 0) {
const _prop = item.tag.replace(/-/g, '_') const _prop = item.tag.replace(/-/g, '_')
...@@ -88,7 +88,7 @@ export default { ...@@ -88,7 +88,7 @@ export default {
params: {} params: {}
}, },
columns: [ columns: [
{ prop: 'role_name', label: '角色名称', slots: 'table-role-name' }, { prop: 'name', label: '角色名称', slots: 'table-role-name' },
{ prop: 'role_owner', label: '角色拥有人' }, { prop: 'role_owner', label: '角色拥有人' },
{ prop: 'operate', label: '操作', slots: 'table-operate' } { prop: 'operate', label: '操作', slots: 'table-operate' }
], ],
...@@ -190,7 +190,7 @@ export default { ...@@ -190,7 +190,7 @@ export default {
this.selectedTableItem = val this.selectedTableItem = val
this.dialogVisible = true this.dialogVisible = true
this.dialogType = 'permission' this.dialogType = 'permission'
this.reviewPermission(val.permission) this.reviewPermission(val.permission_tags)
}, },
reviewPermission(permissions) { reviewPermission(permissions) {
// const permissionData = [] // const permissionData = []
...@@ -200,6 +200,7 @@ export default { ...@@ -200,6 +200,7 @@ export default {
targetArr.push(item.tag) targetArr.push(item.tag)
} }
}) })
this.checkAll = this.isCheckAll
}, },
handleCheckAllChange(val) { handleCheckAllChange(val) {
if (val) { if (val) {
...@@ -230,7 +231,21 @@ export default { ...@@ -230,7 +231,21 @@ export default {
handleDialogSubmit() { handleDialogSubmit() {
this.$refs.dialogForm.validate(valid => { this.$refs.dialogForm.validate(valid => {
if (valid) { if (valid) {
console.log('dialogForm') switch (this.dialogType) {
case 'create':
this.fetchCreateRole()
break
case 'delete':
this.fetchDeleteRole()
break
case 'edit':
this.fetchUpdateRole()
break
case 'permission':
this.fetchUpdateRolePermissions()
break
}
this.dialogVisible = false
} else { } else {
return false return false
} }
...@@ -242,23 +257,99 @@ export default { ...@@ -242,23 +257,99 @@ export default {
limit: 20 limit: 20
} }
getRoleList(params).then((res) => { getRoleList(params).then((res) => {
console.log(res) if (res.code === 0 && res.data && Array.isArray(res.data.data)) {
// console.log(res.data.data)
this.tableOptions.data = res.data.data
}
})
},
fetchCreateRole() {
const data = {
name: this.form.role_name
}
createRole(data).then((res) => {
if (res.code === 0 && res.message === 'SUCCESS') {
this.fetchRoleList()
this.$message.success('创建角色成功')
} else {
this.$message.error('创建角色失败')
}
})
},
fetchUpdateRole() {
const data = {
role_id: this.selectedTableItem.id,
name: this.form.role_name
}
updateRole(data).then((res) => {
if (res.code === 0 && res.data && res.data.status) {
this.fetchRoleList()
this.$message.success('编辑角色名称成功')
} else {
this.$message.error('编辑角色名称失败')
}
})
},
fetchDeleteRole() {
const data = {
role_id: this.selectedTableItem.id
}
deleteRole(data).then((res) => {
if (res.code === 0 && res.data && res.data.status) {
this.fetchRoleList()
this.$message.success('删除角色成功')
} else {
this.$message.error('删除角色失败')
}
})
},
fetchUpdateRolePermissions() {
const permissionArr = []
Object.keys(this.form).forEach(key => {
const item = this.form[key]
if (Array.isArray(item)) {
item.forEach((it) => {
permissionArr.push(it)
})
}
})
const data = {
role_id: this.selectedTableItem.id,
permission_tags: permissionArr
}
updateRole(data).then((res) => {
if (res.code === 0 && res.data && res.data.status) {
this.fetchRoleList()
this.$message.success('权限配置成功')
} else {
this.$message.error('权限配置失败')
}
}) })
}, },
fetchPermissionList() { async fetchPermissionList() {
const result = permissionList const result = await new Promise((resolve, reject) => {
const leafNodeList = recursionData(result) getPermissionList().then((res) => {
this.permissionLeafCount = leafNodeList.length if (res.code === 0 && Array.isArray(res.data)) {
this.permissionLeafList = leafNodeList resolve(res.data)
console.log(leafNodeList) } else reject()
result.forEach(item => { }).catch(() => {
item.children.forEach(subItem => { reject()
const key = subItem.v_model_key
permissionForm[key] = []
}) })
}) })
this.permissionList = result if (result) {
this.assignForm() const leafNodeList = recursionData(result)
this.permissionLeafCount = leafNodeList.length
this.permissionLeafList = leafNodeList
// console.log(leafNodeList)
result.forEach(item => {
item.children.forEach(subItem => {
const key = subItem.v_model_key
permissionForm[key] = []
})
})
this.permissionList = result
this.assignForm()
}
} }
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论