|
|
@@ -414,20 +414,31 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
*remoteSetMenu(action, { put, call, select }) {
|
|
|
- const { dashboard, menu } = action;
|
|
|
+ const { dashboard: currentDashboard, menu } = action;
|
|
|
try {
|
|
|
+ const dashboard = yield select(state => state.present.dashboard);
|
|
|
+ const getParens = (menu) => {
|
|
|
+ const { menuList } = dashboard;
|
|
|
+ let pmenus = [menu];
|
|
|
+ let fmenu = [{ code: '-1', name: '报表目录' }].concat(menuList).find(l => l.code === menu.pcode);
|
|
|
+ if(fmenu) {
|
|
|
+ pmenus = pmenus.concat(getParens(fmenu));
|
|
|
+ }
|
|
|
+ return pmenus;
|
|
|
+ }
|
|
|
+
|
|
|
const res = yield call(service.fetch, {
|
|
|
url: URLS.DASHBOARD_SET_MENU,
|
|
|
body: {
|
|
|
- dashBoardId: dashboard.code,
|
|
|
+ dashBoardId: currentDashboard.code,
|
|
|
menuId: menu.code
|
|
|
},
|
|
|
})
|
|
|
if(!res.err && res.data.code > 0) {
|
|
|
yield put({ type: 'remoteMenuDashboardList', menuCode: menu.code });
|
|
|
yield put({ type: 'setFields', fields: [
|
|
|
- { name: 'menuSelectedKeys', value: [menu.code] },
|
|
|
- { name: 'menuExpandedKeys', value: [menu.code] },
|
|
|
+ { name: 'currentMenu', value: menu },
|
|
|
+ { name: 'currentMenuParents', value: getParens(menu) },
|
|
|
] })
|
|
|
}else {
|
|
|
message.error('移动到目录失败: ' + (res.err || res.data.msg));
|