vehicle.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <template>
  2. <view class="enterprise-list">
  3. <view class="list-wrap">
  4. <u-sticky bgColor="#fff" class="main-sticky">
  5. <view class="search-wrap">
  6. <view class="input-wrap">
  7. <u-search bgColor='#fff' :showAction='false' :placeholder="$t('base.common.inputPlaceholder')"
  8. @search="searchList" @clear='searchList' v-model="keyword">
  9. </u-search>
  10. <view class="sx-btn" @click="searchList">{{$t("customer_meter.search")}}</view>
  11. </view>
  12. </view>
  13. </u-sticky>
  14. <template v-if="driverList.length">
  15. <view class="business-card" v-for="(item, index) in driverList" :key="index">
  16. <view class="business-card-info" @click="onClickDriver(item)">
  17. <view class="info-line" v-if="item.vehicleType!=1">
  18. <text class="lebel">{{item.driver}} {{item.vehicle || ''}}</text>
  19. </view>
  20. <view class="info-line" v-if="item.vehicleType==1">
  21. <text class="lebel">{{item.vehicle}} {{item.driver || ''}}</text>
  22. <text class="info">{{$t("driver.fleet")}} {{item.fleetName || ''}}</text>
  23. </view>
  24. <view class="businessStatus-info">
  25. <u--image width="100rpx" height="88rpx"
  26. :src="item.vehicleType==1?'/subpages/static/czzn-img/state/fleet_vehicle.png':'/subpages/static/czzn-img/state/private-vehicle.png'">
  27. </u--image>
  28. </view>
  29. </view>
  30. </view>
  31. </template>
  32. <template v-else>
  33. <u-empty mode="list" icon="https://cdn.uviewui.com/uview/empty/list.png">
  34. </u-empty>
  35. </template>
  36. </view>
  37. <uni-fab ref="fab" buttonColor="#3c9cff" @trigger="trigger" @fabClick="onClickRight" />
  38. </view>
  39. </template>
  40. <script>
  41. import {
  42. getDealerVehicleList,
  43. } from '../../api/dealer'
  44. export default {
  45. data() {
  46. return {
  47. driverList: [],
  48. keyword: '',
  49. status: undefined,
  50. }
  51. },
  52. onShow() {
  53. this.bindDriver()
  54. },
  55. onLoad(option) {
  56. this.status = option.status;
  57. },
  58. methods: {
  59. //点击司机返回
  60. onClickDriver(item) {
  61. let pages = getCurrentPages();
  62. console.log("获取到司机信息、", item, this.status);
  63. let prevPage = pages[pages.length - 2]; //上一个页面
  64. debugger
  65. if (this.status == 1) {
  66. prevPage.$vm.orderForm.batchOrderList[prevPage.$vm.index].vehicle = item.vehicle; //重点$vm
  67. prevPage.$vm.orderForm.batchOrderList[prevPage.$vm.index].driver = item.driver; //重点$vm
  68. prevPage.$vm.orderForm.batchOrderList[prevPage.$vm.index].phone = item.phone; //重点$vm
  69. prevPage.$vm.orderForm.batchOrderList[prevPage.$vm.index].driverId = item.driverVehicleId; //重点$vm
  70. }
  71. else if (this.status == 2) {
  72. prevPage.$vm.vehicle = item.vehicle; //重点$vm
  73. }
  74. else {
  75. prevPage.$vm.orderForm.vehicle = item.vehicle; //重点$vm
  76. prevPage.$vm.orderForm.driver = item.driver; //重点$vm
  77. prevPage.$vm.orderForm.phone = item.phone; //重点$vm
  78. prevPage.$vm.orderForm.driverId = item.driverVehicleId; //重点$vm
  79. prevPage.$vm.orderForm.idcard = item.idCard; //重点$vm
  80. }
  81. uni.navigateBack();
  82. },
  83. //获取车辆选项列表
  84. bindDriver() {
  85. var that = this;
  86. let json = {
  87. vehicleType: "0",
  88. keyword: this.keyword,
  89. appUserType: 3
  90. };
  91. getDealerVehicleList(json).then(res => {
  92. if (res.statusCode == 200) {
  93. that.driverList = res.data.data
  94. console.log("获取到司机列表", that.driverList);
  95. }
  96. })
  97. },
  98. //搜索列表
  99. searchList() {
  100. this.bindDriver()
  101. },
  102. //跳转添加司机表单
  103. onClickRight() {
  104. uni.navigateTo({
  105. url: '/subpages/driver/dealerAddVehicle?vehicleType=0'
  106. })
  107. }
  108. },
  109. }
  110. </script>
  111. <style>
  112. /* #ifndef H5 */
  113. page {
  114. /* height: 100%; */
  115. background-color: #f2f2f2;
  116. }
  117. /* #endif */
  118. </style>
  119. <style lang="scss" scoped>
  120. @import '../../common/css/public.scss';
  121. </style>