Browse Source

图表过滤BUG/报表复制loading-disable/报表目录刷新

zhuth 6 years ago
parent
commit
8e0981c640

+ 8 - 3
src/components/chart/list.jsx

@@ -247,9 +247,14 @@ class ChartList extends React.Component {
         let filterLabel = chart.filterLabel ? (chart.filterLabel + '').replace(new RegExp('(\\\\)', 'g'), '\\$1').replace(reg, '\\$1') : ''; // 添加转义符号
         
         let cards = list.map( (l, i) => (
-            <CardGrid className={`chart-card ${l.animated ? (l.visible ? `animated popIn` : `animated flipOutY`) : (l.visible ? `visible ` : `hidden`)}`} key={i} onClick={() => {
-                this.setState({ selectedRecord: l })
-            }}>
+            <CardGrid
+                // className={`chart-card ${l.animated ? (l.visible ? `animated popIn` : `animated flipOutY`) : (l.visible ? `visible` : `hidden`)}`}
+                className={`chart-card ${l.visible ? `visible` : `hidden`}`}
+                key={i}
+                onClick={() => {
+                    this.setState({ selectedRecord: l })
+                }}
+            >
                 <Card
                     bordered={false}
                     title={

+ 22 - 8
src/components/dashboard/copyBox.jsx

@@ -1,6 +1,6 @@
 import React from 'react'
 import { connect } from 'dva'
-import { Modal, Form, Select } from 'antd'
+import { Modal, Form, Select, Button, Icon } from 'antd'
 const { Item: FormItem } = Form
 const { Option: SelectOption } = Select
 
@@ -10,6 +10,7 @@ class CopyBox extends React.Component {
         this.state = {
             currentDataConnectCode: props.currentDataConnect ? props.currentDataConnect.code : null,
             selectedDataConnectCode: props.currentDataConnect ? props.currentDataConnect.code : null,
+            loading: false,
         }
     }
 
@@ -28,7 +29,7 @@ class CopyBox extends React.Component {
 
     render() {
         const { visibleBox, hideBox, dispatch, currentDashboardCode } = this.props;
-        const { currentDataConnectCode, selectedDataConnectCode } = this.state;
+        const { currentDataConnectCode, selectedDataConnectCode, loading } = this.state;
         const formItemLayout = {
             labelCol: { span: 5 },
             wrapperCol: { span: 12 },
@@ -39,12 +40,25 @@ class CopyBox extends React.Component {
             title={'复制报表'}
             visible={visibleBox}
             onCancel={hideBox}
-            onOk={() => {
-                dispatch({ type: 'dashboard/copy', dashboardCode: currentDashboardCode, dataConnectCode: selectedDataConnectCode }).then(() => {
-                    hideBox();
-                });
-            }}
-            maskClosable={true}
+            footer={
+                <div>
+                    <Button onClick={hideBox}>取 消</Button>
+                    <Button disabled={loading} type='primary' onClick={() => {
+                        this.setState({
+                            loading: true
+                        });
+                        dispatch({ type: 'dashboard/copy', dashboardCode: currentDashboardCode, dataConnectCode: selectedDataConnectCode }).then(() => {
+                            this.setState({
+                                loading: false
+                            }, hideBox);
+                        });
+                    }}>
+                        {loading ? (<Icon type='loading' />) : ''}
+                        {loading ? '复制中' : '确 定'}
+                    </Button>
+                </div>
+            }
+            maskClosable={false}
             destroyOnClose={true}
         >
             <div>复制对象包括报表和报表包含的图表</div>

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

@@ -27,7 +27,11 @@ class DashboardLayout extends React.Component {
                     onMount={(menuList, menuTree) => {
                         if(menuTree.length > 0) {
                             if(currentMenu) {
-                                dispatch({ type: 'dashboard/remoteMenuDashboardList', menuCode: currentMenu.code });
+                                if(currentMenu.code !== '-1') {
+                                    dispatch({ type: 'dashboard/remoteMenuDashboardList', menuCode: currentMenu.code });
+                                }else {
+                                    dispatch({ type: 'dashboard/fetchList', mandatory: true });
+                                }
                             }else {
                                 dispatch({ type: 'dashboard/setFields', fields: [
                                     { name: 'currentMenu', value: menuTree[0] },

+ 2 - 2
src/components/dashboard/list.jsx

@@ -40,7 +40,7 @@ class DashboardList extends React.Component {
         if(currentMenu && currentMenu.code !== '-1') {
             dispatch({ type: 'dashboard/remoteMenuDashboardList', menuCode: currentMenu.code });
         }else {
-            // dispatch({ type: 'dashboard/fetchList' });
+            dispatch({ type: 'dashboard/fetchList' });
         }
         let tableBody = document.getElementsByClassName('ant-table-body')[0];
         tableBody.scrollTo && tableBody.scrollTo(0, dashboard.listScrollTop);
@@ -350,7 +350,7 @@ class DashboardList extends React.Component {
                                     <Button className='btn-refresh' onClick={() => {
                                         dispatch({ type: 'dashboard/setFilterLabel', label: '' });
                                         if(!currentMenu ||  currentMenu.code === '-1') {
-                                            // dispatch({ type: 'dashboard/fetchList', mandatory: true });
+                                            dispatch({ type: 'dashboard/fetchList', mandatory: true });
                                         }else {
                                             dispatch({ type: 'dashboard/remoteMenuDashboardList', menuCode: currentMenu.code });
                                         }