Commit b716fbe2 authored by Your Name's avatar Your Name

权限节点列表管理员列表

parent d476d4dd
...@@ -3866,9 +3866,9 @@ ...@@ -3866,9 +3866,9 @@
} }
}, },
"buffer": { "buffer": {
"version": "4.9.1", "version": "4.9.2",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
"dev": true, "dev": true,
"requires": { "requires": {
"base64-js": "^1.0.2", "base64-js": "^1.0.2",
...@@ -5793,9 +5793,9 @@ ...@@ -5793,9 +5793,9 @@
"dev": true "dev": true
}, },
"des.js": { "des.js": {
"version": "1.0.0", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
"integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
"dev": true, "dev": true,
"requires": { "requires": {
"inherits": "^2.0.1", "inherits": "^2.0.1",
...@@ -6089,9 +6089,9 @@ ...@@ -6089,9 +6089,9 @@
"dev": true "dev": true
}, },
"elliptic": { "elliptic": {
"version": "6.5.1", "version": "6.5.2",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
"integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==",
"dev": true, "dev": true,
"requires": { "requires": {
"bn.js": "^4.4.0", "bn.js": "^4.4.0",
...@@ -14055,9 +14055,9 @@ ...@@ -14055,9 +14055,9 @@
} }
}, },
"serialize-javascript": { "serialize-javascript": {
"version": "1.9.1", "version": "2.1.2",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz",
"integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==",
"dev": true "dev": true
}, },
"serve-index": { "serve-index": {
...@@ -15054,16 +15054,16 @@ ...@@ -15054,16 +15054,16 @@
} }
}, },
"terser-webpack-plugin": { "terser-webpack-plugin": {
"version": "1.4.1", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz",
"integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==",
"dev": true, "dev": true,
"requires": { "requires": {
"cacache": "^12.0.2", "cacache": "^12.0.2",
"find-cache-dir": "^2.1.0", "find-cache-dir": "^2.1.0",
"is-wsl": "^1.1.0", "is-wsl": "^1.1.0",
"schema-utils": "^1.0.0", "schema-utils": "^1.0.0",
"serialize-javascript": "^1.7.0", "serialize-javascript": "^2.1.2",
"source-map": "^0.6.1", "source-map": "^0.6.1",
"terser": "^4.1.2", "terser": "^4.1.2",
"webpack-sources": "^1.4.0", "webpack-sources": "^1.4.0",
...@@ -16103,9 +16103,9 @@ ...@@ -16103,9 +16103,9 @@
"dev": true "dev": true
}, },
"webpack": { "webpack": {
"version": "4.41.2", "version": "4.41.3",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.3.tgz",
"integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==", "integrity": "sha512-EcNzP9jGoxpQAXq1VOoTet0ik7/VVU1MovIfcUSAjLowc7GhcQku/sOXALvq5nPpSei2HF6VRhibeJSC3i/Law==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.8.5", "@webassemblyjs/ast": "1.8.5",
...@@ -16128,7 +16128,7 @@ ...@@ -16128,7 +16128,7 @@
"node-libs-browser": "^2.2.1", "node-libs-browser": "^2.2.1",
"schema-utils": "^1.0.0", "schema-utils": "^1.0.0",
"tapable": "^1.1.3", "tapable": "^1.1.3",
"terser-webpack-plugin": "^1.4.1", "terser-webpack-plugin": "^1.4.3",
"watchpack": "^1.6.0", "watchpack": "^1.6.0",
"webpack-sources": "^1.4.1" "webpack-sources": "^1.4.1"
} }
......
...@@ -14,7 +14,16 @@ import homeUrl from './homeURL' ...@@ -14,7 +14,16 @@ import homeUrl from './homeURL'
* @param parameter * @param parameter
* @returns {*} * @returns {*}
*/ */
// 获取权限节点列表
export function getMenuList(parameter) {
console.log('111111111111111111111111111111111111111111111')
console.log(parameter)
return axios({
url: 'authority/authority-nodes/node-list',
method: 'get',
params: parameter
})
}
// 获取角色列表 // 获取角色列表
export function getRoleList(parameter) { export function getRoleList(parameter) {
return axios({ return axios({
...@@ -50,7 +59,7 @@ export function modifyRoleDetails (parameter) { ...@@ -50,7 +59,7 @@ export function modifyRoleDetails (parameter) {
}) })
} }
// 获取权限节点 // 获取权限节点
export function getTreeDetails (parameter) { export function getTreeList (parameter) {
return axios({ return axios({
url: 'authority/authority-nodes/role-authorities', url: 'authority/authority-nodes/role-authorities',
method: 'get', method: 'get',
...@@ -65,7 +74,15 @@ export function modifyAuthority (parameter) { ...@@ -65,7 +74,15 @@ export function modifyAuthority (parameter) {
data: parameter data: parameter
}) })
} }
// 获取管理员列表
export function getMangeList(parameter) {
console.log(parameter)
return axios({
url: 'authority/manage-lists/get-manage-list',
method: 'get',
params: parameter
})
}
/** /**
* get user 2step code open? * get user 2step code open?
* @param parameter {*} * @param parameter {*}
......
...@@ -11,69 +11,69 @@ const api = { ...@@ -11,69 +11,69 @@ const api = {
export default api export default api
export function getUserList(parameter) { // export function getUserList(parameter) {
return axios({ // return axios({
url: api.user, // url: api.user,
method: 'get', // method: 'get',
params: parameter // params: parameter
}) // })
} // }
export function getRoleList(parameter) { // export function getRoleList(parameter) {
return axios({ // return axios({
url: api.role, // url: api.role,
method: 'get', // method: 'get',
params: parameter // params: parameter
}) // })
} // }
export function getServiceList(parameter) { // export function getServiceList(parameter) {
console.log(parameter); // console.log(parameter);
let newparameter = { // let newparameter = {
'page': parameter.page-1, // 'page': parameter.page-1,
'pageSize': parameter.pageSize, // 'pageSize': parameter.pageSize,
} // }
return axios({ // return axios({
url: "http://localhost/dengxueyun/newshopBack/backend/web/v1/shopuser/user-complains/user-complain", // url: "http://localhost/dengxueyun/newshopBack/backend/web/v1/shopuser/user-complains/user-complain",
method: 'get', // method: 'get',
headers: { // headers: {
'Authorization': 'Bearer Be6w4YzLSJxLnFNWFKbbJmpl9yAknSKN' // 'Authorization': 'Bearer Be6w4YzLSJxLnFNWFKbbJmpl9yAknSKN'
}, // },
params: newparameter // params: newparameter
}) // })
} // }
export function getPermissions(parameter) { // export function getPermissions(parameter) {
console.log(parameter); // console.log(parameter);
let newparameter = { // let newparameter = {
'page': parameter.page-1, // 'page': parameter.page-1,
'pageSize': parameter.pageSize, // 'pageSize': parameter.pageSize,
} // }
return axios({ // return axios({
url: "http://localhost/dengxueyun/newshopBack/backend/web/v1/shopuser/shop-users/employee-list", // url: "http://localhost/dengxueyun/newshopBack/backend/web/v1/shopuser/shop-users/employee-list",
method: 'get', // method: 'get',
headers: { // headers: {
'Authorization': 'Bearer Be6w4YzLSJxLnFNWFKbbJmpl9yAknSKN' // 'Authorization': 'Bearer Be6w4YzLSJxLnFNWFKbbJmpl9yAknSKN'
}, // },
params: newparameter // params: newparameter
}) // })
} // }
export function getOrgTree(parameter) { // export function getOrgTree(parameter) {
console.log(parameter); // console.log(parameter);
let newparameter = { // let newparameter = {
'page': parameter.page-1, // 'page': parameter.page-1,
'pageSize': parameter.pageSize, // 'pageSize': parameter.pageSize,
} // }
return axios({ // return axios({
url: "http://localhost/dengxueyun/newshopBack/backend/web/v1/shopuser/user-departments/department", // url: "http://localhost/dengxueyun/newshopBack/backend/web/v1/shopuser/user-departments/department",
method: 'get', // method: 'get',
headers: { // headers: {
'Authorization': 'Bearer Be6w4YzLSJxLnFNWFKbbJmpl9yAknSKN' // 'Authorization': 'Bearer Be6w4YzLSJxLnFNWFKbbJmpl9yAknSKN'
}, // },
params: newparameter // params: newparameter
}) // })
} // }
// id == 0 add post // id == 0 add post
// id != 0 update put // id != 0 update put
......
...@@ -167,12 +167,25 @@ export default { ...@@ -167,12 +167,25 @@ export default {
this.loadData() this.loadData()
return return
} }
// 这里用于判断接口是否有返回 r.totalCount 且 this.showPagination = true 且 pageNo 和 pageSize 存在 且 totalCount 小于等于 pageNo * pageSize 的大小 // 这里用于判断接口是否有返回 r.totalCount 且 this.showPagination = true 且 pageNo 和 pageSize 存在 且 totalCount 小于等于 pageNo * pageSize 的大小
// 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能 // 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能
try { try {
if ((['auto', true].includes(this.showPagination) && r.totalCount <= (r.page * this.localPagination.pageSize))) { if ((['auto', true].includes(this.showPagination) && r.totalCount <= (r.page * this.localPagination.pageSize))) {
this.localPagination.hideOnSinglePage = true this.localPagination.hideOnSinglePage = true
// this.localPagination = this.showPagination && Object.assign({}, this.localPagination, {
// current: r.page, // 返回结果中的当前分页数
// total: r.totalCount, // 返回结果中的总记录数
// showSizeChanger: this.showSizeChanger,
// pageSize: (pagination && pagination.pageSize) ||
// this.localPagination.pageSize
// }) || false
// // 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页
// if (r.data.length === 0 && this.showPagination && this.localPagination.current > 1) {
// this.localPagination.current--
// this.loadData()
// return
// }
} }
} catch (e) { } catch (e) {
this.localPagination = false this.localPagination = false
......
...@@ -167,11 +167,23 @@ export const asyncRouterMap = [ ...@@ -167,11 +167,23 @@ export const asyncRouterMap = [
component: PageView, component: PageView,
meta: { title: '权限管理', keepAlive: true, icon: 'safety', permission: ['table'] }, meta: { title: '权限管理', keepAlive: true, icon: 'safety', permission: ['table'] },
children: [ children: [
{
path: '/authority/menuList',
name: 'menuList',
component: () => import('@/views/authority/menuList'),
meta: { title: '权限节点列表', keepAlive: false, permission: ['table'] }
},
{ {
path: '/authority/rolelist', path: '/authority/rolelist',
name: 'rolelist', name: 'rolelist',
component: () => import('@/views/authority/roleList'), component: () => import('@/views/authority/roleList'),
meta: { title: '角色列表', keepAlive: false, permission: ['table'] } meta: { title: '角色列表', keepAlive: false, permission: ['table'] }
},
{
path: '/authority/manageList',
name: 'manageList',
component: () => import('@/views/authority/manageList'),
meta: { title: '管理员列表', keepAlive: false, permission: ['table'] }
} }
] ]
}, },
......
...@@ -16,16 +16,19 @@ import 'quill/dist/quill.bubble.css' ...@@ -16,16 +16,19 @@ import 'quill/dist/quill.bubble.css'
import VueAMap from 'vue-amap'; import VueAMap from 'vue-amap';
// mock // mock
// WARNING: `mockjs` NOT SUPPORT `IE` PLEASE DO NOT USE IN `production` ENV. // WARNING: `mockjs` NOT SUPPORT `IE` PLEASE DO NOT USE IN `production` ENV.
import './mock' // import './mock'
import bootstrap from './core/bootstrap' import bootstrap from './core/bootstrap'
import './core/lazy_use' import './core/lazy_use'
import './permission' // permission control import './permission' // permission control
import './utils/filter' // global filter import './utils/filter' // global filter
import './components/global.less' import './components/global.less'
import common from '@/static/js/common.js'
Vue.config.productionTip = false Vue.config.productionTip = false
Vue.prototype.common=common
// mount axios Vue.$http and this.$http // mount axios Vue.$http and this.$http
Vue.use(VueAxios) Vue.use(VueAxios)
Vue.use(VueQuillEditor) Vue.use(VueQuillEditor)
......
<template>
<div>
<a-card style="margin-bottom:10px">
<div class="table-operator">
<a-button-group>
<a-button type='primary' icon='plus' @click="goEdit(1)">添加管理员</a-button>
</a-button-group>
</div>
<s-table
style="margin-top:10px"
ref="table"
size="default"
rowKey="GUID"
:columns="columns"
:data="loadData"
:showPagination="pagination"
>
<span slot="action" slot-scope="text, record">
<template>
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-popconfirm title="是否要删除此行?" @confirm="remove(record.ID)">
<a>删除</a>
</a-popconfirm>
</template>
</span>
</s-table>
</a-card>
</div>
</template>
<script>
// , addMenu, updateMenu, deleteMenu
import moment from 'moment'
import { STable } from '@/components'
import { getMangeList } from '@/api/authority'
export default {
name:"authority",
components: {
STable
},
data() {
return {
labelCol: {
xs: { span: 5 }
},
wrapperCol: {
xs: { span: 17 }
},
form: this.$form.createForm(this),
columns: [
{
title: '管理员姓名',
dataIndex: 'NAME'
},
{
title: '手机号',
dataIndex: 'MOBILEPHONE'
},
{
title: '创建时间',
dataIndex: 'CREATE_DATE'
},
{
title: '角色',
dataIndex: 'ROLENAME'
},
{
title: '操作',
dataIndex: 'action',
width: '150px',
scopedSlots: { customRender: 'action' }
}
],
// listData:[],
pagination:false,
// 加载数据方法 必须为 Promise 对象
loadData: parameter => {
console.log('shujujiazai')
return getMangeList(Object.assign(parameter, this.queryParam)).then(res => {
console.log('1212121')
console.log(res)
// this.listData = res
// console.log(this.listData)
// res.data=this.listData
return res
})
},
selectedRowKeys: [],
selectedRows: [],
modalNow: 1
}
},
methods: {
}
}
</script>
<style>
.ant-card-body {
padding: 10px;
}
.ant-card-wider-padding .ant-card-body {
padding: 10px;
}
.ant-table-tbody > tr > td {
padding: 10px 10px;
}
</style>
<template>
<div>
<a-card style="margin-bottom:10px">
<a-form layout="inline">
<a-row :gutter="16" type="flex" justify="start">
<a-col :span="6">
<a-form-item label="名称:">
<a-input type="text"> </a-input>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item label="类型:">
<a-radio-group>
<a-radio-button value="0">显示</a-radio-button>
<a-radio-button value="1">禁用</a-radio-button>
</a-radio-group>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item>
<a-button type="primary"> <a-icon type="search"></a-icon>搜索 </a-button>
</a-form-item>
</a-col>
</a-row>
</a-form>
<!-- <a-card hoverable> -->
<!-- <a-spin tip="加载中,请稍候..." :spinning="loading"> -->
<!-- <a-button-group>
<a-button
type="primary"
:disabled="tableSelected.type && tableSelected.type === 'B'"
@click="addMenuClick"
v-perm:menu:add
>
<a-icon type="plus" />新增
</a-button>
<a-button type="primary" @click="editMenuClick" v-perm:menu:edit> <a-icon type="edit" />修改 </a-button>
<a-button type="danger" @click="deleteMenuClick" v-perm:menu:remove> <a-icon type="delete" />删除 </a-button>
</a-button-group> -->
<s-table
style="margin-top:10px"
ref="table"
size="default"
rowKey="ID"
:columns="columns"
:data="loadData"
:showPagination="pagination"
>
<span slot="action" slot-scope="text, record">
<template>
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-popconfirm title="是否要删除此行?" @confirm="remove(record.ID)">
<a>删除</a>
</a-popconfirm>
</template>
</span>
</s-table>
<!-- </a-spin> -->
</a-card>
<!-- <a-modal v-model="showMenuModal" title="菜单" :maskClosable="false" @ok="editMenu">
<a-form :form="form">
<a-form-item v-show="false">
<a-input type="hidden" v-decorator="['id']"></a-input>
</a-form-item>
<a-form-item v-show="false">
<a-input type="hidden" v-decorator="['pid']"></a-input>
</a-form-item>
<a-form-item label="名称:" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-input type="text" v-decorator="['name', { rules: [{ required: true, message: '请输入菜单名' }] }]">
</a-input>
</a-form-item>
<a-form-item label="父菜单:" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-tree-select
style="width:100%"
:dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
:treeData="modalTreeData"
:treeDefaultExpandedKeys="expandedRowKeys"
treeNodeLabelProp="name"
treeNodeFilterProp="id"
@select="parentTreeSelect"
:disabled="modalParams.type == 'B' && editType == 'update'"
v-decorator="['pMenu', { rules: [{ required: false }] }]"
>
</a-tree-select>
</a-form-item>
<a-form-item label="路径:" v-show="modalParams.type != 'B'" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-input
type="text"
v-decorator="['path', { rules: [{ required: modalParams.type != 'B', message: '请输入菜单路径' }] }]"
>
</a-input>
</a-form-item>
<a-form-item label="组件:" v-show="modalParams.type == 'M'" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-input
type="text"
v-decorator="['component', { rules: [{ required: modalParams.type == 'M', message: '请输入菜单组件' }] }]"
>
</a-input>
</a-form-item>
<a-form-item label="权限标识:" v-show="modalParams.type != 'D'" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-input
type="text"
v-decorator="['permName']"
placeholder="权限标识"
/>
</a-form-item>
<a-form-item label="图标:" v-show="modalParams.type != 'B'" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-input type="text" v-decorator="['icon']"> </a-input>
</a-form-item>
<a-form-item label="排序:" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-input type="number" v-decorator="['sort']"> </a-input>
</a-form-item>
<a-form-item label="类型:" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-radio-group
buttonStyle="solid"
:disabled="editType == 'update'"
v-model="modalParams.type"
v-decorator="[
'type',
{ rules: [{ required: true, message: '请选择菜单类型' }, { validator: makeMenuTypeSafe }] }
]"
>
<a-radio-button value="D">目录</a-radio-button>
<a-radio-button value="M">菜单</a-radio-button>
<a-radio-button value="B">按钮</a-radio-button>
</a-radio-group>
</a-form-item>
</a-form>
</a-modal> -->
</div>
</template>
<script>
// , addMenu, updateMenu, deleteMenu
import moment from 'moment'
import { STable } from '@/components'
import { getMenuList } from '@/api/authority'
export default {
name:"authority",
components: {
STable
},
data() {
return {
// loading: false,
// parentTreeSelected: {},
labelCol: {
xs: { span: 5 }
},
wrapperCol: {
xs: { span: 17 }
},
form: this.$form.createForm(this),
// rowSelection: {
// type: 'radio',
// selectedRowKeys: []
// },
columns: [
{
title: '菜单名称',
dataIndex: 'TITLE'
},
{
title: '节点id',
dataIndex: 'ID'
// customRender: (value, row, index) => {
// var ret = []
// // 添加icon
// if (row.icon) {
// ret.push(<a-icon type={row.icon} style="font-size:14px;padding-right:3px" />)
// } else {
// ret.push(<span style="padding-right:17px" />)
// }
// return (
// <span>
// {ret}
// <span>{value}</span>
// </span>
// )
// }
},
{
title: '菜单地址',
dataIndex: 'NAME'
},
{
title: '菜单状态',
dataIndex: 'STATUS'
},
{
title: '是否为菜单',
dataIndex: 'IS_MENU'
},
{
title: '是否顶部菜单',
dataIndex: 'IS_TOP_MENU'
},
{
title: '是否默认显示',
dataIndex: 'IS_DEFAULT_SHOW'
},
{
title: '描述',
dataIndex: 'REMARK'
},
// {
// title: '类型',
// dataIndex: 'type',
// customRender: (type, row, index) => {
// return (
// <div>
// {type === 'D' ? (
// <a-tag color="blue">目录</a-tag>
// ) : type === 'M' ? (
// <a-tag color="green">菜单</a-tag>
// ) : (
// <a-tag color="volcano">按钮</a-tag>
// )}
// </div>
// )
// }
// },
{
title: '排序',
dataIndex: 'SORT'
},
{
title: '类型',
dataIndex: 'LEVEL'
// customRender: (state, row, index) => {
// return <div>{state === 0 ? <a-tag color="cyan">显示</a-tag> : <a-tag color="red">隐藏</a-tag>}</div>
// }
},
{
title: '操作',
dataIndex: 'action',
width: '150px',
scopedSlots: { customRender: 'action' }
}
],
listData:[],
pagination:false,
// 加载数据方法 必须为 Promise 对象
loadData: parameter => {
console.log('shujujiazai')
return getMenuList(Object.assign(parameter, this.queryParam)).then(res => {
console.log('1212121')
// res.pageSize = res._meta.perPage
// res.page = res._meta.currentPage
// res.totalPage = res._meta.pageCount
// res.totalCount = res._meta.totalCount
console.log(res)
this.listData = res
console.log(this.listData)
res.data=this.listData
return res
})
},
selectedRowKeys: [],
selectedRows: [],
modalNow: 1
// data: [],
// modalTreeData: [],
// params: {},
// modalParams: {
// type: 'M'
// },
// showMenuModal: false,
// tableSelected: {},
// editType: '',
// expandedRowKeys: []
}
},
methods: {
// regetTreeData () {
// if (this.modalTreeData.length <= 0) {
// getMenuList({}).then(res => {
// this.modalTreeData = [{ id: 0, name: '主菜单', type: 'D' }]
// this.modalTreeData[0].children = res.data
// this.makeTreeDataSafe(this.modalTreeData)
// })
// }
// },
// customRow (record) {
// return {
// on: {
// click: () => {
// this.rowSelection.selectedRowKeys = [record.id]
// this.tableSelected = record
// }
// }
// }
// },
// parentTreeSelect (value, node, extra) {
// this.parentTreeSelected = extra.selectedNodes[0].data.props
// },
// getMenuById (data, id) {
// if (id === null) return null
// for (var i = 0; i < data.length; i++) {
// if (data[i].id === id) {
// return data[i]
// }
// if (data[i].children) {
// var ret = null
// if ((ret = this.getMenuById(data[i].children, id))) {
// return ret
// }
// }
// }
// },
// initMenuParams () {
// this.modalParams = {
// pMenu: '',
// pid: '',
// type: 'M',
// permName: '',
// name: '',
// path: '',
// component: '',
// icon: ''
// }
// },
// addMenuClick () {
// if (this.tableSelected.type === 'B') {
// this.$error({ title: '按钮下不能创建子项' })
// return
// }
// this.editType = 'add'
// this.initMenuParams()
// this.modalParams.pMenu = this.tableSelected.name ? this.tableSelected.name : '主菜单'
// this.modalParams.pid = this.tableSelected.id ? this.tableSelected.id : 0
// if (this.tableSelected.type === 'M') {
// this.modalParams.type = 'B'
// }
// this.showMenuModal = true
// },
// editMenuClick () {
// if (!this.tableSelected.id) {
// this.$message.warning('请选择要修改的菜单项', 5)
// return
// }
// this.editType = 'update'
// this.initMenuParams()
// this.tableSelected = this.getMenuById(this.data, this.tableSelected.id)
// Object.assign(this.modalParams, this.tableSelected)
// var parentMenu = this.getMenuById(this.modalTreeData, this.modalParams.pid)
// this.modalParams.pMenu = parentMenu.name
// this.showMenuModal = true
// },
// deleteMenuClick () {
// if (!this.tableSelected.id) {
// this.$message.warning('请选择要删除的菜单项', 5)
// return
// }
// this.$confirm({
// title: `确认删除菜单【${this.tableSelected.name}】吗?`,
// onOk: () => {
// deleteMenu(this.tableSelected.id).then(res => {
// if (!res.code) {
// this.tableSelected = {}
// this.$message.success('删除成功', 5)
// this.getData()
// this.updateModalTreeIfNeed()
// } else {
// this.$error({ title: `删除失败:${res.msg}` })
// }
// })
// }
// })
// },
// makeMenuTypeSafe (rule, value, cb) {
// var parentType = 'D'
// if (this.parentTreeSelected.type) {
// // 用户自己选择父菜单
// parentType = this.parentTreeSelected.type
// } else if (this.modalParams.pid) {
// // 对话框刚打开时
// var parentMenu = this.getMenuById(this.modalTreeData, this.modalParams.pid)
// parentType = parentMenu ? parentMenu.type : 'D'
// }
// if (parentType === 'M' && value !== 'B') {
// cb(new Error('菜单下只能包含按钮'))
// } else if (parentType === 'D' && value === 'B') {
// cb(new Error('目录下不能包含按钮'))
// } else if (parentType === 'B') {
// cb(new Error('按钮下不能包含子项'))
// }
// cb()
// },
// updateModalTreeIfNeed () {
// if (Object.keys(this.params).length === 0) {
// this.modalTreeData = []
// this.regetTreeData()
// }
// },
// editMenu () {
// this.form.validateFields((err, values) => {
// if (!err) {
// if (this.editType === 'add') {
// addMenu(values).then(res => {
// if (!res.code) {
// this.showMenuModal = false
// this.$message.success('添加成功', 5)
// this.getData()
// this.updateModalTreeIfNeed()
// } else {
// this.$error({ title: `添加失败:${res.msg}` })
// }
// })
// } else if (this.editType === 'update') {
// // 修改父菜单
// if (this.parentTreeSelected.id) {
// values.pid = this.parentTreeSelected.id
// if (values.pid === values.id) {
// this.$error({ title: `父菜单不能是自身` })
// return
// }
// }
// updateMenu(values).then(res => {
// if (!res.code) {
// this.showMenuModal = false
// this.$message.success('修改成功', 5)
// this.getData()
// if (this.parentTreeSelected.id) {
// // 更新下树结构
// this.updateModalTreeIfNeed()
// }
// } else {
// this.$error({ title: `修改失败:${res.msg}` })
// }
// })
// }
// }
// })
// },
// getData () {
// this.loading = true
// getMenuList(this.params).then(res => {
// this.loading = false
// this.data = res.data
// // 设置第一层级默认展开
// // this.expandedRowKeys.push(...this.data.map(item => item.id))
// if (Object.keys(this.params).length === 0 && this.modalTreeData.length <= 0) {
// this.modalTreeData = [{ id: 0, name: '主菜单', type: 'D' }]
// this.modalTreeData[0].children = JSON.parse(JSON.stringify(this.data))
// this.makeTreeDataSafe(this.modalTreeData)
// }
// })
// },
// makeTreeDataSafe (data) {
// // 修改为antd控件需要的不同属性名
// for (var i = data.length - 1; i >= 0; i--) {
// var item = data[i]
// if (item.type === 'B') {
// data.splice(i, 1)
// }
// item.title = item.name
// item.key = item.id
// item.value = item.name
// if (item.children) {
// this.makeTreeDataSafe(item.children)
// }
// }
// }
}
// created () {
// this.getData()
// },
// watch: {
// showMenuModal (newVal) {
// if (newVal) {
// this.parentTreeSelected = {}
// this.$nextTick(() => {
// this.form.setFieldsValue(this.modalParams)
// })
// }
// }
// }
}
</script>
<style>
.ant-card-body {
padding: 10px;
}
.ant-card-wider-padding .ant-card-body {
padding: 10px;
}
.ant-table-tbody > tr > td {
padding: 10px 10px;
}
</style>
...@@ -109,7 +109,7 @@ ...@@ -109,7 +109,7 @@
<script> <script>
import moment from 'moment' import moment from 'moment'
import { STable } from '@/components' import { STable } from '@/components'
import { getRoleList,addRole,getRoleDetails,modifyRoleDetails,getTreeDetails,modifyAuthority } from '@/api/authority' import { getRoleList,addRole,getRoleDetails,modifyRoleDetails,getTreeList,modifyAuthority } from '@/api/authority'
export default { export default {
name: 'RoleList', name: 'RoleList',
...@@ -215,7 +215,8 @@ export default { ...@@ -215,7 +215,8 @@ export default {
"ID":value.ID, "ID":value.ID,
"NAME":value.NAME "NAME":value.NAME
} }
getTreeDetails(treeParameters).then(res => { console.log(treeParameters)
getTreeList(treeParameters).then(res => {
// res:cur_role_nodes=>树节点 // res:cur_role_nodes=>树节点
// every_role_name:该权限节点的name // every_role_name:该权限节点的name
// every_role_node_ids:该节点包括的节点的id // every_role_node_ids:该节点包括的节点的id
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
rowKey="GUID" rowKey="GUID"
:columns="columns" :columns="columns"
:data="loadData" :data="loadData"
showPagination="auto"
> >
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<template> <template>
...@@ -121,10 +120,10 @@ export default { ...@@ -121,10 +120,10 @@ export default {
// 加载数据方法 必须为 Promise 对象 // 加载数据方法 必须为 Promise 对象
loadData: parameter => { loadData: parameter => {
return getScategorymg(Object.assign(parameter, this.queryParam)).then(res => { return getScategorymg(Object.assign(parameter, this.queryParam)).then(res => {
res.pageSize = res._meta.perPage // res.pageSize = res._meta.perPage
res.page = res._meta.currentPage // res.page = res._meta.currentPage
res.totalPage = res._meta.pageCount // res.totalPage = res._meta.pageCount
res.totalCount = res._meta.totalCount // res.totalCount = res._meta.totalCount
// res.data = [] // res.data = []
// res.data = res.userdepartment // res.data = res.userdepartment
return res return res
......
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