yangan
2023-10-30 861126eb21cb2ad937449d6a012f225a5fccad38
pages/driver-page/driver-index/driver-index.vue
@@ -1,115 +1,262 @@
<template>
   <view class="driver-index">
      <view class="driver-index-body">
         <!-- 待领取提煤单 -->
         <combined-title title="待领取"></combined-title>
         <u-empty
            mode="data"
            icon="http://cdn.uviewui.com/uview/empty/data.png"
            textSize="30"
            iconSize="1000"
            v-if="driverBillOfLoadingData.list1 ? (driverBillOfLoadingData.list1.length == 0 ? true : false) : true"
         ></u-empty>
         <card v-for="(item, index) in driverBillOfLoadingData.list1" :key="index" :name="item.id" backgroundType="2">
            <template v-slot:left>
               <view class="card-left__top">
                  <text>{{ item.carNum }}</text>
                  张
               </view>
               <view class="card-left__utils"><u-button @tap.stop="qiangDan(item.orderPlanId)" text="抢单" type="primary" shape="circle"></u-button></view>
            </template>
            <template v-slot:right-top>
               <view class="right-top">
                  <view class="card-right-top-row">
                     <view>
                        <text>{{ item.compName }}</text>
                     </view>
                     <view>
                        <text>{{ item.coalName }}</text>
                     </view>
                  </view>
                  <view class="card-right-top-row">
                     <view>
                        <text>剩余{{ item.carNum - item.taskNum }}张</text>
                     </view>
                  </view>
               </view>
            </template>
         </card>
         <!-- 抢单提示模态框 -->
         <view class="qianDanModel">
            <u-modal :show="qiangDanShow" :title="qiangDanTitle" showCancelButton :content="qiangDanContent" @confirm="qiangDanConfirm" @cancel="qiangDanCancel"></u-modal>
         </view>
         <!-- 待预约提煤单 -->
         <combined-title title="待预约提煤单"></combined-title>
         <u-empty
            mode="data"
            icon="http://cdn.uviewui.com/uview/empty/data.png"
            textSize="30"
            iconSize="1000"
            v-if="driverBillOfLoadingData.list3 ? (driverBillOfLoadingData.list3.length == 0 ? true : false) : true"
         ></u-empty>
         <view>
            <!-- 待预约提煤单 -->
            <view class="daiYuYue" v-for="(item, index) in driverBillOfLoadingData.list3" :key="index">
               <view class="daiYuYueTop">
                  <text>提煤单编号:{{ item.code }}</text>
               </view>
               <view class="daiYuYueTable">
                  <!-- <view>{{ item.deptName }}</view>
                  <view>{{ item.coalName }}</view>
                  <view>已预约:{{ item.cars }} 车</view> -->
                  <uni-table border stripe emptyText="暂无更多数据">
                     <uni-tr>
                        <uni-th align="center">煤场</uni-th>
                        <uni-th align="center">煤种</uni-th>
                        <uni-th align="center">已预约</uni-th>
                     </uni-tr>
                     <uni-tr>
                        <uni-td align="left">{{ item.deptName || '' }}</uni-td>
                        <uni-td align="left">{{ item.coalName || '' }}</uni-td>
                        <uni-td align="left">{{ item.cars || '' }} 车</uni-td>
                     </uni-tr>
                     <uni-tr>
                        <uni-th align="center">发运日期</uni-th>
                        <uni-th align="center">煤场</uni-th>
                        <uni-th align="center">客户</uni-th>
                     </uni-tr>
                     <uni-tr>
                        <uni-td align="left">{{ item.sendDate || '' }}</uni-td>
                        <uni-td align="left">{{ item.filedName || '' }}</uni-td>
                        <uni-td align="left">{{ item.customerName || '' }}</uni-td>
                     </uni-tr>
                  </uni-table>
               </view>
               <view><u-button text="预约" type="primary" @click="toAppointmentClick(item)"></u-button></view>
   <view class="">
      <view class="driver-index">
         <view class="driver-index-body">
            <!-- 待领取通知单 -->
            <view class="wait-collection"
               :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/diverbanner.png)`, backgroundSize: 'contain', backgroundRepeat: 'no-repeat' }">
            </view>
         </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>
            <view class="collection-form">
               <view class="collection-form-item"
                  v-for="(item, index) in driverBillOfLoadingData.list1"
                  :key="index">
                  <view class="main-divider"></view>
                  <view class="first-line">
                     <view class="main-information">
                        <view class="sign">装</view>
                        <view class="filedname exceedHide">
                           <text
                              v-if="item.orderType == '外销' || item.orderType == '内销'  ">{{ item.deptName|| ''  }}</text>
                           <text
                              v-else-if="item.orderType == '外购' || item.orderType == '内购' ">{{ item.customerId?item.customerName:item.customerNameCopy|| ''  }}</text>
                           <text v-else-if="item.orderType == '转出'|| item.orderType == '转入'">{{item.filedName}}
         <!-- 已预约提煤单 -->
         <combined-title title="已预约提煤单"></combined-title>
         <u-empty
            mode="data"
            icon="http://cdn.uviewui.com/uview/empty/data.png"
            textSize="30"
            iconSize="1000"
            v-if="driverBillOfLoadingData.list2 ? (driverBillOfLoadingData.list2.length == 0 ? true : false) : true"
         ></u-empty>
         <view class="">
            <view @click="list3CardIconClick(item)" class="haveYuYue" v-for="(item, index) in driverBillOfLoadingData.list2" :key="index">
               <view class="haveYuYueTop">
                  <text>提煤单编号:{{ item.code || '' }}</text>
                           </text>
                        </view>
                     </view>
                     <view class="point-number">
                        <text class="residue">{{ item.carNum - item.taskNum }}</text>
                        <text>/{{ item.carNum }}</text>
                     </view>
                  </view>
                  <view class="first-extra">
                     <view class="main-information">
                        <view class="sign">卸</view>
                        <view class="filedname exceedHide">
                           <text v-if="item.orderType == '外销' || item.orderType == '内销' ">
                              {{ item.customerNameCopy ? item.customerNameCopy : item.customerName|| ''  }}
                           </text>
                           <text
                              v-else-if="item.orderType == '外购' || item.orderType == '内购' ">{{ item.deptName|| ''  }}</text>
                           <text
                              v-else-if="item.orderType == '转出'|| item.orderType == '转入'">{{item.toFiledName}}
                           </text>
                        </view>
                     </view>
                  </view>
                  <view class="third-line">
                     <view class="time-icon"><u-icon name="clock"
                           color="#515151"
                           size="40"></u-icon></view>
                     <view class="send-date">{{ item.sendDate }}</view>
                     <view class="type">
                        <view class="coal-name">{{ item.coalName }}</view>
                     </view>
                  </view>
                  <view class="fourth-line"
                     @click.stop="qiangDanBtn(item)"
                     v-if="item.carNum - item.taskNum !== 0">
                     <view class="button-img">立即抢单</view>
                  </view>
               </view>
               <view class="haveYuYueCenter">
                  <view>{{ item.deptName || '' }}</view>
                  <view>{{ item.coalName || '' }}</view>
                  <view>排队数:暂无{{}}</view>
            </view>
            <!-- 抢单提示模态框 -->
            <view class="qianDanModel">
               <u-modal :show="qiangDanShow"
                  :title="qiangDanTitle"
                  showCancelButton
                  :content="qiangDanContent"
                  @confirm="qiangDanConfirm"
                  @cancel="qiangDanCancel"></u-modal>
            </view>
            <!-- 待预约通知单 -->
            <view class="wait-appointment">
               <combined-title title="待预约通知单"></combined-title>
               <u-empty mode="data"
                  icon="http://cdn.uviewui.com/uview/empty/data.png"
                  textSize="30"
                  iconSize="1000"
                  text="暂无数据"
                  v-if="driverBillOfLoadingData.list3 ? (driverBillOfLoadingData.list3.length == 0 ? true : false) : true"></u-empty>
               <view class="appointment-form">
                  <view class="appointment-form-item"
                     v-for="(item, index) in driverBillOfLoadingData.list3"
                     :key="index"
                     @click="list3CardIconClick(item)"
                     >
                     <view class="main-divider"></view>
                     <view class="orderCode">订单号:{{ item.orderCode }}</view>
                     <view class="first-line">
                        <view class="main-information">
                           <view class="sign">装</view>
                           <view class="filedname exceedHide">
                              <text
                                 v-if="item.orderType == '外销' || item.orderType == '内销' ">{{ item.deptName }}</text>
                              <text
                                 v-else-if="item.orderType == '外购' || item.orderType == '内购' ">{{ item.customerName }}</text>
                              <text
                                 v-else-if="item.orderType == '转出'|| item.orderType == '转入'">{{item.filedName}}
                              </text>
                           </view>
                        </view>
                        <view class="map-icon"
                           @click.stop="skipMap(item)">
                           <view><u-icon name="map"
                                 color="#4978F0"
                                 size="40"></u-icon></view>
                        </view>
                     </view>
                     <view class="first-extra">
                        <view class="main-information">
                           <view class="sign">卸</view>
                           <view class="filedname exceedHide">
                              <text
                                 v-if="item.orderType == '外销' || item.orderType == '内销' ">{{ item.customerName }}</text>
                              <text
                                 v-else-if="item.orderType == '外购' || item.orderType == '内购' ">{{ item.deptName }}</text>
                              <text
                                 v-else-if="item.orderType == '转出'|| item.orderType == '转入'">{{item.toFiledName}}</text>
                           </view>
                        </view>
                        <view class="map-icon"
                           @click.stop="skipMap(item)">
                           <view><u-icon name="map"
                                 color="#4978F0"
                                 size="40"></u-icon></view>
                        </view>
                     </view>
                     <!-- <view class="status">
                        <u-tag :text="coalStatus[item.statusWeigh] || ''"
                           plain>
                        </u-tag>
                     </view> -->
                     <view class="third-line">
                        <view class="clock">
                           <view class="time-icon"><u-icon name="clock"
                                 color="#515151"
                                 size="40"></u-icon></view>
                           <view class="send-date">{{ item.sendDate }}</view>
                        </view>
                        <view class="type">
                           <view class="coal-name">{{ item.coalName }}</view>
                           <!-- <view class="order-type">{{ item.orderType }}</view> -->
                        </view>
                     </view>
                     <view class="fourth-line"
                        @click="toAppointmentClick(item)">
                        <view class="button-img">立即预约</view>
                     </view>
                  </view>
               </view>
               <view class="haveYuYueBottom">
                  <text>{{ item.yuYueTime || '时段' }}</text>
            </view>
            <!-- 已预约通知单 -->
            <view class="Reserved">
               <combined-title title="已预约通知单"></combined-title>
               <u-empty mode="data"
                  icon="http://cdn.uviewui.com/uview/empty/data.png"
                  textSize="30"
                  iconSize="1000"
                  text="暂无数据"
                  v-if="driverBillOfLoadingData.list2 ? (driverBillOfLoadingData.list2.length == 0 ? true : false) : true"></u-empty>
               <view class="appointment-form">
                  <view class="appointment-form-item"
                     v-for="(item, index) in driverBillOfLoadingData.list2"
                     :key="index"
                     @click="list3CardIconClick(item)">
                     <view class="main-divider"></view>
                     <view class="orderCode">订单号:{{ item.orderCode }}</view>
                     <view class="first-line">
                        <view class="main-information">
                           <view class="sign">装</view>
                           <view class="filedname exceedHide">
                              <text
                                 v-if="item.orderType == '外销' || item.orderType == '内销' ">{{ item.deptName }}</text>
                              <text
                                 v-else-if="item.orderType == '外购' || item.orderType == '内购' ">{{ item.customerName }}</text>
                              <text v-else-if="item.orderType == '转出'||item.orderType == '转入'">
                                 {{item.filedName}}
                              </text>
                           </view>
                        </view>
                        <view class="map-icon"
                           @click.stop="skipMap(item)">
                           <view><u-icon name="map"
                                 color="#4978F0"
                                 size="40"></u-icon></view>
                        </view>
                     </view>
                     <view class="second-line">
                        <view class="main-information">
                           <view class="sign">卸</view>
                           <view class="filedname exceedHide">
                              <text
                                 v-if="item.orderType == '外销' || item.orderType == '内销' ">{{ item.customerName }}</text>
                              <text
                                 v-else-if="item.orderType == '外购' || item.orderType == '内购'">{{ item.deptName }}</text>
                              <text v-else-if="item.orderType == '转出'||item.orderType == '转入'">
                                 {{item.toFiledName}}
                              </text>
                           </view>
                        </view>
                        <view class="map-icon"
                           @click.stop="skipMap(item)">
                           <view><u-icon name="map"
                                 color="#4978F0"
                                 size="40"></u-icon></view>
                        </view>
                     </view>
                     <view class="status">
                        <u-tag :text="coalStatus[item.statusWeigh] || ''"
                           plain>
                        </u-tag>
                     </view>
                     <view class="third-line">
                        <view class="clock havedclock">
                           <view class="time-icon"><u-icon name="clock"
                                 color="#515151"
                                 size="40"></u-icon></view>
                           <view class="send-date">{{ item.yuYueSection|| ''  }}</view>
                        </view>
                        <view class="type">
                           <view class="coal-name">{{ item.coalName || '' }}</view>
                           <!-- <view class="order-type">{{ item.orderType }}</view> -->
                        </view>
                     </view>
                  </view>
               </view>
               <view class="white-block"></view>
            </view>
            <!-- 图片预览弹出框 -->
            <view class="previewImage-container">
               <previewImage ref="previewImage"
                  :imgs="driverTourImgList"
                  :saveBtn='false'></previewImage>
            </view>
         </view>
      </view>
@@ -117,202 +264,695 @@
</template>
<script>
import { customerId } from '@/utils/status';
export default {
   data() {
      return {
         driverBillOfLoadingData: [],
         // 抢单模态框
         qiangDanShow: false,
         qiangDanTitle: '抢单提示',
         qiangDanContent: '',
         qiangDanOrderPlanId:null
      };
   },
   onShow() {
      this.init();
   },
   methods: {
      init() {
         this.qiangDanList();
   import { customerId } from '@/utils/status';
   import combinedTitle from '@/components/combined-title/combined-title.vue';
   import { onlineurl } from '@/api/request.js'
   import { BaseUrl } from '@/api/publicInterface.js'
   import previewImage from '@/components/kxj-previewImage/kxj-previewImage.vue';
   import { mapState } from 'vuex'
   export default {
      components: {
         combinedTitle,
         previewImage
      },
      // 司机首页列表
      qiangDanList() {
         uni.showLoading({
            title: '加载中...'
         });
         this.$reqGet('qiangDanList').then(res => {
            uni.hideLoading();
            this.driverBillOfLoadingData = res.data;
         });
      },
      // 抢单按钮
      qiangDanBtn(value) {
         if (value.tmcCount == 0) {
            this.qiangDan(value.orderPlanId);
         } else {
            this.qiangDanOrderPlanId = value.orderPlanId
            this.qiangDanShow = true
            this.qiangDanContent = `已抢${value.tmcCount}单,确定抢单?`
      props: {
         indexdriverBillOfLoadingData: {
            type: Object,
            default: {}
         }
      },
      // 抢单模态框
      qiangDanConfirm() {
         this.qiangDanContent = ''
         this.qiangDan(this.qiangDanOrderPlanId);
      watch: {
         indexdriverBillOfLoadingData: {
            handler(v) {
               this.driverBillOfLoadingData = v;
            },
            deep: true,
            immediate: true
         },
      },
      qiangDanCancel() {
         this.qiangDanShow = false;
      computed: {
         ...mapState(['driverTourImgList']),
         roleType() {
            return uni.getStorageSync('roleType');
         },
      },
      // 抢单请求
      qiangDan(id) {
         this.$reqPost('qiangDan', { orderPlanId: id }, 'params').then(res => {
            if (res.code == 0) {
               this.$u.toast('抢单成功');
            } else {
               this.$u.toast(res.data ? res.data : '抢单失败');
            }
      data() {
         return {
            driverBillOfLoadingData: {
               list1: [],
               list2: [],
               list3: []
            },
            // 抢单模态框
            qiangDanShow: false,
            qiangDanTitle: '抢单提示',
            qiangDanContent: '',
            qiangDanOrderPlanId: null,
            fleetId: '',
            xsUserId: '',
            customerId: '',
            coalStatus: ['未称重', '称重中', '验质中', '称重完成', '验质完成'],
            onlineurl,
            phone: "",
            isFirstLogin: true //是否是第一次登录
         };
      },
      mounted() {
         // this.TourImgList = TourImgList
         this.getLogOn()
      },
      onShow() {
         this.init();
      },
      methods: {
         // 跳转地图
         skipMap(val) {
            uni.navigateTo({
               url: `/pages/public-page/mapRoute/mapRoute?customerId=${val.customerId}&filedId=${val.filedId}&orderType=${val.orderType}${
               val.toFiledId ? `&toFiledId=${val.toFiledId}&filedId=${val.filedId}` : ''
            }`
            });
         },
         init() {
            this.qiangDanList();
         });
      },
      list3CardIconClick(value) {
         uni.navigateTo({
            url: `/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details?orderPlanId=${value.id}&yyId=${value.yyId}`
         });
      },
      // 提煤单详情
      cardBodyClick(name) {
         uni.navigateTo({
            url: `/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details?orderPlanId=${name}`
         });
      },
      // 去预约
      toAppointmentClick(value) {
         uni.navigateTo({
            url: `/pages/driver-page/appointment/appointment?takeCoalId=${value.id}&filedId=${value.filedId}&deptId=${value.deptId}&sendDate=${value.sendDate}`
         });
         },
         // 司机首页列表
         qiangDanList() {
            uni.showLoading({
               title: '加载中...'
            });
            this.$reqGet('qiangDanList').then(res => {
               uni.hideLoading();
               this.driverBillOfLoadingData = res.data;
            });
         },
         // 抢单按钮
         qiangDanBtn(value) {
            if (value.tmcCount == '0') {
               this.qiangDan(value.orderPlanId, value.fleetId, value.customerId === null ? '0' : value.customerId,
                  value.xsUserId === null ? '0' : value.xsUserId);
            } else {
               this.qiangDanOrderPlanId = value.orderPlanId;
               this.fleetId = value.fleetId;
               this.customerId = value.customerId === null ? '0' : value.customerId;
               this.xsUserId = value.xsUserId === null ? '0' : value.xsUserId;
               this.qiangDanShow = true;
               this.qiangDanContent = `已抢${value.tmcCount}单,确定抢单?`;
            }
         },
         // 抢单模态框
         qiangDanConfirm() {
            this.qiangDanContent = '';
            this.qiangDanShow = false;
            this.qiangDan(this.qiangDanOrderPlanId, this.fleetId, this.customerId, this.xsUserId);
         },
         qiangDanCancel() {
            this.qiangDanShow = false;
         },
         // 抢单请求
         qiangDan(id, fleetId, customerId, xsUserId) {
            this.$reqPost('qiangDan', {
                  orderPlanId: id,
                  fleetId: fleetId,
                  customerId: customerId,
                  xsUserId: xsUserId
               }, 'params')
               .then(res => {
                  if (res.code == 0) {
                     this.$u.toast('抢单成功');
                  } else {
                     this.$u.toast(res.msg ? res.msg : '抢单失败');
                  }
               })
               .then(() => {
                  setTimeout(() => {
                     this.qiangDanList();
                  }, 1000);
               });
         },
         list3CardIconClick(value) {
            uni.navigateTo({
               url: `/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details?orderPlanId=${value.id}&yyId=${value.yyId}`
            });
         },
         // 通知单详情
         cardBodyClick(name) {
            uni.navigateTo({
               url: `/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details?orderPlanId=${name}`
            });
         },
         // 去预约
         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:9095/appimg/image/tour/driver/sj1.jpg')
         },
         getLogOn() {
            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
                     }
                  }
               });
            })
         },
      }
   }
};
   };
</script>
<style lang="scss" scoped>
::v-deep.driver-index {
   width: 94%;
   margin: 0 auto;
   // 主体
   .driver-index-body {
      margin-bottom: vww(56);
      // 卡片样式
      .card-left__top {
         margin-top: vww(26);
         text-align: center;
         color: #ffffff;
         text {
            font-size: vww(48);
            font-weight: 800;
         }
      }
      .card-left__utils {
         display: flex;
         padding: 0 vww(15) 0 vww(15);
         .u-button {
            width: vww(55);
            height: vww(24);
            background-color: #fff;
            color: #1987ff;
         }
      }
      .right-top {
         display: flex;
         flex-flow: column nowrap;
         align-content: space-around;
         .card-right-top-row {
            margin-top: vww(8);
            text-align: center;
            &:nth-child(1) {
               display: flex;
               justify-content: space-between;
               view {
                  text-align: center;
                  width: 50%;
               }
            }
         }
<style lang="scss"
   scoped>
   @mixin formItem {
      width: vww(345);
      height: vww(150);
      margin-top: vww(5);
      background: #ffffff;
      box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15);
      border-radius: 20rpx;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-around;
   }
   @mixin firstLine {
      width: 94%;
      height: vww(68);
      margin: vww(18) vww(16) 0 vww(16);
      display: flex;
      justify-content: space-between;
   }
   @mixin thirdLine {
      width: 30%;
      height: vww(68);
      margin-left: vww(15);
      display: flex;
      justify-content: space-between;
      align-items: center;
      .send-date {
         width: 148rpx;
         height: 24rpx;
         line-height: 24rpx;
         font-size: 28rpx;
         font-weight: 300;
         color: #515151;
      }
      // 待预约
      .daiYuYue {
         margin-top: vww(24);
         font-size: 16px;
         font-weight: 300;
         &Top {
            background-color: #f5f5f5;
            height: vww(40);
            padding-left: vww(12);
            line-height: vww(40);
            border: vww(1) solid #eeeeee;
            font-weight: 400;
         }
         &Table {
            .uni-table {
               .uni-table-tr {
                  padding: 0;
                  .uni-table-th {
                     line-height: 58rpx;
                     padding: vww(5) vww(10);
                     color: #111111;
                     font-weight: 400;
                     background: #e5e5e5;
                  }
                  .uni-table-td {
                     font-weight: 400;
                     line-height: 58rpx;
                     padding: vww(5) vww(10);
                     color: #111111;
                  }
               }
            }
         }
      }
      // 已预约
      .haveYuYue {
         font-size: 16px;
         font-weight: 300;
         margin-top: vww(24);
         &Top {
            background-color: #f5f5f5;
            height: vww(40);
            padding-left: vww(12);
            line-height: vww(40);
            border: vww(1) solid #eeeeee;
            font-weight: 400;
         }
         &Center {
            border: vww(1) solid #eeeeee;
            border-top: none;
            display: flex;
            flex: 1;
            height: vww(40);
            line-height: vww(40);
            view {
               border-right: vww(1) solid #eeeeee;
               width: 33.3%;
               text-align: center;
               &:nth-child(3) {
                  border-right: none;
               }
            }
         }
         &Bottom {
            border: vww(1) solid #eeeeee;
            border-top: none;
            height: vww(40);
            line-height: vww(40);
            text-align: center;
      .havedclock {
         width: 58% !important;
         margin-right: 0 !important;
         .send-date {
            width: 100%;
            margin-left: vww(12);
         }
      }
   }
}
</style>
   @mixin flex {
      display: flex;
      justify-content: space-between;
      align-items: center;
   }
   @mixin fourthLine {
      width: 34%;
      height: vww(68);
      display: flex;
      align-items: center;
      position: relative;
      left: vww(203);
      bottom: vww(3);
      .button-img {
         width: 100%;
         height: 100%;
         background: url('https://mx.jzeg.cn:9095/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);
      }
   }
   .fade-enter-active,
   .fade-leave-active {
      transition: opacity 0.5s;
   }
   .fade-enter,
   .fade-leave-to {
      opacity: 0;
   }
   .exceedHide {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
   }
   ::v-deep.driver-index {
      width: 100%;
      margin: 0 auto;
      // 主体
      .driver-index-body {
         // margin-bottom: vww(56);
         // 待领取通知单
         .wait-collection {
            width: 100%;
            height: 600rpx;
         }
         .collection-form {
            width: vww(345);
            margin: 0 vww(15);
            position: relative;
            top: vww(-120);
            .collection-form-item {
               width: vww(345);
               height: vww(195);
               margin-top: vww(5);
               background: #ffffff;
               box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15);
               border-radius: 20rpx;
               position: relative;
               display: flex;
               flex-direction: column;
               justify-content: space-around;
               .main-divider {
                  width: 560rpx;
                  height: 2rpx;
                  background: #e3e3e3;
                  position: absolute;
                  top: 122rpx;
                  left: 128rpx;
               }
               .first-line {
                  width: 94%;
                  height: vww(68);
                  margin: vww(18) vww(16) 0 vww(16);
                  display: flex;
                  justify-content: space-between;
                  .main-information {
                     width: 88%;
                     height: vww(28);
                     display: flex;
                     justify-content: flex-start;
                     align-items: center;
                     .sign {
                        width: vww(28);
                        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-size: contain;
                        font-size: 30rpx;
                        font-weight: 400;
                        color: #ffffff;
                        margin-right: vww(20);
                     }
                  }
                  .point-number {
                     position: absolute;
                     right: 0;
                     width: 15%;
                     text {
                        font-size: 24rpx;
                        font-weight: 400;
                        color: #c78a64;
                     }
                     .residue {
                        font-size: 40rpx;
                        font-weight: 400;
                        color: #f81414;
                     }
                  }
               }
               .first-extra {
                  @include firstLine;
                  .main-information {
                     width: 100%;
                     height: vww(28);
                     display: flex;
                     justify-content: flex-start;
                     align-items: center;
                     .sign {
                        width: vww(28);
                        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-size: contain;
                        font-size: 30rpx;
                        font-weight: 400;
                        color: #ffffff;
                        margin-right: vww(20);
                     }
                  }
               }
               .second-line {
                  width: 100%;
                  height: vww(68);
                  margin-left: vww(21);
                  display: flex;
                  justify-content: flex-start;
                  align-items: center;
                  .coal-name {
                     @include flex;
                     min-width: vww(50);
                     height: 100%;
                     font-size: 30rpx;
                     font-weight: 300;
                     color: #515151;
                     position: relative;
                     display: flex;
                     justify-content: flex-start;
                  }
                  .black-block {
                     min-width: vww(50);
                     height: 30rpx;
                     font-size: 30rpx;
                     font-weight: 300;
                     color: #515151;
                     position: relative;
                     top: vww(2);
                     display: flex;
                     justify-content: center;
                     align-items: center;
                     .black-bar {
                        width: 2rpx;
                        height: 30rpx;
                        background: #515151;
                     }
                  }
                  .coal-type {
                     min-width: vww(50);
                     height: 30rpx;
                     font-size: 30rpx;
                     font-weight: 300;
                     color: #515151;
                     text-align: center;
                  }
               }
               .third-line {
                  width: 100%;
                  height: vww(68);
                  margin-left: vww(21);
                  display: flex;
                  justify-content: flex-start;
                  align-items: center;
                  .send-date {
                     width: 148rpx;
                     height: 24rpx;
                     margin-left: vww(14);
                     margin-right: vww(56);
                     line-height: 24rpx;
                     font-size: 28rpx;
                     font-weight: 300;
                     color: #515151;
                  }
                  .type {
                     flex: 1;
                     margin-right: vww(10);
                     display: flex;
                     justify-content: center;
                     align-items: center;
                     .coal-name {
                        width: 120rpx;
                        height: 42rpx;
                        line-height: 42rpx;
                        border: 2px solid #035cfb;
                        border-radius: 4rpx;
                        font-size: 28rpx;
                        font-weight: 300;
                        color: #035cfb;
                        text-align: center;
                        padding: vww(3) vww(11);
                        white-space: nowrap;
                        overflow: hidden;
                        text-overflow: ellipsis;
                     }
                  }
               }
               .fourth-line {
                  width: 30%;
                  height: vww(68);
                  margin-left: vww(15);
                  display: flex;
                  justify-content: flex-end;
                  position: relative;
                  left: vww(203);
                  bottom: vww(3);
                  .button-img {
                     width: 100%;
                     height: 100%;
                     background: url('https://mx.jzeg.cn:9095/appimg/image/banner/button.png') no-repeat;
                     background-size: cover;
                     font-size: 28rpx;
                     font-weight: 300;
                     color: #ffffff;
                     text-align: center;
                     line-height: vww(33);
                  }
               }
            }
         }
         .wait-appointment,
         .Reserved {
            position: relative;
            top: vww(-120);
         }
         .appointment-form {
            width: vww(345);
            margin: 0 vww(15);
            .appointment-form-item {
               @include formItem;
               height: vww(240);
               justify-content: space-between;
               overflow: hidden;
               .main-divider {
                  width: 560rpx;
                  height: 1rpx;
                  background: #e3e3e3;
                  position: absolute;
                  top: 200rpx;
                  left: 128rpx;
               }
               .orderCode{
                  padding: 10px;
               }
               .first-line {
                  position: relative;
                  @include firstLine;
                  .main-information {
                     width: 100%;
                     height: vww(28);
                     display: flex;
                     justify-content: flex-start;
                     align-items: center;
                     .sign {
                        width: vww(28);
                        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-size: contain;
                        font-size: 30rpx;
                        font-weight: 400;
                        color: #ffffff;
                        margin-right: vww(20);
                     }
                  }
               }
               .first-extra {
                  @include firstLine;
                  .main-information {
                     width: 100%;
                     height: vww(28);
                     display: flex;
                     justify-content: flex-start;
                     align-items: center;
                     .sign {
                        width: vww(28);
                        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-size: contain;
                        font-size: 30rpx;
                        font-weight: 400;
                        color: #ffffff;
                        margin-right: vww(20);
                     }
                  }
               }
               .second-line {
                  @include firstLine;
                  margin: 0;
                  margin-left: vww(16);
                  .main-information {
                     width: 100%;
                     height: vww(28);
                     display: flex;
                     justify-content: flex-start;
                     align-items: center;
                     .sign {
                        width: vww(28);
                        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-size: contain;
                        font-size: 30rpx;
                        font-weight: 400;
                        color: #ffffff;
                        margin-right: vww(20);
                     }
                  }
               }
               .status {
                  @include thirdLine;
               }
               .third-line {
                  @include thirdLine;
                  width: 94%;
                  justify-content: flex-start;
                  margin-left: vww(18);
                  .clock {
                     width: 40%;
                     height: vww(21);
                     margin-right: vww(50);
                     line-height: vww(21);
                     @include flex;
                     justify-content: flex-start;
                     .send-date {
                        margin-left: vww(14);
                     }
                  }
                  .type {
                     flex: 1;
                     margin-right: vww(10);
                     display: flex;
                     justify-content: center;
                     align-items: center;
                     .order-type,
                     .coal-name {
                        width: 120rpx;
                        height: 42rpx;
                        line-height: 42rpx;
                        border: 2px solid #035cfb;
                        border-radius: 4rpx;
                        font-size: 28rpx;
                        font-weight: 300;
                        color: #035cfb;
                        text-align: center;
                        padding: vww(3) vww(11);
                        white-space: nowrap;
                        overflow: hidden;
                        text-overflow: ellipsis;
                     }
                  }
               }
               .fourth-line {
                  @include fourthLine;
               }
            }
         }
         .Reserved {
            .white-block {
               width: 100%;
               height: vww(50);
               line-height: vww(50);
               text-align: center;
               color: #333;
               margin-top: vww(10);
            }
         }
         .noob-tour {
            margin-bottom: vww(10);
            position: relative;
            top: -240rpx;
         }
         .u-popup {
            .u-transition {
               .u-popup__content {
                  .editDriverPopup-container-box {}
                  //closeIcon
                  .u-popup__content__close--top-right {
                     .u-icon {
                        .u-icon__icon {
                           font-size: vww(20) !important;
                        }
                     }
                  }
               }
            }
         }
      }
   }
</style>