소스 검색

Merge branch 'master' into v2

jim 7 년 전
부모
커밋
193aa9f85f

+ 5 - 6
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 (

+ 1 - 1
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) {

+ 11 - 9
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: '',

+ 8 - 6
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: [],

+ 0 - 1
src/components/Login/index.less

@@ -35,7 +35,6 @@
   .getCaptcha {
     display: block;
     width: 100%;
-    height: 42px;
   }
 
   .submit {

+ 2 - 1
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 = {};

+ 5 - 3
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;

+ 2 - 2
src/routes/User/Login.js

@@ -78,7 +78,7 @@ export default class LoginPage extends Component {
           <Tab key="account" tab="账户密码登录">
             {login.status === 'error' &&
               login.type === 'account' &&
-              !login.submitting &&
+              !submitting &&
               this.renderMessage('账户或密码错误(admin/888888)')}
             <UserName name="userName" placeholder="admin/user" />
             <Password name="password" placeholder="888888/123456" />
@@ -86,7 +86,7 @@ export default class LoginPage extends Component {
           <Tab key="mobile" tab="手机号登录">
             {login.status === 'error' &&
               login.type === 'mobile' &&
-              !login.submitting &&
+              !submitting &&
               this.renderMessage('验证码错误')}
             <Mobile name="mobile" />
             <Captcha name="captcha" countDown={120} onGetCaptcha={this.onGetCaptcha} />

+ 11 - 2
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);