Browse Source

为表格型图表元素实装分页功能
禁用分组后跳转逻辑

xiaoct 7 years ago
parent
commit
5ef012b8df

+ 11 - 1
src/components/dashboardDesigner/chartView.jsx

@@ -56,7 +56,17 @@ class ChartView extends React.Component {
                             x: columns ? columns.length * 200 : 0,
                             y: tableBodyHeight,
                         }}
-                        pagination={{ pageSize: 25 }}
+                        pagination={{
+                            pageSize: chartOption.pageSize || 25,
+                            total: chartOption.total,
+                            current: chartOption.pageNum,
+                            showTotal: (total, range) => {
+                                return `第${range[0]}到第${range[1]}条数据,共${total}条数据`;
+                            },
+                            onChange: (page, pageSize) => {
+                                dispatch({ type: 'dashboardDesigner/fetchChartData', item, page, pageSize, mandatory: true });
+                            }
+                        }}
                         columns={columns ? columns.map(c => ({
                             ...c,
                             width: 200

+ 3 - 3
src/components/dataSource/list.jsx

@@ -116,7 +116,7 @@ class DataSource extends React.Component {
                     ))
                     : dataSource.currentGroup[0].code === p.code ? 'bold' : 'normal'
                 }}>{p.label}</span>} onTitleClick={(item) => {
-                    dispatch({ type: 'dataSource/setCurrentGroup', group1: p });
+                    // dispatch({ type: 'dataSource/setCurrentGroup', group1: p });  // 尝试禁用分组后跳转逻辑
                     if (selectedRecord) {
                         dispatch({ type: 'dataSource/remoteSetDataSourceGroup', dataSource: selectedRecord, group: p });
                     }
@@ -124,7 +124,7 @@ class DataSource extends React.Component {
                 }}>
                     {c.map(c => {
                         return (<Menu.Item key={c.code} onClick={(item) => {
-                            dispatch({ type: 'dataSource/setCurrentGroup', group1: p, group2: c });
+                            // dispatch({ type: 'dataSource/setCurrentGroup', group1: p, group2: c }); // 尝试禁用分组后跳转逻辑
                             if(selectedRecord) {
                                 dispatch({ type: 'dataSource/remoteSetDataSourceGroup', dataSource: selectedRecord, group: c });
                             }
@@ -135,7 +135,7 @@ class DataSource extends React.Component {
                 </Menu.SubMenu>
             ) : (
                 <Menu.Item key={p.code} onClick={() => {
-                    dispatch({ type: 'dataSource/setCurrentGroup', group1: p });
+                    // dispatch({ type: 'dataSource/setCurrentGroup', group1: p });  // 尝试禁用分组后跳转逻辑
                     if(selectedRecord) {
                         dispatch({ type: 'dataSource/remoteSetDataSourceGroup', dataSource: selectedRecord, group: p });
                     }

+ 6 - 2
src/models/dashboardDesigner.js

@@ -372,13 +372,17 @@ export default {
             }
         },
         *fetchChartData(action, { put, call, select }) {
-            const { item, mandatory } = action;
+            const { item, mandatory, page, pageSize } = action;
             const dashboardDesigner = yield select(state => state.present.dashboardDesigner);
             const { filters, relationColumns } = dashboardDesigner;
             const { chartCode } = item;
             const body = {
                 dashCreateId: chartCode,
-                filters: getBodyFilters(getTrueFilters(item, filters, relationColumns))
+                filters: getBodyFilters(getTrueFilters(item, filters, relationColumns)),
+                testPage: {
+                    pageNum: page|| 1,
+                    pageSize: pageSize || 25, 
+                }
             };
             if(!mandatory && !!item.chartOption) {
                 return;