qingyiay
2023-04-08 237a32aadb51f4c7f51d4734f6e62663f8acde36
pages/driver-page/driver-index/driver-index.vue
@@ -16,21 +16,33 @@
                  <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>
               <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 +67,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,14 +75,14 @@
                  <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-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.cars || 0 }} 车次</uni-td>
                     </uni-tr>
                     <uni-tr>
                        <uni-th align="center">发运日期</uni-th>
@@ -100,7 +112,7 @@
         <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>
@@ -108,7 +120,7 @@
                  <view>排队数:暂无{{}}</view>
               </view>
               <view class="haveYuYueBottom">
                  <text>{{ item.yuYueTime || '时段' }}</text>
                  <text>{{ item.yuYueSection || '时段' }}</text>
               </view>
            </view>
         </view>
@@ -120,13 +132,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 +172,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 }, 'params').then(res => {
            if (res.code == 0) {
               this.$u.toast('抢单成功');
            } else {
               this.$u.toast(res.data ? res.data : '抢单失败');
            }
            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.data ? res.data : '抢单失败');
               }
            })
            .then(() => {
               setTimeout(() => {
                  this.qiangDanList();
               }, 1000);
            });
      },
      list3CardIconClick(value) {
         uni.navigateTo({
@@ -244,22 +288,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 +328,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;