Commit a5371ced by zhaochengxiang

调整界面

parent 3acdde74
{ {
"name": "hnyc-data", "name": "data-platform1",
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"dependencies": { "dependencies": {
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
"@testing-library/user-event": "^7.1.2", "@testing-library/user-event": "^7.1.2",
"@typescript-eslint/eslint-plugin": "^2.10.0", "@typescript-eslint/eslint-plugin": "^2.10.0",
"@typescript-eslint/parser": "^2.10.0", "@typescript-eslint/parser": "^2.10.0",
"antd": "^3.26.0", "antd": "3.26.16",
"babel-eslint": "10.1.0", "babel-eslint": "10.1.0",
"babel-jest": "^24.9.0", "babel-jest": "^24.9.0",
"babel-loader": "8.1.0", "babel-loader": "8.1.0",
...@@ -73,7 +73,8 @@ ...@@ -73,7 +73,8 @@
"redux": "^4.0.1", "redux": "^4.0.1",
"redux-saga": "^1.0.5", "redux-saga": "^1.0.5",
"axios": "^0.19.0", "axios": "^0.19.0",
"crypto-js": "^4.0.0" "crypto-js": "^4.0.0",
"moment": "^2.24.0"
}, },
"scripts": { "scripts": {
"start": "node scripts/start.js", "start": "node scripts/start.js",
...@@ -148,5 +149,6 @@ ...@@ -148,5 +149,6 @@
"react-app" "react-app"
] ]
}, },
"proxy": "http://139.198.127.54:18391" "proxy": "http://192.168.0.216:8762",
"homepage": "http://myhost/data-platform1"
} }
...@@ -56,3 +56,35 @@ ...@@ -56,3 +56,35 @@
max-width: 100%; max-width: 100%;
} }
} }
.ant-modal-body {
.ant-descriptions-item-label, .ant-table-column-title {
color: #333 !important;
}
.ant-descriptions-item-content, .ant-table-tbody {
color: #666 !important;
}
.ant-tabs-nav {
color: #999 !important;
}
}
/* 滚动条 */
::-webkit-scrollbar-track-piece {
background-color:#ededed;
}
::-webkit-scrollbar {
width:5px;
height:5px;
}
::-webkit-scrollbar-thumb {
background-color:#bbb;
background-clip:padding-box;
min-height:30px;
}
::-webkit-scrollbar-thumb:hover {
background-color:#bbb;
}
\ No newline at end of file
...@@ -25,6 +25,10 @@ export function* questions(payload) { ...@@ -25,6 +25,10 @@ export function* questions(payload) {
return yield call(service.questions, payload); return yield call(service.questions, payload);
} }
export function* saveQuestion(payload) {
return yield call(service.saveQuestion, payload);
}
export function* domains(payload) { export function* domains(payload) {
return yield call(service.domains, payload); return yield call(service.domains, payload);
} }
...@@ -52,10 +52,10 @@ export const routes = [ ...@@ -52,10 +52,10 @@ export const routes = [
name: 'authorized', name: 'authorized',
text: '已获授权' text: '已获授权'
}, },
{ // {
name: 'question', // name: 'question',
text: '我的问题' // text: '我的问题'
} // }
] ]
}, },
]; ];
......
...@@ -23,6 +23,10 @@ export async function questions(payload) { ...@@ -23,6 +23,10 @@ export async function questions(payload) {
return GetJSON("/questionfeedback/rest/issuetrack/mylist", payload); return GetJSON("/questionfeedback/rest/issuetrack/mylist", payload);
} }
export async function saveQuestion(payload) {
return PostJSON("/questionfeedback/rest/issuetrack/save", payload);
}
export async function domains(payload) { export async function domains(payload) {
return GetJSON(`/authservice/users/${payload.userId}/domains`, payload); return GetJSON(`/authservice/users/${payload.userId}/domains`, payload);
} }
...@@ -4,7 +4,7 @@ import { Redirect } from 'react-router-dom'; ...@@ -4,7 +4,7 @@ import { Redirect } from 'react-router-dom';
import { dispatchLatest, action } from '../model'; import { dispatchLatest, action } from '../model';
import { set_sess_state } from "../model/reducer"; import { set_sess_state } from "../model/reducer";
export const ContextPath = '/data-platform'; export const ContextPath = '/data-platform1';
const routeMap = {}; const routeMap = {};
export const ConvertToRouteMap = function (routes, pPath, pRoute) { export const ConvertToRouteMap = function (routes, pPath, pRoute) {
......
...@@ -109,7 +109,7 @@ const homeMenu = [ ...@@ -109,7 +109,7 @@ const homeMenu = [
{ title: '元数据', img: menuImg2, url: `${ContextPath}/manage/metadata` }, { title: '元数据', img: menuImg2, url: `${ContextPath}/manage/metadata` },
{ title: '数据指标', img: menuImg3, url: `${ContextPath}/manage/indicator` }, { title: '数据指标', img: menuImg3, url: `${ContextPath}/manage/indicator` },
{ title: '数据标准', img: menuImg4, url: `${ContextPath}/manage/standard` }, { title: '数据标准', img: menuImg4, url: `${ContextPath}/manage/standard` },
{ title: '数据质量', img: menuImg5 }, // { title: '数据质量', img: menuImg5 },
]; ];
export class HomeMenu extends Component { export class HomeMenu extends Component {
......
...@@ -14,7 +14,7 @@ import { ...@@ -14,7 +14,7 @@ import {
} from 'antd'; } from 'antd';
import { DataDesc, DataPreview, DataDetail, ApplyDesc } from './AssetListHelper'; import { DataDesc, DataPreview, DataDetail, ApplyDesc } from './AssetListHelper';
import styles from '../style.less'; import '../style.less';
import { dispatch, dispatchLatest } from '../../../../model'; import { dispatch, dispatchLatest } from '../../../../model';
const { Text } = Typography; const { Text } = Typography;
...@@ -185,7 +185,7 @@ class AssetListCOM extends Component { ...@@ -185,7 +185,7 @@ class AssetListCOM extends Component {
</Row> </Row>
<Row> <Row>
<Col md={18}> <Col md={18}>
<Text>资产摘要</Text> <Text>资产备注</Text>
<span dangerouslySetInnerHTML={{ __html: item.remarks }} /> <span dangerouslySetInnerHTML={{ __html: item.remarks }} />
</Col> </Col>
<Col md={6}> <Col md={6}>
...@@ -259,7 +259,7 @@ class AssetListCOM extends Component { ...@@ -259,7 +259,7 @@ class AssetListCOM extends Component {
return ( return (
<React.Fragment> <React.Fragment>
<List <List
className={styles['asset-list']} className='asset-list'
loading={loading} loading={loading}
itemLayout="vertical" itemLayout="vertical"
dataSource={tableModels || []} dataSource={tableModels || []}
......
import React, { Component, Fragment, useState } from 'react'; import React, { Component, Fragment, useState } from 'react';
import { Table, Descriptions, Icon, Row, Col, Input, Checkbox, Divider, Pagination, Form, DatePicker, Button, message } from 'antd'; import { Table, Descriptions, Row, Col, Input, Checkbox, Divider, Pagination, Form, DatePicker, Button, message } from 'antd';
import classnames from 'classnames'; import classnames from 'classnames';
import { CheckOutlined } from '@ant-design/icons';
import { paginate } from '../../../../util'; import { paginate } from '../../../../util';
...@@ -11,7 +12,7 @@ const despColumns = [ ...@@ -11,7 +12,7 @@ const despColumns = [
{ {
key: 'privileged', key: 'privileged',
title: '已授权', title: '已授权',
render: (val) => (val === true ? <Icon type="key" /> : <span></span>), render: (val) => (val.privileged === true ? <CheckOutlined className='text-primary' /> : <span></span>),
}, },
{ key: 'ordinalPosition', dataIndex: 'ordinalPosition', title: '序号' }, { key: 'ordinalPosition', dataIndex: 'ordinalPosition', title: '序号' },
{ key: 'name', dataIndex: 'name', title: '名称' }, { key: 'name', dataIndex: 'name', title: '名称' },
...@@ -58,6 +59,7 @@ export const DataDesc = ({ dataDesc }) => { ...@@ -58,6 +59,7 @@ export const DataDesc = ({ dataDesc }) => {
pageSize={pageSize} pageSize={pageSize}
defaultCurrent={1} defaultCurrent={1}
total={dataDesc.columns.length} total={dataDesc.columns.length}
showTotal={total => `共 ${total} 条`}
/> />
)} )}
</Fragment> </Fragment>
...@@ -239,6 +241,7 @@ const ApplyDescFunc = ({ dataDesc, form, apply }) => { ...@@ -239,6 +241,7 @@ const ApplyDescFunc = ({ dataDesc, form, apply }) => {
pageSize={pageSize} pageSize={pageSize}
defaultCurrent={1} defaultCurrent={1}
total={dataDesc.columns.length} total={dataDesc.columns.length}
showTotal={total => `共 ${total} 条`}
/> />
)} )}
<Divider /> <Divider />
......
import React, { Component } from "react" import React, { Component } from "react"
import { Tree, Card, Spin } from 'antd'; import { Tree, Card, Spin } from 'antd';
import '../style.less';
const { TreeNode } = Tree; const { TreeNode } = Tree;
class AssetTreeCOM extends Component { class AssetTreeCOM extends Component {
...@@ -36,7 +38,7 @@ class AssetTreeCOM extends Component { ...@@ -36,7 +38,7 @@ class AssetTreeCOM extends Component {
return []; return [];
}; };
return ( return (
<Card bordered={false} > <Card bordered={false} className="asset-tree">
{treeData ? ( {treeData ? (
<Tree <Tree
defaultExpandedKeys={['0-0']} defaultExpandedKeys={['0-0']}
......
...@@ -5,6 +5,7 @@ import AssetTreeCOM from './components/AssetTree'; ...@@ -5,6 +5,7 @@ import AssetTreeCOM from './components/AssetTree';
import AssetListCOM from './components/AssetList'; import AssetListCOM from './components/AssetList';
import { dispatchLatest } from '../../../model'; import { dispatchLatest } from '../../../model';
import PageHeaderWrapper from '../../../layout/PageHeaderWrapper'; import PageHeaderWrapper from '../../../layout/PageHeaderWrapper';
import './style.less';
const { Search } = Input; const { Search } = Input;
...@@ -75,12 +76,12 @@ class Assets extends Component { ...@@ -75,12 +76,12 @@ class Assets extends Component {
/> />
} }
> >
<Row gutter={16}> <Row gutter={16} className="manage-asset">
<Col md={6}> <Col md={6}>
<AssetTreeCOM treeData={treeData} onSelect={this.getList} /> <AssetTreeCOM treeData={treeData} onSelect={this.getList} />
</Col> </Col>
<Col md={18}> <Col md={18}>
<Card bordered={false}> <Card bordered={false} className='asset-table'>
<AssetListCOM <AssetListCOM
loading={loading} loading={loading}
tableModels={items} tableModels={items}
...@@ -100,6 +101,7 @@ class Assets extends Component { ...@@ -100,6 +101,7 @@ class Assets extends Component {
pageSize={pageSize} pageSize={pageSize}
defaultCurrent={1} defaultCurrent={1}
total={total} total={total}
showTotal={total => `共 ${total} 条`}
/> />
</Card> </Card>
</Col> </Col>
......
.asset-list :global(.ant-list-item-action) { .asset-list {
height: calc(100vh - 148px - 48px - 42px) !important;
overflow: auto;
margin-bottom: 10px;
& .ant-list-item-action {
text-align: right; text-align: right;
} }
.asset-list :global(.ant-rate) { & .ant-rate {
font-size: 14px; font-size: 14px;
}
}
.asset-table {
height: calc(100vh - 148px);
overflow: auto;
} }
.asset-tree:global(.ant-card) { .asset-tree {
min-height: 300px; height: calc(100vh - 148px);
max-height: calc(100vh - 180px);
overflow: auto; overflow: auto;
border-right: 1px solid #ededed;
} }
.download { .download {
......
...@@ -4,6 +4,7 @@ import { SearchBar } from './components/SearchHelper'; ...@@ -4,6 +4,7 @@ import { SearchBar } from './components/SearchHelper';
import AssetListCOM from '../Assets/components/AssetList'; import AssetListCOM from '../Assets/components/AssetList';
import { dispatchLatest } from '../../../model'; import { dispatchLatest } from '../../../model';
import PageHeaderWrapper from '../../../layout/PageHeaderWrapper'; import PageHeaderWrapper from '../../../layout/PageHeaderWrapper';
import './style.less';
class SearchResult extends Component { class SearchResult extends Component {
constructor(props) { constructor(props) {
...@@ -42,7 +43,7 @@ class SearchResult extends Component { ...@@ -42,7 +43,7 @@ class SearchResult extends Component {
const { items, total, pageNum, pageSize, loading, keyword, domain } = this.state; const { items, total, pageNum, pageSize, loading, keyword, domain } = this.state;
return ( return (
<PageHeaderWrapper {...this.props}> <PageHeaderWrapper {...this.props}>
<Card bordered={false}> <Card bordered={false} className="asset-search">
<SearchBar <SearchBar
onChange={this.onSearchBarChange} onChange={this.onSearchBarChange}
{...this.props} {...this.props}
...@@ -66,6 +67,7 @@ class SearchResult extends Component { ...@@ -66,6 +67,7 @@ class SearchResult extends Component {
pageSize={pageSize} pageSize={pageSize}
defaultCurrent={1} defaultCurrent={1}
total={total} total={total}
showTotal={total => `共 ${total} 条`}
/> />
</Card> </Card>
</PageHeaderWrapper> </PageHeaderWrapper>
......
.asset-search {
.asset-list {
height: calc(100vh - 148px - 48px - 42px - 133px) !important;
}
}
\ No newline at end of file
...@@ -9,6 +9,7 @@ import { ...@@ -9,6 +9,7 @@ import {
Tabs Tabs
} from 'antd'; } from 'antd';
import { DataDetail, DataDesc } from "./MetadataListHelper"; import { DataDetail, DataDesc } from "./MetadataListHelper";
import '../style.less';
const { Text } = Typography; const { Text } = Typography;
const { TabPane } = Tabs; const { TabPane } = Tabs;
...@@ -81,6 +82,7 @@ export default class MetadataListCOM extends Component { ...@@ -81,6 +82,7 @@ export default class MetadataListCOM extends Component {
<React.Fragment> <React.Fragment>
<List <List
loading={loading} loading={loading}
className='metadata-list'
itemLayout="vertical" itemLayout="vertical"
dataSource={_tableModels || []} dataSource={_tableModels || []}
renderItem={item => ( renderItem={item => (
......
...@@ -134,7 +134,7 @@ class MetadataTreeCOM extends Component { ...@@ -134,7 +134,7 @@ class MetadataTreeCOM extends Component {
render() { render() {
const { treeData, expandedKeys, selectedKeys, domains, currentDomainValue } = this.state; const { treeData, expandedKeys, selectedKeys, domains, currentDomainValue } = this.state;
return ( return (
<Card bordered={false} > <Card bordered={false} className="metadata-tree">
<Row style={{ marginBottom: '16px' }}> <Row style={{ marginBottom: '16px' }}>
<Select <Select
style={{ width: '100%' }} style={{ width: '100%' }}
...@@ -152,7 +152,6 @@ class MetadataTreeCOM extends Component { ...@@ -152,7 +152,6 @@ class MetadataTreeCOM extends Component {
<Row> <Row>
{treeData ? ( {treeData ? (
<Tree <Tree
className="metadata-tree"
showLine showLine
expandedKeys={expandedKeys} expandedKeys={expandedKeys}
selectedKeys={selectedKeys} selectedKeys={selectedKeys}
......
...@@ -54,7 +54,6 @@ export default class Indicator extends Component { ...@@ -54,7 +54,6 @@ export default class Indicator extends Component {
return ( return (
<PageHeaderWrapper <PageHeaderWrapper
{...this.props} {...this.props}
className="indicator-container"
extra={ extra={
<Search <Search
placeholder="请输入" placeholder="请输入"
...@@ -67,7 +66,7 @@ export default class Indicator extends Component { ...@@ -67,7 +66,7 @@ export default class Indicator extends Component {
/> />
} }
> >
<Row gutter={16}> <Row gutter={16} className="indicator-container" >
<Col md={6}> <Col md={6}>
<MetadataTreeCOM type="IndicatorCatalog" onSelect={this.onTreeSelect} /> <MetadataTreeCOM type="IndicatorCatalog" onSelect={this.onTreeSelect} />
</Col> </Col>
...@@ -91,6 +90,7 @@ export default class Indicator extends Component { ...@@ -91,6 +90,7 @@ export default class Indicator extends Component {
pageSize={pageSize} pageSize={pageSize}
defaultCurrent={1} defaultCurrent={1}
total={total} total={total}
showTotal={total => `共 ${total} 条`}
/> />
</Card> </Card>
</Col> </Col>
......
.indicator-container { .metadata-tree {
.metadata-tree { height: calc(100vh - 148px);
min-height: 300px;
max-height: calc(100vh - 180px);
overflow: auto; overflow: auto;
} }
.metadata-list {
height: calc(100vh - 148px - 48px - 42px) !important;
overflow: auto;
margin-bottom: 10px;
} }
\ No newline at end of file
...@@ -89,6 +89,7 @@ export default class Standard extends Component { ...@@ -89,6 +89,7 @@ export default class Standard extends Component {
pageSize={pageSize} pageSize={pageSize}
defaultCurrent={1} defaultCurrent={1}
total={total} total={total}
showTotal={total => `共 ${total} 条`}
/> />
</Card> </Card>
</Col> </Col>
......
import React, { Component } from "react"; import React, { Component } from "react";
import { Card, Form, Icon, Input, Button, message } from 'antd'; import { Card, Form, Input, Button, message, Icon } from 'antd';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
......
...@@ -61,6 +61,7 @@ export default class Authorized extends Component { ...@@ -61,6 +61,7 @@ export default class Authorized extends Component {
pageSize={pageSize} pageSize={pageSize}
defaultCurrent={1} defaultCurrent={1}
total={items.length} total={items.length}
showTotal={total => `共 ${total} 条`}
/> />
</Card> </Card>
</PageHeaderWrapper> </PageHeaderWrapper>
......
import React, { Component } from "react";
import { Form, Input, DatePicker, Select } from 'antd';
import moment from 'moment';
const { Option } = Select;
function range(start, end) {
const result = [];
for (let i = start; i < end; i++) {
result.push(i);
}
return result;
}
class QuestionDetail extends Component {
handleDisabledDate = (current) => {
const { questionItem } = this.props;
return current < moment(questionItem.problemFoundDate);
}
handleDisabledTime = (current) => {
const { questionItem } = this.props;
const _foundDate = moment(questionItem.problemFoundDate);
if (_foundDate.isSame(current, 'day')) {
const hours = _foundDate.hour();
return {
disabledHours: () => range(0, hours),
};
}
return {};
}
render() {
const { questionItem } = this.props;
const { getFieldDecorator } = this.props.form;
const layout = {
labelCol: {
span: 6,
},
wrapperCol: {
span: 18,
},
};
const dateFormat = 'YYYY/MM/DD HH:mm:ss';
let remainTime = '';
if (questionItem.completeTime) {
remainTime = `${moment(questionItem.completeTime).diff(questionItem.problemFoundDate, 'days', true).toFixed(1)}天`;
} else {
remainTime = `${moment().diff(questionItem.problemFoundDate, 'days', true).toFixed(1)}天`;
}
return (
<Form {...layout} name="basic">
<Form.Item label="项目编号">
{getFieldDecorator('itemNo', {
initialValue: questionItem.itemNo||'',
})(<Input disabled />)}
</Form.Item>
<Form.Item label="项目名称">
{getFieldDecorator('projectName', {
initialValue: questionItem.projectName||'',
})(<Input disabled />)}
</Form.Item>
<Form.Item label="融资金额">
{getFieldDecorator('financeAmount', {
initialValue: questionItem.financeAmount||'',
})(<Input disabled />)}
</Form.Item>
<Form.Item label="问题描述">
{getFieldDecorator('problemDesc', {
initialValue: questionItem.problemDesc||'',
})(<Input disabled />)}
</Form.Item>
<Form.Item label="项目经理">
{getFieldDecorator('projectManager', {
initialValue: questionItem.projectManager||'',
})(<Input disabled />)}
</Form.Item>
<Form.Item label="项目团队">
{getFieldDecorator('projectTeam', {
initialValue: questionItem.projectTeam||'',
})(<Input disabled />)}
</Form.Item>
<Form.Item label="发现问题日期">
{getFieldDecorator('problemFoundDate', {
initialValue: moment(moment(questionItem.problemFoundDate||''),dateFormat),
})(<DatePicker
showTime
format={dateFormat}
disabled />)}
</Form.Item>
<Form.Item label="停留时间">
{getFieldDecorator('remainTime', {
initialValue: remainTime,
})(<Input disabled />)}
</Form.Item>
<Form.Item label="完成时间">
{getFieldDecorator('completeTime', {
initialValue: moment(moment(questionItem.completeTime||''),dateFormat),
})(<DatePicker
showTime
format={dateFormat}
disabledDate={this.handleDisabledDate}
disabledTime={this.handleDisabledTime} />)}
</Form.Item>
<Form.Item label="完成情况">
{getFieldDecorator('performance', {
initialValue: questionItem.performance,dateFormat,
rules: [
{
required: true,
message: '请选择',
},
],
})(<Select>
<Option value="confirm">确认问题</Option>
<Option value="dealing">正在解决</Option>
<Option value="solve">解决问题</Option>
</Select> )}
</Form.Item>
<Form.Item label="完成描述" name="solveDesc">
{getFieldDecorator('solveDesc', {
initialValue: questionItem.solveDesc||'',
})(<Input.TextArea placeholder="请输入完成描述" autoSize /> )}
</Form.Item>
</Form>
);
}
}
export default Form.create({ name: "question_datail"})(QuestionDetail);
import React, { Component } from "react"; import React, { Component } from "react";
import { Card, Table, Radio, Pagination, Input, Button } from 'antd'; import { Card, Table, Radio, Pagination, Input, Button, Modal } from 'antd';
import { dispatchLatest } from '../../../model'; import { dispatchLatest, dispatch } from '../../../model';
import PageHeaderWrapper from '../../../layout/PageHeaderWrapper'; import PageHeaderWrapper from '../../../layout/PageHeaderWrapper';
import QuestionDetail from './components/QuestionDetail';
export default class Question extends Component { export default class Question extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.formRef = React.createRef()
this.state = { this.state = {
items: null, items: null,
loading: false, loading: false,
...@@ -48,7 +52,9 @@ export default class Question extends Component { ...@@ -48,7 +52,9 @@ export default class Question extends Component {
</Button> </Button>
), ),
}, },
] ],
questionItem: null,
showModal: false,
}; };
} }
...@@ -96,11 +102,42 @@ export default class Question extends Component { ...@@ -96,11 +102,42 @@ export default class Question extends Component {
} }
onQuestionUpdate = (record) => { onQuestionUpdate = (record) => {
this.setState({ showModal: true, questionItem: record });
};
onQuestionDetailOK = (e) => {
const { questionItem, type, keyword, pageNum, pageSize } = this.state;
const _this = this;
this.formRef.current.validateFields((err, values) => {
if (!err) {
const _item = {
...questionItem,
performance: values.performance,
completeTime: values.completeTime,
remainTime: values.remainTime,
solveDesc: values.solveDesc,
}; };
console.log(_item);
dispatch({
type: 'user.saveQuestion',
payload: _item,
callback: data => {
console.log('save question success');
_this.formRef.current.resetFields();
_this.setState({ showModal: false });
_this.getList(type, keyword, pageNum, pageSize);
}
})
}
});
}
render() { render() {
const { keyword, type, loading, columns, items, pageNum, pageSize, total } = this.state; const { keyword, type, loading, columns, items, pageNum, pageSize, total, questionItem, showModal } = this.state;
return ( return (
<PageHeaderWrapper {...this.props}> <PageHeaderWrapper {...this.props}>
<Card <Card
...@@ -133,7 +170,7 @@ export default class Question extends Component { ...@@ -133,7 +170,7 @@ export default class Question extends Component {
loading={loading} loading={loading}
/> />
<Pagination <Pagination
className="text-center" className="text-center mt-3"
showSizeChanger showSizeChanger
showQuickJumper showQuickJumper
onChange={(_pageNum, _pageSize) => { onChange={(_pageNum, _pageSize) => {
...@@ -146,9 +183,25 @@ export default class Question extends Component { ...@@ -146,9 +183,25 @@ export default class Question extends Component {
pageSize={pageSize} pageSize={pageSize}
defaultCurrent={1} defaultCurrent={1}
total={total} total={total}
showTotal={total => `共 ${total} 条`}
/> />
</Card> </Card>
{questionItem && (
<Modal
className="modal-lg"
title="更新我的问题"
visible={showModal}
width="520px"
onCancel={e => {
this.setState({ showModal: false });
}}
onOk={this.onQuestionDetailOK}
>
<QuestionDetail ref={this.formRef} questionItem={questionItem} />
</Modal>
)}
</PageHeaderWrapper> </PageHeaderWrapper>
); );
} }
......
...@@ -61,6 +61,7 @@ export default class Subscrible extends Component { ...@@ -61,6 +61,7 @@ export default class Subscrible extends Component {
pageSize={pageSize} pageSize={pageSize}
defaultCurrent={1} defaultCurrent={1}
total={items.length} total={items.length}
showTotal={total => `共 ${total} 条`}
/> />
</Card> </Card>
</PageHeaderWrapper> </PageHeaderWrapper>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment