ll
liukangdong
2025-02-27 88a34566f7c3f77d90daa3fd57fb0abca3e1b5e6
h5/pages/staff/task/vDangetAppr.vue
@@ -1,5 +1,5 @@
<template>
   <view class="main_app">
   <view class="main_app" :style="{height: windowHeight  + 'px'}">
      <view class="status_wrap">
         <view class="name">{{ info.categoryName }}</view>
         <view v-if="info.status == '0'" class="status">{{ statusMap[info.status] }}</view>
@@ -9,10 +9,14 @@
            class="status_img"></image>
         <view>{{ info.content }}</view>
         <view class="file_list">
            <view class="img_wrap" v-for="item in info.submitFileList" :key="item.id">
            <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" />
               <video v-if="item.type == 1" :src="item.fileurlFull" class="video" controls />
               <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
                  <video :src="item.fileurlFull" initial-time="0.01" :show-center-play-btn="false" :controls="false"
                     class="video" :enable-progress-gesture="false" muted />
                  <image src="@/static/play.png" class="play" mode=""></image>
               </view>
            </view>
         </view>
         <view class="text_wrap">
@@ -28,18 +32,25 @@
      </view>
      <!--  -->
      <view class="emyty"></view>
      <view v-if="info.status == 1 || info.status == 2" class="module_list">
         <view class="flow_title">处理结果</view>
      <view v-if="info.status == 1 || info.status == 2" class="module_list">
         <view class="title">处理结果</view>
         <view class="item">
            <view class="label">处理结果</view>
            <view class="value primaryColor" :class="{ red: info.status == 2 }">{{ statusMap[info.status] }}</view>
         </view>
         <view class="item">
            <view class="label">{{info.status == '1' ? '整改前' : '视频/图片'}}</view>
            <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" :src="item.fileurlFull" mode="widthFix"></image>
                  <video v-if="item.type == 1" :src="item.fileurlFull"></video>
                  <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" :show-center-play-btn="false" :controls="false" class="video"
                  :enable-progress-gesture="false" autoplay muted></video> -->
                  <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
                     <video :src="item.fileurlFull" :initial-time="0.01" :show-center-play-btn="false" :controls="false"
                        class="video" :enable-progress-gesture="false" muted />
                     <image src="@/static/play.png" class="play" mode=""></image>
                  </view>
               </view>
            </view>
         </view>
@@ -47,13 +58,20 @@
            <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" :src="item.fileurlFull" mode="widthFix"></image>
                  <video v-if="item.type == 1" :src="item.fileurlFull"></video>
                  <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" initial-time="0.01" :show-center-play-btn="false" :controls="false" class="video"
                  :enable-progress-gesture="false" autoplay muted></video> -->
                  <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
                     <video :src="item.fileurlFull" :initial-time="0.01" :show-center-play-btn="false" :controls="false"
                        class="video" :enable-progress-gesture="false" muted />
                     <image src="@/static/play.png" class="play" mode=""></image>
                  </view>
               </view>
            </view>
         </view>
         <view class="item">
            <view class="label">{{info.status == '1' ? '整改说明' : '退回说明'}}</view>
            <view class="label">{{ info.status == '1' ? '整改说明' : '退回说明' }}</view>
            <view class="value">{{ info.checkInfo }}</view>
         </view>
      </view>
@@ -68,15 +86,15 @@
                     v-if="info.status == 1 || index < flowList.length - 1" />
                  <image src="@/static/staff/liucheng_fail@2x.png" class="status"
                     v-if="info.status == 2 && index == flowList.length - 1" />
                  <image v-if="item.avatar != null && item.avatar != ''" :src="item.avatar" class="img" alt="" />
                  <image v-if="item.avatar != null && item.avatar != ''" :src="item.avatar" class="img" alt="" />
                  <!-- <image v-else src="@/static/default_avatar.png" class="img" mode=""></image> -->
                  <span v-if="item.avatar == null || item.avatar == ''"
                     class="img_name">{{ item.createUserName && item.createUserName.slice(0, 1) }}</span>
                  <span v-if="item.avatar == null || item.avatar == ''" class="img_name">{{ item.createUserName &&
                     item.createUserName.slice(0, 1) }}</span>
               </view>
               <view class="content">
                  <view class="head">
                     <view class="event">{{ item.title }}</view>
                     <view class="time">{{ item.createDate }}</view>
                     <view class="time" v-if="item.createDate">{{ item.createDate.slice(0, 16) }}</view>
                  </view>
                  <view class="line">
                     <view class="company">
@@ -95,11 +113,15 @@
            </view>
         </view>
      </view>
      <view v-if="info.status == 0 && info.checkUserId == userInfo.memberId" style="height: 90rpx;"></view>
      <view class="emyty"></view>
      <view class="main_footer">
         <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>
         <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">处理</view>
      <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>
         <view v-if="info.status == 0 && info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">处理
         </view>
      </view>
      <!-- 退回 -->
@@ -127,8 +149,15 @@
               <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" :src="item.fileurlFull" mode="widthFix"></image>
                  <video v-if="item.type == 1" :src="item.fileurlFull"></video>
                  <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" show-center-play-btn="false" :controls="false" class="video"
                  :enable-progress-gesture="false" autoplay muted></video> -->
                  <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
                     <video :src="item.fileurlFull" :initial-time="0.01" :show-center-play-btn="false" :controls="false"
                        class="video" :enable-progress-gesture="false" muted />
                     <image src="@/static/play.png" class="play" mode=""></image>
                  </view>
               </view>
            </view>
            <view class="label">退回说明</view>
@@ -168,7 +197,13 @@
                  <u-icon class="close" size="20" name="close-circle-fill" color="red"
                     @click="fileDel('dealBeforeFileList', i)"></u-icon>
                  <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
                  <video v-if="item.type == 1" :src="item.fileurlFull"></video>
                  <!-- <video v-if="item.type == 1" :src="item.fileurlFull" :show-center-play-btn="false" :controls="false" class="video"
                  :enable-progress-gesture="false" muted></video> -->
                  <view v-if="item.type == 1" class="video_wrap">
                     <video :src="item.fileurlFull" :initial-time="0.01" :show-center-play-btn="false" :controls="false"
                        class="video" :enable-progress-gesture="false" muted />
                     <image src="@/static/play.png" class="play" mode=""></image>
                  </view>
               </view>
            </view>
            <view class="label">
@@ -184,7 +219,12 @@
                  <u-icon class="close" size="20" name="close-circle-fill" color="red"
                     @click="fileDel('dealAfterFileList', i)"></u-icon>
                  <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
                  <video v-if="item.type == 1" :src="item.fileurlFull"></video>
                  <!-- <video v-if="item.type == 1" :src="item.fileurlFull" :show-center-play-btn="false" :controls="false"></video> -->
                  <view v-if="item.type == 1" class="video_wrap">
                     <video :src="item.fileurlFull" :initial-time="0.01" :show-center-play-btn="false" :controls="false"
                        class="video" :enable-progress-gesture="false" muted />
                     <image src="@/static/play.png" class="play" mode=""></image>
                  </view>
               </view>
            </view>
            <view class="label">整改说明</view>
@@ -216,45 +256,51 @@
      </u-popup>
      <!-- 转交 -->
      <u-popup :show="isShowTransfer" :round="10" safeAreaInsetBottom mode="bottom" @close="isShowTransfer = false">
         <view class="appr_modal">
         <view class="appr_modal" :style="{height: (windowHeight - 120) + 'px'}">
            <view class="title">选择员工</view>
            <view class="search_inp df_ac">
               <image class="mr12 search" src="@/static/ic_search@2x.png" mode="widthFix"></image>
               <input v-model="transferModel.name" @blur="getMemList()" type="text" placeholder="搜索部门/人员"
                  placeholder-style="color: #999999;" />
               <input v-model="transferModel.queryParam" @focus="showKeyboard = true" @blur="showKeyboard = false"
                  @confirm="getMemList()" type="text" placeholder="搜索人员姓名" placeholder-style="color: #999999;" />
            </view>
            <view class="member_list">
               <view class="mt24 placeholder6">共{{ memberList.length }}条数据</view>
            <view class="mt24 placeholder6">共{{ memberList.length }}条数据</view>
            <view class="member_list" :style="{height: (windowHeight - 320) + 'px'}">
               <view v-for="item in memberList" :key="item.id" class="line">
                  <image :src="item.faceImgFull ? item.faceImgFull : require('@/static/meeting/common/default_user@2x.png')"
                     class="avatar" mode=""></image>
                  <image v-if="item.faceImg" :src="item.faceImg" class="avatar"></image>
                  <span v-else class="img_name">{{ item.realname && item.realname.slice(0, 1) }}</span>
                  <view class="content">
                     <view class="info">
                        <text class="name">{{ item.name }}</text>
                        <!-- <text class="tag">tag</text> -->
                        <text class="name">{{ item.realname }}</text>
                     </view>
                     <view class="depart">{{ item.companyName }}</view>
                  </view>
                  <image @click="changeMem(item)" v-if="transferParam.id == item.id"
                     src="@/static/checkbox_sel@2x.png" mode="widthFix" class="checked"></image>
                  <image @click="changeMem(item)" v-else src="@/static/video@2x.png" mode="widthFix"
                     class="checked"></image>
                  <image @click="changeMem(item)" v-if="transferParam.id == item.id" src="@/static/checkbox_sel@2x.png"
                     mode="widthFix" class="checked"></image>
                  <image @click="changeMem(item)" v-else src="@/static/video@2x.png" mode="widthFix" class="checked"></image>
                  <text></text>
               </view>
               <view class="empty"></view>
            </view>
            <view class="Transfer_footer">
               <view class="btn" @click="isShowTransfer = fales">取消</view>
               <view class="btn" @click="isShowTransfer = false">取消</view>
               <view class="btn active" @click="enterTransfer">确认转交</view>
            </view>
         </view>
      </u-popup>
      <!-- 退回时间 -->
      <u-datetime-picker :show="isShowBackDate" @confirm="confirmBackDate" @cancel="isShowBackDate = false"
      <u-datetime-picker :show="isShowBackDate" :minDate="new Date().getTime()" :closeOnClickOverlay="false"
         @confirm="confirmBackDate" @close="isShowBackDate = false" @cancel="isShowBackDate = false"
         mode="datetime"></u-datetime-picker>
      <u-datetime-picker :minDate="new Date().getTime()" :show="isShowHandleDate" @confirm="confirmHandleDate"
         @cancel="isShowHandleDate = false" mode="datetime"></u-datetime-picker>
      <!--  -->
      <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>
@@ -262,23 +308,24 @@
   import {
      hiddenDangerDetail,
      uploadUrl,
      findHiddenAreaMemberList,
      userPagePost,
      dealHiddenDanger,
      transferHiddenDanger,
      findListFlowDanger
   } from '@/api';
   import dayjs from 'dayjs';
   } from '@/api'
   import dayjs from 'dayjs'
   export default {
      data() {
         return {
            isShowBack: false,
            param: {},
            info: {},
            info: {},
            userInfo: this.$store.state.userInfo,
            flowList: [],
            id: '',
            type: '',
            windowHeight: '',
            cateList: [{
               name: '访客申请',
               id: 0
@@ -325,62 +372,98 @@
               page: 1,
               capacity: 50
            },
            memberList: []
         };
            memberList: [],
            videoPlay: false,
            videoContext: null,
            videoUrl: '',
            showKeyboard: false,
         }
      },
      onLoad(op) {
         this.id = op.id;
         this.type = op.objType;
         this.getDetail();
         const result = uni.getWindowInfo()
         this.windowHeight = result.windowHeight
         console.log('windowHeight', this.windowHeight);
         uni.setStorageSync('ywinfo', {})
         this.id = op.id
         this.getDetail()
         // this.handleTransfer()
      },
      mounted() {
         window.addEventListener('resize', () => {
            const currentHeight = window.innerHeight;
            this.windowHeight = currentHeight
         });
      },
      methods: {
         priviewImage(url) {
            uni.previewImage({
               urls: [url]
            });
            })
         },
         screenChange(e) {
            let fullScreen = e.detail.fullScreen // 值true为进入全屏,false为退出全屏
            if (!fullScreen) {
               //退出全屏
               this.videoPlay = false // 隐藏播放盒子
            }
         },
         closeVideo() {
            this.videoPlay = false
            this.videoContext = null
         },
         videoClick(item, i) {
            this.videoPlay = true
            this.videoContext = uni.createVideoContext("myvideo", this) // this这个是实例对象 必传
            this.videoUrl = item.fileurlFull
            this.videoContext.requestFullScreen()
            this.$nextTick(() => {
               this.videoContext.play()
            })
         },
         handleOpen() {
            this.isShowHandle = true;
            const submitFileList = this.info.submitFileList || []
            this.submitFileList = [...submitFileList];
            this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
            this.isShowHandle = true
            const submitFileList = this.info.submitFileList || []
            this.dealBeforeFileList = [...submitFileList]
            this.submitFileList = [...submitFileList]
            this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'))
         },
         handleBack() {
            this.isShowBack = true;
            this.isShowBack = true
            // const submitFileList = this.info.submitFileList || []
            // this.submitFileList = [...submitFileList];
            // this.submitFileList = [...submitFileList];
            this.dealBeforeFileList = []
            this.$set(this.backParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
            this.$set(this.backParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'))
         },
         getDetail() {
            const {
               id
            } = this;
            } = this
            hiddenDangerDetail(id).then(res => {
               this.info = res.data;
            });
               this.info = res.data
            })
            findListFlowDanger({
               hiddenDangerId: id
            }).then(res => {
               this.flowList = res.data;
            });
               this.flowList = res.data || []
            })
         },
         onSubmit() {
            const {
               dealBeforeFileList,
               dealAfterFileList,
               handleParam
            } = this;
            } = this
            if (dealBeforeFileList.length === 0)
               return uni.showToast({
                  title: '请上传整改前图片或视频',
                  icon: 'none'
               });
               })
            if (dealAfterFileList.length === 0)
               return uni.showToast({
                  title: '请上传整改后图片或视频',
                  icon: 'none'
               });
               })
            dealHiddenDanger({
               ...handleParam,
               dealBeforeFileList: dealBeforeFileList,
@@ -389,74 +472,75 @@
               id: this.id
            }).then(res => {
               if (res.code === 200) {
                  this.isShowHandle = false;
                  this.isShowHandle = false
                  setTimeout(() => {
                     uni.showToast({
                        title: '操作成功',
                        icon: 'success'
                     });
                  });
                  uni.navigateBack();
                     })
                  })
                  uni.navigateBack()
               }
            });
            })
         },
         enterTransfer() {
            const {
               transferParam,
               id
            } = this;
            } = this
            if (!transferParam.id)
               return uni.showToast({
                  title: '请选择人员',
                  icon: 'none'
               });
               })
            transferHiddenDanger({
               checkUserId: transferParam.id,
               checkUserId: transferParam.memberId,
               id
            }).then(res => {
               if (res.code === 200) {
                  this.isShowTransfer = false;
                  this.isShowTransfer = false
                  setTimeout(() => {
                     uni.showToast({
                        title: '操作成功',
                        icon: 'success'
                     });
                  });
                  uni.navigateBack();
                     })
                  })
                  uni.navigateBack()
               }
            });
            })
         },
         changeMem(e) {
            this.transferParam = e;
            this.transferParam = e
         },
         handleTransfer() {
            this.isShowTransfer = true;
            this.getMemList();
            this.isShowTransfer = true
            this.getMemList()
         },
         getMemList() {
            findHiddenAreaMemberList({
               model: {
                  ...this.transferModel,
                  id: this.info.areaId
               },
               ...this.pagination
            userPagePost({
               ...this.transferModel,
               querySpecial: 1,
               type: 2,
               companyType: 1,
               workStatus: 0
            }).then(res => {
               this.memberList = res.data || [];
            });
               this.memberList = res.data || []
            })
         },
         confirmBackDate(e) {
            this.$set(this.backParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'));
            this.isShowBackDate = false;
            this.$set(this.backParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'))
            this.isShowBackDate = false
         },
         confirmHandleDate(e) {
            this.$set(this.handleParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'));
            this.isShowHandleDate = false;
            this.$set(this.handleParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'))
            this.isShowHandleDate = false
         },
         onSubBack() {
            const {
               dealBeforeFileList,
               backParam
            } = this;
            } = this
            dealHiddenDanger({
               ...backParam,
               dealBeforeFileList,
@@ -464,37 +548,37 @@
               id: this.id
            }).then(res => {
               if (res.code === 200) {
                  this.isShowBack = false;
                  this.isShowBack = false
                  setTimeout(() => {
                     uni.showToast({
                        title: '操作成功',
                        icon: 'success'
                     });
                  });
                  uni.navigateBack();
                     })
                  })
                  uni.navigateBack()
               }
            });
            })
         },
         fileDel(str, i) {
            this[str].splice(i, 1);
            this[str].splice(i, 1)
         },
         uploadBeImage() {
            this.showUploadBe = false;
            let token = uni.getStorageSync('token') || '';
            this.showUploadBe = false
            let token = uni.getStorageSync('token') || ''
            uni.chooseImage({
               count: 4,
               count: 9,
               success: chooseImageRes => {
                  uni.showLoading({
                     title: '上传中',
                     mask: true
                  });
                  const tempFilePaths = chooseImageRes.tempFilePaths;
                  })
                  const tempFilePaths = chooseImageRes.tempFilePaths
                  let imgs = tempFilePaths.map((value, index) => {
                     return {
                        name: 'file',
                        uri: value
                     };
                  });
                     }
                  })
                  uni.uploadFile({
                     url: `${uploadUrl}`,
                     files: imgs,
@@ -506,41 +590,41 @@
                        Dm_user_token: token
                     },
                     success: uploadFileRes => {
                        let res = JSON.parse(uploadFileRes.data);
                        let res = JSON.parse(uploadFileRes.data)
                        let obj = {
                           type: '0'
                        };
                        }
                        if (res.data && res.data.length > 0) {
                           res.data.forEach(i => {
                              i.type = 0;
                              i.fileurl = i.imgaddr;
                              i.fileurlFull = i.url;
                              this.dealBeforeFileList.push(i);
                           });
                              i.type = 0
                              i.fileurl = i.imgaddr
                              i.fileurlFull = i.url
                              this.dealBeforeFileList.push(i)
                           })
                        }
                     },
                     fail(err) {
                        console.log('err', err);
                        console.log('err', err)
                     },
                     complete() {
                        uni.hideLoading();
                        uni.hideLoading()
                        // if (i === chooseImageRes.tempFilePaths.length - 1) {
                        //   uni.hideLoading()
                        // }
                     }
                  });
                  })
               }
            });
            })
         },
         uploadBeVideo() {
            this.showUploadBe = false;
            let token = uni.getStorageSync('token') || '';
            this.showUploadBe = false
            let token = uni.getStorageSync('token') || ''
            uni.chooseVideo({
               success: chooseImageRes => {
                  uni.showLoading({
                     title: '上传中',
                     mask: true
                  });
                  })
                  uni.uploadFile({
                     url: `${uploadUrl}`,
                     filePath: chooseImageRes.tempFilePath,
@@ -552,40 +636,40 @@
                        folder: 'HIDDEN_DANGER_FILE'
                     },
                     success: uploadFileRes => {
                        let res = JSON.parse(uploadFileRes.data);
                        let res = JSON.parse(uploadFileRes.data)
                        if (res.data && res.data.length > 0) {
                           res.data.forEach(i => {
                              i.type = 1;
                              i.fileurl = i.imgaddr;
                              i.fileurlFull = i.url;
                              this.dealBeforeFileList.push(i);
                           });
                              i.type = 1
                              i.fileurl = i.imgaddr
                              i.fileurlFull = i.url
                              this.dealBeforeFileList.push(i)
                           })
                        }
                     },
                     complete() {
                        uni.hideLoading();
                        uni.hideLoading()
                     }
                  });
                  })
               }
            });
            })
         },
         uploadAfImage() {
            this.showUploadAf = false;
            let token = uni.getStorageSync('token') || '';
            this.showUploadAf = false
            let token = uni.getStorageSync('token') || ''
            uni.chooseImage({
               count: 4,
               count: 9,
               success: chooseImageRes => {
                  uni.showLoading({
                     title: '上传中',
                     mask: true
                  });
                  const tempFilePaths = chooseImageRes.tempFilePaths;
                  })
                  const tempFilePaths = chooseImageRes.tempFilePaths
                  let imgs = tempFilePaths.map((value, index) => {
                     return {
                        name: 'file',
                        uri: value
                     };
                  });
                     }
                  })
                  uni.uploadFile({
                     url: `${uploadUrl}`,
                     files: imgs,
@@ -597,38 +681,38 @@
                        Dm_user_token: token
                     },
                     success: uploadFileRes => {
                        let res = JSON.parse(uploadFileRes.data);
                        let res = JSON.parse(uploadFileRes.data)
                        if (res.data && res.data.length > 0) {
                           res.data.forEach(i => {
                              i.type = 0;
                              i.fileurl = i.imgaddr;
                              i.fileurlFull = i.url;
                              this.dealAfterFileList.push(i);
                           });
                              i.type = 0
                              i.fileurl = i.imgaddr
                              i.fileurlFull = i.url
                              this.dealAfterFileList.push(i)
                           })
                        }
                     },
                     fail(err) {
                        console.log('err', err);
                        console.log('err', err)
                     },
                     complete() {
                        uni.hideLoading();
                        uni.hideLoading()
                        // if (i === chooseImageRes.tempFilePaths.length - 1) {
                        //   uni.hideLoading()
                        // }
                     }
                  });
                  })
               }
            });
            })
         },
         uploadAfVideo() {
            this.showUploadAf = false;
            let token = uni.getStorageSync('token') || '';
            this.showUploadAf = false
            let token = uni.getStorageSync('token') || ''
            uni.chooseVideo({
               success: chooseImageRes => {
                  uni.showLoading({
                     title: '上传中',
                     mask: true
                  });
                  })
                  uni.uploadFile({
                     url: `${uploadUrl}`,
                     filePath: chooseImageRes.tempFilePath,
@@ -640,40 +724,40 @@
                        folder: 'HIDDEN_DANGER_FILE'
                     },
                     success: uploadFileRes => {
                        let res = JSON.parse(uploadFileRes.data);
                        let res = JSON.parse(uploadFileRes.data)
                        if (res.data && res.data.length > 0) {
                           res.data.forEach(i => {
                              i.type = 1;
                              i.fileurl = i.imgaddr;
                              i.fileurlFull = i.url;
                              this.dealAfterFileList.push(i);
                           });
                              i.type = 1
                              i.fileurl = i.imgaddr
                              i.fileurlFull = i.url
                              this.dealAfterFileList.push(i)
                           })
                        }
                     },
                     complete() {
                        uni.hideLoading();
                        uni.hideLoading()
                     }
                  });
                  })
               }
            });
            })
         },
         uploadImage() {
            this.showUpload = false;
            let token = uni.getStorageSync('token') || '';
            this.showUpload = false
            let token = uni.getStorageSync('token') || ''
            uni.chooseImage({
               count: 4,
               count: 9,
               success: chooseImageRes => {
                  uni.showLoading({
                     title: '上传中',
                     mask: true
                  });
                  const tempFilePaths = chooseImageRes.tempFilePaths;
                  })
                  const tempFilePaths = chooseImageRes.tempFilePaths
                  let imgs = tempFilePaths.map((value, index) => {
                     return {
                        name: 'file',
                        uri: value
                     };
                  });
                     }
                  })
                  uni.uploadFile({
                     url: `${uploadUrl}`,
                     files: imgs,
@@ -685,38 +769,38 @@
                        Dm_user_token: token
                     },
                     success: uploadFileRes => {
                        let res = JSON.parse(uploadFileRes.data);
                        let res = JSON.parse(uploadFileRes.data)
                        if (res.data && res.data.length > 0) {
                           res.data.forEach(i => {
                              i.type = 0;
                              i.fileurl = i.imgaddr;
                              i.fileurlFull = i.url;
                              this.submitFileList.push(i);
                           });
                              i.type = 0
                              i.fileurl = i.imgaddr
                              i.fileurlFull = i.url
                              this.submitFileList.push(i)
                           })
                        }
                     },
                     fail(err) {
                        console.log('err', err);
                        console.log('err', err)
                     },
                     complete() {
                        uni.hideLoading();
                        uni.hideLoading()
                        // if (i === chooseImageRes.tempFilePaths.length - 1) {
                        //   uni.hideLoading()
                        // }
                     }
                  });
                  })
               }
            });
            })
         },
         uploadVideo() {
            this.showUpload = false;
            let token = uni.getStorageSync('token') || '';
            this.showUpload = false
            let token = uni.getStorageSync('token') || ''
            uni.chooseVideo({
               success: chooseImageRes => {
                  uni.showLoading({
                     title: '上传中',
                     mask: true
                  });
                  })
                  uni.uploadFile({
                     url: `${uploadUrl}`,
                     filePath: chooseImageRes.tempFilePath,
@@ -728,43 +812,52 @@
                        folder: 'HIDDEN_DANGER_FILE'
                     },
                     success: uploadFileRes => {
                        let res = JSON.parse(uploadFileRes.data);
                        let res = JSON.parse(uploadFileRes.data)
                        if (res.data && res.data.length > 0) {
                           res.data.forEach(i => {
                              i.type = 1;
                              i.fileurl = i.imgaddr;
                              i.fileurlFull = i.url;
                              this.submitFileList.push(i);
                           });
                              i.type = 1
                              i.fileurl = i.imgaddr
                              i.fileurlFull = i.url
                              this.submitFileList.push(i)
                           })
                        }
                     },
                     complete() {
                        uni.hideLoading();
                        uni.hideLoading()
                     }
                  });
                  })
               }
            });
            })
         }
      }
   };
   }
</script>
<style>
<style lang="scss">
   page {
      background-color: #f7f7f7;
      ::v-deep .u-popup__content {
         border-top: 1rpx solid #cccccc;
      }
   }
</style>
<style lang="scss">
   .main_app {
      background-color: #fff;
      padding-bottom: 0;
      .flow_title {
         font-weight: 600;
         font-size: 32rpx;
         color: #222222;
         margin-bottom: 24rpx;
      position: relative;
      .flow_title {
         font-weight: 600;
         font-size: 32rpx;
         color: #222222;
         margin-bottom: 24rpx;
      }
      .flow_wrap {
         padding: 30rpx 0;
         padding: 30rpx;
         margin: 0 -30rpx;
         background-color: #fff;
         .list {
            .item {
@@ -801,6 +894,7 @@
                     position: absolute;
                     right: 0;
                     bottom: 0;
                     z-index: 999;
                  }
               }
@@ -831,17 +925,19 @@
                     }
                  }
                  .line{
                     .company{
                        font-size: 26rpx;
                        color: #777777;
                     }
                     .status-green{
                        color: $uni-color-primary;
                     }
                     .status-red{
                        color: red;
                     }
                  .line {
                     .company {
                        font-size: 26rpx;
                        color: #777777;
                     }
                     .status-green {
                        color: $uni-color-primary;
                     }
                     .status-red {
                        color: red;
                     }
                  }
                  .remark {
@@ -889,9 +985,9 @@
      }
      .adduser_list_item_ipt1_upload {
         width: 120rpx;
         height: 120rpx;
         margin-right: 24rpx;
         width: 156rpx;
         height: 156rpx;
         margin-right: 20rpx;
         border: 2rpx solid #e5e5e5;
         background: #f7f7f7;
         color: #666666;
@@ -901,6 +997,10 @@
         align-items: center;
         justify-content: center;
         position: relative;
         &:nth-of-type(4n) {
            margin-right: 0;
         }
         .close {
            position: absolute;
@@ -916,14 +1016,18 @@
         video {
            width: 100%;
            max-height: 120rpx;
            max-height: 156rpx;
         }
      }
      .module_list {
         .title{
      .module_list {
         .title {
            font-weight: 600;
            font-size: 32rpx;
            color: #222222;
            padding-top: 28rpx;
         }
         .item {
            padding: 30rpx 0;
            border-bottom: 1rpx solid #e5e5e5;
@@ -987,24 +1091,30 @@
         .file_list {
            display: flex;
            margin-bottom: 20rpx;
            overflow-x: auto;
            flex-wrap: wrap;
            .img_wrap {
               margin-top: 24rpx;
               min-width: 160rpx;
               height: 160rpx;
               width: 156rpx;
               height: 156rpx;
               border: 2rpx solid #e5e5e5;
               background: #f7f7f7;
               color: #666666;
               font-size: 22rpx;
               display: flex;
               border-radius: 4rpx;
               flex-direction: column;
               align-items: center;
               justify-content: center;
               position: relative;
               margin-right: 16rpx;
               margin-right: 20rpx;
               flex-shrink: 0;
               &:nth-of-type(4n) {
                  margin-right: 0;
               }
            }
            .img {
               width: 100%;
@@ -1012,7 +1122,8 @@
            }
            .video {
               height: 160rpx;
               width: 100%;
               max-height: 100%;
            }
         }
@@ -1023,9 +1134,13 @@
            margin-top: 20rpx;
            .line {
               margin-bottom: 12rpx;
               margin-bottom: 18rpx;
               display: flex;
               font-size: 24rpx;
               &:nth-last-child(1) {
                  margin-bottom: 0;
               }
               .label {
                  color: #999999;
@@ -1042,7 +1157,7 @@
            line-height: 60rpx;
            padding: 0 32rpx;
            border-radius: 0rpx 0rpx 0rpx 30rpx;
            background-color: #e9edff;
            background: rgba(39, 155, 170, 0.12);
            color: $uni-color-primary;
         }
@@ -1058,8 +1173,9 @@
         position: fixed;
         bottom: 0;
         width: 100%;
         z-index: 9999;
         left: 0;
         padding: 30rpx 10rpx 60rpx;
         padding: 10rpx 10rpx 30rpx;
         display: flex;
         justify-content: space-between;
         background: #ffffff;
@@ -1156,10 +1272,10 @@
         }
         .adduser_list_item_ipt1_upload {
            margin-top: 24rpx;
            width: 120rpx;
            height: 120rpx;
            margin-right: 24rpx;
            margin-top: 20rpx;
            width: 156rpx;
            height: 156rpx;
            margin-right: 20rpx;
            border: 2rpx solid #e5e5e5;
            background: #f7f7f7;
            color: #666666;
@@ -1170,11 +1286,16 @@
            justify-content: center;
            position: relative;
            &:nth-of-type(4n) {
               margin-right: 0;
            }
            .close {
               position: absolute;
               right: -20rpx;
               top: -20rpx;
               z-index: 9999;
               z-index: 999999999999;
               color: #fff;
            }
            image {
@@ -1184,16 +1305,32 @@
            video {
               width: 100%;
               max-height: 120rpx;
               height: 100%;
            }
         }
      }
      .emyty {
         width: 750rpx;
         height: 20rpx;
         background-color: #f7f7f7;
         margin: 0 -30rpx;
      }
   }
   .video_wrap {
      position: relative;
      border: 1px solid;
      width: 156rpx;
      height: 156rpx;
      border-radius: 4rpx;
      .play {
         width: 60rpx !important;
         height: 60rpx !important;
         position: absolute;
         top: 50%;
         left: 50%;
         transform: translate(-50%, -50%);
      }
   }
@@ -1210,21 +1347,32 @@
   }
   .member_list {
      height: 920rpx;
      overflow: auto;
      .line {
         display: flex;
         align-items: center;
         border-bottom: 1rpx solid #e5e5e5;
         padding: 30rpx 0;
         .avatar {
            width: 64rpx;
            height: 64rpx;
            border-radius: 50%;
            overflow: hidden;
            margin-right: 20rpx;
         }
         .img_name {
            width: 64rpx;
            height: 64rpx;
            line-height: 64rpx;
            text-align: center;
            border-radius: 50%;
            overflow: hidden;
            margin-right: 20rpx;
            background: $uni-color-primary;
            color: #fff;
            border: 1rpx solid $uni-color-primary;
         }
         .content {
@@ -1282,6 +1430,31 @@
      }
   }
   .video_app {
      overflow: hidden;
      position: fixed;
      left: 0;
      top: 0;
      width: 100vw;
      height: 100vh;
      display: flex;
      align-items: center;
      z-index: 9990;
      .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;