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