chargeOrderDetail.vue 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <script setup lang="ts">
  2. import { chargeOrderStatus, secondToTime, stopType } from '../utils/index'
  3. import router from '@/router'
  4. import { StaticUrl } from '@/config'
  5. const { statusBarHeight, MenuButtonHeight } = storeToRefs(useSysStore())
  6. definePage({
  7. name: 'charge-order-detail',
  8. islogin: true,
  9. style: {
  10. navigationBarTitleText: '订单详情',
  11. navigationStyle: 'custom',
  12. },
  13. })
  14. const orderNo = ref('')
  15. onLoad((options: any) => {
  16. console.log(options, '页面数据')
  17. orderNo.value = options.orderNo
  18. })
  19. onMounted(() => {
  20. getOrderDetail()
  21. })
  22. const chargeOrderDetail = ref<Api.chargeOrderDetail>()
  23. async function getOrderDetail() {
  24. const res = await Apis.charge.orderDetail({ data: { orderNumber: orderNo.value } })
  25. chargeOrderDetail.value = res.data
  26. }
  27. </script>
  28. <template>
  29. <view class="min-h-screen bg-[linear-gradient(90deg,#F1FECC_0%,#EAFEFA_100%)]">
  30. <wd-navbar
  31. title="订单详情" custom-style="background: linear-gradient(90deg, #F1FECC 0%, #EAFEFA 100%);"
  32. :bordered="false" :z-index="999" safe-area-inset-top left-arrow fixed @click-left="router.back()"
  33. />
  34. <view :style="{ paddingTop: `${(Number(statusBarHeight) || 44) + MenuButtonHeight + 12}px` }" />
  35. <view class="box-border px24rpx">
  36. <view class="rounded-16rpx bg-#FFF p-24rpx">
  37. <view class="flex items-center gap-8rpx">
  38. <view>
  39. <image
  40. class="h-40rpx w-40rpx"
  41. :src="`${StaticUrl}/charge-order-number.png`"
  42. />
  43. </view>
  44. <view class="mb-10rpx text-28rpx">
  45. 充电度数
  46. </view>
  47. </view>
  48. <view class="mt-20rpx text-28rpx text-#9ED605 font-bold">
  49. {{ chargeOrderDetail?.totalPower }}度电
  50. </view>
  51. </view>
  52. <view class="mt-20rpx rounded-16rpx bg-#FFF p-24rpx">
  53. <view>
  54. <view class="text-24rpx text-#AAA">
  55. 起始时间
  56. </view>
  57. <view class="mt-20rpx text-32rpx font-bold">
  58. {{ chargeOrderDetail?.startTime }}
  59. </view>
  60. </view>
  61. <view class="mt-28rpx">
  62. <view class="text-24rpx text-#AAA">
  63. 终止时间
  64. </view>
  65. <view class="mt-20rpx text-32rpx font-bold">
  66. {{ chargeOrderDetail?.endTime }}
  67. </view>
  68. </view>
  69. <view class="mt-28rpx">
  70. <view class="text-24rpx text-#AAA">
  71. 终止方式
  72. </view>
  73. <view class="mt-20rpx text-32rpx font-bold">
  74. <!-- 0:用户手动停止充电;1:客户归属地运营商平台停止充电;2:BMS停止充电;3:充电机设备故障;4:连接器断开;其它:自定义 -->
  75. {{ stopType(chargeOrderDetail?.stopMethod) }}
  76. </view>
  77. </view>
  78. </view>
  79. <view class="mt-20rpx rounded-16rpx bg-#FFF p-24rpx">
  80. <view class="flex items-center justify-between">
  81. <view class="text-28rpx font-500">
  82. 订单状态
  83. </view>
  84. <view class="text-28rpx text-#AAA">
  85. {{ chargeOrderStatus(chargeOrderDetail?.status).text || '--' }}
  86. </view>
  87. </view>
  88. <view class="mt-28rpx flex items-center justify-between">
  89. <view class="text-28rpx font-500">
  90. 订单编号
  91. </view>
  92. <view class="text-28rpx text-#AAA">
  93. {{ chargeOrderDetail?.orderNumber }}
  94. </view>
  95. </view>
  96. <view class="mt-28rpx flex items-center justify-between">
  97. <view class="text-28rpx font-500">
  98. 订单时间
  99. </view>
  100. <view class="text-28rpx text-#AAA">
  101. {{ secondToTime(Number(chargeOrderDetail?.chargeTime)) }}
  102. </view>
  103. </view>
  104. <view class="mt-28rpx flex items-center justify-between">
  105. <view class="text-28rpx font-500">
  106. 充电电站
  107. </view>
  108. <view class="text-28rpx text-#AAA">
  109. {{ chargeOrderDetail?.powerStationName || '--' }}
  110. </view>
  111. </view>
  112. <view class="mt-28rpx flex items-center justify-between">
  113. <view class="text-28rpx font-500">
  114. 终端编号
  115. </view>
  116. <view class="text-28rpx text-#AAA">
  117. {{ chargeOrderDetail?.connectorId || '--' }}
  118. </view>
  119. </view>
  120. <view class="mt-28rpx flex items-center justify-between">
  121. <view class="text-28rpx font-500">
  122. 电费
  123. </view>
  124. <view class="text-28rpx text-#AAA">
  125. {{ chargeOrderDetail?.totalMoney }}元
  126. </view>
  127. </view>
  128. <view class="mt-28rpx flex items-center justify-between">
  129. <view class="text-28rpx font-500">
  130. 服务费
  131. </view>
  132. <view class="text-28rpx text-#AAA">
  133. {{ chargeOrderDetail?.realServiceCost }}元
  134. </view>
  135. </view>
  136. <wd-divider />
  137. <!-- <view class="mt-28rpx flex items-center justify-between">
  138. <view class="text-28rpx font-500">
  139. 新用户首单立减
  140. </view>
  141. <view class="text-28rpx text-#F44033">
  142. 0.71元
  143. </view>
  144. </view>
  145. <view class="mt-28rpx flex items-center justify-between">
  146. <view class="text-28rpx font-500">
  147. 优惠立减
  148. </view>
  149. <view class="text-28rpx text-#F44033">
  150. 0.71元
  151. </view>
  152. </view> -->
  153. <view class="mt-28rpx flex items-center justify-between">
  154. <view class="text-28rpx font-500">
  155. 订单金额
  156. </view>
  157. <view class="text-28rpx text-#F44033">
  158. {{ chargeOrderDetail?.actualTotal || '--' }}元
  159. </view>
  160. </view>
  161. <view v-if="(chargeOrderDetail?.memberDiscountAmount ?? 0) > 0" class="mt-28rpx flex items-center justify-between">
  162. <view class="text-24rpx">
  163. {{ chargeOrderDetail?.memberDiscountDesc }}
  164. </view>
  165. <view class="text-24rpx text-#F44033">
  166. - {{ chargeOrderDetail?.memberDiscountAmount || '--' }}元
  167. </view>
  168. </view>
  169. <view class="mt-28rpx flex items-center justify-between">
  170. <view class="text-24rpx">
  171. 积分扣减
  172. </view>
  173. <view class="text-24rpx text-#F44033">
  174. - {{ chargeOrderDetail ? (chargeOrderDetail.actualTotal || 0) - (chargeOrderDetail.platformVolume || 0) : '--' }}元
  175. </view>
  176. </view>
  177. <view class="mt-28rpx flex items-center justify-between">
  178. <view class="text-24rpx">
  179. 平台券
  180. </view>
  181. <view class="text-24rpx text-#F44033">
  182. {{ chargeOrderDetail?.platformVolume || '--' }}元
  183. </view>
  184. </view>
  185. </view>
  186. <view class="mt-20rpx flex items-center gap-12rpx rounded-8rpx bg-[rgba(158_214_5_0.4)] p-[12rpx_24rpx_12rpx_24rpx]">
  187. <view class="h-28rpx w-28rpx rounded-50% bg-#9ED605 text-center text-18rpx text-#FFF line-height-[28rpx]">
  188. !
  189. </view>
  190. <view class="text-24rpx">
  191. 本次充电费用已通过您的积分与市民券抵扣结算
  192. </view>
  193. </view>
  194. </view>
  195. </view>
  196. </template>
  197. <style lang="scss" scoped></style>