ll
liukangdong
2024-12-17 3696ebf6880c87789305453e22c5538afd136388
h5/pages/staff/task/vDangetAppr.vue
@@ -12,10 +12,10 @@
            <view class="img_wrap" v-for="item,i in info.submitFileList" :key="item.id">
               <image v-if="item.type == 0" :src="item.fileurlFull" @click="priviewImage(item.fileurlFull)" mode="widthFix"
                  class="img" />
               <view v-if="item.type == 1"  @click="videoClick(item, i)" class="video_wrap">
                  <video :id="'id' + i" :show-center-play-btn="false"
                     :src="item.fileurlFull" muted class="video" :controls="false" />
                  <image src="@/static/play.png" class="play" mode=""></image>
               <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
                  <video :id="'id' + i" :show-center-play-btn="false" :src="item.fileurlFull" muted class="video"
                     :controls="false" />
                  <image src="@/static/play.png" class="play" mode=""></image>
               </view>
            </view>
         </view>
@@ -42,7 +42,8 @@
            <view class="label">{{info.status == '1' ? '整改前' : '视频/图片'}}</view>
            <view class="value">
               <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealBeforeFileList" :key="i">
                  <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull" mode="widthFix"></image>
                  <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
                     mode="widthFix"></image>
                  <video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" :controls="false"></video>
               </view>
            </view>
@@ -51,7 +52,8 @@
            <view class="label">整改后</view>
            <view class="value">
               <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealAfterFileList" :key="i">
                  <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull" mode="widthFix"></image>
                  <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
                     mode="widthFix"></image>
                  <video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" :controls="false"></video>
               </view>
            </view>
@@ -100,9 +102,9 @@
         </view>
      </view>
      <view class="emyty"></view>
      <view class="main_footer">
      <view class="main_footer" v-if="info.status==0&& info.checkUserId == userInfo.memberId">
         <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn" @click="handleBack">退回</view>
         <view v-if="info.status==0 && info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">
         <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">
            转交</view>
         <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">处理
         </view>
@@ -133,7 +135,8 @@
               <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in dealBeforeFileList" :key="i">
                  <u-icon class="close" size="20" name="close-circle-fill" color="red"
                     @click="fileDel('dealBeforeFileList', i)"></u-icon>
                  <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull" mode="widthFix"></image>
                  <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
                     mode="widthFix"></image>
                  <video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" :controls="false"></video>
               </view>
            </view>
@@ -263,9 +266,11 @@
         @cancel="isShowHandleDate = false" mode="datetime"></u-datetime-picker>
      <!--  -->
<!--       <view v-show="videoPlay" class="video_app">
         <video controls id="myvideo" :src="videoUrl" @fullscreenchange="screenChange"></video>
      </view> -->
      <view v-if="videoPlay" class="video_app" >
         <video controls autoplay muted x5-video-player-type="h5"
            x5-video-player-fullscreen="true" id="myvideo" :src="videoUrl" @fullscreenchange="screenChange"></video>
         <view class="bg" @click="closeVideo"></view>
      </view>
   </view>
</template>
@@ -339,7 +344,7 @@
            memberList: [],
            videoPlay: false,
            videoContext: null,
            videoContext: null,
            videoUrl: ''
         };
      },
@@ -360,22 +365,25 @@
               //退出全屏
               this.videoPlay = false; // 隐藏播放盒子
            }
         },
         closeVideo() {
            this.videoPlay = false
            this.videoContext = null
         },
         videoClick(item, i) {
            this.videoContext = uni.createVideoContext("myvideo", this); // this这个是实例对象 必传
            console.log(item)
            this.videoPlay = true;
            this.videoContext = uni.createVideoContext("myvideo", this); // this这个是实例对象 必传
            this.videoUrl = item.fileurlFull;
            this.videoContext.requestFullScreen();
            this.$nextTick(() => {
               this.videoContext.play();
            })
            this.videoContext.requestFullScreen();
            this.$nextTick(() => {
               this.videoContext.play();
            })
         },
         handleOpen() {
            this.isShowHandle = true;
            const submitFileList = this.info.submitFileList || []
            this.dealBeforeFileList  = [...submitFileList]
            const submitFileList = this.info.submitFileList || []
            this.dealBeforeFileList = [...submitFileList]
            this.submitFileList = [...submitFileList];
            this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
         },
@@ -803,7 +811,7 @@
      .flow_wrap {
         padding: 30rpx 0 90rpx;
         .list {
            .item {
               display: flex;
@@ -825,7 +833,7 @@
                  height: 80rpx;
                  position: relative;
                  margin-right: 20rpx;
                  .img {
                     width: 80rpx;
                     height: 80rpx;
@@ -838,7 +846,7 @@
                     border-radius: 50%;
                     position: absolute;
                     right: 0;
                     bottom: 0;
                     bottom: 0;
                     z-index: 999;
                  }
               }
@@ -1046,7 +1054,7 @@
               background: #f7f7f7;
               color: #666666;
               font-size: 22rpx;
               display: flex;
               display: flex;
               border-radius: 4rpx;
               flex-direction: column;
               align-items: center;
@@ -1059,21 +1067,24 @@
                  margin-right: 0;
               }
            }
            .video_wrap{
               position: relative;
               border: 1px solid;
               width: 156rpx;
               height: 156rpx;
               border-radius: 4rpx;
               .play{
                  width: 60rpx;
                  height: 60rpx;
                  position: absolute;
                  top: 50%;
                  left: 50%;
                  transform: translate(-50%, -50%);
               }
            .video_wrap {
               position: relative;
               border: 1px solid;
               width: 156rpx;
               height: 156rpx;
               border-radius: 4rpx;
               .play {
                  width: 60rpx;
                  height: 60rpx;
                  position: absolute;
                  top: 50%;
                  left: 50%;
                  transform: translate(-50%, -50%);
               }
            }
            .img {
               width: 100%;
               max-height: 100%;
@@ -1130,7 +1141,7 @@
      .main_footer {
         position: fixed;
         bottom: 0;
         width: 100%;
         width: 100%;
         z-index: 9999;
         left: 0;
         padding: 30rpx 10rpx 60rpx;
@@ -1372,17 +1383,29 @@
         color: #333333;
      }
   }
   .video_app{
      position: absolute;
      left: 0;
      top: 0;
      width: 100vw;
   .video_app {
      overflow: hidden;
      position: fixed;
      left: 0;
      top: 0;
      width: 100vw;
      height: 100vh;
      video{
      display: flex;
      align-items: center;
      .bg{
         background-color: rgba(0,0,0,.6);
         position: absolute;
         width: 100%;
         height: 100%;
      }
         z-index: -1;
      }
      video {
         width: 100%;
         height: 42vh;
      }
   }
   .Transfer_footer {
      display: flex;