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(-1)
}
}}
>{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(-1)
}
}
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)
}}
/>
)}
)
})}
:''
}
)
}
}