driverVehicle.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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. <text class="info">No {{item.phone || ''}}</text>
  20. </view>
  21. <view class="info-line" v-if="item.vehicleType==1">
  22. <text class="lebel">{{item.vehicle}} {{item.driver || ''}}</text>
  23. <text class="info">{{$t("driver.fleet")}} {{item.fleetName || ''}}</text>
  24. </view>
  25. <view class="businessStatus-info">
  26. <u--image width="100rpx" height="88rpx"
  27. :src="item.vehicleType==1?'/subpages/static/czzn-img/state/fleet_vehicle.png':'/subpages/static/czzn-img/state/private-vehicle.png'">
  28. </u--image>
  29. </view>
  30. </view>
  31. </view>
  32. </template>
  33. <template v-else>
  34. <u-empty mode="list" icon="https://cdn.uviewui.com/uview/empty/list.png">
  35. </u-empty>
  36. </template>
  37. </view>
  38. <uni-fab ref="fab" buttonColor="#3c9cff" @trigger="trigger" @fabClick="onClickRight" />
  39. </view>
  40. </template>
  41. <script>
  42. import {
  43. getDriverVehicleList,
  44. } from '../../api/dealer'
  45. export default {
  46. data() {
  47. return {
  48. driverList: [],
  49. keyword: '',
  50. status: undefined,
  51. }
  52. },
  53. onShow() {
  54. this.bindDriver()
  55. },
  56. onLoad(option) {
  57. this.status = option.status;
  58. },
  59. methods: {
  60. //点击司机返回
  61. onClickDriver(item) {
  62. let pages = getCurrentPages();
  63. console.log("获取到司机信息、", item, this.status);
  64. let prevPage = pages[pages.length - 2]; //上一个页面
  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. } else {
  71. prevPage.$vm.orderForm.vehicle = item.vehicle; //重点$vm
  72. prevPage.$vm.orderForm.driver = item.driver; //重点$vm
  73. prevPage.$vm.orderForm.phone = item.phone; //重点$vm
  74. prevPage.$vm.orderForm.driverId = item.driverVehicleId; //重点$vm
  75. }
  76. uni.navigateBack();
  77. },
  78. //获取车辆选项列表
  79. bindDriver() {
  80. var that = this;
  81. let json = {
  82. vehicleType: "0",
  83. keyword: this.keyword,
  84. appUserType: 3
  85. };
  86. getDriverVehicleList(json).then(res => {
  87. if (res.statusCode == 200) {
  88. that.driverList = res.data.data
  89. console.log("获取到司机列表", that.driverList);
  90. }
  91. })
  92. },
  93. //搜索列表
  94. searchList() {
  95. this.bindDriver()
  96. },
  97. //跳转添加司机表单
  98. onClickRight() {
  99. uni.navigateTo({
  100. url: '/subpages/driver/add?vehicleType=0'
  101. })
  102. }
  103. },
  104. }
  105. </script>
  106. <style lang="scss" scoped>
  107. @import '../../common/css/public.scss';
  108. </style>