yangan
2024-06-14 0edf09ced95ebdb06bec33dca061c51520d8d364
pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue
@@ -86,7 +86,7 @@
                  {{item.createTime||"" }}
               </view>
               <view class="item">
                  {{item.coalName||"" }}
                  {{item.productName||"" }}
               </view>
               <view class="item skin">
                  <view class="">
@@ -133,24 +133,24 @@
            </view>
            <view class="main-information">
               <view class="prefix">煤种名称:</view>
               <view class="suffix">{{ weighList.coalName || '' }}</view>
               <view class="suffix">{{ weighList.productName || '' }}</view>
            </view>
            <view class="main-information">
               <view class="prefix">皮重:</view>
               <view class="suffix">
                  {{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin||""  }}
                  {{ temporaryWeighObj.skin == 0 ? weightObj.skin : temporaryWeighObj.skin||""  }}
               </view>
            </view>
            <view class="main-information">
               <view class="prefix">毛重:</view>
               <view class="suffix">
                  {{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair||""  }}
                  {{ temporaryWeighObj.hair == 0 ? weightObj.hair : temporaryWeighObj.hair||""  }}
               </view>
            </view>
            <view class="main-information">
               <view class="prefix">净重:</view>
               <view class="suffix">
                  {{ temporaryWeighObj.clean == 0 ? weighList.clean : temporaryWeighObj.clean ||"" }}
                  {{ temporaryWeighObj.clean == 0 ? weightObj.clean : temporaryWeighObj.clean ||"" }}
               </view>
            </view>
            <view class="main-information">
@@ -161,6 +161,42 @@
                  v-show="orderSurplusLess&&!isSpecial">* 订单余量不足</text>
            </view>
         </view>
      </view>
      <!-- 产品信息 -->
      <view class="chanpin">
         <view class="sub-table">
         <view class="first-line"><combined-title title="产品信息"></combined-title></view>
         <view class="table">
            <uni-table  border
             id="table-box"
         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 v-for="(subItem, index) in productList" :key="index">
                  <uni-td align="center">
                     <view class="name">{{ subItem.productName }}</view></uni-td>
               <uni-td align='right'>
                  <view  v-if="subItem.skin">{{ Number( subItem.skin).toFixed(2)  || ''}}</view>
               </uni-td>
               <uni-td align='right'>
                  <view class="name" v-if="subItem.hair">{{ Number(subItem.hair) .toFixed(2) || '' }}</view>
               </uni-td>
               <uni-td align='right'>
                  <view class="name" v-if="subItem.clean">{{ Number( subItem.clean).toFixed(2) || '' }}</view>
               </uni-td>
<!--
                <uni-td align="center">
               <view>{{ subItem.bunkerName }}</view></uni-td> -->
            </uni-tr>
            </uni-table>
         </view>
      </view>
      </view>
      <view class="three">
         <!-- 放空 -->
@@ -174,14 +210,14 @@
         <!-- 外销订单称皮时,返回加减吨按钮置灰。称毛时可用.外购订单,不出现返回加减吨的按钮 -->
         <u-button type="primary"
            text="确定称重"
            :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh ||globalWarning"
            :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh ||globalWarning||addAndSubtractCoalDisabled"
            :loading="isConfirmWeighLoading"
            loadingText="确认"
            @click="confirmWeigh"
            throttleTime="800"></u-button>
         <u-button type="primary"
            text="返回装卸"
            :disabled="addAndSubtractCoalDisabled"
            :disabled="addAndSubtractCoalDisabled||isConfirmWeighLoading"
            @click="addAndSubtractCoal"
            class="jiajian"
            v-if="outBuy&&!isSkinWeigh"
@@ -189,8 +225,8 @@
      </view>
      <view v-show="isExceedOrigin"
         style="color: #ff6363;width: auto;margin: 0 auto;">
         <text v-if="weighList.orderType == '外购'">超出原发毛重,磅房人员确认中,请勿离开此页面</text>
         <text v-else>超出最大毛重,磅房人员确认中,请勿离开此页面</text>
         <text v-if="weighList.orderType == '外购'">超出原发{{avgFalse ? '皮重' :'毛重'}} ,磅房人员确认中,请勿离开此页面</text>
         <text v-else>超出最大 {{avgFalse ? '皮重' :'毛重'}},磅房人员确认中,请勿离开此页面</text>
      </view>
      <view v-show="afterEvacuationStatus"
         style="color: #ff6363;width: auto;margin: 0 auto;">
@@ -242,6 +278,7 @@
<script>
   import { webSocketUrl } from '@/api/request.js';
   import { mapState, mapMutations } from 'vuex';
   import { BaseUrl } from '@/api/publicInterface.js'
   import combinedTitle from '@/components/combined-title/combined-title.vue';
   import BigNumber from "bignumber.js"
   export default {
@@ -254,12 +291,14 @@
         this.weighHouseCode = params.weighHouseCode;
         this.primarySkin = params.primarySkin;
         this.primaryHair = params.primaryHair;
         this.deptId = params.deptId;
         this.primaryClean = params.primaryClean;
         if (params.overTmWaixiao !== 'null') {
            this.weighData.overTmWaixiao = 1
         }
         this.changeweighHouseCode(params.weighHouseCode);
         this.init();
         this.getDept();
         this.changeWeigh('')
         this.realTimeWeigh = 0
      },
@@ -288,6 +327,8 @@
      },
      data() {
         return {
            avgFalse:false, // 是否皮重异常
            productList:[], // 产品数组
            weighData: {
               //确认称重接口参数
               deptId: '',
@@ -296,6 +337,7 @@
               carNo: '',
               gateCameraId: '',
               equipmentCode: '',
               avgSkin:'',
               weigh: 0,
               tmCode: '',
               sceneInOut: '',
@@ -307,15 +349,17 @@
               abnormalText: ''
            },
            takeCoalId: null,
            deptId:'',
            weightReal:0, // 称重浮动数据
            weighHouseCode: '',
            isConfirmWeighLoading: false, //确定称重按钮
            realTimeWeigh: 0,
            weighList: {},
            // 临时称重对象
            temporaryWeighObj: {
               skin: 0,
               hair: 0,
               clean: 0
               skin: 0,  //皮
               hair: 0,  //毛
               clean: 0  //净重
            },
            infraredStatus: false, // 红外状态,
            // 放空控制
@@ -364,9 +408,10 @@
                  },
               ]
            },
            mergeState: true, //合卡状态
            mergeState: true, //合卡状态
            // mergeStateShow: false, //合卡弹窗
            checkboxValue1: [],
            isExceedOrigin: false, //是否超出毛重
            refreshLoading: false,
            timer: null,
@@ -391,13 +436,13 @@
                     this.temporaryWeighObj.skin = newV;
                     let xx = new BigNumber(this.avgSkin)
                     let yy = new BigNumber(newV)
                     this.errorTipShow = (xx.minus(yy).toNumber() <= -0.2 || xx.minus(yy).toNumber() >= 0.2) &&
                     this.errorTipShow = (xx.minus(yy).toNumber() < -this.weightReal || xx.minus(yy).toNumber() > this.weightReal) &&
                        this.avgSkin !== 0
                  } else {
                     this.isSkinWeigh = false;
                     this.temporaryWeighObj.hair = newV;
                     let x = new BigNumber(this.temporaryWeighObj.hair)
                     let y = new BigNumber(this.weighList.skin)
                     let y = new BigNumber(this.weightObj.skin)
                     this.temporaryWeighObj.clean = x.minus(y).toNumber().toFixed(2)
                     this.isweigh = (this.temporaryWeighObj.clean > this.weighList.orderSurplus || this
                        .temporaryWeighObj
@@ -415,9 +460,9 @@
                     this.temporaryWeighObj.skin = newV;
                     let xx = new BigNumber(this.avgSkin)
                     let yy = new BigNumber(newV)
                     this.errorTipShow = (xx.minus(yy).toNumber() <= -0.2 || xx.minus(yy).toNumber() >= 0.2) &&
                     this.errorTipShow = (xx.minus(yy).toNumber() < -this.weightReal || xx.minus(yy).toNumber() > this.weightReal) &&
                        this.avgSkin !== 0;
                     let x = new BigNumber(this.weighList.hair)
                     let x = new BigNumber(this.weightObj.hair)
                     let y = new BigNumber(this.temporaryWeighObj.skin)
                     this.temporaryWeighObj.clean = x.minus(y).toNumber().toFixed(2)
                     this.isweigh = (this.temporaryWeighObj.clean > this.weighList.orderSurplus || this
@@ -450,12 +495,26 @@
         isEvacuation() {
            if (this.weighList.orderType == '外销' || this.weighList.orderType == '内销' || this.weighList.orderType ==
               '转出') {
               return this.weighList.skin == this.temporaryWeighObj.hair;
               return this.weightObj.skin == this.temporaryWeighObj.hair;
            }
            if (this.weighList.orderType == '外购' || this.weighList.orderType == '内购' || this.weighList.orderType ==
               '转入') {
               return this.weighList.hair == this.temporaryWeighObj.skin;
               return this.weightObj.hair == this.temporaryWeighObj.skin;
            }
         },
         weightObj(){
            const index = this.weighList.tmTaskCoalList.length - 1;//下标位 ,读取第几组的皮毛净;,默认最后一组;
            const tempArr = this.weighList.tmTaskCoalList.filter(item=> item.isWeight === 1);
             const result =tempArr.find(item=>!item.skin || !item.hair || !item.clean);
             console.log(result,'result')
             if(result){
               return result
             }else{
               return  tempArr[index];
             }
         },
         sideline() {
            return this.weighList.orderType == '内购' || this.weighList.orderType == '转入';
@@ -491,6 +550,9 @@
                  this.outBuy = !(this.weighList.orderType === '外购' || this.weighList.orderType ===
                     '内购' ||
                     this.weighList.orderType === '转入')
                  this.productList = res.data.tmTaskCoalList;
                  console.log(this.outBuy);
               } else {
                  uni.hideLoading()
                  this.$u.toast('加载失败')
@@ -503,33 +565,31 @@
          * @确认称重等待后端提供实时称重接口,获取皮重,毛重
          */
         confirmWeigh() {
            if (this.isConfirmWeighLoading == false) {
               this.isConfirmWeighLoading = true;
               if (this.weighData.weigh != 0) {
                  // 如果正在称皮
                  if (this.isSkinWeigh) {
                     // 如果平均皮重为0
                     if (this.isAbnormalAvgSkin) {
                        this.abnormalModalShow = false
                        this.saveWeigh();
                     } else {
                        let xx = new BigNumber(this.avgSkin)
                        let yy = new BigNumber(this.globalweigh)
                        if (xx.minus(yy).toNumber() <= -0.2 || xx.minus(yy).toNumber() >= 0.2) {
                           this.abnormalModalShow = true
                           this.skinAbnormal()
                        } else {
                           this.saveWeigh();
                        }
                     }
                  } else {
            this.isConfirmWeighLoading = true;
            if (this.weighData.weigh != 0) {
               // 如果正在称皮
               if (this.isSkinWeigh) {
                  // 如果平均皮重为0
                  if (this.isAbnormalAvgSkin) {
                     this.abnormalModalShow = false
                     this.saveWeigh();
                  } else {
                     let xx = new BigNumber(this.avgSkin)
                     let yy = new BigNumber(this.globalweigh)
                     if (xx.minus(yy).toNumber() < -this.weightReal || xx.minus(yy).toNumber() > this.weightReal) {
                        this.abnormalModalShow = true
                        this.skinAbnormal()
                     } else {
                        this.saveWeigh();
                     }
                  }
               } else {
                  this.$u.toast('未能获取地磅重量');
                  this.isConfirmWeighLoading = false;
                  this.saveWeigh();
               }
            } else {
               this.$u.toast('未能获取地磅重量');
               this.isConfirmWeighLoading = false;
            }
         },
         // 确认称重接口
@@ -540,14 +600,21 @@
                  console.log(res, '称重接口');
                  if (res.code == 0) {
                     this.$u.toast('称重成功,即将返回上一页');
                     this.isConfirmWeighLoading = false;
                     setTimeout(() => {
                        uni.navigateBack({
                           delta: 1
                        });
                        this.isConfirmWeighLoading = false;
                     }, 1000);
                  } else if (res.code === 3) {
                     this.isExceedOrigin = true
                     if(/皮重/.test(res.msg)){
                        this.avgFalse = true;
                        this.isExceedOrigin = true;
                     }else{
                        this.avgFalse = false;
                        this.isExceedOrigin = true;
                     }
                  } else {
                     this.$u.toast(res.msg ? res.msg : '称重失败,请稍后重试');
                     this.isConfirmWeighLoading = false
@@ -640,7 +707,8 @@
            this.$reqGet('getAvgSkin', { xsUserId1: this.weighList.xsUserId1 }).then(res => {
               if (res.code === 0) {
                  uni.hideLoading()
                  this.avgSkin = res.data.avgSkin
                  this.avgSkin = res.data.avgSkin;
                  this.weighData.avgSkin = res.data.avgSkin;
                  this.tmTaskCoalList = res.data.tmTaskCoalList
                  /**
                   * @description true的话是第一次称, false就不是,没有历史,平均皮重为0是第一次也是正常 */
@@ -677,6 +745,20 @@
                     delta: 1
                  })
            }, 800)
         },
         //获取重量阈值
         getDept(){
            uni.request({
               url: `${BaseUrl}/admin/dept/${this.deptId}`,
               method: 'GET',
               header: {
                  'content-type': 'application/x-www-form-urlencoded'
               },
               success: (res) => {
                  console.log(res.data.data,'res.datra')
                  res.data.data.skinSafeValue ?    this.weightReal = res.data.data.skinSafeValue : this.weightReal = '';
               }
            })
         }
      }
   };
@@ -689,7 +771,14 @@
      justify-content: space-between;
      align-items: center;
   }
   .chanpin{
         width: calc(100% - 60rpx);
         height: 300rpx;
             margin: 0 30rpx 30rpx 30rpx;
         /deep/ .uni-table{
            min-width: 0!important;
         }
   }
   ::v-deep.weighingDevice {
      width: 100%;
      height: 100%;
@@ -1051,4 +1140,4 @@
         justify-content: space-between;
      }
   }
</style>
</style>