【update】菜单管理增加是否为外网展示字段
This commit is contained in:
+6
-1
@@ -9,6 +9,7 @@ import { generateIndexRouter } from '@/utils/util'
|
||||
import { menuPermission } from './utils/hasPermission'
|
||||
import {loginIdmPlatform} from '@api/api'
|
||||
import {notification} from 'ant-design-vue'
|
||||
import { filterTreeData, isExternalTerminal } from './utils/util'
|
||||
|
||||
NProgress.configure({ showSpinner: false }) // NProgress Configuration
|
||||
// ,'/signupentrance','/signUpPage'
|
||||
@@ -54,11 +55,15 @@ router.beforeEach(async (to, from, next) => {
|
||||
} else {
|
||||
if (store.getters.permissionList.length === 0) {
|
||||
store.dispatch('GetPermissionList').then(res => {
|
||||
const menuData = res.result.menu
|
||||
let menuData = res.result.menu
|
||||
if (menuData === null || menuData === '' || menuData === undefined) {
|
||||
return
|
||||
}
|
||||
let constRoutes = []
|
||||
if(isExternalTerminal) {
|
||||
// 为外部系统的时候,过滤掉所有的 isExternalTerminal = false 的数据
|
||||
menuData = filterTreeData(menuData)
|
||||
}
|
||||
constRoutes = generateIndexRouter(menuData)
|
||||
// 添加主界面路由
|
||||
store.dispatch('UpdateAppRouter', { constRoutes }).then(() => {
|
||||
|
||||
@@ -17,14 +17,14 @@ const err = (error) => {
|
||||
if (error.response) {
|
||||
let data = error.response.data
|
||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
console.log('------异常响应------', token)
|
||||
console.log('------异常响应------', error.response.status)
|
||||
// console.log('------异常响应------', token)
|
||||
// console.log('------异常响应------', error.response.status)
|
||||
switch (error.response.status) {
|
||||
case 403:
|
||||
notification.error({ message: '系统提示', description: '拒绝访问', duration: 4 })
|
||||
break
|
||||
case 500:
|
||||
console.log('------error.response------', error.response)
|
||||
// console.log('------error.response------', error.response)
|
||||
// update-begin- --- author:liusq ------ date:20200910 ---- for:处理Blob情况----
|
||||
let type = error.response.request.responseType
|
||||
if (type === 'blob') {
|
||||
|
||||
@@ -4,6 +4,8 @@ import { ACCESS_TOKEN, USER_NAME,USER_INFO,USER_AUTH,SYS_BUTTON_AUTH,UI_CACHE_DB
|
||||
import { welcome } from '@/utils/util'
|
||||
import { queryPermissionsByUser } from '@/api/api'
|
||||
import { getAction } from '@/api/manage'
|
||||
// import { menuList } from '../../utils/menuList'
|
||||
import { filterTreeData, isExternalTerminal } from '../../utils/util'
|
||||
|
||||
const user = {
|
||||
state: {
|
||||
@@ -123,15 +125,20 @@ const user = {
|
||||
GetPermissionList({ commit }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
queryPermissionsByUser().then(response => {
|
||||
const menuData = response.result.menu
|
||||
// response = menuList
|
||||
let menuData = response.result.menu
|
||||
const authData = response.result.auth
|
||||
const allAuthData = response.result.allAuth
|
||||
//Vue.ls.set(USER_AUTH,authData);
|
||||
sessionStorage.setItem(USER_AUTH,JSON.stringify(authData))
|
||||
sessionStorage.setItem(SYS_BUTTON_AUTH,JSON.stringify(allAuthData))
|
||||
if (menuData && menuData.length > 0) {
|
||||
if(isExternalTerminal) {
|
||||
// 为外部系统的时候,过滤掉所有的 isExternalTerminal = false 的数据
|
||||
menuData = filterTreeData(menuData)
|
||||
}
|
||||
//update--begin--autor:qinfeng-----date:20200109------for:JEECG-63 一级菜单的子菜单全部是隐藏路由,则一级菜单不显示------
|
||||
menuData.forEach((item, index) => {
|
||||
menuData.forEach((item) => {
|
||||
if (item['children']) {
|
||||
let hasChildrenMenu = item['children'].filter((i) => {
|
||||
return !i.hidden || i.hidden == false
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -24,14 +24,14 @@ const err = (error) => {
|
||||
if (error.response) {
|
||||
let data = error.response.data
|
||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
console.log('------异常响应------',token)
|
||||
console.log('------异常响应------',error.response.status)
|
||||
// console.log('------异常响应------',token)
|
||||
// console.log('------异常响应------',error.response.status)
|
||||
switch (error.response.status) {
|
||||
case 403:
|
||||
notification.error({ message: '系统提示', description: '拒绝访问',duration: 4})
|
||||
break
|
||||
case 500:
|
||||
console.log('------error.response------',error.response)
|
||||
// console.log('------error.response------',error.response)
|
||||
// update-begin- --- author:liusq ------ date:20200910 ---- for:处理Blob情况----
|
||||
let type=error.response.request.responseType
|
||||
if(type === 'blob'){
|
||||
|
||||
+20
-20
@@ -1,6 +1,10 @@
|
||||
import * as api from '@/api/api'
|
||||
import { isURL } from '@/utils/validate'
|
||||
import { JSEncrypt } from 'jsencrypt'
|
||||
|
||||
// 全局字段,是否是外网部署
|
||||
export const isExternalTerminal = false
|
||||
|
||||
// import onlineCommons from '@/components/onlineForm/onlineForm'
|
||||
//
|
||||
export function timeFix() {
|
||||
@@ -138,28 +142,8 @@ function generateChildRouters(data) {
|
||||
}
|
||||
|
||||
let componentPath
|
||||
// if(item.component=="modules/online/cgform/OnlCgformHeadList"){
|
||||
// componentPath = onlineCommons.OnlCgformHeadList
|
||||
// }else if(item.component=="modules/online/cgform/OnlCgformCopyList"){
|
||||
// componentPath = onlineCommons.OnlCgformCopyList
|
||||
// }else if(item.component=="modules/online/cgform/auto/OnlCgformAutoList"){
|
||||
// componentPath = onlineCommons.OnlCgformAutoList
|
||||
// }else if(item.component=="modules/online/cgform/auto/OnlCgformTreeList"){
|
||||
// componentPath = onlineCommons.OnlCgformTreeList
|
||||
// }else if(item.component=="modules/online/cgform/auto/erp/OnlCgformErpList"){
|
||||
// componentPath = onlineCommons.OnlCgformErpList
|
||||
// }else if(item.component=="modules/online/cgform/auto/tab/OnlCgformTabList"){
|
||||
// componentPath = onlineCommons.OnlCgformTabList
|
||||
// }else if(item.component=="modules/online/cgform/auto/innerTable/OnlCgformInnerTableList"){
|
||||
// componentPath = onlineCommons.OnlCgformInnerTableList
|
||||
// }else if(item.component=="modules/online/cgreport/OnlCgreportHeadList"){
|
||||
// componentPath = onlineCommons.OnlCgreportHeadList
|
||||
// }else if(item.component=="modules/online/cgreport/auto/OnlCgreportAutoList"){
|
||||
// componentPath = onlineCommons.OnlCgreportAutoList
|
||||
// }else{
|
||||
// eslint-disable-next-line
|
||||
componentPath = resolve => require(['@/' + component + '.vue'], resolve)
|
||||
// }
|
||||
let menu = {
|
||||
path: item.path,
|
||||
name: item.name,
|
||||
@@ -712,3 +696,19 @@ export function deepMerge (target, ...arg) {
|
||||
}, acc)
|
||||
}, target)
|
||||
}
|
||||
|
||||
// 为外部系统的时候,过滤掉所有的 isExternalTerminal = false 的数据
|
||||
export const filterTreeData = (treeData) => {
|
||||
const result = []
|
||||
treeData.map(item => {
|
||||
if(item.meta.externalTerminalShow) {
|
||||
let treeNode = {...item }
|
||||
if (item.children && item.children.length > 0) {
|
||||
treeNode.children = [...filterTreeData(item.children)]
|
||||
}
|
||||
result.push(treeNode)
|
||||
}
|
||||
})
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
@@ -157,7 +157,13 @@
|
||||
<a-switch checkedChildren="外部" unCheckedChildren="内部" v-model="internalOrExternal"/>
|
||||
</a-form-item>
|
||||
<!--update_end author:wuxianquan date:20190908 for:增加组件,外链打开方式可选 -->
|
||||
|
||||
<!--是否外网显示,默认为否,选择是代表外网系统可以生成菜单,也可以使用-->
|
||||
<a-form-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="是否外网可见">
|
||||
<a-switch checkedChildren="是" unCheckedChildren="否" v-model="externalTerminalShow"/>
|
||||
</a-form-item>
|
||||
|
||||
</a-form>
|
||||
|
||||
@@ -197,6 +203,7 @@
|
||||
routeSwitch:true, //是否路由菜单
|
||||
/*update_begin author:wuxianquan date:20190908 for:定义变量,初始值代表内部打开*/
|
||||
internalOrExternal:false,//菜单打开方式
|
||||
externalTerminalShow: false,// 是否是外网展示的菜单
|
||||
/*update_end author:wuxianquan date:20190908 for:定义变量,初始值代表内部打开*/
|
||||
isKeepalive:true, //是否缓存路由
|
||||
show:true,//根据菜单类型,动态显示隐藏表单元素
|
||||
@@ -279,6 +286,14 @@
|
||||
}
|
||||
/*update_end author:wuxianquan date:20190908 for:编辑初始化数据*/
|
||||
|
||||
/*编辑初始化数据*/
|
||||
if(record.externalTerminalShow!=null){
|
||||
this.externalTerminalShow = record.externalTerminalShow?true:false
|
||||
}else{
|
||||
this.externalTerminalShow = true
|
||||
}
|
||||
/*编辑初始化数据*/
|
||||
|
||||
|
||||
this.show = record.menuType==2?false:true
|
||||
this.menuLabel = record.menuType==2?'按钮/权限':'菜单名称'
|
||||
@@ -316,6 +331,7 @@
|
||||
this.model.internalOrExternal = this.internalOrExternal
|
||||
/*update_end author:wuxianquan date:20190908 for:获取值*/
|
||||
|
||||
this.model.externalTerminalShow = this.externalTerminalShow
|
||||
let formData = Object.assign(this.model, values)
|
||||
if ((formData.menuType == 1 || formData.menuType == 2) && !formData.parentId) {
|
||||
that.validateStatus = 'error'
|
||||
|
||||
Reference in New Issue
Block a user