yangan
2025-04-10 f1950b48fec6421b50580f2a8899b360b314b73c
pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue
@@ -32,6 +32,7 @@
               <view class="send-date" >{{ coalDetailsData.sendDate }}</view>
            </view>
            <view class="coal-code">通知单编号:&nbsp;&nbsp;{{ coalDetailsData.code || '' }}</view>
            <view class="coal-code">车牌号:&nbsp;&nbsp;{{ coalDetailsData.carNo || '' }}</view>
            <view class="order-code">
               订单编号:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ coalDetailsData.orderCode || '' }}</view>
            <view class="coal-code"
@@ -73,55 +74,66 @@
                  @click="printOrder"
                  shape="circle"
                  :disabled="(currentPageCoalStatus  != 3) || !printNum"></u-button>
          <u-button text="呼叫客服"
                    type="primary"
                    plain
                    @click="callCustomerService"
                    shape="circle"></u-button>
            </view>
            <view class="bottom-button">
               <u-button text="放空"
                  type="primary"
                  plain
                  @click="evacuation"
                  throttleTime="500"
                  shape="circle"
                  :disabled="isEvacuation || isapproach"></u-button>
               <u-button text="呼叫客服"
                  type="primary"
                  plain
                  @click="callCustomerService"
                  shape="circle"></u-button>
            </view>
<!--            <view class="bottom-button">-->
<!--               <u-button text="放空"-->
<!--                  type="primary"-->
<!--                  plain-->
<!--                  @click="evacuation"-->
<!--                  throttleTime="500"-->
<!--                  shape="circle"-->
<!--                  :disabled="!isFangKong"></u-button>-->
<!--            </view>-->
         </view>
      </view>
      <view class="weigh-ability" v-if="!isReservation && noCarNo != 1">
<!--      <view class="weigh-ability" v-if="!isReservation">-->
         <!-- <view class="weigh-button"><u-button text="展示通知单"
               @click="showCaolPickUpBill"
               type="primary"
               shape="circle"></u-button></view> -->
         <view class="weigh-button"><u-button
                :disabled="!isapproach"
                text="上磅计量"
               @click="cengZhongClick"
               type="primary"
               shape="circle"></u-button></view>
      </view>
    <view class="weigh-ability" v-if="noCarNo == 1">
      <view class="weigh-button"><u-button
          :disabled="!isapproach"
          text="申请计量"
          @click="shenqingjiliangClick"
          type="primary"
          shape="circle"></u-button></view>
    <view class="btns-box-main">
      <view class="weigh-ability" v-if="!isReservation && noCarNo != 1">
        <!--      <view class="weigh-ability" v-if="!isReservation">-->
        <!-- <view class="weigh-button"><u-button text="展示通知单"
            @click="showCaolPickUpBill"
            type="primary"
            shape="circle"></u-button></view> -->
        <view class="weigh-button"><u-button
            :disabled="!isapproach"
            text="上磅计量"
            @click="cengZhongClick"
            type="primary"
            shape="circle"></u-button></view>
      </view>
<!--      <view class="weigh-ability">-->
<!--        <view class="weigh-button"><u-button-->
<!--            :disabled="!isapproach"-->
<!--            text="申请复磅"-->
<!--            @click="shenqingFubangClick"-->
<!--            type="primary"-->
<!--            shape="circle"></u-button></view>-->
    </view>
    <view class="weigh-ability" v-if="isShenqingFubangShow">
      <view class="weigh-button"><u-button
          :loading="shenQingFuBangLoading"
          :disabled="!isapproach"
          text="申请复磅"
          @click="shenqingFubangClick"
          type="primary"
          shape="circle"></u-button></view>
<!--      </view>-->
      <view class="weigh-ability" v-if="noCarNo == 1">
        <view class="weigh-button"><u-button
            :disabled="!isapproach"
            text="申请计量"
            @click="shenqingjiliangClick"
            type="primary"
            shape="circle"></u-button></view>
      </view>
      <view class="weigh-ability" v-if="isShenqingFubangShow">
        <view class="weigh-button"><u-button
            :loading="shenQingFuBangLoading"
            text="申请复磅"
            @click="shenqingFubangClick"
            type="primary"
            shape="circle"></u-button></view>
      </view>
    </view>
      <view class="evacuationModal">
         <u-modal :show="evacuationModalShow"
            :title="evacuationTitle"
@@ -147,7 +159,7 @@
      @close="sheetClose" >
    </u-action-sheet>
         <view class="serviece-customer">
         <u-action-sheet
         <u-action-sheet
              v-if="serviceInfoObj.serviecePhone"
            :actions="hujiaolist"
            @select="selectClickhujiao"
@@ -171,7 +183,7 @@
<script>
   import { onlineurl } from '@/api/request.js'
   import { webSocketUrl } from '@/api/request.js';
   import { mapState, mapMutations } from 'vuex';
   import { mapState, mapMutations,mapGetters } from 'vuex';
   import weighItem from '@/components/weighItem.vue'
   export default {
      components: {
@@ -285,7 +297,8 @@
         clearInterval(this.interval);
      },
      computed: {
         ...mapState(['globalweigh', 'globalinfraredStatus']),
         ...mapState(['globalinfraredStatus']),
      ...mapGetters(['globalweigh']),
         name() {
            return uni.getStorageSync('name');
         },
@@ -305,9 +318,30 @@
         //
         isEvacuation() {
            return this.coalDetailsData.hair !== 0 || this.coalDetailsData.skin !== 0;
         },
      },
      isFangKong() {
        if(this.coalDetailsData.hair !== 0 || this.coalDetailsData.skin !== 0) {
          console.log(Math.abs(Number(this.coalDetailsData.hair) - Number(this.globalweigh)).toFixed(1),'hair')
          console.log(Math.abs(Number(this.coalDetailsData.skin) - Number(this.globalweigh)).toFixed(1),'skin')
          console.log(Number(this.globalweigh),'globalweigh')
          console.log(Math.abs(Number(this.coalDetailsData.hair) - Number(this.globalweigh)) <= 0.1,'1111111111111')
          console.log(Math.abs(Number(this.coalDetailsData.skin) - Number(this.globalweigh)) <= 0.1,'222222222222222')
          if(Math.abs(Number(this.coalDetailsData.hair) - Number(this.globalweigh)).toFixed(2) <= 0.1 || Math.abs(Number(this.coalDetailsData.skin) - Number(this.globalweigh)).toFixed(2) <= 0.1) {
            return true
          }else {
            return false
          }
          // if((this.coalDetailsData.hair == this.globalweigh) || (this.coalDetailsData.skin == this.globalweigh)) {
          //   return true
          // }else {
          //   return false
          // }
        }else {
          return false
        }
      },
         isapproach() {
            return this.currentPageCoalStatus != 3;
            return this.currentPageCoalStatus != 3 || this.coalDetailsData.isSendErp ==1;
         },
         // 展示皮毛净
         showWeigh() {
@@ -326,8 +360,8 @@
        return uni.getStorageSync('userInfo').type;
      },
      isShenqingFubangShow() {  //申请复磅按钮是否显示
        //条件: 不是 称重完成+不是 未称重+有车牌+司机  【未称重0,称重中1,验质中2,称重完成3,验质完成4】  noCarNo 是否有车牌号(有车牌0,无车牌1)
        if((this.currentPageCoalStatus != 0 && this.currentPageCoalStatus != 3) && this.roleType == 3 && this.noCarNo == 0) {
        //条件: 不是 称重完成+不是 未称重+司机  【未称重0,称重中1,验质中2,称重完成3,验质完成4】  noCarNo 是否有车牌号(有车牌0,无车牌1)
        if((this.currentPageCoalStatus != 0) && this.roleType == 3) {
          return true
        }else {
          return false
@@ -354,14 +388,6 @@
         this.coalDayPage(); //获取日志
         this.getTakeCoal(); //获取通知单详情
         },
      getYuanfaList() {  //原发信息list
        this.$reqGet('getMaterialDetailByOrderCode', { orderCode: this.orderCode }).then(res => {
          if(res.code == 0) {
            this.$store.commit('GET_YUANFALIST',res.data)
          }
        })
      },
         // 获取客服openid
         getgetService() {
            this.$reqGet('getCallOutList', this.getServiceOpenid).then(res => {
@@ -388,6 +414,7 @@
               if (res.code == 0) {
                  console.log(res, '通知单详情');
                  this.coalDetailsData = res.data;
            console.log('coalDetailsData',this.coalDetailsData)
            this.orderCode = res.data.orderCode
                  this.orderType = this.coalDetailsData.orderType;
            this.noCarNo = res.data.noCarNo
@@ -419,10 +446,9 @@
                  //初始化磅单数据
                  this.list = this.coalDetailsData.tmTaskCoalItems.map(item=>{
                     return  {name:item.breed + '/' + item.spec,id:item.id}
                     return  {name:item.breed + '/' + item.spec,id:item.id,tmId:item.tmId}
                  })
            this.getPoundRoomByList()
            this.getYuanfaList()  //原发信息
               } else {
                  this.$u.toast('加载失败');
               }
@@ -659,8 +685,10 @@
           tmId:this.coalDetailsData.id
         }
         this.shenQingFuBangLoading = true
        this.$reqPost('applyForRepeatedCar',params,'json').then(res => {
        this.$reqPost('applyForRepeatedCarNew',params,'json').then(res => {
          console.log(res,'申请复磅-----')
          if(res.code == 0) {
            this.$u.toast(res.msg);
            this.shenQingFuBangLoading = false
          }else {
            this.$u.toast(res.msg);
@@ -720,19 +748,55 @@
           this.show = true;
         },
         selectClick(obj){
            this.$reqGet('printerHandler',{tmItemId:obj.id}).then(res => {
               uni.hideLoading();
               this.$u.toast(res.msg ? res.msg : '去打印')
               if (res.data) {
            console.log(obj,'tmiod')
         this.startProlling(obj.id,obj.tmId);
         },
         //打印任务
         printPolling(id){
          return new Promise((resolve, reject) => {
          this.$reqGet('printerHandler',{tmItemId:id}).then(res => {
             uni.hideLoading();
            this.$u.toast(res.msg ? res.msg : '去打印')
            if (res.data) {
                  // this.$u.toast('打印成功')
                  // this.orderPlanData = res.data
                  resolve(true)
               }
            }).catch((err) => {
               uni.hideLoading();
                  this.$u.toast('打印失败')
               reject(false)
            this.$u.toast('打印失败')
            }).finally(() => {
               this.show = false;
            })
            })
         },
         //推送erp
         pushErp(id,tmId)
         {
             return new Promise((resolve, reject) => {
          this.$reqPost('reSendErp',{tmId:tmId},'json').then(res => {
             uni.hideLoading();
            if (res.data) {
                  resolve(true)
               }
            }).catch((err) => {
               uni.hideLoading();
               reject(false)
            this.$u.toast('推送失败')
            })
            })
         },
         //执行打印任务
         startProlling(id,tmId){
            Promise.all([this.pushErp(id,tmId), this.printPolling(id)]).then(res => {
               console.log('所有异步请求均已成功加载完毕',res)
                this.$u.toast('推送成功');
            }).catch(err => {
               console.log(err)
            })
         },
         sheetClose(){
@@ -1008,9 +1072,11 @@
            .bottom-button {
               width: 100%;
               height: vww(47);
               @include flex;
               display: flex;
          justify-items: flex-start;
               .u-button {
            margin: 0 20rpx;
                  width: 40%;
                  height: 60rpx;
                  font-size: 28rpx;
@@ -1052,4 +1118,8 @@
      padding: 10px 15px!important;
    }
  }
  .btns-box-main{
    width: 100%;
    margin-bottom: 60rpx;
  }
</style>