yangan
2024-12-02 3539a3d350c9d5fa51871fa44a2745474c721410
pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue
@@ -1,7 +1,7 @@
<template>
   <view class="bill-of-lading-details">
      <view class="top-banner"
         style="background: url('https://mx.jzeg.cn:9096/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>
@@ -23,7 +23,7 @@
               <view class="basic">
                  <view class="coalName">{{ coalDetailsData.coalName }}</view>
                  <view class="status-button"
                     style="background: url('https://mx.jzeg.cn:9096/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;">
                     {{coalDetailsData.statusView||''}}
                  </view>
@@ -47,19 +47,19 @@
               <view class="weigh-item">
                  <view class="item">
                     <view class="concrete"
                        style="background: url('https://mx.jzeg.cn:9096/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:9096/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:9096/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>
@@ -219,7 +219,7 @@
         </view>
         <view class="weigh-button"
            v-show="ablePrintOut">
            <u-button text="打印出门证"
            <u-button :text=" isXiaBang ? '下磅' : '打印出门证'"
               @click="printBefore('out')"
               type="primary"
               shape="circle"
@@ -228,6 +228,16 @@
         </view>
         <view class="weigh-button"><u-button text="展示提煤单"
               @click="showCaolPickUpBill"
               type="primary"
               shape="circle"></u-button></view>
               <!-- 电子磅单下载 -->
               <view class="weigh-button"><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>
@@ -255,6 +265,31 @@
            :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="wsgShow"
@@ -323,9 +358,19 @@
      },
      data() {
         return {
            swiperList:[],
            orderPlanId: null,
            radioValue:'煤场',
            currentNum:0,
            guideLineshow:false,
            yyId: null,
            isXiaBang:false, // 判断是不是马头洗选厂 是的话,打印2字改下磅
            dayRZ: [],
            activeText:'',
            activeObj:{
               affiliationId:'',
               type:2,
            },
            coalDetailsData: {}, // 提煤单详情
            currentPageCoalStatus: 0, // 当前页面提煤单状态
            // 获取所在磅房参数
@@ -563,6 +608,7 @@
                  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 {
@@ -578,7 +624,9 @@
               }
            }).then(() => {
               // 判断当前时间是否超出预约时间
               setTimeout(() => {
               ;
               if([1, 2, 13].includes(this.coalDetailsData.status) ){
                  setTimeout(() => {
                  let endTime = this.coalDetailsData.yuYueSection.slice(0, 10) + ' ' + this
                     .coalDetailsData
                     .yuYueSection.slice(-5);
@@ -592,6 +640,8 @@
                     this.timeout = '1'
                  }
               }, 1000)
               }
            })
         },
         // 日志查询
@@ -726,7 +776,7 @@
                     res.data.id
                  }&gateCameraId=${res.data.lastEquipmentId}&gateCameraCode=${res.data.lastEquipmentCode}&weighHouseCode=${res.data.code}&primarySkin=${
                     this.primarySkin
                  }&primaryHair=${this.primaryHair}&primaryClean=${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 : '未在磅房,请前往磅房后再试!!');
@@ -975,13 +1025,192 @@
            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.fileExtName;
               const newPath = `${wx.env.USER_DATA_PATH}/${randfile}`;
               if(result){
                        wx.downloadFile({
                        url: `${BaseUrl}${result}`,
                        filePath:newPath,
                        header: {
                           Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'),
                           CLIENT_TOC: 'Y'
                        },
                        success(res){
                           const filePath = res.tempFilePath;
                           wx.openDocument({
                           filePath: newPath,
                           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 ]后缀即可',
                           //             confirmColor: '#0bc183',
                           //             confirmText: '知道了',
                           //             showCancel: 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 {
@@ -1017,7 +1246,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;
@@ -1061,7 +1291,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;
@@ -1356,4 +1587,7 @@
         }
      }
   }
   ::v-deep .u-album{
      display: none!important;
   }
</style>