vehicle.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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="vehicleList.length">
  15. <view class="business-card" v-for="(item, index) in vehicleList" :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. saveRunVehicle,
  43. getVehicleListByCondition,
  44. } from '../../api/driver'
  45. export default {
  46. data() {
  47. return {
  48. vehicleList: [],
  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. saveRunVehicle(item).then(res => {
  63. })
  64. let pages = getCurrentPages();
  65. let prevPage = pages[pages.length - 2]; //上一个页面
  66. prevPage.$vm.currentVehicleInfo = item; //重点$vm
  67. uni.navigateBack();
  68. },
  69. //获取车辆选项列表
  70. bindDriver() {
  71. let data = {
  72. keyword: this.keyword || '',
  73. }
  74. getVehicleListByCondition(data).then(res => {
  75. if (res.statusCode == 200) {
  76. this.vehicleList = res.data.data
  77. }
  78. })
  79. },
  80. //搜索列表
  81. searchList() {
  82. this.bindDriver()
  83. },
  84. //跳转添加司机表单
  85. onClickRight() {
  86. uni.navigateTo({
  87. url: '/subpages/driver/add'
  88. })
  89. }
  90. },
  91. }
  92. </script>
  93. <style lang="scss" scoped>
  94. @import '../../common/css/public.scss';
  95. </style>