yangan
2024-06-18 ff4f3ab0c60e21bc1e356a7311da7257b74c963d
pages/driver-page/driver-index/driver-index.vue
@@ -68,7 +68,7 @@
                           size="40"></u-icon></view>
                     <view class="send-date">{{ item.sendDate }}</view>
                     <view class="type">
                        <view class="coal-name">{{ item.coalName }}</view>
                        <view class="coal-name">{{ item.productNames || item.productName }}</view>
                     </view>
                  </view>
                  <view class="fourth-line"
@@ -151,11 +151,15 @@
                           <view class="send-date">{{ item.sendDate }}</view>
                        </view>
                        <view class="type">
                           <view class="coal-name">{{ item.coalName }}</view>
                           <view class="coal-name">{{ item.productNames || item.productName }}</view>
                           <!-- <view class="order-type">{{ item.orderType }}</view> -->
                        </view>
                     </view>
                     <view class="fourth-line">
                     <view class="fifth-line">
                        <view class="button-img"
                           @click.stop="cancelCerifCate(item)">
                           添加押运员
                        </view>
                        <view class="button-img"
                           @click.stop="cancelAppoint(item)">
                           请求退单
@@ -175,7 +179,35 @@
                  @confirm="cancelAppointConfirm"
                  @cancel="cancelAppointCancel"></u-modal>
            </view>
            <!-- 场内接单弹窗 -->
            <view class="">
               <u-modal :show="insideConnectShow"
                  title="接单选择"
                  showCancelButton
                  cancel-text="正常接单"
                  confirm-text="场内接单"
                  content="场内接单无需称皮,是否确认接单"
                  @confirm="insideConnectConfirm"
                  @cancel="insideConnectCancel"></u-modal>
            </view>
            <!-- 已预约提煤单 -->
            <!-- 填写集装箱号 -->
               <view class="">
               <u-modal :show="enterCode"
                  title="集装箱号"
                  showCancelButton
                  content="请填写集装箱号"
                  @confirm="cancelCodeEnter"
                  @cancel="cancelCodeCancel">
                  <view style="    display: flex; align-items: center;">
                      <text>请输入:</text>   <u--input
                  style="border: 1px solid black"
                  v-model="enterCodeStr"
                        placeholder="请输入集装箱号"></u--input>
                  </view>
                  </u-modal>
            </view>
            <view class="Reserved">
               <combined-title title="已预约提煤单"></combined-title>
               <u-empty mode="data"
@@ -240,8 +272,19 @@
                           <view class="send-date">{{ item.yuYueSection|| ''  }}</view>
                        </view>
                        <view class="type">
                           <view class="coal-name">{{ item.coalName || '' }}</view>
                           <view class="coal-name">{{ item.productNames || item.productName }}</view>
                           <!-- <view class="order-type">{{ item.orderType }}</view> -->
                        </view>
                     </view>
                     <view class="fourth-line"
                        v-if="item.isDanger === 1">
                           <view class="button-img"
                              @click.stop="cancelCerifCate(item)">
                              添加押运员                                                                                            押运员
                           </view>
                        <view class="button-img"
                           @click.stop="cancelAppoint(item)">
                           请求退单
                        </view>
                     </view>
                  </view>
@@ -250,6 +293,31 @@
            </view>
         </view>
      </view>
      <u-popup :show="show"
         @close="close"
         @open="open"
         mode="center"
         round="10">
         <view class="receiverPopup">
            <uni-table border
               stripe
               type="selection"
               @selection-change="selectionChange"
               emptyText="暂无更多数据">
               <uni-tr>
                  <uni-th align="center">押运员</uni-th>
               </uni-tr>
               <uni-tr v-for="(item, index) in inspectData"
                  :key="item.id">
                  <uni-td align="center">{{ item.name.split("|")[0]  }}</uni-td>
               </uni-tr>
            </uni-table>
            <view class="receiverPopup__btn"><u-button text="确定"
                  type="primary"
                  @click="popClick"
                  :loading="ClickLoading"></u-button></view>
         </view>
      </u-popup>
   </view>
</template>
@@ -289,6 +357,10 @@
      },
      data() {
         return {
            show: false,
            yaList:[],
            inspectData:[],
            activeObj:{},
            driverBillOfLoadingData: {
               list1: [],
               list2: [],
@@ -296,23 +368,54 @@
            },
            // 接单模态框
            qiangDanShow: false,
            enterCode:false,
            enterCodeStr:'',
            qiangDanTitle: '接单提示',
            qiangDanContent: '',
            qiangDanOrderPlanId: null,
            fleetId: '',
            xsUserId: '',
            customerId: '',
            isFirstLogin: true, //是否是第一次登录
            phone: "",
            isFirstTime: false, //是否是登录进入首页,还是别的页面返回 false是登录 true是别的页面
            cancelAppointShow: false, //确认退单弹窗控制
            cancelAppointId: ''
            cancelAppointId: '',
            insideConnectShow: false,
            orderPlanId: '',
            fleetId: '',
            customerId: '',
            xsUserId: '',
            filedId: '',
         };
      },
      onShow() {
         this.init();
      },
      methods: {
         open() {},
         close() {
            this.show = false;
         },
         selectionChange(e) {
            this.yaList= e.detail.index.map(item=>{
               return this.inspectData[item]
            })
         },
         popClick(){
            let data=this.yaList.map(item=>{
               return  item.name
            })
            let paramsData={
               idCardEscort:data.join(','),roadTransportId:this.yaList[0].roadTransportId,id: this.yaList[0].Id
            }
            this.$reqPut('saveMyEscort', paramsData, 'json')
               .then(res => {
                  if (res.code == 0) {
                     this.$u.toast('添加成功');
                     this.show=false
                  } else {
                     this.$u.toast(res.msg ? res.msg : '添加失败');
                  }
               })
         },
         // 跳转地图
         skipMap(val) {
            uni.navigateTo({
@@ -322,6 +425,7 @@
            });
         },
         init() {
            this.inspectData=[]
            this.qiangDanList();
         },
         // 司机首页列表
@@ -336,16 +440,27 @@
         },
         // 接单按钮
         qiangDanBtn(value) {
            if (value.tmcCount == '0') {
               this.qiangDan(value.orderPlanId, value.fleetId, value.customerId === null ? '0' : value.customerId,
                  value.xsUserId === null ? '0' : value.xsUserId);
            this.activeObj = value;
            //是否可以场内接单,1 可以2不可以
            if (value.isInsideConnect === 1) {
               this.insideConnectShow = true
               this.orderPlanId = value.orderPlanId
               this.fleetId = value.fleetId
               this.customerId = !value.customerId ? '0' : value.customerId
               this.xsUserId = !value.xsUserId ? '0' : value.xsUserId
               this.filedId = value.filedId
            } 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}单,确定接单?`;
               if (value.tmcCount == '0') {
                  this.qiangDan(value.orderPlanId, value.fleetId, !value.customerId ? '0' : value.customerId,
                     !value.xsUserId ? '0' : value.xsUserId);
               } else {
                  this.qiangDanOrderPlanId = value.orderPlanId;
                  this.fleetId = value.fleetId;
                  this.customerId = !value.customerId ? '0' : value.customerId;
                  this.xsUserId = !value.xsUserId ? '0' : value.xsUserId;
                  this.qiangDanShow = true;
                  this.qiangDanContent = `已接${value.tmcCount}单,确定接单?`;
               }
            }
         },
         // 接单模态框
@@ -372,6 +487,7 @@
                  uni.hideLoading()
                  if (res.code == 0) {
                     this.$u.toast('接单成功');
                     this.enterCode = true;
                  } else {
                     this.$u.toast(res.msg ? res.msg : '接单失败');
                  }
@@ -383,6 +499,25 @@
               }).catch(e => {
                  uni.hideLoading()
               })
         },
         insideConnectHandle(orderPlanId, fleetId, customerId, xsUserId, filedId) {
            uni.showLoading({
               title: '加载中'
            })
            this.$reqPost('insideConnect', {
               orderPlanId,
               fleetId,
               customerId,
               xsUserId,
               filedId
            }, 'params').then(res => {
               uni.hideLoading()
               if (res.code == 0) {
                  this.$u.toast('场内接单成功');
               } else {
                  this.$u.toast(res.msg ? res.msg : '场内接单失败');
               }
            })
         },
         list3CardIconClick(value) {
            uni.navigateTo({
@@ -397,8 +532,28 @@
         },
         // 请求退单
         cancelAppoint(item) {
            if (item.status >= 3) {
               this.$u.toast('当前状态不可退单')
               return
            }
            this.cancelAppointShow = true
            this.cancelAppointId = item.id
         },
         cancelCerifCate(value){
            this.$reqGet('getMyEscortList', { customerId: value.customerId }).then(res => {
               this.inspectData=[]
               if (res.code == 0) {
                  this.inspectData=res.data.persons.map(item=>{
                     return {name:item,roadTransportId:res.data.id,Id: value.id}
                  })
                  this.show=true
               } else {
                  this.$u.toast(res.msg ? res.msg : '请添加道路运输证');
                  uni.navigateTo({
                     url: '/pages/driver-page/drvier-my/certifiCate/certifiCate'
                  })
               }
            })
         },
         // 退单弹窗确认
         cancelAppointConfirm() {
@@ -425,6 +580,15 @@
         cancelAppointCancel() {
            this.cancelAppointShow = false
         },
         insideConnectCancel() {
            this.insideConnectShow = false
            this.qiangDan(this.orderPlanId, this.fleetId, this.customerId, this.xsUserId)
         },
         // 场内接单
         insideConnectConfirm() {
            this.insideConnectShow = false
            this.insideConnectHandle(this.orderPlanId, this.fleetId, this.customerId, this.xsUserId, this.filedId)
         },
         // 去预约
         toAppointmentClick(value) {
            // 由于自主配送单 是外购单 但是不需要填写原发为1不需要填写原发
@@ -444,6 +608,22 @@
            uni.navigateTo({
               url: '/pages/driver-page/driver-index/SelfDelivery/SelfDelivery'
            })
         },
         cancelCodeEnter(){
            this.activeObj.containerNumber = this.enterCodeStr;
             this.$reqPut('tmtaskCoalPut',this.activeObj).then(res=>{
               this.$u.toast('操作成功');
               this.enterCodeStr = '';
               this.enterCode = false;
            }).catch(err=>{
            })
         },
         cancelCodeCancel(){
            this.activeObj = {};
            this.enterCode = false;
            this.enterCodeStr = '';
         }
      }
   };
@@ -528,7 +708,26 @@
      }
   }
   .receiverPopup {
      height: vww(110);
      width: 300rpx;
      .receiverPopup__title {
         margin: vww(10) auto 0;
         width: 80%;
         text-align: center;
      }
      &__btn {
         margin: vww(10) auto;
         width: 50%;
         .u-button {
            height: vww(20);
         }
      }
   }
   /deep/.u-button {
      width: 100%;
      height: 28px !important;
@@ -966,10 +1165,33 @@
               .fourth-line {
                  @include fourthLine;
               }
               .fifth-line {
                  height: vww(68);
                  display: flex;
                  align-items: center;
                  .button-img {
                     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);
                  }
               }
            }
         }
         .Reserved {
            .fourth-line {
               justify-content: flex-end;
               letter-spacing: vww(2);
               left: 223rpx !important;
            }
            .white-block {
               width: 100%;
               height: vww(50);