charge-orderList.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <script setup lang="ts">
  2. import { chargeOrderStatus } from '../../order/order-data'
  3. import router from '@/router'
  4. import { StaticUrl } from '@/config'
  5. defineProps<{
  6. orderList: Api.xsbOrderList[]
  7. }>()
  8. function handleItemClick(item: Api.xsbOrderList) {
  9. const orderNumber = item.orderNumber
  10. if (orderNumber) {
  11. if (item.hbOrderStatus !== 80) {
  12. router.push({
  13. name: 'chargeing',
  14. params: { orderNo: orderNumber },
  15. })
  16. }
  17. else {
  18. router.push({
  19. name: 'charge-order-detail',
  20. params: { orderNo: orderNumber },
  21. })
  22. }
  23. }
  24. else {
  25. console.warn('订单号不存在,无法跳转到详情页')
  26. }
  27. }
  28. </script>
  29. <template>
  30. <view class="">
  31. <view v-for="item in orderList" :key="item.orderNumber" class="mt-20rpx mt20rpx rounded-16rpx bg-#FFF p-24rpx" @click="handleItemClick(item)">
  32. <view class="flex items-center justify-between">
  33. <view>
  34. <view class="text-28rpx font-bold">
  35. {{ item.chargeOrder?.powerStationName }}
  36. </view>
  37. <view class="mt-20rpx text-24rpx text-#AAA">
  38. 订单时间:{{ item.createTime || '未知' }}
  39. </view>
  40. <view class="mt-20rpx text-24rpx text-#AAA">
  41. 终端编号:{{ item.chargeOrder?.connectorId || '未知' }}
  42. </view>
  43. </view>
  44. <view class="text-center text-28rpx">
  45. <image
  46. class="h-64rpx w-64rpx"
  47. :src="`${StaticUrl}/${chargeOrderStatus(item.hbOrderStatus).icon}.png`"
  48. />
  49. <view :style="{ color: chargeOrderStatus(item.hbOrderStatus).color }">
  50. {{ chargeOrderStatus(item.hbOrderStatus).text }}
  51. </view>
  52. </view>
  53. </view>
  54. <view class="my-20rpx h-2rpx w-full bg-#F0F0F0" />
  55. <view class="flex items-center justify-between">
  56. <view class="text-28rpx">
  57. 充电费用:
  58. </view>
  59. <view class="text-32rpx text-#FF6464 font-800">
  60. <text class="text-18rpx">
  61. </text>
  62. {{ item.chargeOrder?.realCost }}
  63. </view>
  64. </view>
  65. </view>
  66. </view>
  67. </template>
  68. <style lang="scss" scoped></style>