my_order.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <view>
  3. <view class="orderWrapper">
  4. <view class="myOrder" v-for="(item, index) in orders" :key="index">
  5. <view class="centerContent" @click="gotoDetail(item.orderId)">
  6. <view>
  7. <text>订单号</text>
  8. <text class="orderDetail">{{item.orderId}}</text>
  9. </view>
  10. <view>
  11. <uni-row>
  12. <uni-col :span="17">
  13. <text>订单内容</text>
  14. <text class="orderDetail">{{item.requireDetail}}</text>
  15. </uni-col>
  16. <uni-col :span="7">
  17. <view>
  18. <text>对方</text>
  19. <text class="orderDetail">{{item.studentName}}</text>
  20. </view>
  21. </uni-col>
  22. </uni-row>
  23. </view>
  24. <view>
  25. <uni-row>
  26. <uni-col :span="17">
  27. <text>日期</text>
  28. <text class="orderDetail">{{item.datetime}}</text>
  29. </uni-col>
  30. <uni-col :span="7">
  31. <view>
  32. <text class="orderDetailStatus">{{item.status}}</text>
  33. </view>
  34. </uni-col>
  35. </uni-row>
  36. </view>
  37. </view>
  38. </view>
  39. </view>
  40. </view>
  41. </template>
  42. <script>
  43. export default {
  44. data() {
  45. return {
  46. orders: []
  47. };
  48. },
  49. created() {
  50. this.getOrdersByUid()
  51. },
  52. methods: {
  53. async getOrdersByUid() {
  54. const { data: result } = await uni.$http.get('/payment/order-info/list/uid')
  55. this.orders = result.data.list
  56. //console.log(this.orders)
  57. //下面的 new Date().getTime(),后面也要改造从服务器取,不用本机时间
  58. for(var i = 0;i < this.orders.length; i++){
  59. let secCount = Math.floor((new Date().getTime() - new Date(this.orders[i].datetime).getTime()) / 1000)
  60. //console.log(secCount)
  61. // 判断支付状态, 15分钟 = 900 秒
  62. if (this.orders[i].status == '未支付' && secCount > 900){
  63. this.orders[i].status = "超时关闭支付"
  64. }
  65. }
  66. },
  67. gotoDetail(id) {
  68. uni.navigateTo({
  69. url: '/subpkg/my/order/my_order_detail?orderId=' + id
  70. })
  71. }
  72. }
  73. }
  74. </script>
  75. <!-- 设置页面背景 -->
  76. <style lang="scss">
  77. page{
  78. height: 100%;
  79. // background-color: #FFF;
  80. }
  81. </style>
  82. <style lang="scss" scoped>
  83. /* 设置页面背景 */
  84. .orderWrapper{
  85. height: 100%;
  86. // background-color: #E2F0D9;
  87. }
  88. .myOrder{
  89. display: flex;
  90. height: 120rpx;
  91. background-color: #FFF;
  92. padding: 20rpx;
  93. font-size: 30rpx;
  94. margin: 10rpx 30rpx;
  95. border-radius: 30rpx;
  96. align-items: center;
  97. justify-content: center;
  98. }
  99. .centerContent {
  100. margin-left: 20rpx;
  101. width: 100%;
  102. }
  103. /* 设置活动内容左边距并加粗 */
  104. .orderDetail,
  105. .orderDetailStatus{
  106. margin-left: 10rpx;
  107. font-weight: bold;
  108. }
  109. /* 设置订单状态的字体颜色 */
  110. .orderDetailStatus{
  111. color: red;
  112. }
  113. </style>