前端:商品分类列表

This commit is contained in:
YunaiV
2019-03-25 18:46:51 +08:00
parent e9b5adeac3
commit 40e4236af2
12 changed files with 249 additions and 203 deletions

View File

@@ -6,20 +6,20 @@ const GlobalFooter = ({ className, links, copyright }) => {
const clsString = classNames(styles.globalFooter, className);
return (
<footer className={clsString}>
{links && (
<div className={styles.links}>
{links.map(link => (
<a
key={link.key}
title={link.key}
target={link.blankTarget ? '_blank' : '_self'}
href={link.href}
>
{link.title}
</a>
))}
</div>
)}
{/*{links && (*/}
{/*<div className={styles.links}>*/}
{/*{links.map(link => (*/}
{/*<a*/}
{/*key={link.key}*/}
{/*title={link.key}*/}
{/*target={link.blankTarget ? '_blank' : '_self'}*/}
{/*href={link.href}*/}
{/*>*/}
{/*{link.title}*/}
{/*</a>*/}
{/*))}*/}
{/*</div>*/}
{/*)}*/}
{copyright && <div className={styles.copyright}>{copyright}</div>}
</footer>
);

View File

@@ -9,7 +9,7 @@ module.exports = {
menu: {
disableLocal: false,
},
title: 'Ant Design Pro',
title: '小商城管理平台',
pwa: true,
// your iconfont Symbol Scrip Url
// eg//at.alicdn.com/t/font_1039637_btcrd5co4w.js

View File

@@ -29,9 +29,7 @@ const links = [
];
const copyright = (
<Fragment>
Copyright <Icon type="copyright" /> 2018 蚂蚁金服体验技术部出品
</Fragment>
<a href='https://pc.qq.com/detail/1/detail_2661.html'>请使用谷歌浏览器(Chrome)获取最佳用户体验</a>
);
class UserLayout extends Component {
@@ -63,10 +61,10 @@ class UserLayout extends Component {
<div className={styles.header}>
<Link to="/">
<img alt="logo" className={styles.logo} src={logo} />
<span className={styles.title}>后台管理系统</span>
<span className={styles.title}>小商城管理平台</span>
</Link>
</div>
<div className={styles.desc}>TODO....</div>
{/*<div className={styles.desc}>TODO....</div>*/}
</div>
{children}
</div>

View File

@@ -105,7 +105,7 @@ function List ({ dataSource, loading, pagination, searchParams, dispatch,
<a className={styles.tableDelete} onClick={() => handleDelete(record)}>
删除
</a>
</span> : ''
</span> : null
}
</Fragment>
);
@@ -379,13 +379,14 @@ const RoleAssignModal = Form.create()(props => {
);
});
@connect(({ adminList, loading }) => ({
@connect(({ adminList }) => ({
// list: adminList.list,
// pagination: adminList.pagination,
...adminList,
loading: loading.models.resourceList,
}))
// 主界面
@Form.create()
class AdminList extends PureComponent {
state = {
@@ -499,4 +500,4 @@ class AdminList extends PureComponent {
}
}
export default AdminList;
export default AdminList;

View File

@@ -108,62 +108,45 @@ class LoginPage extends Component {
}}
/>
</Tab>
<Tab key="mobile" tab={formatMessage({ id: 'app.login.tab-login-mobile' })}>
{login.status === 'error' &&
login.type === 'mobile' &&
!submitting &&
this.renderMessage(
formatMessage({ id: 'app.login.message-invalid-verification-code' })
)}
<Mobile
name="username"
placeholder={formatMessage({ id: 'form.phone-number.placeholder' })}
rules={[
{
required: true,
message: formatMessage({ id: 'validation.phone-number.required' }),
},
{
pattern: /^1\d{10}$/,
message: formatMessage({ id: 'validation.phone-number.wrong-format' }),
},
]}
/>
<Captcha
name="password"
placeholder={formatMessage({ id: 'form.verification-code.placeholder' })}
countDown={120}
onGetCaptcha={this.onGetCaptcha}
getCaptchaButtonText={formatMessage({ id: 'form.get-captcha' })}
getCaptchaSecondText={formatMessage({ id: 'form.captcha.second' })}
rules={[
{
required: true,
message: formatMessage({ id: 'validation.verification-code.required' }),
},
]}
/>
</Tab>
<div>
<Checkbox checked={autoLogin} onChange={this.changeAutoLogin}>
<FormattedMessage id="app.login.remember-me" />
</Checkbox>
<a style={{ float: 'right' }} href="">
<FormattedMessage id="app.login.forgot-password" />
</a>
</div>
{/*<Tab key="mobile" tab={formatMessage({ id: 'app.login.tab-login-mobile' })}>*/}
{/*{login.status === 'error' &&*/}
{/*login.type === 'mobile' &&*/}
{/*!submitting &&*/}
{/*this.renderMessage(*/}
{/*formatMessage({ id: 'app.login.message-invalid-verification-code' })*/}
{/*)}*/}
{/*<Mobile*/}
{/*name="username"*/}
{/*placeholder={formatMessage({ id: 'form.phone-number.placeholder' })}*/}
{/*rules={[*/}
{/*{*/}
{/*required: true,*/}
{/*message: formatMessage({ id: 'validation.phone-number.required' }),*/}
{/*},*/}
{/*{*/}
{/*pattern: /^1\d{10}$/,*/}
{/*message: formatMessage({ id: 'validation.phone-number.wrong-format' }),*/}
{/*},*/}
{/*]}*/}
{/*/>*/}
{/*<Captcha*/}
{/*name="password"*/}
{/*placeholder={formatMessage({ id: 'form.verification-code.placeholder' })}*/}
{/*countDown={120}*/}
{/*onGetCaptcha={this.onGetCaptcha}*/}
{/*getCaptchaButtonText={formatMessage({ id: 'form.get-captcha' })}*/}
{/*getCaptchaSecondText={formatMessage({ id: 'form.captcha.second' })}*/}
{/*rules={[*/}
{/*{*/}
{/*required: true,*/}
{/*message: formatMessage({ id: 'validation.verification-code.required' }),*/}
{/*},*/}
{/*]}*/}
{/*/>*/}
{/*</Tab>*/}
<Submit loading={submitting}>
<FormattedMessage id="app.login.login" />
</Submit>
<div className={styles.other}>
<FormattedMessage id="app.login.sign-in-with" />
<Icon type="alipay-circle" className={styles.icon} theme="outlined" />
<Icon type="taobao-circle" className={styles.icon} theme="outlined" />
<Icon type="weibo-circle" className={styles.icon} theme="outlined" />
<Link className={styles.register} to="/user/register">
<FormattedMessage id="app.login.signup" />
</Link>
</div>
</Login>
</div>
);

View File

@@ -7,7 +7,7 @@
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"
/>
<title>Ant Design Pro</title>
<title>小商城管理平台</title>
<link rel="icon" href="/favicon.png" type="image/x-icon" />
</head>
<body>