You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

rescind-carId-select-list.vue 4.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <template>
  2. <view v-if="state.list && state.list.length > 0">
  3. <view
  4. class="list"
  5. v-for="(item, index) in state.list" :key="index"
  6. @click="goDetails(item)"
  7. >
  8. <view class="car-color">
  9. <text class="yanse">{{ getVehiclePlateColorPai(item.vehicleColor) }}</text>
  10. <image class="car" :src='`${$imgUrl}issuance/car.png`' mode=""></image>
  11. </view>
  12. <view class="content">
  13. <view class="content-top">
  14. <text class="vehiclePlate">{{ item.vehicleNum }}</text>
  15. <text
  16. class="statusdsh"
  17. :class="{
  18. statusdsh: item.orderStep === 'WAITING_AUDIT',
  19. statusbtg: item.orderStep === 'AUDIT_FAIL',
  20. statusywc: item.orderStep === 'COMPLETED',
  21. }"
  22. >
  23. {{ getCodeName('ASS_ORDER_STEP', item.orderStep) }}
  24. </text>
  25. </view>
  26. <view class="content-time">申请时间:{{ item.applyTime }}</view>
  27. </view>
  28. <image class="arrow" :src='`${$imgUrl}issuance/arrow.png`' mode=""></image>
  29. </view>
  30. </view>
  31. <NoDataView v-else text="暂无解除车牌占用订单"></NoDataView>
  32. <!-- <view class="list" @click="goDetails">
  33. <image class="car" src="/static/image/myx.png" mode=""></image>
  34. <view class="content">
  35. <view class="content-top">
  36. <text class="vehiclePlate">贵A12345</text>
  37. <text class="statusbtg">审核不通过</text>
  38. </view>
  39. <view class="content-time">申请时间:2025年02月21日</view>
  40. </view>
  41. <image class="arrow" src="/static/image/myx.png" mode=""></image>
  42. </view>
  43. <view class="list" @click="goDetails">
  44. <image class="car" src="/static/image/myx.png" mode=""></image>
  45. <view class="content">
  46. <view class="content-top">
  47. <text class="vehiclePlate">贵A12345</text>
  48. <text class="statusywc">已完成</text>
  49. </view>
  50. <view class="content-time">申请时间:2025年02月21日</view>
  51. </view>
  52. <image class="arrow" src="/static/image/myx.png" mode=""></image>
  53. </view> -->
  54. </template>
  55. <script setup lang="ts">
  56. import {navTo} from "@/utils/utils";
  57. import { releasePlateaList } from "@/utils/network/api.js";
  58. import {ref, reactive} from "vue";
  59. import {requestNew} from "@/utils/network/request.js";
  60. import { onLoad } from "@dcloudio/uni-app";
  61. import NoDataView from "@/components/no-data-view/no-data-view.vue";
  62. import { getVehiclePlateColorPaiShow, getVehiclePlateColorPai } from "@/datas/vehiclePlateColor";
  63. import { getCodeName } from '@/datas/queryKey.js'
  64. const state = reactive({
  65. list: []
  66. });
  67. const status = [
  68. {label: '待审核', value: 'AUDIT_FAIL'},
  69. {label: '已解除车牌占用', value: 'HANDLED_SUCCESS'},
  70. {label: '已关闭', value: 'UNHANDLED'},
  71. ]
  72. onLoad(() => {
  73. getList()
  74. });
  75. const getList = () => {
  76. const options = {
  77. type: 2,
  78. data: {},
  79. method: "POST",
  80. showLoading: true,
  81. };
  82. requestNew(releasePlateaList, options).then((res) => {
  83. let data = res.assOrders || [];
  84. state.list = data.map(item => {
  85. let vehicleIdArr = item.vehicleId.split('_');
  86. item.vehicleNum = vehicleIdArr[0];
  87. item.vehicleColor = vehicleIdArr[1];
  88. return item
  89. })
  90. });
  91. };
  92. const goDetails = (item) => {
  93. navTo(`/subpackage/after-sale/rescind-carId/rescind-carId-select-details?orderNo=${item.orderNo}`)
  94. }
  95. </script>
  96. <style lang="scss" scoped>
  97. .list{
  98. background: #FFFFFF;
  99. border-radius: 12rpx;
  100. border: 1px solid #FFFFFF;
  101. width: 90%;
  102. margin: 30rpx auto;
  103. padding: 20rpx;
  104. box-sizing: border-box;
  105. display: flex;
  106. align-items: center;
  107. .car-color{
  108. position: relative;
  109. .yanse {
  110. position: absolute;
  111. background: red;
  112. color: white;
  113. border-radius: 15rpx 0 15rpx 0;
  114. text-align: center;
  115. font-size: 24rpx;
  116. top: 0;
  117. left: 0;
  118. padding: 2rpx 6rpx;
  119. background-color: rgb(56,139,252);
  120. }
  121. }
  122. .content{
  123. font-weight: 400;
  124. width: 76%;
  125. margin-left: 20rpx;
  126. .content-top{
  127. margin-bottom: 20rpx;
  128. .vehiclePlate{
  129. font-size: 30rpx;
  130. color: #01243A;
  131. }
  132. // 待审核
  133. .statusdsh{
  134. font-size: 24rpx;
  135. color: #1458E5;
  136. background: #E3ECFF;
  137. border-radius: 6rpx;
  138. border: 1px solid #1458E5;
  139. margin-left: 20rpx;
  140. padding: 6rpx 14rpx;
  141. }
  142. // 不通过
  143. .statusbtg{
  144. font-size: 24rpx;
  145. color: #C2A760;
  146. background: #F8F4E7;
  147. border-radius: 6rpx;
  148. border: 1px solid #C2A760;
  149. margin-left: 20rpx;
  150. padding: 2rpx 4rpx;
  151. }
  152. // 已完成
  153. .statusywc{
  154. font-size: 24rpx;
  155. color: #42D175;
  156. background: #E6FFEF;
  157. border-radius: 6rpx;
  158. border: 1px solid #42D175;
  159. margin-left: 20rpx;
  160. padding: 2rpx 4rpx;
  161. }
  162. }
  163. .content-time{
  164. font-size: 26rpx;
  165. color: #999999;
  166. }
  167. }
  168. .car{
  169. width: 100rpx;
  170. height: 100rpx;
  171. }
  172. .arrow{
  173. width: 18rpx;
  174. height: 34rpx;
  175. }
  176. }
  177. </style>