yangan
2025-02-10 6ebd978221c7bf469f5e1d821b4345101357ca4c
pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue
@@ -1,7 +1,10 @@
<template>
   <view class="bill-of-lading-details">
      <view class="top-banner"
         style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/loadingbanner.png') no-repeat;background-size: cover;">
         style="background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/loadingbanner.png') no-repeat;background-size: cover;">
         <u-notice-bar :text="originInfoNotice"
            v-if="haveInputOrigin&&!isSpecial"
            fontSize='36'></u-notice-bar>
         <view class="top-information">
            <view class="cutomer-name"
               v-if="orderType == '转入' || orderType == '转出'">煤场:{{ coalDetailsData.toFiledName || '' }}</view>
@@ -20,9 +23,9 @@
               <view class="basic">
                  <view class="coalName">{{ coalDetailsData.coalName }}</view>
                  <view class="status-button"
                     style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/statusbutton.png') no-repeat;
                     style="background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/statusbutton.png') no-repeat;
                              background-size: cover;">
                     {{ coalStatus[coalDetailsData.status] || '' }}
                     {{coalDetailsData.statusView||''}}
                  </view>
               </view>
               <view class="time">
@@ -32,24 +35,31 @@
                  <view class="send-date">{{ coalDetailsData.sendDate }}</view>
               </view>
               <view class="coal-code">提煤单编号:&nbsp;&nbsp;{{ coalDetailsData.code || '' }}</view>
               <view class="order-code">
               <view class="order-code"
                  v-if="!isSpecial">
                  订单编号:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ coalDetailsData.orderCode || '' }}</view>
               <view class="stream-view"
                  style="color: #475bfd;"
                  @click="streamView"
                  v-show="timeLineStatus===9">
                  查看装载情况
               </view>
               <view class="weigh-item">
                  <view class="item">
                     <view class="concrete"
                        style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/skin.png') no-repeat;background-size: cover;">
                        style="background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/skin.png') no-repeat;background-size: cover;">
                        皮</view>
                     <view class="num">{{ coalDetailsData.skin||"" }}</view>
                  </view>
                  <view class="item">
                     <view class="concrete"
                        style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/hair.png') no-repeat;background-size: cover;">
                        style="background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/hair.png') no-repeat;background-size: cover;">
                        毛</view>
                     <view class="num">{{ coalDetailsData.hair||""  }}</view>
                  </view>
                  <view class="item">
                     <view class="concrete"
                        style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/clean.png') no-repeat;background-size: cover;">
                        style="background: url('https://mr1.res.jzeg.cn:9096/appimg/image/banner/clean.png') no-repeat;background-size: cover;">
                        净</view>
                     <view class="num">{{ coalDetailsData.clean||""  }}</view>
                  </view>
@@ -57,7 +67,93 @@
            </view>
         </view>
      </view>
      <view class="origin-info"
         v-if="originInfoVisible&&!isSpecial">
         <view class="origin-info_wrapper">
            <view class="origin-info_content">
               <view class="first-line"><combined-title title="原发信息"></combined-title></view>
               <u-form :model="originInfoForm"
                  :rules="rules"
                  label-position="top"
                  label-width="160"
                  :label-style="{'marginLeft':'9px'}"
                  ref="originInfoRef">
                  <u-form-item prop="coalContactSkin">
                     <view class="second-line">
                        <view class="label-text"
                           :class="{ focusClass: isfocus1 }"><text style="color: #f56c6c;">*</text>皮重</view>
                        <view class="input-container"
                           :class="{ inputClass: isfocus1, disabledClass: isModifyoriginInfo }">
                           <u--input placeholder="请输入皮重"
                              border="surround"
                              v-model="originInfoForm.coalContactSkin"
                              @focus="inputFocus(1)"
                              @blur="inputBlur"
                              @change="inputChange"
                              :disabled="isModifyoriginInfo"></u--input>
                        </view>
                        <view class="unit"
                           :class="{ focusClass: isfocus1 }">吨</view>
                     </view>
                  </u-form-item>
                  <u-form-item prop="coalContactHair">
                     <view class="second-line">
                        <view class="label-text"
                           :class="{ focusClass: isfocus2 }"><text style="color: #f56c6c;">*</text>毛重</view>
                        <view class="input-container"
                           :class="{ inputClass: isfocus2, disabledClass: isModifyoriginInfo }">
                           <u--input placeholder="请输入毛重"
                              border="surround"
                              v-model="originInfoForm.coalContactHair"
                              @focus="inputFocus(2)"
                              @blur="inputBlur"
                              @change="inputChange"
                              :disabled="isModifyoriginInfo"></u--input>
                        </view>
                        <view class="unit"
                           :class="{ focusClass: isfocus2 }">吨</view>
                     </view>
                  </u-form-item>
                  <u-form-item>
                     <view class="second-line">
                        <view class="label-text"><text style="color: #f56c6c;">*</text>净重</view>
                        <view class="input-container"
                           :class="{ disabledClass: isModifyoriginInfo }">
                           <u--input placeholder="净重"
                              border="surround"
                              v-model="coalContactClean"
                              :disabled="isModifyoriginInfo"></u--input>
                        </view>
                        <view class="unit">吨</view>
                     </view>
                  </u-form-item>
                  <u-form-item prop='contactPicture'>
                     <view class="label-text">
                        <text style="color: #f56c6c;">*</text>原发磅单
                     </view>
                     <u-upload :fileList="fileList1"
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="1"
                        multiple
                        :maxCount="2"
                        width="250"
                        height="150"
                        :previewFullImage="true"
                        :disabled="isModifyoriginInfo"
                        :deletable="!deletable"></u-upload>
                  </u-form-item>
               </u-form>
               <view class="submit-button">
                  <u-button text="提交"
                     type="primary"
                     @click.stop="submitOriginInfo"
                     :disabled="isModifyoriginInfo"
                     :loading="submitOriginInfoLoading"></u-button>
               </view>
            </view>
         </view>
      </view>
      <view class="timeLine">
         <u-steps :current="dayRZ.length - 1"
            direction="column"
@@ -73,40 +169,49 @@
      <view class="utilsBox">
         <view class="utils_chil utils_chilTop">
            <view class="top-button">
               <u-button text="签到"
                  type="primary"
                  plain
                  @click="arriveClick"
                  shape="circle"
                  :disabled="coalDetailsData.status >= 2"></u-button>
               <u-button text="入场申请"
               <u-button text="更换预约时间"
                  type="primary"
                  plain
                  @click="rcsqClick"
                  shape="circle"
                  :disabled="coalDetailsData.status >= 3"></u-button>
            </view>
            <view class="bottom-button">
               <u-button text="放空"
                  :disabled="currentPageCoalStatus>= 3"></u-button>
               <!-- <u-button text="入场申请"
                  type="primary"
                  plain
                  @click="evacuation"
                  throttleTime="500"
                  @click="rcsqClick"
                  shape="circle"
                  :disabled="isEvacuation || isapproach"></u-button>
                  :disabled="correctStatus>= 3"></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> -->
            </view>
         </view>
      </view>
      <view class="weigh-ability">
         <view class="weigh-button">
            <u-button text="上磅计量"
               @click="cengZhongClick"
               type="primary"
               shape="circle"
               :disabled="haveInputOrigin&&!isSpecial"
               :loading="weighHouseLoading"></u-button>
         </view>
         <view class="weigh-button"
            v-show='ablePrintInduction'>
            v-show='ablePrintInduction&&!(coalDetailsData.skin&&coalDetailsData.hair)'>
            <u-button text="打印入门证"
               @click="printEntryCertificate"
               @click="printBefore('in')"
               type="primary"
               shape="circle"
               :loading="enterLoading"
@@ -114,8 +219,8 @@
         </view>
         <view class="weigh-button"
            v-show="ablePrintOut">
            <u-button text="打印出门证"
               @click="printExitPermit"
            <u-button :text=" isBtnShow ? '下磅' : '打印出门证'"
               @click="printBefore('out')"
               type="primary"
               shape="circle"
               :loading="outLoading"
@@ -125,8 +230,16 @@
               @click="showCaolPickUpBill"
               type="primary"
               shape="circle"></u-button></view>
         <view class="weigh-button"><u-button text="上磅计量"
               @click="cengZhongClick"
               <!-- 电子磅单下载 -->
               <view class="weigh-button"
               v-if="isBtnShow"
               ><u-button text="下载电子磅单"
               @click="downloadFileFun"
               type="primary"
               shape="circle"></u-button></view>
               <!-- 查看路线指引 -->
   <view class="weigh-button"><u-button text="查看路线指引"
               @click="reviewGuidelines"
               type="primary"
               shape="circle"></u-button></view>
      </view>
@@ -138,14 +251,14 @@
            @confirm="evacuationConfirm"
            @cancel="evacuationCancel"></u-modal>
      </view>
      <view class="completeOutSale">
      <!-- <view class="completeOutSale">
         <u-modal :show="completeOutSaleShow"
            title="确认"
            content="是否完成外销提煤单"
            :showCancelButton="true"
            @confirm="completeOutSaleConfirm"
            @cancel="completeOutSaleCancel"></u-modal>
      </view>
      </view> -->
      <view class="serviece-customer">
         <u-action-sheet :actions="list"
            @select="selectClick"
@@ -154,36 +267,113 @@
            :show="servieceShow"
            cancelText="取消"></u-action-sheet>
      </view>
      <u-popup :show="guideLineshow" mode="bottom"   @close="close">
        <view style="margin-top: 35rpx;padding-left: 20rpx;">
         <u-radio-group
            v-model="radioValue"
            placement="row"
            @change="radioChange"
            >
            <u-radio label="煤场" :name="'煤场'" :labelSize="30" :size="30"></u-radio>
            <u-radio label="单位"  :name="'单位'" :labelSize="30" :size="30"></u-radio>
         </u-radio-group>
            <div class="guidebox">
            <u-swiper
            v-if="guideLineshow"
            :height="200"
            @click="swiperClick"
            :list="swiperList"
            keyName="image"
            circular
      ></u-swiper>
        <view>{{ activeText }}</view>
        <u-album :urls="swiperList"  ref="swiperAlbum" keyName="src2"></u-album>
         </div>
        </view>
   </u-popup>
      <!-- 磅房忙碌提示弹窗 -->
      <view class="">
         <u-modal :show="wsgVisiable"
         <u-modal :show="wsgShow"
            title="提示"
            :content="wsgContent"
            @confirm="wsgContentConfirm"></u-modal>
      </view>
      <printerStyle ref="printerStyleRef"
         @selectedPrint='selectedPrintHandle' />
   </view>
</template>
<script>
   import { webSocketUrl } from '@/api/request.js';
   import { BaseUrl } from '@/api/publicInterface.js';
   import { mapState, mapMutations } from 'vuex';
   import combinedTitle from '@/components/combined-title/combined-title.vue';
   import printerStyle from './printerStyle/printerStyle.vue'
   import BigNumber from "bignumber.js"
   const dayjs = require('dayjs')
   export default {
      components: {
         combinedTitle,
         printerStyle
      },
      onPullDownRefresh() {
         this.getTakeCoal(); //获取提煤单详情
         uni.stopPullDownRefresh();
      },
      onLoad(value) {
         this.orderPlanId = value.orderPlanId;
         this.yyId = value.yyId;
         if (value.overTmWaixiao) {
            this.overTmWaixiao = value.overTmWaixiao
            this.getWeightHouseObj.overTmWaixiao = value.overTmWaixiao
         this.originInfoVisible = value.orderType === '外购'
         // if (value.overTmWaixiao) {
         //    this.overTmWaixiao = value.overTmWaixiao
         //    this.getWeightHouseObj.overTmWaixiao = value.overTmWaixiao
         // }
         this.fileList1 = []
         this.changeglobalIsFirstWeighing(1)
         if (this.globalIsFirstWeighing === 1) {
            console.log('获取详情 onload');
            this.getTakeCoal(); //获取提煤单详情
         }
         this.init(); //获取日志
         this.getgetService(); //获取客服
      },
      onShow() {
         this.init();
         this.coalDayPage(); //获取日志 定时任务
         if (this.globalIsFirstWeighing === 2) {
            console.log('获取详情 onShow');
            this.getTakeCoal(); //获取提煤单详情
         }
      },
      onHide() {
         clearInterval(this.interval);
      },
      onUnload() {
         clearInterval(this.interval);
      },
      onReady() {
         if (this.originInfoVisible && !this.isSpecial) {
            this.$refs.originInfoRef.setRules(this.rules);
         }
      },
      beforeDestroy() {
         clearInterval(this.interval);
      },
      data() {
         return {
            swiperList:[],
            orderPlanId: null,
            radioValue:'煤场',
            isBtnShow:true,
            currentNum:0,
            guideLineshow:false,
            yyId: null,
            isXiaBang:false, // 判断是不是马头洗选厂 是的话,打印2字改下磅
            dayRZ: [],
            activeText:'',
            activeObj:{
               affiliationId:'',
               type:2,
            },
            coalDetailsData: {}, // 提煤单详情
            currentPageCoalStatus: 0, // 当前页面提煤单状态
            // 获取所在磅房参数
@@ -212,7 +402,7 @@
               serviecePhone: ''
            },
            coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤仓', '出煤仓', '放空', '作废', '入场申请',
               '进入场院', '异常审核中'
               '进入场院', '异常审核中', '返回加减吨', '超时', '打印中', '打印中', '填写', '放空确认中', '超最大毛重确认中'
            ], // 状态
            weighHouseCode: '',
            // 放空弹窗控制变量
@@ -250,16 +440,46 @@
            ablePrintOut: false, //出门证是否显示
            enterLoading: false, //入门按钮loading
            outLoading: false, //出门按钮loading
            // 是否填写原发信息
            isInputOrigin: false,
            haveInputOrigin: false,
            isModifyoriginInfo: false,
            // 聚焦时改变样式
            isfocus1: false,
            isfocus2: false,
            // 输入的原发信息
            originInfoForm: {
               coalContactSkin: '',
               coalContactHair: '',
               coalContactClean: 0,
               contactPicture: ''
            },
            originInfoVisible: false,
            fileList1: [], //图片列表
            deletable: true,
            rules: {},
            timeout: '0',
            wsgShow: false,
            timeLineStatus: null,
            timeLineEqCode: '',
            originInfoNotice: '填写原发信息后可上磅计量',
            submitOriginInfoLoading: false,
            ischeckedDefault: 0,
            isSpecial: null, //1 是特殊 0不是特殊
            printerType: '', //判断打印的是出门证还是入门证
            weighHouseLoading: false
         };
      },
      onHide() {
         clearInterval(this.interval);
      },
      beforeDestroy() {
         clearInterval(this.interval);
      watch: {
         '$store.state.wsgVisiable': {
            deep: true,
            handler: function(val) {
               this.wsgShow = val
            }
         }
      },
      computed: {
         ...mapState(['globalweigh', 'globalinfraredStatus', 'wsgVisiable', 'wsgContent']),
         ...mapState(['globalweigh', 'globalinfraredStatus', 'wsgVisiable', 'wsgContent', 'globalIsFirstWeighing', ]),
         name() {
            return uni.getStorageSync('name');
         },
@@ -281,15 +501,38 @@
            return this.coalDetailsData.hair !== 0 || this.coalDetailsData.skin !== 0;
         },
         isapproach() {
            return this.currentPageCoalStatus !== 3;
            return this.correctStatus !== 3
         },
         coalContactClean() {
            let xx = BigNumber(this.originInfoForm.coalContactHair ? this.originInfoForm.coalContactHair : 0)
            let yy = BigNumber(this.originInfoForm.coalContactSkin ? this.originInfoForm.coalContactSkin : 0)
            return xx.minus(yy).toNumber() > 0 ? xx.minus(yy).toNumber().toFixed(2) : 0
         },
         currentTime() {
            let currentDate = new Date();
            let year = currentDate.getFullYear();
            let month = ("0" + (currentDate.getMonth() + 1)).slice(-2);
            let date = ("0" + currentDate.getDate()).slice(-2);
            let hours = ("0" + currentDate.getHours()).slice(-2);
            let minutes = ("0" + currentDate.getMinutes()).slice(-2);
            let formattedDate = year + "-" + month + "-" + date + " " + hours + ":" + minutes;
            return formattedDate
         },
         correctStatus() {
            return this.currentPageCoalStatus === this.timeLineStatus ? this.currentPageCoalStatus : this
               .timeLineStatus
         },
         isNeedOrigin() {
            return uni.getStorageSync('isNeedOrigin')
         }
      },
      methods: {
         ...mapMutations(['changewsgVisiable']),
         ...mapMutations(['changewsgVisiable', 'changeisUploadimg', 'changeglobalIsFirstWeighing']),
         init() {
            this.$reqGet('coalDayPage', { id: this.orderPlanId }).then(res => {
            this.$reqGet('coalDayPage', { id: this.orderPlanId, timeout: this.timeout }).then(res => {
               if (res.code == 0) {
                  // this.dayRZ = res.data;
                  this.timeLineStatus = res.data[0].taskStatus
                  this.timeLineEqCode = res.data[0].eqCode
                  this.dayRZ = res.data.map(v => {
                     let slicedate = v.taskStatusDes.slice(0, 10);
                     if (slicedate == this.currentDate) {
@@ -303,9 +546,6 @@
                  });
               }
            });
            this.coalDayPage(); //获取日志
            this.getTakeCoal(); //获取提煤单详情
         },
         // 获取客服openid
         getgetService() {
@@ -321,7 +561,7 @@
                  uni.setStorageSync('customeropenId', this.serviceInfoObj.openId);
                  uni.setStorageSync('customerName', this.serviceInfoObj.openName);
               }
            });
            })
         },
         // 获取提煤单详情
         getTakeCoal() {
@@ -334,11 +574,13 @@
                  console.log(res, '提煤单详情');
                  this.coalDetailsData = res.data;
                  this.orderType = this.coalDetailsData.orderType;
                  // 判断是否完成外销订单
                  this.completeOutSale.orderType = this.coalDetailsData.orderType;
                  this.completeOutSale.deptId = this.coalDetailsData.deptId;
                  this.completeOutSale.filedId = this.coalDetailsData.filedId;
                  this.completeOutSale.clean = this.coalDetailsData.clean;
                  //
                  this.isSpecial = res.data.isSpecial
                  // // 判断是否完成外销订单
                  // this.completeOutSale.orderType = this.coalDetailsData.orderType;
                  // this.completeOutSale.deptId = this.coalDetailsData.deptId;
                  // this.completeOutSale.filedId = this.coalDetailsData.filedId;
                  // this.completeOutSale.clean = this.coalDetailsData.clean;
                  // 获取所在磅房参数赋值
                  this.getWeightHouseObj.deptId = this.coalDetailsData.deptId;
                  this.getWeightHouseObj.filedId = this.coalDetailsData.filedId;
@@ -362,35 +604,79 @@
                  this.ablePrintInduction = this.coalDetailsData.hair || this.coalDetailsData.skin
                  this.ablePrintOut = this.coalDetailsData.hair && this.coalDetailsData.skin || this
                     .coalDetailsData.status === 6
                  // 原发信息回显以及控制是否可修改
                  this.haveInputOrigin = !this.coalDetailsData.skinTwo && this.coalDetailsData.orderType ===
                     '外购'
                  this.deletable = this.coalDetailsData.status > 3
                  this.originInfoForm.coalContactSkin = this.coalDetailsData.skinTwo;
                  this.originInfoForm.coalContactHair = this.coalDetailsData.hairTwo;
                  this.originInfoForm.contactPicture = this.coalDetailsData.contactPicture
                  this.isXiaBang = (this.coalDetailsData.deptId == '1765926490588897282' ? true : false);
                  if (this.coalDetailsData.contactPicture) {
                     this.fileList1 = this.coalDetailsData.contactPicture.split(',').map(v => {
                        return {
                           url: BaseUrl + v
                        }
                     })
                  } else {
                     this.fileList1 = []
                  }
               } else {
                  this.$u.toast('加载失败');
               }
            }).then(() => {
               if (this.completeOutSale.orderType == "内购" || this.completeOutSale.orderType == "转入") {
                  if (this.completeOutSale.clean !== 0 && this.currentPageCoalStatus !== 6 && this
                     .currentPageCoalStatus !== 11 && this.currentPageCoalStatus !== 12) {
                     this.$reqGet('getTmTaskCoalOrderType', {
                        deptId: this.completeOutSale.deptId,
                        filedId: this.completeOutSale.filedId,
                        orderType: '外销'
                     }).then(res => {
                        if (res.data && res.data?.length !== 0) {
                           this.completeOutSaleShow = true
                           console.log(res, '完成外销订单');
                        }
                     })
               // 判断当前时间是否超出预约时间
               ;
               if([1, 2, 13].includes(this.coalDetailsData.status) ){
                  setTimeout(() => {
                  let endTime = this.coalDetailsData.yuYueSection.slice(0, 10) + ' ' + this
                     .coalDetailsData
                     .yuYueSection.slice(-5);
                  // 最大约束时间 maxRestrainTime
                  const maxRestrainTime = dayjs().subtract(this.coalDetailsData.flexibleTime,
                        'minute')
                     .format('YYYY-MM-DD HH:mm:ss');
                  console.log(maxRestrainTime, this.correctStatus);
                  if (dayjs(maxRestrainTime).isAfter(endTime) && this.correctStatus <= 1) {
                     // this.$u.toast('已超出预约时间,可点击入场申请重新入场')
                     this.timeout = '1'
                  }
               }, 1000)
               }
               //查询当前单位是否有电子提煤单功能
               // this.$reqGet('getIsOpenTm').then(res=>{
               //    console.log(res,'查询查询')
               // })
               uni.request({
               url: `${BaseUrl}/admin/dict/type/app_tmorder_use`,
               method: 'GET',
               success: (res) => {
                  console.log(res.data.data, '查询字典项');
                  let falseArr = res.data.data.map(item=>{
                     return item.value
                  });
                  if (falseArr.length){
                     if(falseArr.includes(this.coalDetailsData.deptId)){
                        this.isBtnShow = true;
                     }else{
                        this.isBtnShow = false;
                     }
                  }else{
                     this.isBtnShow = false;
                  }
               }
            }).then(() => {
               this.getgetService(); //获取客服
            })
            })
         },
         // 日志查询
         coalDayPage() {
            this.interval = setInterval(() => {
               this.$reqGet('coalDayPage', { id: this.orderPlanId }).then(res => {
               this.$reqGet('coalDayPage', { id: this.orderPlanId, timeout: this.timeout }).then(res => {
                  if (res.code == 0) {
                     // this.dayRZ = res.data;
                     this.timeLineStatus = res.data[0].taskStatus
                     this.timeLineEqCode = res.data[0].eqCode
                     this.dayRZ = res.data.map(v => {
                        let slicedate = v.taskStatusDes.slice(0, 10);
                        if (slicedate == this.currentDate) {
@@ -413,19 +699,21 @@
            });
         },
         // 签到
         arriveClick() {
            uni.navigateTo({
               url: `/pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock?orderPlanId=${this.orderPlanId}&coalStatus=${
               this.currentPageCoalStatus
            }&tmId=${this.getWeightHouseObj.tmId}`
            });
         },
         // 入场申请
         // arriveClick() {
         //    uni.navigateTo({
         //       url: `/pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock?orderPlanId=${this.orderPlanId}&coalStatus=${
         //       this.correctStatus
         //    }&tmId=${this.getWeightHouseObj.tmId}&timeout=${this.timeout}&yyId=${this.yyId}&filedId=${this.getYuYueDataParams.filedId}&deptId=${
         //       this.getYuYueDataParams.deptId
         //    }&sendDate=${this.getYuYueDataParams.sendDate}&yuYueSection=${this.coalDetailsData.yuYueSection}`
         //    });
         // },
         // 更换预约时间段
         rcsqClick() {
            uni.navigateTo({
               url: `/pages/driver-page/appointment/appointment?type=入场申请&takeCoalId=${this.orderPlanId}&yyId=${this.yyId}&filedId=${this.getYuYueDataParams.filedId}&deptId=${
               this.getYuYueDataParams.deptId
            }&sendDate=${this.getYuYueDataParams.sendDate}`
            }&sendDate=${this.getYuYueDataParams.sendDate}&coalStatus=${this.currentPageCoalStatus}&yuYueSection=${this.coalDetailsData.yuYueSection}&tmId=${this.getWeightHouseObj.tmId}`
            });
         },
         callCustomerService() {
@@ -491,25 +779,37 @@
         },
         // 称重
         cengZhongClick() {
            this.changeglobalIsFirstWeighing(2)
            this.weighHouseLoading = true
            this.$reqGet('getWeighHouse', this.getWeightHouseObj).then(res => {
               console.log(res, '获取磅房');
               this.weighHouseLoading = false
               if (res.code == 0) {
                  this.weighData.sceneId = res.data.id;
                  this.weighData.gateCameraId = res.data.lastEquipmentId;
                  this.weighData.equipmentCode = res.data.lastEquipmentCode;
                  this.weighData.sceneInOut = res.data.sceneInOut;
                  let form = {
                     sceneId: this.weighData.sceneId,
                     gateCameraId: this.weighData.gateCameraId,
                     equipmentCode: this.weighData.equipmentCode,
                     sceneInOut: this.weighData.sceneInOut,
                  }
                  uni.setStorageSync('WeighHouseForm', JSON.stringify(form))
                  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}&primarySkin=${
                     this.primarySkin
                  }&primaryHair=${this.primaryHair}&psrimaryClean=${this.primaryClean}&sceneInOut=${res.data.sceneInOut}&overTmWaixiao=${this.overTmWaixiao}`
                  }&primaryHair=${this.primaryHair}&primaryClean=${this.primaryClean}&sceneInOut=${res.data.sceneInOut}&overTmWaixiao=${this.overTmWaixiao}&deptId=${this.getWeightHouseObj.deptId }`
                  });
               } else {
                  this.$u.toast(res.msg ? res.msg : '未在磅房,请前往磅房后再试!!');
               }
            });
            }).catch(() => {
               this.weighHouseLoading = false
            })
         },
         // 放空
         evacuation() {
@@ -519,16 +819,20 @@
         evacuationConfirm() {
            this.weighData = {
               ...this.weighData,
               weigh: this.globalweigh
               weigh: this.globalweigh,
               isBackground: 1
            };
            uni.showLoading({
               title: '加载中'
            })
            let mix = Object.assign(this.weighData, this.getWeightHouseObj);
            this.$reqPost('getOneEvacuation', mix, 'json').then(res => {
               console.log(res, '第一次放空');
               uni.hideLoading()
               if (res.code == 0) {
                  this.$u.toast('操作成功');
                  this.evacuationModalShow = false;
               } else {
                  this.$u.toast('操作失败,请稍后重试');
                  this.$u.toast(res.msg ? res.msg : '操作失败,请稍后重试');
                  this.evacuationModalShow = false;
               }
            });
@@ -548,21 +852,57 @@
         completeOutSaleCancel() {
            this.completeOutSaleShow = false
         },
         //点击打印入门证之前判断是否勾选了默认打印样式,否则弹出选择 是的话传本地储存选择的样式
         printBefore(type) {
            this.printerType = type
            if (!this.ischeckedDefault && !uni.getStorageSync('ischeckedDefault')) {
               this.$nextTick(() => {
                  this.$refs.printerStyleRef.init()
               })
            } else if (this.ischeckedDefault || uni.getStorageSync('ischeckedDefault')) {
               this.selectedPrintHandle(true)
            }
         },
         //处理选择的打印样式
         selectedPrintHandle(params1) {
            this.ischeckedDefault = params1
            if (this.printerType === 'in') {
               this.printEntryCertificate()
               return
            } else if (this.printerType === 'out') {
               this.printExitPermit()
               return
            }
         },
         // 打印入门证
         printEntryCertificate() {
            uni.showLoading({
               title: '正在打印中,请稍后'
            })
            this.enterLoading = true
            this.$reqGet('printer', { type: 2, tmId: this.coalDetailsData.id }).then(res => {
            let form = {
               deptId: this.getWeightHouseObj.deptId,
               tmId: this.getWeightHouseObj.tmId,
               carNo: uni.getStorageSync('carNo'),
               type: 2,
               weighingNumber: 1,
               printing: uni.getStorageSync('selectedPrintStyle')
            }
            let form1 = uni.getStorageSync('WeighHouseForm') ? uni.getStorageSync('WeighHouseForm') : '{}'
            this.$reqPost('printer', Object.assign(form, JSON.parse(form1)),
               'json').then(
               res => {
                  uni.hideLoading()
                  this.enterLoading = false
                  console.log(res);
                  if (res.code === 0) {
                     this.$u.toast('打印成功')
                  } else {
                     this.$u.toast(res.msg ? res.msg : '打印失败')
                  }
               }).catch(e => {
               uni.hideLoading()
               this.enterLoading = false
               console.log(res);
               if (res.code === 0) {
                  this.$u.toast('打印成功')
               } else {
                  this.$u.toast(res.msg ? res.msg : '打印失败')
               }
               this.outLoading = false
            })
         },
         // 打印出门证
@@ -570,26 +910,333 @@
            uni.showLoading({
               title: '正在打印中,请稍后'
            })
            let form = {
               deptId: this.getWeightHouseObj.deptId,
               filedId: this.getWeightHouseObj.filedId,
               tmId: this.getWeightHouseObj.tmId,
               carNo: uni.getStorageSync('carNo'),
               type: this.$store.state.ispecial.includes(this.coalDetailsData.deptId) ? 4 : 3,
               weighingNumber: 2,
               printing: uni.getStorageSync('selectedPrintStyle')
            }
            // let form1 = uni.getStorageSync('WeighHouseForm') ? uni.getStorageSync('WeighHouseForm') : '{}'
            this.outLoading = true
            this.$reqGet('printer', { type: 3, tmId: this.coalDetailsData.id }).then(res => {
               uni.hideLoading()
               this.outLoading = false
               if (res.code === 0) {
                  this.$u.toast('打印成功')
               } else {
                  this.$u.toast(res.msg ? res.msg : '打印失败')
            this.$reqGet('getWeighHouse1', this.getWeightHouseObj).then(r => {
               let form1 = {
                  sceneId: r.data.id,
                  gateCameraId: r.data.lastEquipmentId,
                  equipmentCode: r.data.lastEquipmentCode,
                  sceneInOut: r.data.sceneInOut
               }
               this.$reqPost('printer', Object.assign(form, form1), 'json').then(res => {
                  uni.hideLoading()
                  this.outLoading = false
                  if (res.code === 0) {
                     this.$u.toast('打印成功')
                  } else {
                     this.$u.toast(res.msg ? res.msg : '打印失败')
                  }
               }).catch(e => {
                  uni.hideLoading()
                  this.outLoading = false
               })
            })
         },
         wsgContentConfirm() {
            this.changewsgVisiable(false)
         }
         },
         // input聚焦
         inputFocus(v) {
            if (v == 1) {
               this.isfocus1 = true;
            } else {
               this.isfocus2 = true;
            }
         },
         // input失焦
         inputBlur() {
            this.isfocus1 = false;
            this.isfocus2 = false;
         },
         inputChange() {
            if (Number(this.originInfoForm.coalContactHair) > 0 && Number(this.originInfoForm.coalContactSkin >
                  0)) {
               this.isInputOrigin = true;
            }
         },
         deletePic(event) {
            this.changeisUploadimg(true);
            this[`fileList${event.name}`].splice(event.index, 1);
         },
         async afterRead(event) {
            // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
            let lists = [].concat(event.file);
            let fileListLen = this[`fileList${event.name}`].length;
            lists.map(item => {
               this[`fileList${event.name}`].push({
                  ...item,
                  status: 'uploading',
                  message: '上传中'
               });
            });
            for (let i = 0; i < lists.length; i++) {
               const result = await this.uploadFilePromise(lists[i].url, event.name);
               let item = this[`fileList${event.name}`][fileListLen];
               this[`fileList${event.name}`].splice(
                  fileListLen,
                  1,
                  Object.assign(item, {
                     status: 'success',
                     message: '上传成功',
                     url: result
                  })
               );
               fileListLen++;
            }
         },
         uploadFilePromise(url, num) {
            return new Promise((resolve, reject) => {
               let a = uni.uploadFile({
                  url: BaseUrl + '/admin/sys-file/uploadUnToken',
                  filePath: url,
                  name: 'file',
                  success: res => {
                     if (num == 1) {
                        this.originInfoForm.contactPicture = JSON.parse(res.data)
                           .data.url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }
                  }
               });
            });
         },
         submitOriginInfo() {
            let form = {
               skin: Number(this.originInfoForm.coalContactSkin),
               hair: Number(this.originInfoForm.coalContactHair),
               clean: Number(this.coalContactClean),
               tmId: this.getWeightHouseObj.tmId,
               contactPicture: this.originInfoForm.contactPicture,
               deptId: this.coalDetailsData.deptId,
               filedId: this.coalDetailsData.filedId,
               coalName: this.coalDetailsData.coalName,
               taskCoalCode: this.coalDetailsData.code,
               carNo: this.coalDetailsData.carNo,
            }
            if (this.originInfoForm.coalContactSkin && this.originInfoForm.coalContactHair && this
               .originInfoForm
               .contactPicture) {
               this.submitOriginInfoLoading = true
               this.$reqPost('appSaveContact', form, 'json').then(res => {
                  if (res.code === 0) {
                     this.$u.toast('提交成功')
                     this.submitOriginInfoLoading = false
                  } else {
                     this.submitOriginInfoLoading = false
                     this.isModifyoriginInfo = true
                     this.$u.toast(res.msg ? res.msg : '提交失败')
                  }
               }).then(() => {
                  setTimeout(() => {
                     this.getTakeCoal()
                  }, 1000)
               })
            } else {
               uni.$u.toast('请填写完整原发信息')
            }
         },
         streamView() {
            uni.navigateTo({
               url: `/pages/public-page/driverStream/driverStream?eqCode=${this.timeLineEqCode}`
            })
         },
         getguideFun(){
            this.$reqGet('getRoute', this.activeObj).then((res)=>{
               console.log(res,'res');
               if(res.data.length){
                  this.swiperList = res.data[0].guideImg.split(',').map(item=>{
                     return BaseUrl + item;
                  });//数组
                  console.log(this.swiperList,'swiperList');
                  this.activeText = res.data[0].guideText;
               }else{
                  this.swiperList = [];
                  this.activeText = '暂无数据'
               }
            })
         },
         reviewGuidelines(){
            this.guideLineshow = true;
            this.swiperList = [];
            this.activeText = '';
            this.activeObj.affiliationId = this.coalDetailsData.filedId; //默认查煤场
            this.getguideFun();
         },
         close(){
            this.guideLineshow = false;
         },
         radioChange(item){
            console.log(item);
            if(item == '煤场'){
               this.activeObj.affiliationId = this.coalDetailsData.filedId;
               this.activeObj.type = 2
            }else{
               this.activeObj.affiliationId = this.coalDetailsData.deptId;
               this.activeObj.type = 1
            }
            this.getguideFun();
         },
         //打开图片预览
         swiperClick(){
            console.log(this.$refs.swiperAlbum,'swiperAlbum')
            this.$nextTick(()=>{
               this.$refs.swiperAlbum.onPreviewTap();
               this.$refs.swiperAlbum.openPage();
            })
         },
         downloadFileFun(){
            wx.getSetting({
                        success: (res) => {
                           //检查是否有访问相册的权限,如果没有则通过wx.authorize方法授权
                           if (!res.authSetting['scope.writePhotosAlbum']) {
                              console.log('没有获取授权');
                              wx.authorize({
                                 scope: 'scope.writePhotosAlbum',
                                 success: (res) => {
                                    //用户点击允许获取相册信息后进入下载保存逻辑
                                    this.downloadTmFile()
                                 }
                              })
                           } else {
                              console.log('已获取授权');
                              this.downloadTmFile()
                           }
                        }
                        });
         },
         //下载电子磅单
         downloadTmFile(){
            uni.showLoading({
               title: '加载中'
            });
            this.$reqGetId('downLoadTm',this.coalDetailsData.id).then(res=>{
               console.log(res,'result')
               this.$u.toast('下载成功!')
               uni.hideLoading();
               const result =    res.data.url;
               let that = this;
               const fileExtName = ".pdf";
               const randfile = new Date().getTime() +res.data.fileName;
               const newPath = `${wx.env.USER_DATA_PATH}/${randfile}`;
               if(result){
                        wx.downloadFile({
                        url: `${BaseUrl}${result}`,
                        filePath:wx.env.USER_DATA_PATH+`/${randfile}`,
                        header: {
                           Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'),
                           CLIENT_TOC: 'Y'
                        },
                        success(res){
                           const filePath = res.tempFilePath;
                           wx.openDocument({
                           filePath: res.filePath,
                           showMenu: true,
                           fileType: 'pdf',
                           success: function (res) {}
                           })
                           //先检查相册访问授权情况
                           // try {
                           //    setTimeout(() => {
                           //       wx.getFileSystemManager().saveFile({
                           //    tempFilePath:data,
                           //    // filePath: data,
                           //    success(res2) {
                           //       console.log('触发res2save',res2)
                           //       //获取了相册的访问权限,使用 wx.saveImageToPhotosAlbum 将图片保存到相册中
                           //       wx.saveImageToPhotosAlbum({
                           //       filePath: res2.savedFilePath,
                           //       success: (res) => {
                           //          console.log('保存到相册>>>>>>',res)
                           //          //保存成功弹出提示,告知一下用户
                           //          wx.showModal({
                           //             title: '文件已保存到手机相册',
                           //             content: '位于tencent/MicroMsg/WeiXin下 \r\n将保存的文件重命名改为[ .pdf ]后缀即可',
                           //          confirmText: '知道了',
                           //             s   confirmColor: '#0bc183',
                           //             howCancel: false
                           //          })
                           //       },
                           //       fail(res) {
                           //          console.log('触发失败save',res)
                           //       }
                           //       })
                           //    },
                           //    fail(err){
                           //       console.log(err,'保存失败')
                           //    }
                           // })
                           //    }, 2000);
                           // } catch (error) {
                           //    console.log(error,'resoor')
                           // }
                           // wx.openDocument({
                           // filePath: data,
                           // fileType: 'pdf',
                           // showMenu: true  //表示右上角是否有转发按钮
                           // })
                           uni.hideLoading();
                        },
                        fail(err){
                           console.log(err,'下载文件失败')
                        }
               })
                     }
            })
         },
      }
   };
</script>
<style lang="scss"
   scoped>
<style lang="scss"   scoped>
   .guidebox{
      height:600rpx;
      padding: 20rpx
   }
    .indicator-num {
        padding: 2px 0;
        background-color: rgba(0, 0, 0, 0.35);
        border-radius: 100px;
        width: 35px;
        @include flex;
        justify-content: center;
        &__text {
             color: #FFFFFF;
             font-size: 12px;
         }
    }
   /deep/.u-steps {
      .u-steps-item {
         .u-steps-item__content {
@@ -625,7 +1272,8 @@
            width: 94%;
            margin: 0 auto;
            height: vww(52);
            @include flex position: relative;
            @include flex;
             position: relative;
            flex-direction: column;
            justify-content: space-between;
            align-items: flex-start;
@@ -669,7 +1317,8 @@
            overflow: hidden;
            .block-main {
               @include flex width: 94%;
               @include flex ;
               width: 94%;
               height: 336rpx;
               margin: vww(18) vww(7) vww(11) vww(17);
               flex-direction: column;
@@ -687,6 +1336,10 @@
               position: absolute;
               right: vww(10);
               color: #fff;
               white-space: nowrap;
               text-overflow: ellipsis;
               -o-text-overflow: ellipsis;
               overflow: hidden;
            }
            .basic {
@@ -739,6 +1392,12 @@
               color: #7d7d7d;
            }
            .stream-view {
               height: vww(18);
               margin: vww(8);
               margin-left: 0;
            }
            .weigh-item {
               width: 100%;
               height: vww(36);
@@ -764,6 +1423,86 @@
                     font-size: 40rpx;
                     font-weight: 300;
                     color: #303030;
                  }
               }
            }
         }
      }
      .origin-info {
         width: 690rpx;
         height: 600rpx;
         margin: vww(20) vww(15) vww(13);
         background: #ffffff;
         box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12);
         border-radius: 20rpx;
         @include flex;
         justify-content: center;
         overflow: hidden;
         position: relative;
         top: vww(130);
         &_wrapper {
            width: 650rpx;
            height: 600rpx;
            @include flex;
            flex-direction: column;
            margin-bottom: vww(20);
            position: relative;
            .origin-info_content {
               width: 100%;
               height: 100%;
               overflow-y: scroll;
               .first-line,
               .second-line {
                  width: 90%;
                  height: vww(44);
                  .focusClass {
                     color: #5b95fd;
                  }
                  .inputClass {
                     border: 1px solid rgba(73, 95, 252, 0.6) !important;
                     box-shadow: 0rpx 5rpx 13rpx 0rpx rgba(73, 95, 252, 0.6) !important;
                     border-radius: 12rpx !important;
                  }
                  .isInputOrigin {
                     background-color: #f4f4fc;
                  }
                  .input-container {
                     border: 2px solid #c5c5c5;
                     box-shadow: 0rpx 5rpx 13rpx 0rpx #c5c5c5;
                     border-radius: 12rpx;
                  }
               }
               .first-line {
                  @include flex;
                  position: relative;
                  top: vww(8);
               }
               .second-line {
                  @include flex;
               }
               .submit-button {
                  width: 180rpx;
                  margin: vww(8) auto;
                  .u-button {
                     font-size: 28rpx;
                     font-weight: 300;
                     color: #ffffff;
                     background: #497bfb;
                     letter-spacing: 4rpx;
                     border-radius: 37rpx 37rpx 37rpx 37rpx;
                     box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29);
                  }
               }
            }
@@ -813,14 +1552,30 @@
            width: 100%;
            margin: 0 auto;
            .top-button,
            .bottom-button {
            .top-button {
               width: 100%;
               height: vww(47);
               @include flex;
               .u-button {
                  width: 40%;
                  height: 60rpx;
                  font-size: 28rpx;
                  font-weight: 300;
                  color: #497bfb;
                  border: 2px solid #3b56eb;
               }
            }
            .bottom-button {
               width: 40%;
               height: vww(47);
               padding-left: vww(18);
               @include flex;
               justify-content: flex-start;
               .u-button {
                  width: 100%;
                  height: 60rpx;
                  font-size: 28rpx;
                  font-weight: 300;
@@ -858,4 +1613,7 @@
         }
      }
   }
   ::v-deep .u-album{
      display: none!important;
   }
</style>