diff --git a/src/components/EditableLinkGroup/index.js b/src/components/EditableLinkGroup/index.js index e230c3dd..2d0b4aa8 100644 --- a/src/components/EditableLinkGroup/index.js +++ b/src/components/EditableLinkGroup/index.js @@ -6,18 +6,17 @@ import styles from './index.less'; // TODO: 添加逻辑 class EditableLinkGroup extends PureComponent { - static defaultProps = { - links: [], - onAdd: () => {}, - linkElement: 'a', - }; - static propTypes = { links: PropTypes.array, onAdd: PropTypes.func, linkElement: PropTypes.oneOfType([PropTypes.func, PropTypes.string]), }; + static defaultProps = { + links: [], + onAdd: () => {}, + linkElement: 'a', + }; render() { const { links, linkElement, onAdd } = this.props; return ( diff --git a/src/components/Ellipsis/index.js b/src/components/Ellipsis/index.js index 891c7203..4fb2c48b 100644 --- a/src/components/Ellipsis/index.js +++ b/src/components/Ellipsis/index.js @@ -20,7 +20,7 @@ const EllipsisText = ({ text, length, tooltip, ...other }) => { if (length - tail.length <= 0) { displayText = ''; } else { - displayText = text.slice(0, length - tail.length); + displayText = text.slice(0, length); } if (tooltip) { diff --git a/src/components/HeaderSearch/index.js b/src/components/HeaderSearch/index.js index 295a837a..855e7ac1 100644 --- a/src/components/HeaderSearch/index.js +++ b/src/components/HeaderSearch/index.js @@ -5,15 +5,6 @@ import classNames from 'classnames'; import styles from './index.less'; export default class HeaderSearch extends PureComponent { - static defaultProps = { - defaultActiveFirstOption: false, - onPressEnter: () => {}, - onSearch: () => {}, - className: '', - placeholder: '', - dataSource: [], - defaultOpen: false, - }; static propTypes = { className: PropTypes.string, placeholder: PropTypes.string, @@ -23,6 +14,17 @@ export default class HeaderSearch extends PureComponent { dataSource: PropTypes.array, defaultOpen: PropTypes.bool, }; + + static defaultProps = { + defaultActiveFirstOption: false, + onPressEnter: () => {}, + onSearch: () => {}, + className: '', + placeholder: '', + dataSource: [], + defaultOpen: false, + }; + state = { searchMode: this.props.defaultOpen, value: '', diff --git a/src/components/Login/index.js b/src/components/Login/index.js index 702c13f1..38317449 100644 --- a/src/components/Login/index.js +++ b/src/components/Login/index.js @@ -9,18 +9,20 @@ import styles from './index.less'; import LoginContext from './loginContext'; class Login extends Component { - static defaultProps = { - className: '', - defaultActiveKey: '', - onTabChange: () => {}, - onSubmit: () => {}, - }; static propTypes = { className: PropTypes.string, defaultActiveKey: PropTypes.string, onTabChange: PropTypes.func, onSubmit: PropTypes.func, }; + + static defaultProps = { + className: '', + defaultActiveKey: '', + onTabChange: () => {}, + onSubmit: () => {}, + }; + state = { type: this.props.defaultActiveKey, tabs: [], diff --git a/src/components/Login/index.less b/src/components/Login/index.less index 2894749b..e0a984cd 100644 --- a/src/components/Login/index.less +++ b/src/components/Login/index.less @@ -35,7 +35,6 @@ .getCaptcha { display: block; width: 100%; - height: 42px; } .submit { diff --git a/src/components/NoticeIcon/index.js b/src/components/NoticeIcon/index.js index b9159152..57321b49 100644 --- a/src/components/NoticeIcon/index.js +++ b/src/components/NoticeIcon/index.js @@ -7,6 +7,8 @@ import styles from './index.less'; const { TabPane } = Tabs; export default class NoticeIcon extends PureComponent { + static Tab = TabPane; + static defaultProps = { onItemClick: () => {}, onPopupVisibleChange: () => {}, @@ -19,7 +21,6 @@ export default class NoticeIcon extends PureComponent { }, emptyImage: 'https://gw.alipayobjects.com/zos/rmsportal/wAhyIChODzsoKIOBHcBk.svg', }; - static Tab = TabPane; constructor(props) { super(props); this.state = {}; diff --git a/src/components/PageHeader/index.less b/src/components/PageHeader/index.less index 2a8c9a6a..13324b97 100644 --- a/src/components/PageHeader/index.less +++ b/src/components/PageHeader/index.less @@ -11,6 +11,7 @@ .row { display: flex; + width: 100%; } .breadcrumb { @@ -66,10 +67,11 @@ .content, .extraContent, .main { - // IE auto is no have height - flex: 1; + flex: 0 1 auto; + } + .main { + width: 100%; } - .title, .action { margin-bottom: 16px; diff --git a/src/routes/User/Login.js b/src/routes/User/Login.js index 5d03da0b..1271588e 100644 --- a/src/routes/User/Login.js +++ b/src/routes/User/Login.js @@ -78,7 +78,7 @@ export default class LoginPage extends Component { {login.status === 'error' && login.type === 'account' && - !login.submitting && + !submitting && this.renderMessage('账户或密码错误(admin/888888)')} @@ -86,7 +86,7 @@ export default class LoginPage extends Component { {login.status === 'error' && login.type === 'mobile' && - !login.submitting && + !submitting && this.renderMessage('验证码错误')} diff --git a/src/utils/utils.js b/src/utils/utils.js index 110e26e1..60d16d16 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -71,14 +71,23 @@ export function getPlainNode(nodeList, parentPath = '') { return arr; } +function accMul(arg1, arg2) { + let m = 0; + const s1 = arg1.toString(); + const s2 = arg2.toString(); + m += s1.split('.').length > 1 ? s1.split('.')[1].length : 0; + m += s2.split('.').length > 1 ? s2.split('.')[1].length : 0; + return (Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) / 10 ** m; +} + export function digitUppercase(n) { const fraction = ['角', '分']; const digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; - const unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']]; + const unit = [['元', '万', '亿'], ['', '拾', '佰', '仟', '万']]; let num = Math.abs(n); let s = ''; fraction.forEach((item, index) => { - s += (digit[Math.floor(num * 10 * 10 ** index) % 10] + item).replace(/零./, ''); + s += (digit[Math.floor(accMul(num, 10 * 10 ** index)) % 10] + item).replace(/零./, ''); }); s = s || '整'; num = Math.floor(num);