import React, {Component} from 'react'
import {withRouter} from 'react-router-dom'
import {Row, Col} from 'antd'
import {NavBar, Icon, ActivityIndicator, Button} from 'antd-mobile'
import {Query} from "react-apollo"
import {Mutation} from "react-apollo"
import gql from "graphql-tag"
import classNames from 'classnames'
import {delete_order, orderbyprops, orderProduct_by_props} from "../../../../utils/gql"
import {getCookie} from "../../../../utils/cookie"
import './index.css'
class Display extends Component {
constructor(props) {
super(props)
this.state = {
navTitle: '待付款',
kind: 'pay',
orderStatus: '0'
}
}
componentWillMount() {
let {location} = this.props
if (location && location.state) {
let navTitle = '',
orderStatus = '0'
let kind = location.state.kind
switch (kind) {
case 'pay':
navTitle = '待付款'
orderStatus = '0'
break
case 'ship':
navTitle = '待发货'
orderStatus = '1'
break
case 'unbox':
navTitle = '待收货'
orderStatus = '2'
break
case 'judge':
navTitle = '待评价'
orderStatus = '3'
break
default:
navTitle = '无效页面'
break
}
this.setState({
navTitle,
kind,
orderStatus
})
}
}
render() {
let {navTitle, orderStatus} = this.state
let user_id = getCookie('user_id')
return (
}
onLeftClick={() => {
this.props.history.go(-2)
}}
>{navTitle}
{
({loading, error, data}) => {
if (loading) {
return (
)
}
if (error) {
return 'error!'
}
return (
)
}
}
)
}
}
class DisplayRender extends Component {
constructor(props) {
super(props)
this.state = {}
}
orderCardContentRender = (data) => {
if (data.length === 1) {
return (
{data[0].product_id.name}
)
} else {
return (data.map(data => (
)))
}
}
render() {
let {data, orderStatus, button = true} = this.props
let content = orderStatus === '0' ? '需付款' : '实付款'
return (
{
data.length === 0 ?
:
data.map(order => (
订单号: {order.id}
{
({loading, error, data}) => {
if (loading) {
return (
)
}
if (error) {
return 'error!'
}
data = data.orderProductbyprops
return (
{
button ?
{
this.props.history.push({
pathname: '/my/order/detail',
state: {
data: order
}
})
}}>
{
this.orderCardContentRender(data)
}
:
{
this.orderCardContentRender(data)
}
}
)
}
}
共{order.count}件商品 {content}:
¥{Math.round(order.productTotalPay * 100) / 100}
{
button ?
:
''
}
))
}
)
}
}
const ButtonGroupRender = (props) => {
let {orderStatus, id} = props
let user_id = getCookie('user_id')
switch (orderStatus) {
case '0':
return (
{(delete_order, {loading, error}) => {
if (loading) {
return (
)
}
if (error) {
return 'error!'
}
return (
)
}}
)
case '1':
return (
)
case '2':
return (
)
case '3':
return (
)
default:
return (
ok
)
}
}
export default withRouter(Display)
export {
DisplayRender,
ButtonGroupRender
}