qingyiay
2023-10-19 5071cbf55bd73b6d7bb61421fe618666c537a4e2
pages/driver-page/driver-index/driver-index.vue
@@ -4,27 +4,10 @@
         <view class="driver-index-body">
            <!-- 待领取提煤单 -->
            <view class="wait-collection"
               style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/diverbanner.png') no-repeat;background-size:contain">
               style="background: url('https://mx.jzeg.cn:9096/appimg/image/banner/diverbanner.png') no-repeat;background-size:contain">
            </view>
            <!-- 引导页 -->
            <view class="noob-tour"
               v-if="roleType===3&&isFirstLogin">
               <combined-title title="操作指引"></combined-title>
               <u-cell-group>
                  <u-cell title="新手指引"
                     name='1'
                     :clickable="true"
                     @click="noobTour">
                     <u-badge type="primary"
                        value="01"
                        slot='icon'></u-badge>
                     <u-icon slot="value"
                        name="arrow-right"
                        size="30"
                        color="#b8b8b8"></u-icon>
                  </u-cell>
               </u-cell-group>
            </view>
            <noob-tour></noob-tour>
            <view class="collection-form">
               <view class="collection-form-item"
                  v-for="(item, index) in driverBillOfLoadingData.list1"
@@ -79,11 +62,11 @@
                  <view class="fourth-line"
                     @click="qiangDanBtn(item)"
                     v-if="item.carNum - item.taskNum !== 0">
                     <view class="button-img">立即抢单</view>
                     <view class="button-img">立即接单</view>
                  </view>
               </view>
            </view>
            <!-- 抢单提示模态框 -->
            <!-- 接单提示模态框 -->
            <view class="qianDanModel">
               <u-modal :show="qiangDanShow"
                  :title="qiangDanTitle"
@@ -159,14 +142,26 @@
                           <!-- <view class="order-type">{{ item.orderType }}</view> -->
                        </view>
                     </view>
                     <view class="fourth-line"
                        @click="toAppointmentClick(item)">
                        <view class="button-img">立即预约</view>
                     <view class="fourth-line">
                        <view class="button-img"
                           @click.stop="cancelAppoint(item)">
                           请求退单
                        </view>
                        <view class="button-img"
                           @click.stop="toAppointmentClick(item)">立即预约</view>
                     </view>
                  </view>
               </view>
            </view>
            <!-- 请求退单弹窗 -->
            <view class="">
               <u-modal :show="cancelAppointShow"
                  title="退单确认"
                  showCancelButton
                  content="是否确认退单"
                  @confirm="cancelAppointConfirm"
                  @cancel="cancelAppointCancel"></u-modal>
            </view>
            <!-- 已预约提煤单 -->
            <view class="Reserved">
               <combined-title title="已预约提煤单"></combined-title>
@@ -239,12 +234,6 @@
                  </view>
               </view>
               <view class="white-block"></view>
               <!-- 图片预览弹出框 -->
               <view class="previewImage-container">
                  <previewImage ref="previewImage"
                     :imgs="driverTourImgList"
                     :saveBtn='false'></previewImage>
               </view>
            </view>
         </view>
      </view>
@@ -255,12 +244,14 @@
   import { customerId } from '@/utils/status';
   import combinedTitle from '@/components/combined-title/combined-title.vue';
   import previewImage from '@/components/kxj-previewImage/kxj-previewImage.vue';
   import noobTour from '@/components/noobTour/noobTour.vue'
   import { mapState } from 'vuex'
   import { BaseUrl } from '@/api/publicInterface.js'
   export default {
      components: {
         combinedTitle,
         previewImage
         previewImage,
         noobTour
      },
      props: {
         indexdriverBillOfLoadingData: {
@@ -290,9 +281,9 @@
               list2: [],
               list3: []
            },
            // 抢单模态框
            // 接单模态框
            qiangDanShow: false,
            qiangDanTitle: '抢单提示',
            qiangDanTitle: '接单提示',
            qiangDanContent: '',
            qiangDanOrderPlanId: null,
            fleetId: '',
@@ -300,7 +291,9 @@
            customerId: '',
            isFirstLogin: true, //是否是第一次登录
            phone: "",
            isFirstTime: false //是否是登录进入首页,还是别的页面返回 false是登录 true是别的页面
            isFirstTime: false, //是否是登录进入首页,还是别的页面返回 false是登录 true是别的页面
            cancelAppointShow: false, //确认退单弹窗控制
            cancelAppointId: ''
         };
      },
      onShow() {
@@ -317,9 +310,6 @@
         },
         init() {
            this.qiangDanList();
            if (!this.isFirstTime) {
               this.getLogOn()
            }
         },
         // 司机首页列表
         qiangDanList() {
@@ -331,7 +321,7 @@
               this.driverBillOfLoadingData = res.data;
            });
         },
         // 抢单按钮
         // 接单按钮
         qiangDanBtn(value) {
            if (value.tmcCount == '0') {
               this.qiangDan(value.orderPlanId, value.fleetId, value.customerId === null ? '0' : value.customerId,
@@ -342,10 +332,10 @@
               this.customerId = value.customerId === null ? '0' : value.customerId;
               this.xsUserId = value.xsUserId === null ? '0' : value.xsUserId;
               this.qiangDanShow = true;
               this.qiangDanContent = `已抢${value.tmcCount}单,确定抢单?`;
               this.qiangDanContent = `已接${value.tmcCount}单,确定接单?`;
            }
         },
         // 抢单模态框
         // 接单模态框
         qiangDanConfirm() {
            this.qiangDanContent = '';
            this.qiangDanShow = false;
@@ -354,8 +344,11 @@
         qiangDanCancel() {
            this.qiangDanShow = false;
         },
         // 抢单请求
         // 接单请求
         qiangDan(id, fleetId, customerId, xsUserId) {
            uni.showLoading({
               title: '加载中'
            })
            this.$reqPost('qiangDan', {
                  orderPlanId: id,
                  fleetId: fleetId,
@@ -363,17 +356,20 @@
                  xsUserId: xsUserId
               }, 'params')
               .then(res => {
                  uni.hideLoading()
                  if (res.code == 0) {
                     this.$u.toast('抢单成功');
                     this.$u.toast('接单成功');
                  } else {
                     this.$u.toast(res.msg ? res.msg : '抢单失败');
                     this.$u.toast(res.msg ? res.msg : '接单失败');
                  }
               })
               .then(() => {
                  setTimeout(() => {
                     this.qiangDanList();
                  }, 1000);
               });
               }).catch(e => {
                  uni.hideLoading()
               })
         },
         list3CardIconClick(value) {
            uni.navigateTo({
@@ -386,34 +382,41 @@
               url: `/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details?orderPlanId=${name}`
            });
         },
         // 请求退单
         cancelAppoint(item) {
            this.cancelAppointShow = true
            this.cancelAppointId = item.id
         },
         // 退单弹窗确认
         cancelAppointConfirm() {
            this.cancelAppointShow = false
            uni.showLoading({
               title: '加载中'
            })
            this.$reqPost('cancelAppoint', { takeCoalId: this.cancelAppointId }, 'params').then(res => {
               uni.hideLoading()
               if (res.code == 0) {
                  this.$u.toast('退单成功');
               } else {
                  this.$u.toast(res.msg ? res.msg : '退单失败');
               }
            }).then(() => {
               setTimeout(() => {
                  this.qiangDanList();
               }, 1000);
            }).catch(e => {
               uni.hideLoading()
            })
         },
         // 退单弹窗取消
         cancelAppointCancel() {
            this.cancelAppointShow = false
         },
         // 去预约
         toAppointmentClick(value) {
            uni.navigateTo({
               url: `/pages/driver-page/appointment/appointment?takeCoalId=${value.id}&filedId=${value.filedId}&deptId=${value.deptId}&sendDate=${value.sendDate}`
            });
         },
         noobTour() {
            this.$refs.previewImage.open('https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj1.png')
         },
         getLogOn() {
            this.isFirstTime = true
            this.$reqGet('getUserEntity').then(res => {
               this.phone = res.data.phone
            }).then(() => {
               uni.request({
                  url: `${BaseUrl}/admin/log/getLogOnType?phone=${this.phone}`,
                  success: res => {
                     // res.data.data 为1 代表第一次登录  为0取消学习指引 为2 代表存在
                     if (res.data.data === 1) {
                        this.noobTour()
                     } else if (res.data.data === 2) {
                        this.isFirstLogin = true
                     } else {
                        this.isFirstLogin = false
                     }
                  }
               });
            })
         },
      }
   };
@@ -477,24 +480,26 @@
   }
   @mixin fourthLine {
      width: 34%;
      width: 64%;
      height: vww(68);
      display: flex;
      align-items: center;
      position: relative;
      left: vww(203);
      left: vww(102);
      bottom: vww(3);
      .button-img {
         width: 100%;
         height: 100%;
         background: url('https://mx.jzeg.cn:9095/appimg/image/banner/button.png') no-repeat;
         width: vww(122);
         height: vww(41);
         background: url('https://mx.jzeg.cn:9096/appimg/image/banner/button.png') no-repeat;
         background-size: cover;
         font-size: 28rpx;
         font-weight: 300;
         color: #ffffff;
         text-align: center;
         line-height: vww(40);
      }
   }
@@ -564,7 +569,7 @@
                        height: vww(28);
                        line-height: vww(28);
                        text-align: center;
                        background: url('https://mx.jzeg.cn:9095/appimg/image/banner/blueblock.png') no-repeat;
                        background: url('https://mx.jzeg.cn:9096/appimg/image/banner/blueblock.png') no-repeat;
                        background-size: contain;
                        font-size: 30rpx;
                        font-weight: 400;
@@ -607,7 +612,7 @@
                        height: vww(28);
                        line-height: vww(28);
                        text-align: center;
                        background: url('https://mx.jzeg.cn:9095/appimg/image/banner/redblock.png') no-repeat;
                        background: url('https://mx.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat;
                        background-size: contain;
                        font-size: 30rpx;
                        font-weight: 400;
@@ -722,7 +727,7 @@
                  .button-img {
                     width: 100%;
                     height: 100%;
                     background: url('https://mx.jzeg.cn:9095/appimg/image/banner/button.png') no-repeat;
                     background: url('https://mx.jzeg.cn:9096/appimg/image/banner/button.png') no-repeat;
                     background-size: cover;
                     font-size: 28rpx;
                     font-weight: 300;
@@ -775,7 +780,7 @@
                        height: vww(28);
                        line-height: vww(28);
                        text-align: center;
                        background: url('https://mx.jzeg.cn:9095/appimg/image/banner/blueblock.png') no-repeat;
                        background: url('https://mx.jzeg.cn:9096/appimg/image/banner/blueblock.png') no-repeat;
                        background-size: contain;
                        font-size: 30rpx;
                        font-weight: 400;
@@ -811,7 +816,7 @@
                        height: vww(28);
                        line-height: vww(28);
                        text-align: center;
                        background: url('https://mx.jzeg.cn:9095/appimg/image/banner/redblock.png') no-repeat;
                        background: url('https://mx.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat;
                        background-size: contain;
                        font-size: 30rpx;
                        font-weight: 400;
@@ -849,7 +854,7 @@
                        height: vww(28);
                        line-height: vww(28);
                        text-align: center;
                        background: url('https://mx.jzeg.cn:9095/appimg/image/banner/redblock.png') no-repeat;
                        background: url('https://mx.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat;
                        background-size: contain;
                        font-size: 30rpx;
                        font-weight: 400;