import {Component} from "react" import React from "react" import {ActivityIndicator, NavBar, Modal} from 'antd-mobile' import {Icon, Row, Col, message} from 'antd' import {Query, Mutation} from "react-apollo" import gql from "graphql-tag" import SingleAddress from "./singleaddress" import {getCookie} from "../../../../utils/cookie" import {userAddressbyprops, delete_address} from "../../../../utils/gql" import './index.css' const alert = Modal.alert class Address extends Component { constructor(props) { super(props) this.state = { single: false, addressID: '', addressChoosed: {} } } componentWillMount() { let state = this.props.history.location.state || '' if (state && state.single) { this.setState({ single: true, addressID: 'add' }) } } changePage = (bool) => { this.setState({ single: bool }) } changeAddress = (address) => { this.setState({ addressID: address.id, addressChoosed: address }) } render() { let {addressChoosed, addressID, single} = this.state let user_id = getCookie('user_id') let navContent = single ? '编辑地址' : '地址管理' return (
} onLeftClick={() => { if(single){ this.changePage(false) }else { this.props.history.go(-2) } }} >{navContent}
{ ({loading, error, data, refetch}) => { if (loading) { return (
) } if (error) { return 'error!' } data = data.userAddressbyprops // console.log('address data',data) let defaultAddress = data.find(data => data.default === 1) || '' return (
{ this.state.single ? : }
) } }
) } } export default Address class AddressRender extends Component { constructor(props) { super(props) this.state = {} } changeOrdersAddress =(address) => { // console.log('address',address,this.props.history) let {history} = this.props let prePage = history.location.state.prePage if(prePage){ sessionStorage.setItem('ordersAddress',JSON.stringify(address)) this.props.history.go(-2) } } deleteAddress = (delete_address, deleteId) => { alert('', `确定要删除这个收货地址吗?`, [ { text: '取消', onPress: () => console.log('cancel') }, { text: '确定', onPress: () => { delete_address({variables:{id:deleteId}}).then((data)=>{ // console.log('delete data',data) let num = data.data.deleteuserAddress.replace(/[^0-9]/ig,"") if(num){ message.success('删除成功') this.props.refetch() } }) } } ]) } render() { let {changePage, changeAddress, shoppingAddress} = this.props return (
{ changePage(true) changeAddress({id: 'add'}) }}>   添加新地址
{ !shoppingAddress.length ?

暂无收货地址

点击下方按钮可新增地址

:'' } { shoppingAddress.length ?
{shoppingAddress.map(address => { return (
this.changeOrdersAddress(address)}> {address.username} {address.telephone}   {address.default ? 默认:'' } {address.province + address.city + address.area + address.address}
{ changePage(true) changeAddress(address) }} />
console.log('error',error)} > {(delete_address,{ loading, error }) => (
{ this.deleteAddress(delete_address,address.id) }} />
)}
) })}
:'' }
) } }