Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

vehicle-information.vue 3.8KB

2 anos atrás
1 ano atrás
2 anos atrás
1 ano atrás
2 anos atrás
2 anos atrás
2 anos atrás
2 anos atrás
7 meses atrás
1 ano atrás
7 meses atrás
1 ano atrás
2 anos atrás
1 ano atrás
2 anos atrás
1 ano atrás
1 ano atrás
2 anos atrás
1 ano atrás
2 anos atrás
7 meses atrás
1 ano atrás
7 meses atrás
1 ano atrás
2 anos atrás
1 ano atrás
2 anos atrás
2 anos atrás
2 anos atrás
1 ano atrás
2 anos atrás
7 meses atrás
2 anos atrás
1 ano atrás
2 anos atrás
2 anos atrás
1 ano atrás
1 ano atrás
1 ano atrás
1 ano atrás
2 anos atrás
1 ano atrás
1 ano atrás
2 anos atrás
1 ano atrás
2 anos atrás
1 ano atrás
2 anos atrás
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <template>
  2. <view v-if="state.list.length!=0" style="padding-bottom:30rpx ;">
  3. <view class="car-item" v-for="(item,index) in state.list">
  4. <image :src="`${$imgUrl}che.png`" class="car-pic" @click="carDetails(item)"></image>
  5. <view class="car-info" @click="carDetails(item)">
  6. <view class="car-no"><text class="no">{{item.vehiclePlate}}</text><text class="color"
  7. :style="{ background: item.showColor}">{{item.color}}</text></view>
  8. <view class="card-no">卡号:{{item.cardId}}</view>
  9. <view class="card-no">签号:{{item.obuId}}</view>
  10. </view>
  11. <view class="btn-unbind" @click="del(item.vehicleId)">解除绑定</view>
  12. </view>
  13. </view>
  14. <view v-else class="no">暂无车辆信息</view>
  15. </template>
  16. <script lang="ts" setup>
  17. import { reactive } from "vue";
  18. import { request,requestNew } from "@/utils/network/request.js";
  19. import { stringToJson } from "@/utils/network/encryption.js";
  20. import { onLoad } from "@dcloudio/uni-app";
  21. import { selectCarInfo, delCarInfo } from "@/utils/network/api.js";
  22. import { getItem } from "@/utils/storage";
  23. import { vehiclePlateColorPai } from "@/datas/vehiclePlateColor.js";
  24. const state = reactive({
  25. list: ''
  26. })
  27. onLoad((option : any) => {
  28. queryCarMsg();
  29. })
  30. const carDetails = (item) => {
  31. const params = encodeURIComponent(JSON.stringify(item))
  32. uni.navigateTo({
  33. url: `/subpackage/personal-center/car-details?params=${params}`
  34. })
  35. }
  36. const queryCarMsg = () => {
  37. const options = {
  38. type: 2,
  39. data: {
  40. "openId": getItem('openId')
  41. },
  42. method: "POST",
  43. showLoading: true,
  44. };
  45. //调用方式
  46. requestNew(selectCarInfo, options).then((res) => {
  47. console.log("车辆信息:", res)
  48. const data = res.vehicleManages
  49. for (var i = 0; i < data.length; i++) {
  50. for (var j = 0; j < vehiclePlateColorPai.length; j++) {
  51. if (data[i].vehiclePlateColor == vehiclePlateColorPai[j]['id']) {
  52. data[i].color = vehiclePlateColorPai[j]['color']
  53. data[i].showColor = vehiclePlateColorPai[j]['showColor']
  54. }
  55. }
  56. }
  57. console.log("data", data)
  58. state.list = data;
  59. })
  60. .catch((err) => {
  61. });
  62. }
  63. // 删除
  64. const del = (id) => {
  65. uni.showModal({
  66. title: '提示',
  67. content: '是否删除该条车辆信息',
  68. success: function (res) {
  69. if (res.confirm) {
  70. console.log('用户点击确定');
  71. let data = {
  72. vehicleId: id,
  73. openId: getItem('openId')
  74. }
  75. const options = {
  76. type: 2,
  77. data: data,
  78. method: "POST",
  79. showLoading: true,
  80. };
  81. requestNew(delCarInfo, options).then((res) => {
  82. const data = res;
  83. console.log(data)
  84. uni.showToast({
  85. title: "删除成功",
  86. icon: "none"
  87. })
  88. queryCarMsg();
  89. });
  90. } else if (res.cancel) {
  91. console.log('用户点击取消');
  92. }
  93. }
  94. });
  95. }
  96. </script>
  97. <style scoped>
  98. .car-item {
  99. display: flex;
  100. align-items: center;
  101. padding: 36rpx 0;
  102. width: 95%;
  103. margin: 0 auto;
  104. background: #f6f6f6;
  105. border-radius: 16rpx;
  106. padding: 20rpx;
  107. box-sizing: border-box;
  108. margin-top: 30rpx;
  109. }
  110. .car-item .btn-unbind {
  111. border: 1px solid #00B38B;
  112. border-radius: 30rpx;
  113. height: 56rpx;
  114. box-sizing: border-box;
  115. line-height: 56rpx;
  116. font-size: 24rpx;
  117. padding: 0 20rpx;
  118. background: rgba(0, 179, 139, .1);
  119. color: #00B38B;
  120. margin-bottom: 10rpx;
  121. }
  122. .car-pic {
  123. width: 120rpx;
  124. height: 120rpx;
  125. margin-right: 16rpx;
  126. }
  127. .car-info {
  128. display: flex;
  129. flex-direction: column;
  130. flex: 1;
  131. color: #999;
  132. font-size: 22rpx;
  133. }
  134. .car-no {
  135. font-size: 30rpx;
  136. color: #333;
  137. }
  138. .card-no {
  139. margin-top: 14rpx;
  140. }
  141. .no {
  142. text-align: center;
  143. margin: 50rpx auto;
  144. }
  145. .color {
  146. padding: 4rpx 8rpx;
  147. border-radius: 10rpx;
  148. color: white;
  149. background-color: rgb(6, 112, 255);
  150. display: inline-block;
  151. margin-left: 20rpx;
  152. font-size: 24rpx;
  153. }
  154. </style>