diff --git a/src/api/BasicData/MenuManagement.js b/src/api/BasicData/MenuManagement.js
new file mode 100644
index 00000000..a9b0ecce
--- /dev/null
+++ b/src/api/BasicData/MenuManagement.js
@@ -0,0 +1,94 @@
+import request from '@/utils/request'
+
+// 初始化角色
+export function getRole() {
+ return request({
+ url: '',
+ method: 'post',
+ data: {
+ type: '1',
+ name: '菜单系统模块_项目角色_查询数据_new'
+ }
+ })
+}
+// 根据角色查模块
+export function getModule(role) {
+ return request({
+ url: '',
+ method: 'post',
+ data: {
+ type: '3',
+ name: `select * from 基础表_角色模块信息 inner join 基础表_模块信息 on 基础表_角色模块信息.id = 基础表_模块信息.id where 角色编号=${role} order by 模块顺序`
+ }
+ })
+}
+// 初始化一级菜单
+export function initFisrtLevel() {
+ return request({
+ url: '',
+ method: 'post',
+ data: {
+ type: '3',
+ name: `select id,title from 基础表_模块信息 where [path] = '/'`
+ }
+ })
+}
+// 初始化二级菜单
+export function initSecondLevel() {
+ return request({
+ url: '',
+ method: 'post',
+ data: {
+ type: '3',
+ name: `select id,title from 基础表_模块信息 where [path] <> '/'`
+ }
+ })
+}
+// 撤回分配模块
+export function returnModule(id, num) {
+ return request({
+ url: '',
+ method: 'post',
+ data: {
+ type: '2',
+ name: `菜单管理_角色模块_删除数据`,
+ param: `id=${id}&角色编号=${num}`
+ }
+ })
+}
+// 分配一级模块
+export function giveFirstLevel(idGroup, num) {
+ return request({
+ url: '',
+ method: 'post',
+ data: {
+ type: '2',
+ name: `菜单管理_角色模块_一级_增加数据`,
+ param: `一级模块id组=${idGroup}&角色编号=${num}`
+ }
+ })
+}
+// 分配一级模块
+export function giveSecondLevel(idGroup, num, pid) {
+ return request({
+ url: '',
+ method: 'post',
+ data: {
+ type: '2',
+ name: `菜单管理_角色模块_二级_增加数据`,
+ param: `二级模块id组=${idGroup}&角色编号=${num}&pid=${pid}`
+ }
+ })
+}
+// 新增一级菜单
+export function submitAdd(name) {
+ return request({
+ url: '',
+ method: 'post',
+ data: {
+ type: '2',
+ name: `菜单管理_模块_一级_增加数据`,
+ param: `模块名称=${name}`
+ }
+ })
+}
diff --git a/src/api/login.js b/src/api/login.js
index 8be466ef..973cb1c4 100644
--- a/src/api/login.js
+++ b/src/api/login.js
@@ -16,9 +16,11 @@ export function getInfo(token) {
url: '',
method: 'post',
data: {
- type: '1',
- name: '菜单系统模块_项目角色模块列表_查询数据gj',
- param: `角色编号=${token}`
+ // type: '1',
+ // name: '菜单系统模块_项目角色模块列表_查询数据gj',
+ // param: `角色编号=${token}`
+ type: '3',
+ name: `select * from 基础表_角色模块信息 inner join 基础表_模块信息 on 基础表_角色模块信息.id = 基础表_模块信息.id where 角色编号=${token}`
}
})
}
diff --git a/src/permission.js b/src/permission.js
index faf8b4a4..ce0ac0c0 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -4,7 +4,7 @@ import { Message } from 'element-ui'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css'// progress bar style
import { getToken } from '@/utils/auth' // getToken from cookie
-
+import getRouter from './router/getRouter'
NProgress.configure({ showSpinner: false })// NProgress Configuration
// permission judge function
@@ -13,25 +13,25 @@ function hasPermission(roles, permissionRoles) {
if (!permissionRoles) return true
return roles.some(role => permissionRoles.indexOf(role) >= 0)
}
-function getRouter(data) {
- const result = []
- for (let i = 0; i < data.length; i++) {
- const obj = {
- 'path': data[i].父路径,
- 'component': () => import(`@/views/layout/${data[i].父组件}`),
- 'children': [
- {
- 'path': data[i].子路径,
- 'name': data[i].子名称,
- 'component': () => import(`@/views${data[i].子组件}`),
- 'meta': { 'title': data[i].标题, 'icon': data[i].图标 }
- }
- ]
- }
- result.push(obj)
- }
- return result
-}
+// function getRouter(data) {
+// const result = []
+// for (let i = 0; i < data.length; i++) {
+// const obj = {
+// 'path': data[i].父路径,
+// 'component': () => import(`@/views/layout/${data[i].父组件}`),
+// 'children': [
+// {
+// 'path': data[i].子路径,
+// 'name': data[i].子名称,
+// 'component': () => import(`@/views${data[i].子组件}`),
+// 'meta': { 'title': data[i].标题, 'icon': data[i].图标 }
+// }
+// ]
+// }
+// result.push(obj)
+// }
+// return result
+// }
const whiteList = ['/login', '/auth-redirect']// no redirect whitelist
router.beforeEach((to, from, next) => {
@@ -45,7 +45,8 @@ router.beforeEach((to, from, next) => {
if (store.getters.roles.length === 0) { // 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(res => { // 拉取user_info
const data = res.data
- const asyncRouterMap = getRouter(data)
+ const asyncRouterMap = getRouter(data, 0)
+ console.log(asyncRouterMap)
asyncRouterMap.push({ path: '*', redirect: '/404', hidden: true })
store.dispatch('GenerateRoutes', asyncRouterMap).then(() => { // 根据roles权限生成可访问的路由表
router.addRoutes(store.getters.addRouters) // 动态添加可访问路由表
diff --git a/src/router/getRouter.js b/src/router/getRouter.js
new file mode 100644
index 00000000..a8b32be5
--- /dev/null
+++ b/src/router/getRouter.js
@@ -0,0 +1,16 @@
+
+export default function fn(data, pid) {
+ const result = []
+ let temp
+ for (let i = 0; i < data.length; i++) {
+ if (data[i].pid === pid) {
+ const obj = { 'path': data[i].path, 'component': () => import(`@/views${(data[i].component)}`), 'redirect': data[i].redirect, alwaysShow: true, 'name': data[i].name, meta: { 'title': data[i].title, 'icon': data[i].icon }}
+ temp = fn(data, data[i].id)
+ if (temp.length > 0) {
+ obj.children = temp
+ }
+ result.push(obj)
+ }
+ }
+ return result
+}
diff --git a/src/views/BasicData/MenuManagement/index.vue b/src/views/BasicData/MenuManagement/index.vue
new file mode 100644
index 00000000..46147ef0
--- /dev/null
+++ b/src/views/BasicData/MenuManagement/index.vue
@@ -0,0 +1,396 @@
+
+
+
+
+
+ 创建一级菜单
+
+
+
+
+
+
+
+
+
+ {{ scope.row.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 角色:
+
+
+
+
+
+
+
+
+
+
+ {{ node.label }}
+
+ returnModule(node, data)">
+ 移除
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 创建二级菜单
+
+
+
+
+
+
+
+
+
+ {{ scope.row.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index 9c7389f4..1a9ca162 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -51,9 +51,8 @@ export default {
url: '',
method: 'post',
data: {
- type: '1',
- name: '菜单系统模块_项目角色模块列表_消息通知',
- param: '角色编号=' + this.token
+ type: '3',
+ name: `select * from 基础表_角色模块信息 inner join 基础表_模块信息 on 基础表_角色模块信息.id = 基础表_模块信息.id where 角色编号=${this.token} and 是否通知 = 1`
}
}).then(data => {
this.sudokus = []
@@ -72,10 +71,10 @@ export default {
}
}).then(res => {
this.sudokus.push({
- id: rawData.data[i].主模块编号,
- name: rawData.data[i].标题,
- icon: rawData.data[i].图标,
- router: `${rawData.data[i].父路径}/${rawData.data[i].子路径}`,
+ id: rawData.data[i].id,
+ name: rawData.data[i].title,
+ icon: rawData.data[i].icon,
+ router: rawData.data[i].path,
value: res.data[0].Column1
})
})
diff --git a/src/views/layout/components/Navbar.vue b/src/views/layout/components/Navbar.vue
index 2c4b00bb..8461a64c 100644
--- a/src/views/layout/components/Navbar.vue
+++ b/src/views/layout/components/Navbar.vue
@@ -68,7 +68,7 @@ export default {
title: '提示',
message: '您有采购合同待审批,请及时处理,点击查看',
onClick: () => {
- this.$router.push({ path: '/PurchaseContractApproval/index' })
+ this.$router.push({ path: '/PurchasingCenter/PurchaseContractApproval' })
setTimeout(this.noticeContract.close(), 1000)
},
duration: 1000 * 60
@@ -91,7 +91,7 @@ export default {
title: '提示',
message: '您有合同请款申请待审批,请及时处理,点击查看',
onClick: () => {
- this.$router.push({ path: '/FundApproval2/index' })
+ this.$router.push({ path: '/PurchasingCenter/FundApproval2' })
setTimeout(this.noticeFund.close(), 1000)
},
duration: 1000 * 60 * 5
@@ -105,7 +105,7 @@ export default {
title: '提示',
message: '您有发票结算申请待审批,请及时处理,点击查看',
onClick: () => {
- this.$router.push({ path: '/InvoiceSettlementApprove/index' })
+ this.$router.push({ path: '/PurchasingCenter/InvoiceSettlementApprove' })
setTimeout(this.noticeInvoice.close(), 1000)
},
duration: 1000 * 60 * 5
diff --git a/src/views/layout/components/Sidebar/SidebarItem2.vue b/src/views/layout/components/Sidebar/SidebarItem2.vue
new file mode 100644
index 00000000..51de583c
--- /dev/null
+++ b/src/views/layout/components/Sidebar/SidebarItem2.vue
@@ -0,0 +1,48 @@
+
+
+
+
+