|
|
@@ -5,8 +5,10 @@ import {ActivityIndicator, NavBar} from 'antd-mobile'
|
|
|
import {Icon, Row, Col} from 'antd'
|
|
|
import {Query} from "react-apollo"
|
|
|
import gql from "graphql-tag"
|
|
|
-import './index.css'
|
|
|
+
|
|
|
import SingleAddress from "./singleaddress"
|
|
|
+import {getCookie} from "../../../../utils/cookie"
|
|
|
+import './index.css'
|
|
|
|
|
|
class Address extends Component {
|
|
|
constructor(props) {
|
|
|
@@ -18,6 +20,15 @@ class Address extends Component {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ componentWillMount() {
|
|
|
+ let state = this.props.history.location.state || ''
|
|
|
+ if (state && state.single) {
|
|
|
+ this.setState({
|
|
|
+ single: true
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
changePage = (bool) => {
|
|
|
this.setState({
|
|
|
single: bool
|
|
|
@@ -44,6 +55,8 @@ class Address extends Component {
|
|
|
|
|
|
render() {
|
|
|
let {addressChoosed, addressID} = this.state
|
|
|
+ let user_id = getCookie('user_id')
|
|
|
+
|
|
|
return (
|
|
|
<div>
|
|
|
<div className='navbar'>
|
|
|
@@ -56,7 +69,7 @@ class Address extends Component {
|
|
|
>地址管理</NavBar>
|
|
|
</div>
|
|
|
<div className='content-wrap'>
|
|
|
- <Query query={gql(userAddressbyprops)} variables={{user_id: "obR_j5GbxDfGlOolvSeTdZUwfpKA"}}>
|
|
|
+ <Query query={gql(userAddressbyprops)} variables={{user_id}}>
|
|
|
{
|
|
|
({loading, error, data}) => {
|
|
|
if (loading) {
|
|
|
@@ -76,7 +89,12 @@ class Address extends Component {
|
|
|
<div>
|
|
|
{
|
|
|
this.state.single ?
|
|
|
- <SingleAddress addressID={addressID} addressChoosed={addressChoosed} changePage={this.changePage}/>
|
|
|
+ <SingleAddress
|
|
|
+ addressID={addressID}
|
|
|
+ addressChoosed={addressChoosed}
|
|
|
+ changePage={this.changePage}
|
|
|
+ history={this.props.history}
|
|
|
+ />
|
|
|
:
|
|
|
<AddressRender
|
|
|
defaultAddress={this.getDefaultAddress(data)}
|
|
|
@@ -118,7 +136,7 @@ class AddressRender extends Component {
|
|
|
|
|
|
render() {
|
|
|
let {changePage, changeAddress, defaultAddress, otherAddress} = this.props
|
|
|
- let {username, telephone, province, city, area, address} = defaultAddress
|
|
|
+ let {username, telephone, province, city, area, address} = defaultAddress || {}
|
|
|
|
|
|
return (
|
|
|
<div>
|
|
|
@@ -129,43 +147,18 @@ class AddressRender extends Component {
|
|
|
<Icon type="plus" style={{fontSize: 22, fontWeight: 800}}/>
|
|
|
添加新地址
|
|
|
</div>
|
|
|
-
|
|
|
- <div className='default-address'>
|
|
|
- <div className='address-card'>
|
|
|
- <div className='address-info' onClick={() => this.changeOrdersAddress(defaultAddress)}>
|
|
|
- <Row className='address-username-telephone'>
|
|
|
- <Col span={6} className='address-username ellipsis'>{username}</Col>
|
|
|
- <Col span={14} className='address-phone ellipsis'>{telephone}
|
|
|
- <span className='address-label'>默认</span></Col>
|
|
|
- </Row>
|
|
|
- <Row>
|
|
|
- <Col span={24} className='address-address'>{province + city + area + address}</Col>
|
|
|
- </Row>
|
|
|
- </div>
|
|
|
- <div className='address-edit'>
|
|
|
- <Icon
|
|
|
- type="edit"
|
|
|
- style={{fontSize: 14}}
|
|
|
- onClick={()=>{
|
|
|
- changePage(true)
|
|
|
- changeAddress(address)
|
|
|
- }}
|
|
|
- />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div className='other-address'>
|
|
|
- {otherAddress.map(address => {
|
|
|
- return (
|
|
|
- <div key={address.id} className='address-card'>
|
|
|
- <div className='address-info' onClick={() => this.changeOrdersAddress(address)}>
|
|
|
+ {
|
|
|
+ defaultAddress ?
|
|
|
+ <div className='default-address'>
|
|
|
+ <div className='address-card'>
|
|
|
+ <div className='address-info' onClick={() => this.changeOrdersAddress(defaultAddress)}>
|
|
|
<Row className='address-username-telephone'>
|
|
|
- <Col span={6} className='address-username ellipsis'>{address.username}</Col>
|
|
|
- <Col span={14} className='address-phone ellipsis'>{address.telephone}</Col>
|
|
|
+ <Col span={6} className='address-username ellipsis'>{username}</Col>
|
|
|
+ <Col span={14} className='address-phone ellipsis'>{telephone}
|
|
|
+ <span className='address-label'>默认</span></Col>
|
|
|
</Row>
|
|
|
<Row>
|
|
|
- <Col span={24} className='address-address'>{address.province + address.city + address.area + address.address}</Col>
|
|
|
+ <Col span={24} className='address-address'>{province + city + area + address}</Col>
|
|
|
</Row>
|
|
|
</div>
|
|
|
<div className='address-edit'>
|
|
|
@@ -179,9 +172,38 @@ class AddressRender extends Component {
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
- )
|
|
|
- })}
|
|
|
- </div>
|
|
|
+ </div>:''
|
|
|
+ }
|
|
|
+ {
|
|
|
+ otherAddress.length ?
|
|
|
+ <div className='other-address'>
|
|
|
+ {otherAddress.map(address => {
|
|
|
+ return (
|
|
|
+ <div key={address.id} className='address-card'>
|
|
|
+ <div className='address-info' onClick={() => this.changeOrdersAddress(address)}>
|
|
|
+ <Row className='address-username-telephone'>
|
|
|
+ <Col span={6} className='address-username ellipsis'>{address.username}</Col>
|
|
|
+ <Col span={14} className='address-phone ellipsis'>{address.telephone}</Col>
|
|
|
+ </Row>
|
|
|
+ <Row>
|
|
|
+ <Col span={24} className='address-address'>{address.province + address.city + address.area + address.address}</Col>
|
|
|
+ </Row>
|
|
|
+ </div>
|
|
|
+ <div className='address-edit'>
|
|
|
+ <Icon
|
|
|
+ type="edit"
|
|
|
+ style={{fontSize: 14}}
|
|
|
+ onClick={()=>{
|
|
|
+ changePage(true)
|
|
|
+ changeAddress(address)
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ )
|
|
|
+ })}
|
|
|
+ </div>:''
|
|
|
+ }
|
|
|
</div>
|
|
|
)
|
|
|
}
|