qingyiay
2023-04-24 bb52e0d4baffe8e0486c951e525b6614bd4aaa28
pages/driver-page/driver-index/driver-index.vue
@@ -13,24 +13,43 @@
         <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>
                     {{ item.carNum }}
                     <text>张</text>
                  </view>
                  <view>
                     {{ item.carNum - item.taskNum }}
                     <text>张</text>
                  </view>
               </view>
               <view class="card-left__utils"><u-button @tap.stop="qiangDan(item.orderPlanId)" text="抢单" type="primary" shape="circle"></u-button></view>
               <view class="card-left__utils">
                  <u-button @tap.stop="qiangDanBtn(item)" text="抢单" type="primary" shape="circle" v-if="item.carNum - item.taskNum !== 0"></u-button>
               </view>
            </template>
            <template v-slot:right-top>
               <view class="right-top">
                  <view class="card-right-top-row">
                     <view>
                        <text>{{ item.compName }}</text>
                        <text>{{ item.deptName || '' }}</text>
                     </view>
                     <view>
                        <text>{{ item.coalName }}</text>
                        <text>{{ item.coalName || '' }}</text>
                     </view>
                  </view>
                  <view class="card-right-top-row">
                     <view>
                        <text>剩余{{ item.carNum - item.taskNum }}张</text>
                     </view>
                  </view>
                  <view class="card-right-top-row">
                     <view>
                        <text>{{ item.filedName || '' }}</text>
                     </view>
                  </view>
                  <view class="card-right-top-row">
                     <view>
                        <text>{{ item.orderCode || '' }}</text>
                     </view>
                  </view>
               </view>
@@ -55,7 +74,7 @@
            <!-- 待预约提煤单 -->
            <view class="daiYuYue" v-for="(item, index) in driverBillOfLoadingData.list3" :key="index">
               <view class="daiYuYueTop">
                  <text>提煤单编号:{{ item.code }}</text>
                  <view class="tmcode">提煤单编号:{{ item.code }}</view>
               </view>
               <view class="daiYuYueTable">
                  <!-- <view>{{ item.deptName }}</view>
@@ -63,22 +82,20 @@
                  <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-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-td align="left">{{ item.sendDate || '' }}</uni-td>
                     </uni-tr>
                     <uni-tr>
                        <uni-th align="center">发运日期</uni-th>
                     <uni-tr style="margin: 0 auto;">
                        <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-tr style="margin: 0 auto;">
                        <uni-td align="left">{{ item.filedName || '' }}</uni-td>
                        <uni-td align="left">{{ item.customerName || '' }}</uni-td>
                     </uni-tr>
@@ -100,15 +117,14 @@
         <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 class="tmcode">提煤单编号:{{ item.code || '' }}</text>
               </view>
               <view class="haveYuYueCenter">
                  <view>{{ item.deptName || '' }}</view>
                  <view>{{ item.coalName || '' }}</view>
                  <view>排队数:暂无{{}}</view>
               </view>
               <view class="haveYuYueBottom">
                  <text>{{ item.yuYueTime || '时段' }}</text>
                  <text>{{ item.yuYueSection || '时段' }}</text>
               </view>
            </view>
         </view>
@@ -120,13 +136,32 @@
import { customerId } from '@/utils/status';
export default {
   props: {
      indexdriverBillOfLoadingData: {
         type: Object,
         default: {}
      }
   },
   watch: {
      indexdriverBillOfLoadingData: {
         handler(v) {
            this.driverBillOfLoadingData = v;
         },
         deep: true,
         immediate: true
      }
   },
   data() {
      return {
         driverBillOfLoadingData: [],
         driverBillOfLoadingData: {},
         // 抢单模态框
         qiangDanShow: false,
         qiangDanTitle: '抢单提示',
         qiangDanContent: ''
         qiangDanContent: '',
         qiangDanOrderPlanId: null,
         fleetId: '',
         xsUserId: '',
         customerId: ''
      };
   },
   onShow() {
@@ -141,35 +176,48 @@
         uni.showLoading({
            title: '加载中...'
         });
         // this.$reqGet('qiangDanList', { id: customerId }).then(res => {
         this.$reqGet('qiangDanList').then(res => {
            console.log('抢单列表', res);
            uni.hideLoading();
            this.driverBillOfLoadingData = res.data;
         });
      },
      // 抢单按钮
      qiangDanBtn(value) {
         if (value.taskNum == 0) {
            this.qiangDan(value.orderPlanId);
         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() {},
      qiangDanConfirm() {
         this.qiangDanContent = '';
         this.qiangDanShow = false;
         this.qiangDan(this.qiangDanOrderPlanId, this.fleetId, this.customerId, this.xsUserId);
      },
      qiangDanCancel() {
         this.qiangDanShow = false;
      },
      // 抢单请求
      qiangDan(id) {
         // this.$reqPost('qiangDan', { orderPlanId: id, wxUserId: customerId }, 'params').then(res => {
         this.$reqPost('qiangDan', { orderPlanId: id }, 'params').then(res => {
            if (res.code == 0) {
               this.$u.toast('抢单成功');
            }
            console.log('抢单', res);
            this.qiangDanList();
         });
      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({
@@ -201,12 +249,35 @@
      margin-bottom: vww(56);
      // 卡片样式
      .card-left__top {
         margin-top: vww(26);
         margin: vww(10) 0;
         padding-left: vww(4);
         display: flex;
         flex-direction: column;
         flex-wrap: wrap;
         justify-content: flex-start;
         height: vww(80);
         text-align: center;
         color: #ffffff;
         text {
         &:after {
            content: '';
            position: absolute;
            width: 5px;
            height: vww(80);
            background-color: #fff;
            left: vww(81);
         }
         view {
            font-size: vww(48);
            font-weight: 800;
            width: 50%;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-items: center;
            text {
               font-size: vww(16);
               font-weight: bold;
            }
         }
      }
      .card-left__utils {
@@ -244,22 +315,28 @@
         font-weight: 300;
         &Top {
            background-color: #f5f5f5;
            height: vww(40);
            height: vww(60);
            padding-left: vww(12);
            line-height: vww(40);
            line-height: vww(31);
            border: vww(1) solid #eeeeee;
            font-weight: 400;
            .tmcode {
               word-break: break-all;
               width: 100%;
            }
         }
         &Table {
            .uni-table {
               min-width: 94% !important;
               .uni-table-tr {
                  padding: 0;
                  .uni-table-th {
                     width: 33.3%;
                     line-height: 58rpx;
                     padding: vww(5) vww(10);
                     color: #111111;
                     font-weight: 400;
                     background: #e5e5e5;
                     background: #f5f5f5;
                  }
                  .uni-table-td {
                     font-weight: 400;
@@ -278,11 +355,15 @@
         margin-top: vww(24);
         &Top {
            background-color: #f5f5f5;
            height: vww(40);
            height: vww(60);
            padding-left: vww(12);
            line-height: vww(40);
            line-height: vww(31);
            border: vww(1) solid #eeeeee;
            font-weight: 400;
            .tmcode {
               word-break: break-all;
               width: 100%;
            }
         }
         &Center {
            border: vww(1) solid #eeeeee;