|
@@ -42,12 +42,12 @@ const memoizeOneFormatter = memoizeOne(formatter, isEqual);
|
|
|
/**
|
|
|
* get SubMenu or Item
|
|
|
*/
|
|
|
-const getSubMenu = item => {
|
|
|
+const getSubMenu = (item, blackList = []) => {
|
|
|
// doc: add hideChildrenInMenu
|
|
|
if (item.children && !item.hideChildrenInMenu && item.children.some(child => child.name)) {
|
|
|
return {
|
|
|
...item,
|
|
|
- children: filterMenuData(item.children), // eslint-disable-line
|
|
|
+ children: filterMenuData(item.children, blackList), // eslint-disable-line
|
|
|
};
|
|
|
}
|
|
|
return item;
|
|
@@ -56,14 +56,14 @@ const getSubMenu = item => {
|
|
|
/**
|
|
|
* filter menuData
|
|
|
*/
|
|
|
-const filterMenuData = menuData => {
|
|
|
+const filterMenuData = (menuData, blackList = []) => {
|
|
|
if (!menuData) {
|
|
|
return [];
|
|
|
}
|
|
|
return menuData
|
|
|
.filter(item => item.name && !item.hideInMenu)
|
|
|
- .map(item => check(item.authority, getSubMenu(item)))
|
|
|
- .filter(item => item);
|
|
|
+ .map(item => check(item.authority, getSubMenu(item, blackList)))
|
|
|
+ .filter(item => !blackList.includes(item.path));
|
|
|
};
|
|
|
/**
|
|
|
* 获取面包屑映射
|
|
@@ -96,7 +96,7 @@ export default {
|
|
|
},
|
|
|
|
|
|
effects: {
|
|
|
- * getMenuData({ payload }, { put }) {
|
|
|
+ * getMenuData({ payload }, { put, select }) {
|
|
|
let { routes, authority } = payload;
|
|
|
let routes_copy = JSON.parse(JSON.stringify(routes));
|
|
|
//根据接口返回数据组装菜单
|
|
@@ -119,8 +119,9 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- const menuData = filterMenuData(memoizeOneFormatter(routes_copy, authority));
|
|
|
-
|
|
|
+ const currentSite = yield select(state => state.global.currentSite);
|
|
|
+ const blackList = currentSite === '1' ? ['/manage_order/ai_business_intelligence'] : ['/manage_neworder/order_manage_list']
|
|
|
+ const menuData = filterMenuData(memoizeOneFormatter(routes_copy, authority), blackList);
|
|
|
const breadcrumbNameMap = memoizeOneGetBreadcrumbNameMap(menuData);
|
|
|
yield put({
|
|
|
type: 'save',
|