qingyiay
2023-04-10 7406be32979e90a730b5a2ac8d392892f71835d2
pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue
@@ -2,23 +2,23 @@
   <view class="bill-of-lading-details">
      <view class="bangDanMessage">
         <view class="">
            <text>客户:{{ coalDetailsData.customerName }}</text>
            <text>矿厂:{{ coalDetailsData.deptName }}</text>
            <text>客户:{{ coalDetailsData.customerName || '' }}</text>
            <text>矿厂:{{ coalDetailsData.deptName || '' }}</text>
         </view>
         <view class="">
            <text>皮重:{{ coalDetailsData.skin }}</text>
            <text>毛重:{{ coalDetailsData.hair }}</text>
            <text>净重:{{ coalDetailsData.clean }}</text>
            <text>皮重:{{ coalDetailsData.skin || '' }}</text>
            <text>毛重:{{ coalDetailsData.hair || '' }}</text>
            <text>净重:{{ coalDetailsData.clean || '' }}</text>
         </view>
         <view class="">
            <text>磅单类型:{{ coalDetailsData.orderTye }}</text>
            <text>磅单类型:{{ coalDetailsData.orderTye || '' }}</text>
            <text>状态:{{ coalStatus[coalDetailsData.status] }}</text>
         </view>
         <view class="">
            <text>煤场:{{ coalDetailsData.filedName }}</text>
            <text>发运时间:{{ coalDetailsData.sendDate }}</text>
            <text>提煤单编号:{{ coalDetailsData.code }}</text>
            <text>订单编号:{{ coalDetailsData.orderCode }}</text>
            <text>煤场:{{ coalDetailsData.filedName || '' }}</text>
            <text>发运时间:{{ coalDetailsData.sendDate || '' }}</text>
            <text>提煤单编号:{{ coalDetailsData.code || '' }}</text>
            <text>订单编号:{{ coalDetailsData.orderCode || '' }}</text>
         </view>
      </view>
      <view class="timeLine" style="font-size: 16rpx;">
@@ -28,16 +28,28 @@
         <view class="utils_chil utils_chilTop">
            <u-button text="签到" type="primary" plain @click="arriveClick"></u-button>
            <u-button text="入场申请" type="primary" plain @click="rcsqClick"></u-button>
            <u-button text="放空" type="primary" plain></u-button>
            <u-button text="放空" type="primary" plain @click="evacuation" throttleTime="500"></u-button>
            <u-button text="呼叫客服" type="primary" plain @click="callCustomerService"></u-button>
         </view>
         <view class="utils_chil"><u-button text="展示提煤单" @click="showCaolPickUpBill" type="primary"></u-button></view>
         <view class="utils_chil"><u-button text="上磅计量" @click="cengZhongClick" type="primary"></u-button></view>
      </view>
      <view class="evacuationModal">
         <u-modal
            :show="evacuationModalShow"
            :title="evacuationTitle"
            :content="evacuationContent"
            :showCancelButton="true"
            @confirm="evacuationConfirm"
            @cancel="evacuationCancel"
         ></u-modal>
      </view>
   </view>
</template>
<script>
let socket = null;
import { webSocketUrl } from '@/api/request.js';
export default {
   onLoad(value) {
      if (value.orderPlanId && value.yyId) {
@@ -52,6 +64,7 @@
         yyId: null,
         dayRZ: [],
         coalDetailsData: {}, // 提煤单详情
         currentPageCoalStatus: 0, // 当前页面提煤单状态
         // 获取所在磅房参数
         getWeightHouseObj: {
            deptId: '',
@@ -76,7 +89,19 @@
            openId: null,
            openName: ''
         },
         coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤场', '出煤仓'] // 状态
         coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤场', '出煤仓', '放空'], // 状态
         weighHouseCode: '',
         // 放空弹窗控制变量
         evacuationModalShow: false,
         evacuationTitle: '放空确认',
         evacuationContent: '是否确认放空',
         // 第一次放空参数
         weighData: {
            sceneId: '',
            gateCameraId: '',
            equipmentCode: '',
            weigh: 30
         }
      };
   },
   onShow() {
@@ -106,6 +131,8 @@
               if (res.data.length > 0) {
                  this.serviceInfoObj.openId = res.data[0].openId;
                  this.serviceInfoObj.openName = res.data[0].openName;
                  uni.setStorageSync('customeropenId', this.serviceInfoObj.openId);
                  uni.setStorageSync('customerName', this.serviceInfoObj.openName);
               }
            }
         });
@@ -128,6 +155,8 @@
               // 获取客服openId参数赋值
               this.getServiceOpenid.deptId = this.coalDetailsData.deptId;
               this.getServiceOpenid.filedId = this.coalDetailsData.filedId;
               // 获取提煤单状态
               this.currentPageCoalStatus = this.coalDetailsData.status;
            }
         });
      },
@@ -148,7 +177,9 @@
      // 签到
      arriveClick() {
         uni.navigateTo({
            url: `/pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock?orderPlanId=${this.orderPlanId}`
            url: `/pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock?orderPlanId=${this.orderPlanId}&coalStatus=${
               this.currentPageCoalStatus
            }&tmId=${this.getWeightHouseObj.tmId}`
         });
      },
      // 入场申请
@@ -180,7 +211,7 @@
               } else {
                  wx.join1v1Chat({
                     caller: { nickname: uni.getStorageSync('name'), openid: uni.getStorageSync('openid') },
                     listener: { nickname: '付延余', openid: 'oZjXk5e7G9uIvOzaTO6nFV51ALwk' }, // 这里的openid是fyy的,充当固定的客服openid
                     listener: { nickname: uni.getStorageSync('customerName'), openid: uni.getStorageSync('customeropenId') }, // 这里的openid是fyy的,充当固定的客服openid
                     backgroundType: 2,
                     roomType: 'voice',
                     success() {
@@ -210,15 +241,79 @@
         this.$reqGet('getWeighHouse', this.getWeightHouseObj).then(res => {
            console.log(res, '获取磅房');
            if (res.code == 0) {
               this.weighData.sceneId = res.data.id;
               this.weighData.gateCameraId = res.data.lastEquipmentId;
               this.weighData.equipmentCode = res.data.lastEquipmentCode;
               this.weighHouseCode = res.data.code;
               uni.navigateTo({
                  url: `/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice?takeCoalId=${this.orderPlanId}&sceneId=${res.data.id}&gateCameraId=${
                     res.data.lastEquipmentId
                  }&gateCameraCode=${res.data.lastEquipmentCode}&weighHouseCode=${res.data.code}`
                  url: `/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice?takeCoalId=${this.orderPlanId}&sceneId=${
                     res.data.id
                  }&gateCameraId=${res.data.lastEquipmentId}&gateCameraCode=${res.data.lastEquipmentCode}&weighHouseCode=${res.data.code}`
               });
            } else {
               this.$u.toast('未在磅房,请前往磅房后再试!!');
            }
         });
      },
      /**
       * 初始化 weoSocket
       */
      initWebSocket() {
         let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`;
         socket = uni.connectSocket({
            url: wsUrl,
            header: {
               CLIENT_TOC: 'Y'
            },
            complete: res => {
               console.log(res, 'socket结果');
            }
         });
         socket.onOpen(() => {
            console.log('onOpen');
         });
         // 获取服务器传来的数据,做相应处理
         socket.onMessage(res => {
            console.log('socketWeigh', res);
            let nowWeighObj = JSON.parse(res.data.slice(7));
            if (nowWeighObj.eqCode == this.weighHouseCode) {
               if (nowWeighObj.eqInfraredStatus) {
                  this.weighData.weigh = nowWeighObj.weigh;
               } else {
                  this.weighData.weigh = nowWeighObj.weigh;
               }
            }
         });
         socket.onClose(() => {
            console.log('webSocketClose');
            this.$u.toast('磅房中断');
         });
         socket.onError(err => {
            console.log('socket报错', err);
            this.$u.toast('出现错误,请重新进入该页面,重试!!');
         });
      },
      // 放空
      evacuation() {
         this.evacuationModalShow = true;
      },
      // 放空弹窗确认
      evacuationConfirm() {
         let mix = Object.assign(this.weighData, this.getWeightHouseObj);
         this.$reqPost('getOneEvacuation', mix, 'json').then(res => {
            console.log(res, '第一次放空');
            if (res.code == 0) {
               this.$u.toast('操作成功');
               this.evacuationModalShow = false;
            } else {
               this.$u.toast('操作失败,请稍后重试');
               this.evacuationModalShow = false;
            }
         });
      },
      // 放空弹窗取消
      evacuationCancel() {
         this.evacuationModalShow = false;
      }
   }
};
@@ -238,35 +333,39 @@
      margin: vww(20);
      margin-bottom: vww(10);
      height: 40%;
      font-size:vww(16);
      font-weight: 500;
      .u-text {
         margin-bottom: vww(5) !important;
      }
      font-size: vww(18);
      font-weight: 600;
      view {
         margin-bottom: vww(5);
         margin-bottom: vww(10);
      }
      view:nth-of-type(1) {
         display: flex;
         text{
            width:50%;
         text {
            width: 50%;
            text-align: center;
         }
      }
      view:nth-of-type(2) {
         display: flex;
         text{
            width:33%;
         text {
            width: 33%;
            text-align: center;
         }
      }
      view:nth-of-type(3) {
         display: flex;
         text{
            width:50%;
         text {
            width: 50%;
            text-align: center;
         }
      }
      view:nth-of-type(4){
         display:flex;
      view:nth-of-type(4) {
         display: flex;
         flex-direction: column;
         text {
            margin-bottom: vww(10);
            text-align: center;
         }
      }
   }
   .timeLine {
@@ -284,7 +383,7 @@
      }
   }
   .utilsBox {
      padding: vww(20);
      padding: vww(10) vww(20);
      flex: 1;
      display: flex;
      flex-direction: column;