k94314517
2024-10-16 17efddc6a667670dca682bf36b51a43e99615e6d
h5/pages/driver/index.vue
@@ -11,21 +11,22 @@
         <image class="banner" src="../../static/driver/wuliuche_banner@2x.png" mode="widthFix"></image>
      </view>
      <!--  -->
      <view class="task_list">
      <view v-if="taskList && taskList.length > 0" class="task_list">
         <swiper circular class="task_swiper">
            <swiper-item v-for="item in taskList" :key="item.id">
            <swiper-item v-for="item in taskList" :key="item.id" @click="taskClick(item)">
               <view class="item">
                  <view class="head">
                     <view class="name">运输单{{ item.contractNum }}</view>
                     <view class="name">运输单{{ item.billCode }}</view>
                     <view class="status">
                        <view class="text" v-if="item.status == 0">请确认任务</view>
                        <view class="text" v-if="item.status == 1">请于{{item.arriveDate.slice(5,11)}}现场签到</view>
                        <view class="text" v-if="item.status == 2">前方排队:{{item.lineUpNum}}辆</view>
                        <view class="text" v-if="item.status == 3">请入园进入等待区</view>
                        <view class="text" v-if="item.status == 4">请入园停靠1号月台作业</view>
                        <view class="text" v-if="item.status == 5">1号月台作业中</view>
                        <view class="text" v-if="item.status == 4">请入园停靠{{item.platformName}}作业</view>
                        <view class="text" v-if="item.status == 5">{{item.platformName}}作业中</view>
                        <view class="text" v-if="item.status == 6">作业已完成</view>
                        <view class="time" v-if="item.waitTime">{{ item.waitTime }}</view>
                        <view class="time" v-if="item.waitTime && item.status == 2">{{ item.waitTime }}</view>
                        <view class="time" v-if="item.finishTimeStr && item.status == 5">{{ item.finishTimeStr }}</view>
                     </view>
                  </view>
                  <view class="content">
@@ -40,10 +41,11 @@
                        </view>
                     </view>
                     <view class="sub">
                        <view class="time" v-if="item.arriveDate">{{ item.arriveDate.slice(5) }}</view>
                        <view v-if="item.status == 0" class="sub_btn" @click="handleTask(item)">确认任务</view>
                        <view v-if="item.status == 1" class="sub_btn" @click="handleSign(item)">立即签到</view>
                        <view v-if="item.status == 2" class="sub_btn" @click="handleQueup(item)">查看排队</view>
                        <view class="time" v-if="item.arriveDate && item.type == 4">{{ item.arriveDate.slice(5) }}</view>
                        <view class="time" v-if="item.type != 4 && item.platformWmsJob && item.platformWmsJob.ioCreatedate">{{ item.platformWmsJob.ioCreatedate.slice(5, 19) }}</view>
                        <view v-if="item.status == 0" class="sub_btn">确认任务</view>
                        <view v-if="item.status == 1" class="sub_btn">立即签到</view>
                        <view v-if="item.status == 2" class="sub_btn" @click.stop="handleQueue(item)">查看排队</view>
                     </view>
                  </view>
               </view>
@@ -54,7 +56,7 @@
      <view class="title_wrap"><view class="name">业务办理</view></view>
      <view class="container1">
         <view class="left">
            <view class="img_wrap img1" @click="$jump('/pages/driver/reserved')">
            <view class="img_wrap img1" @click="$jump('/pages/driver/notice')">
               <image src="@/static/driver/wuliu_ic_ruyuanyuyue@2x.png" class="img"></image>
               <view class="h1">入园须知</view>
               <view class="h2">RESERVATION</view>
@@ -101,22 +103,17 @@
         
      };
   },
   created() {
   onShow() {
      this.initData();
   },
   methods: {
      handleSign(item) {
         uni.navigateTo({
            url: '/pages/driver/taskDetail?id=' + item.id
         });
      },
      handleQueup(item) {},
      initData() {
         driverHomeData().then(res => {
            if (res.code == 200) {
               uni.setStorageSync('driverGuide', {
                  bookingTips: res.data.bookingTips,
                  reservationMap: res.data.reservationMap
                  reservationMap: res.data.reservationMap,
                  signDistance: res.data.signDistance
               });
               this.taskList = res.data.platformJobList || []
            }
@@ -129,16 +126,34 @@
            url: '/pages/driver/login'
         });
      },
      handleTask(status) {
         if (status == 1) {
            return uni.navigateTo({
               url: '/pages/driver/taskDetail'
            });
      taskClick(item) {
         const status = item.status
         console.log(item);
         if(status == 0){
            uni.navigateTo({url: '/pages/driver/taskConfirm?id=' + item.id});
         }
         // else if(status == 2){
         //    uni.navigateTo({url:'/pages/driver/queueUp?jobId=' + item.id})
         // }
         else{
            uni.navigateTo({url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}`});
         }
      },
      handleTask(item) {
         uni.navigateTo({
            url: '/pages/driver/taskConfirm'
            url: '/pages/driver/taskConfirm?id=' + item.id
         });
      }
      },
      handleSign(item) {
         uni.navigateTo({
            url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}`
         });
      },
      handleQueue(item) {
         uni.navigateTo({
            url:'/pages/driver/queueUp?jobId=' + item.id
         })
      },
   }
};
</script>
@@ -175,7 +190,7 @@
   position: relative;
   width: 688rpx;
   height: 270rpx;
   margin-bottom: 40rpx;
   margin-bottom: 28rpx;
   .h1 {
      font-weight: bold;
      line-height: 66rpx;
@@ -249,17 +264,17 @@
   }
}
.task_list {
   margin-bottom: 48rpx;
   margin-bottom: 0rpx;
   .task_swiper {
      padding: 16rpx 10rpx;
      height: 320rpx;
      padding: 12rpx 10rpx;
      height: 340rpx;
      width: 730rpx;
      margin-left: -20rpx;
      box-sizing: border-box;
   }
   .item {
      background: #ffffff;
      box-shadow: 0rpx 0rpx 12rpx 0rpx rgba(39, 155, 170, 0.32);
      box-shadow: 0rpx 6rpx 24rpx 0rpx rgba(39, 155, 170, 0.32);
      border-radius: 16rpx;
      height: 280rpx;
      width: 98%;
@@ -306,7 +321,8 @@
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 30rpx 24rpx;
            height: 68rpx;
            padding: 0 30rpx 0;
            .time {
               font-size: 26rpx;
               color: #999999;