Browse Source

接口错误提示内容调整/图表表格分页器pagesize自适应容器高度((充满)

zhuth 7 years ago
parent
commit
0efff55f2f

+ 21 - 10
src/components/chart/resolveChartOption.js

@@ -21,10 +21,10 @@ export default (config, styleConfig, silent, thumbnail) => {
             break;
         }
         case 'aggregateTable': {
-            o = tableConfig(option, styleConfig, silent, thumbnail);
+            o = aggregateTableConfig(option, styleConfig, silent, thumbnail);
             break;
         }case 'dataView' : {
-            o = tableConfig(option, styleConfig, silent, thumbnail);
+            o = tableViewConfig(option, styleConfig, silent, thumbnail);
             break;
         }
         default:{
@@ -244,7 +244,25 @@ function scatterConfig(option, styleConfig, silent, thumbnail) {
     return o;
 }
 
-function tableConfig(option, styleConfig, silent, thumbnail) {
+function aggregateTableConfig(option, styleConfig, silent, thumbnail) {
+    const { columns, data } = option;
+    let c = columns.map(_c => {
+        if(_c.dataIndex === 'percent') {
+            return { ..._c, render: (value, record, index) => ((+value*100).toFixed(2)) + '%'};
+        }else {
+            return {..._c, width: 100};
+        }
+    });
+    let o = {
+        columns: c,
+        data: data.map((d, i) => {
+            return { ...d, key: i}
+        })
+    };
+    return o;
+}
+
+function tableViewConfig(option, styleConfig, silent, thumbnail) {
     const { columns, data } = option;
     const { table } = styleConfig || {};
     const {
@@ -281,13 +299,6 @@ function tableConfig(option, styleConfig, silent, thumbnail) {
             align: 'center'
         });
     }
-    c = c.map(_c => {
-        if(c.dataIndex === 'percent') {
-            return { ..._c, render: (value, record, index) => ((+value*100).toFixed(2)) + '%'};
-        }else {
-            return _c;
-        }
-    });
     let o = {
         columns: c,
         data: data.map((d, i) => {

+ 5 - 1
src/components/chartDesigner/charts/tableView.jsx

@@ -11,6 +11,9 @@ const TableView = ({ contentSize, chartDesigner, dispatch }) => {
 
     const { table } = styleConfig || {};
     const { bordered } = table || {};
+    const tableContentHeight = contentSize.height - 38 - 42;
+    const tableRowHeight = 38;
+
     return (
         <Table
             className='table-view'
@@ -20,8 +23,9 @@ const TableView = ({ contentSize, chartDesigner, dispatch }) => {
             bordered={bordered}
             scroll={{
                 x: columns ? columns.length * 100 : 0,
-                y: contentSize.height - 38 - 42
+                y: tableContentHeight
             }}
+            pagination={{ defaultPageSize: Math.floor(tableContentHeight/tableRowHeight) || 10 }}
         />
     );
 }

+ 10 - 3
src/components/chartDesigner/charts/tableView.less

@@ -7,13 +7,20 @@
             padding-bottom: 40px;
             .ant-table {
                 height: 100%;
+                .ant-table-content {
+                    height: 100%;
+                    .ant-table-scroll {
+                        height: 100%;
+                        .ant-table-body {
+                            height: 100%;
+                            // overflow: auto !important;
+                        }
+                    }
+                }
                 .ant-table-header {
                     
                     // overflow-y: hidden !important;
                 }
-                .ant-table-body {
-                    // overflow: auto !important;
-                }
             }
             .ant-pagination {
                 margin: 8px 0;

+ 2 - 2
src/components/chartDesigner/sections/dataViewConfigForm.jsx

@@ -68,8 +68,8 @@ class DataViewConfigForm extends React.Component {
 					<InputNumber
 						min={0}
 						defaultValue={chartDesigner.dataViewConfig.count}
-						onChange={(value) => {
-							dispatch({ type: 'chartDesigner/changeField', name: 'dataViewConfig', value: { ...chartDesigner.dataViewConfig, count: value }, autoRefresh });
+						onBlur={(e) => {
+							dispatch({ type: 'chartDesigner/changeField', name: 'dataViewConfig', value: { ...chartDesigner.dataViewConfig, count: e.target.value }, autoRefresh });
 						}}
 					>
 					</InputNumber>

+ 1 - 1
src/components/common/filterBox/filterBox.jsx

@@ -345,7 +345,7 @@ class FilterBox extends React.Component {
                             >
                                 {getFieldDecorator(`filterValueOne${key}`, {
                                     initialValue: type==='time' ? ( value1 ? moment(value1) : null) : value1,
-                                    rules: [{ required: true, message: '该值不能为空' }]
+                                    rules: operator&&operator!=='null'&&operator!=='notNull' ? [{ required: true, message: '该值不能为空' }] : null
                                 })(this.getFilterValueField(key, type, operator, 1))}
                             </FormItem>
                         </Col>

+ 10 - 2
src/components/common/login/login.jsx

@@ -107,8 +107,16 @@ class LoginComponent extends React.Component {
                                 this.state.notice &&
                                 <Alert style={{ marginBottom: 24 }} message={this.state.notice} type="error" showIcon closable />
                             }
-                            <UserName name="username" placeholder='输入用户名' />
-                            <Password name="password" placeholder='输入密码'/>
+                            <UserName name="username" placeholder='输入用户名' onChange={() => {
+                                this.setState({
+                                    notice: ''
+                                });
+                            }}/>
+                            <Password name="password" placeholder='输入密码' onChange={() => {
+                                this.setState({
+                                    notice: ''
+                                });
+                            }}/>
                             <div>
                                 <Checkbox checked={this.state.autoLogin} onChange={this.changeAutoLogin}>记住密码</Checkbox>
                                 <a style={{ float: 'right' }} href="">忘记密码</a>

+ 6 - 4
src/components/common/navigator.jsx

@@ -19,17 +19,19 @@ class Navigator extends React.Component {
         const userMenu = currentUser.code ? (
             <Menu>
                 <Menu.Item key="0">
-                    <span>账号信息</span>
+                    <Icon type="info-circle-o" /><span>账号信息</span>
                 </Menu.Item>
-                {currentUser.role === 'admin' && <Menu.Item key="1">
-                    <Link to='/admin'><Icon type="setting" />系统管理</Link>
+                {currentUser.role === 'admin' && <Menu.Item key="1" onClick={() => {
+                    dispatch({ type: 'main/redirect', path: '/admin' });
+                }}>
+                    <Icon type="setting" />系统管理
                 </Menu.Item>}
                 <Menu.Divider />
                 <Menu.Item key="3" onClick={() => {
                     window.localStorage.removeItem("token");
                     window.localStorage.removeItem("expireTime");
                     dispatch({ type: 'main/redirect', path: '/login' });
-                }}>注销</Menu.Item>
+                }}><Icon type="logout" />注销</Menu.Item>
             </Menu>
         ) : (
             <Menu>

+ 8 - 0
src/custom.less

@@ -5,4 +5,12 @@
     &:before {
         font-family: "anticon", "anticon-custom" !important
     }
+}
+
+.ant-dropdown-menu-item-divider, .ant-dropdown-menu-submenu-title-divider {
+    margin: 0;
+}
+
+.ant-dropdown-menu {
+    padding: 0;
 }

+ 1 - 1
src/models/chart.js

@@ -796,7 +796,7 @@ export default {
                     yield put({ type: 'list', list });
                     message.success('移交成功');
                 }else {
-                    console.log(body, res.err || res.data.msg);
+                    console.log(body, (res.err || res.data.msg));
                     message.error('移交失败');
                 }
             }catch(e) {

+ 7 - 6
src/models/chartDesigner.js

@@ -412,7 +412,7 @@ export default {
                     }
                     yield put({ type: 'silentSetField', name: 'chartOption', value: config });
                 }else {
-                    message.error('请求柱状图数据失败: ' + res.err || res.data.msg);
+                    message.error('请求柱状图数据失败: ' + (res.err || res.data.msg));
                     yield put({ type: 'silentSetField', name: 'chartOption', value: {} });
                 }
             }catch(e) {
@@ -457,7 +457,7 @@ export default {
                     }
                     yield put({ type: 'silentSetField', name: 'chartOption', value: config });
                 }else {
-                    message.error('请求饼图数据失败: ' + res.err || res.data.msg);
+                    message.error('请求饼图数据失败: ' + (res.err || res.data.msg));
                     yield put({ type: 'silentSetField', name: 'chartOption', value: {} });
                 }
             }catch(e) {
@@ -503,7 +503,7 @@ export default {
                     }
                     yield put({ type: 'silentSetField', name: 'chartOption', value: config });
                 }else {
-                    message.error('请求折线图数据失败: ' + res.err || res.data.msg);
+                    message.error('请求折线图数据失败: ' + (res.err || res.data.msg));
                     yield put({ type: 'silentSetField', name: 'chartOption', value: {} });
                 }
             }catch(e) {
@@ -549,7 +549,7 @@ export default {
                     }
                     yield put({ type: 'silentSetField', name: 'chartOption', value: config });
                 }else {
-                    message.error('请求散点图数据失败: ' + res.err || res.data.msg);
+                    message.error('请求散点图数据失败: ' + (res.err || res.data.msg));
                     yield put({ type: 'silentSetField', name: 'chartOption', value: {} });
                 }
             }catch(e) {
@@ -591,7 +591,7 @@ export default {
                     }
                     yield put({ type: 'silentSetField', name: 'chartOption', value: config });
                 }else {
-                    message.error('请求列表数据失败: ' + res.err || res.data.msg);
+                    message.error('请求列表数据失败: ' + (res.err || res.data.msg));
                     yield put({ type: 'silentSetField', name: 'chartOption', value: {} });
                 }
             }catch(e) {
@@ -669,9 +669,10 @@ export default {
                             data: dataSource
                         }
                     }
+                    console.log(config);
                     yield put({ type: 'silentSetField', name: 'chartOption', value: config });
                 }else {
-                    message.error('请求统计数据失败: ' + res.err || res.data.msg);
+                    message.error('请求统计数据失败: ' + (res.err || res.data.msg));
                     yield put({ type: 'silentSetField', name: 'chartOption', value: {} });
                 }
             }catch(e) {

+ 6 - 6
src/models/chartPolicy.js

@@ -120,7 +120,7 @@ export default {
                     })) : [];
                     yield put({ type: 'list', list });
                 }else {
-                    message.error('请求图表策略列表失败: ' + res.err || res.data.msg);
+                    message.error('请求图表策略列表失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -153,7 +153,7 @@ export default {
                     });
                     yield put({ type: 'list', list });
                 }else {
-                    message.error('添加失败: ' + res.err || res.data.msg);
+                    message.error('添加失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -181,7 +181,7 @@ export default {
                 if(!res.err && res.data.code > 0) {
                     yield put({ type: 'modify', policy });
                 }else {
-                    message.error('修改失败: ' + res.err || res.data.msg);
+                    message.error('修改失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -208,7 +208,7 @@ export default {
                     }
                     yield put({ type: 'list', list });
                 }else {
-                    message.error('删除失败: ' + res.err || res.data.msg);
+                    message.error('删除失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -237,7 +237,7 @@ export default {
                         targets
                     } });
                 }else {
-                    message.error('设置对象失败: ' + res.err || res.data.msg);
+                    message.error('设置对象失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -263,7 +263,7 @@ export default {
                     }));
                     yield put({ type: 'setColumnData', columnData });
                 }else {
-                    message.error('获得图表列数据失败: ' + res.err || res.data.msg);
+                    message.error('获得图表列数据失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);

+ 3 - 3
src/models/dashboard.js

@@ -52,7 +52,7 @@ export default {
                     console.log('请求看板列表', list);
                     yield put({ type: 'list', list: list });
                 }else {
-                    message.error('请求看板列表失败: ' + res.err || res.data.msg);
+                    message.error('请求看板列表失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(e);
@@ -238,8 +238,8 @@ export default {
                     yield put({ type: 'list', list });
                     message.success('移交成功');
                 }else {
-                    console.log(body, res.err || res.data.msg);
-                    message.error('移交失败: ' + res.err || res.data.msg);
+                    console.log(body, (res.err || res.data.msg));
+                    message.error('移交失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);

+ 5 - 5
src/models/dashboardPolicy.js

@@ -117,7 +117,7 @@ export default {
                     })) : [];
                     yield put({ type: 'list', list });
                 }else {
-                    message.error('请求图表策略列表失败: ' + res.err || res.data.msg);
+                    message.error('请求图表策略列表失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -151,7 +151,7 @@ export default {
                     });
                     yield put({ type: 'list', list });
                 }else {
-                    message.error('添加失败: ' + res.err || res.data.msg);
+                    message.error('添加失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -180,7 +180,7 @@ export default {
                 if(!res.err && res.data.code > 0) {
                     yield put({ type: 'modify', policy });
                 }else {
-                    message.error('修改失败: ' + res.err || res.data.msg);
+                    message.error('修改失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -208,7 +208,7 @@ export default {
                     }
                     yield put({ type: 'list', list });
                 }else {
-                    message.error('删除失败: ' + res.err || res.data.msg);
+                    message.error('删除失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -238,7 +238,7 @@ export default {
                         targets
                     } });
                 }else {
-                    message.error('设置对象失败: ' + res.err || res.data.msg);
+                    message.error('设置对象失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);

+ 2 - 2
src/models/dataConnect.js

@@ -230,7 +230,7 @@ export default {
                         yield put({ type: 'setNewModelField', name: 'visibleBox', value: false });
                         message.success('新增成功');
                     }else {
-                        message.error('新增失败: ' + res.err || res.data.msg);
+                        message.error('新增失败: ' + (res.err || res.data.msg));
                     }
                 }else {
                     yield put({ type: 'setNewModelInvalid', name: 'invalid', value: true });
@@ -306,7 +306,7 @@ export default {
                         message.success('修改成功');
                         yield put({ type: 'setNewModelField', name: 'visibleBox', value: false });
                     }else {
-                        message.error('修改失败: ' + res.err || res.data.msg);
+                        message.error('修改失败: ' + (res.err || res.data.msg));
                     }
                 }else {
                     yield put({ type: 'setNewModelInvalid', name: 'invalid', value: true });

+ 1 - 1
src/models/dataSource.js

@@ -817,7 +817,7 @@ export default {
                     yield put({ type: 'list', list });
                     message.success('移交成功');
                 }else {
-                    console.log(body, res.err || res.data.msg);
+                    console.log(body, (res.err || res.data.msg));
                     message.error('移交失败');
                 }
             }catch(e) {

+ 5 - 5
src/models/dataSourcePolicy.js

@@ -110,7 +110,7 @@ export default {
                     })) : [];
                     yield put({ type: 'list', list });
                 }else {
-                    message.error('请求数据源策略列表失败: ' + res.err || res.data.msg);
+                    message.error('请求数据源策略列表失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -144,7 +144,7 @@ export default {
                     });
                     yield put({ type: 'list', list });
                 }else {
-                    message.error('添加失败: ' + res.err || res.data.msg);
+                    message.error('添加失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -173,7 +173,7 @@ export default {
                 if(!res.err && res.data.code > 0) {
                     yield put({ type: 'modify', policy });
                 }else {
-                    message.error('修改失败: ' + res.err || res.data.msg);
+                    message.error('修改失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -200,7 +200,7 @@ export default {
                     }
                     yield put({ type: 'list', list });
                 }else {
-                    message.error('删除失败: ' + res.err || res.data.msg);
+                    message.error('删除失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -229,7 +229,7 @@ export default {
                         targets
                     } });
                 }else {
-                    message.error('设置对象失败: ' + res.err || res.data.msg);
+                    message.error('设置对象失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);

+ 3 - 3
src/models/user.js

@@ -38,7 +38,7 @@ export default {
                     }));
                     yield put({ type: 'list', list });
                 }else {
-                    message.error('请求用户列表失败: ' + res.err || res.data.msg);
+                    message.error('请求用户列表失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(e);
@@ -56,8 +56,8 @@ export default {
                 if(!res.err && res.data.code > 0) {
                     message.success('修改成功');
                 }else {
-                    console.log(body, res.err || res.data.msg);
-                    message.error('修改失败: ' + res.err || res.data.msg);
+                    console.log(body, (res.err || res.data.msg));
+                    message.error('修改失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);

+ 8 - 8
src/models/userGroup.js

@@ -108,7 +108,7 @@ export default {
                     yield put({ type: 'list', list: list.sort((a, b) => a.createTime - b.createTime) });
                 }else {
                     console.log(res.err || res.data.msg);
-                    message.error('请求用户组列表失败: ' + res.err || res.data.msg);
+                    message.error('请求用户组列表失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(e);
@@ -138,7 +138,7 @@ export default {
                     yield put({ type: 'resetNewModel' });
                     message.success('新增成功');
                 }else {
-                    message.error('新增失败: ' + res.err || res.data.msg);
+                    message.error('新增失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(e);
@@ -164,7 +164,7 @@ export default {
                     // yield put({ type: 'resetNewModel' });
                     message.success('修改成功');
                 }else {
-                    message.error('修改失败: ' + res.err || res.data.msg);
+                    message.error('修改失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -183,8 +183,8 @@ export default {
                     yield put({ type: 'delete', group });
                     message.success('删除成功');
                 }else {
-                    console.log([group.code], res.err || res.data.msg);
-                    message.error('删除失败: ' + res.err || res.data.msg);
+                    console.log([group.code], (res.err || res.data.msg));
+                    message.error('删除失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log([group.code], e);
@@ -220,7 +220,7 @@ export default {
                     }));
                     yield put({ type: 'setMemberList', groupCode, memberList });
                 }else {
-                    message.error('请求用户组成员列表失败: ' + res.err || res.data.msg);
+                    message.error('请求用户组成员列表失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(groupCode, e);
@@ -243,7 +243,7 @@ export default {
                     yield put({ type: 'remoteMemberList', groupCode: group.code, mandatory: true });
                     yield put({ type: 'setNewModelField', name: 'visibleAddMemberBox', value: false });
                 }else {
-                    message.error('添加失败: ' + res.err || res.data.msg);
+                    message.error('添加失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);
@@ -265,7 +265,7 @@ export default {
                 if(!res.err && res.data.code > 0) {
                     yield put({ type: 'remoteMemberList', groupCode, mandatory: true });
                 }else {
-                    message.error('删除失败: ' + res.err || res.data.msg);
+                    message.error('删除失败: ' + (res.err || res.data.msg));
                 }
             }catch(e) {
                 console.log(body, e);