Commit cbd0c8a1 by zhanghaozhe

coupon

parent 23e35a50
...@@ -23,7 +23,8 @@ class Coupon extends PureComponent { ...@@ -23,7 +23,8 @@ class Coupon extends PureComponent {
invalid, invalid,
purpose, purpose,
course_title, course_title,
id id,
selectedCouponId
} = this.props } = this.props
...@@ -40,14 +41,14 @@ class Coupon extends PureComponent { ...@@ -40,14 +41,14 @@ class Coupon extends PureComponent {
{ {
purpose === 'use' && purpose === 'use' &&
<i className={classnames('iconfont icondanseshixintubiao-5', { <i className={classnames('iconfont icondanseshixintubiao-5', {
check: (selected !== undefined && !invalid) && (selected === id) check: (selected && !invalid) && (selectedCouponId === id)
})} })}
/> />
} }
<ul> <ul>
{ {
new Array(19).fill('a').map((item, index) => { new Array(19).fill('a').map((item, index) => {
return <li key={index}></li> return <li key={index}/>
}) })
} }
</ul> </ul>
......
...@@ -46,7 +46,8 @@ const mockData = { ...@@ -46,7 +46,8 @@ const mockData = {
class UseCoupon extends PureComponent { class UseCoupon extends PureComponent {
state = { state = {
selected: 0, selected: true,
selectedCouponId: 0,
exchangeCode: '', exchangeCode: '',
couponList: [], couponList: [],
valid_coupons: [], valid_coupons: [],
...@@ -61,14 +62,21 @@ class UseCoupon extends PureComponent { ...@@ -61,14 +62,21 @@ class UseCoupon extends PureComponent {
case '/my' : case '/my' :
this.getMyCoupons(); this.getMyCoupons();
break; break;
default:
this.getAllCoupons();
} }
} else {
this.getAllCoupons()
} }
} }
select = val => { select = val => {
console.log(val) this.setState(state => {
this.setState({ console.log(state.selected, state.selectedCouponId)
selected: val return {
selected: !state.selected,
selectedCouponId: val
}
}) })
} }
...@@ -104,7 +112,7 @@ class UseCoupon extends PureComponent { ...@@ -104,7 +112,7 @@ class UseCoupon extends PureComponent {
if (data.code === 200) { if (data.code === 200) {
this.setState({ this.setState({
couponList: data.data, couponList: data.data,
selected: data.data[0].id selectedCouponId: data.data[0].id
}) })
} else { } else {
Toast.fail(data.msg) Toast.fail(data.msg)
...@@ -112,11 +120,30 @@ class UseCoupon extends PureComponent { ...@@ -112,11 +120,30 @@ class UseCoupon extends PureComponent {
}) })
} }
getAllCoupons = () => {
http.post(`${api.home}/m/coupon/select`, {course_id: 139})
.then(res => {
const data = res.data
if (data.code === 200) {
this.setState({
valid_coupons: data.data.valid_coupons,
invalid_coupons: data.data.invalid_coupons,
inuse_coupon: data.data.inuse_coupon
})
} else {
Toast.fail(data.msg)
}
})
}
selectCoupon = () => { selectCoupon = () => {
} }
render() { render() {
const {state} = this.props.location
return ( return (
<div className='use-coupon'> <div className='use-coupon'>
<ExchangeaBar onChange={this.handleChange} <ExchangeaBar onChange={this.handleChange}
...@@ -124,9 +151,10 @@ class UseCoupon extends PureComponent { ...@@ -124,9 +151,10 @@ class UseCoupon extends PureComponent {
exchangeCode={this.state.exchangeCode}/> exchangeCode={this.state.exchangeCode}/>
<div className="coupons-area"> <div className="coupons-area">
<Content <Content
coupons={this.state.couponList} coupons={state && state.from && state.from === '/my' ? this.state.couponList : this.state.valid_coupons}
showUseButton={false} showUseButton={false}
selected={this.state.selected} selected={this.state.selected}
selectedCouponId={this.state.selectedCouponId}
select={this.select} select={this.select}
purpose={'use'} purpose={'use'}
/> />
...@@ -138,6 +166,7 @@ class UseCoupon extends PureComponent { ...@@ -138,6 +166,7 @@ class UseCoupon extends PureComponent {
<Content <Content
coupons={this.state.invalid_coupons} coupons={this.state.invalid_coupons}
selected={this.state.selected} selected={this.state.selected}
selectedCouponId={this.state.selectedCouponId}
select={this.select} select={this.select}
purpose={'use'} purpose={'use'}
invalid={'invalid'} invalid={'invalid'}
......
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