Browse Source

Merge branch 'master' into v2

pull/1607/head
jim 8 years ago
parent
commit
193aa9f85f
  1. 11
      src/components/EditableLinkGroup/index.js
  2. 2
      src/components/Ellipsis/index.js
  3. 20
      src/components/HeaderSearch/index.js
  4. 14
      src/components/Login/index.js
  5. 1
      src/components/Login/index.less
  6. 3
      src/components/NoticeIcon/index.js
  7. 8
      src/components/PageHeader/index.less
  8. 4
      src/routes/User/Login.js
  9. 13
      src/utils/utils.js

11
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 (

2
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) {

20
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: '',

14
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: [],

1
src/components/Login/index.less

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

3
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 = {};

8
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;

4
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} />

13
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);

Loading…
Cancel
Save