Browse Source

报表目录记忆选中目录

zhuth 6 years ago
parent
commit
6026b4eae9

+ 11 - 5
src/components/dashboard/layout.jsx

@@ -10,6 +10,7 @@ class DashboardLayout extends React.Component {
 
     render() {
         const { loading, dashboard, dispatch } = this.props;
+        const { currentMenu } = dashboard;
         return <Layout
             className='layout-dashboard'
         >
@@ -22,11 +23,15 @@ class DashboardLayout extends React.Component {
                     hideEmptyMenu={false}
                     onMount={(menuList, menuTree) => {
                         if(menuTree.length > 0) {
-                            dispatch({ type: 'dashboard/setFields', fields: [
-                                { name: 'currentMenu', value: menuTree[0] },
-                                { name: 'currentMenuParents', value: [menuTree[0], {code: '-1', name: '报表目录'}] },
-                            ] });
-                            dispatch({ type: 'dashboard/remoteMenuDashboardList', menuCode: menuTree[0].code });
+                            if(currentMenu) {
+                                dispatch({ type: 'dashboard/remoteMenuDashboardList', menuCode: currentMenu.code });
+                            }else {
+                                dispatch({ type: 'dashboard/setFields', fields: [
+                                    { name: 'currentMenu', value: menuTree[0] },
+                                    { name: 'currentMenuParents', value: [menuTree[0], {code: '-1', name: '报表目录'}] },
+                                ] });
+                                dispatch({ type: 'dashboard/remoteMenuDashboardList', menuCode: menuTree[0].code });
+                            }
                         }
                     }}
                     onExpand={menus => {
@@ -39,6 +44,7 @@ class DashboardLayout extends React.Component {
                         dispatch({ type: 'dashboard/setFields', fields: [
                             { name: 'currentMenu', value: selectedMenu },
                             { name: 'currentMenuParents', value: parents },
+                            { name: 'menuSelectedKeys', value: [selectedMenu.code] },
                         ] })
                         if(!!selectedMenu) {
                             if(selectedMenu.code === '-1') {

+ 11 - 7
src/components/dashboard/menu.jsx

@@ -192,13 +192,17 @@ class DashboardMenu extends React.Component {
     }
 
     onSelect = (selectedKeys, info) => {
-        const { dashboard, onSelect: propsOnSelect } = this.props;
-        const { menuList } = dashboard;
-        let selectedMenu = [{ code: '-1', name: '报表目录' }].concat(menuList).find(l => l.code === selectedKeys[0]);
-        let parents = this.getParens(selectedMenu);
-
-        if(typeof propsOnSelect === 'function') {
-            propsOnSelect(selectedMenu, parents);
+        const { dashboard, onSelect: propsOnSelect, onUnSelect: propsOnUnSelect } = this.props;
+        const { menuList, currentMenu } = dashboard;
+        if(selectedKeys.length > 0) {
+            let selectedMenu = [{ code: '-1', name: '报表目录' }].concat(menuList).find(l => l.code === selectedKeys[0]);
+            let parents = this.getParens(selectedMenu);
+    
+            if(typeof propsOnSelect === 'function') {
+                propsOnSelect(selectedMenu, parents);
+            }
+        }else {
+            typeof propsOnUnSelect === 'function' && propsOnUnSelect(currentMenu);
         }
     }
 

+ 2 - 0
src/components/dataSourceDetail/dataConnectBox.jsx

@@ -271,6 +271,7 @@ class DataConnectBox extends React.Component {
                                 <Input
                                     key={dataConnect.newOne.userName}
                                     disabled={disabled}
+                                    autoComplete="off"
                                     defaultValue={dataConnect.newOne.userName}
                                     onBlur={(e) => {
                                         dispatch({ type: 'dataConnect/setNewModelField', name: 'userName', value: e.target.value+'' });
@@ -294,6 +295,7 @@ class DataConnectBox extends React.Component {
                                     className='password'
                                     type='password'
                                     value={password}
+                                    autoComplete="off"
                                     placeholder={operation === 'create' ? '' : '******'}
                                     onChange={(e) => {
                                         let val = e.target.value+'';

+ 3 - 0
src/models/dashboard.js

@@ -439,6 +439,9 @@ export default {
                     yield put({ type: 'setFields', fields: [
                         { name: 'currentMenu', value: menu },
                         { name: 'currentMenuParents', value: getParens(menu) },
+                        { name: 'menuSelectedKeys', value: [menu.code] },
+                        { name: 'menuExpandedKeys', value: [menu.code] },
+                        { name: 'menuAutoExpandParent', value: true },
                     ] })
                 }else {
                     message.error('移动到目录失败: ' + (res.err || res.data.msg));