index.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import React, {Component} from 'react'
  2. import './index.css'
  3. import {NavBar, Icon, ActivityIndicator} from 'antd-mobile'
  4. import {withRouter} from 'react-router-dom'
  5. import {orderbyprops} from "../../../utils/gql"
  6. import {Query} from "react-apollo"
  7. import gql from "graphql-tag"
  8. class Order extends Component {
  9. constructor(props) {
  10. super(props)
  11. this.state = {
  12. navTitle: '',
  13. page: 'pay',
  14. orderStatus: ''
  15. }
  16. }
  17. componentWillMount() {
  18. let {location} = this.props
  19. if (location && location.state) {
  20. let navTitle = '',
  21. orderStatus = '0'
  22. let page = location.state.page
  23. switch (page) {
  24. case 'pay':
  25. navTitle = '待付款'
  26. orderStatus = '0'
  27. break
  28. case 'ship':
  29. navTitle = '待发货'
  30. orderStatus = '1'
  31. break
  32. case 'unbox':
  33. navTitle = '待收货'
  34. orderStatus = '2'
  35. break
  36. case 'judge':
  37. navTitle = '待评价'
  38. orderStatus = '3'
  39. break
  40. default:
  41. navTitle = '无效页面'
  42. break
  43. }
  44. this.setState({
  45. navTitle,
  46. page,
  47. orderStatus
  48. })
  49. }
  50. }
  51. render() {
  52. let {navTitle, orderStatus} = this.state
  53. return (
  54. <div className='order-wrap'>
  55. <div className='order-navbar-wrap'>
  56. <NavBar
  57. className='order-navbar'
  58. mode="light"
  59. icon={<Icon type="left"/>}
  60. onLeftClick={() => {
  61. this.props.history.push({pathname: '/my/all'})
  62. }}
  63. >{navTitle}</NavBar>
  64. </div>
  65. <Query query={gql(orderbyprops)} variables={{user_id: "obR_j5ILjLjFSuBjj_UymjQjMNZc", orderStatus}}>
  66. {
  67. ({loading, error, data}) => {
  68. if (loading) {
  69. return (
  70. <div className="loading-center">
  71. <ActivityIndicator text="Loading..." size="large"/>
  72. </div>
  73. )
  74. }
  75. if (error) {
  76. return 'error!'
  77. }
  78. return (
  79. <OrderRender data={data.orderbyprops}/>
  80. )
  81. }
  82. }
  83. </Query>
  84. </div>
  85. )
  86. }
  87. }
  88. export default withRouter(Order)
  89. class OrderRender extends Component {
  90. constructor(props) {
  91. super(props)
  92. this.state = {}
  93. }
  94. render() {
  95. let {data} = this.props
  96. console.log(data)
  97. return (
  98. <div>
  99. {
  100. data.map(order=>(
  101. <div key={order.id}>
  102. {order.productTotalPay}
  103. </div>
  104. ))
  105. }
  106. </div>
  107. )
  108. }
  109. }