| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447 | 
							- <template>
 
-   <view class="container">
 
-     <page-title>现场影像</page-title>
 
-     <!--    <view class="list-tip">
 
-       <view class="tip-item">
 
-         <image src="@/static/images/yearPlan.png" mode=""></image>
 
-         <text>年度计划</text>
 
-       </view>
 
-       <view class="tip-item">
 
-         <image src="@/static/images/problem.png" mode=""></image>
 
-         <text>问题督办</text>
 
-         
 
-       </view>
 
-       <view class="tip-item">
 
-         <image src="@/static/images/qianqi.png" mode=""></image>
 
-         <text>前期手续</text>
 
-       </view>
 
-       <view class="tip-item">
 
-         <image src="@/static/images/leaderAndDepart.png" mode=""></image>
 
-         <text>领导及部门</text>
 
-       </view>
 
-       <view class="tip-item">
 
-         <image src="@/static/images/videoImage.png" mode=""></image>
 
-         <text class="light">现场影像</text>
 
-         <view class="saniao"></view>
 
-       </view>
 
-     </view> -->
 
-     <view class="tabs">
 
-       <u-tabs :list="list1" @click="changeTabs" activeStyle='color:#222222' :scrollable='false' lineWidth='0'></u-tabs>
 
-     </view>
 
-     <view class="cards-list marginTop" v-if="tabFlag == 0">
 
-       <view class="card" v-for="(item,index) in iamgetList" :key="index">
 
-         <view class="card-box1">
 
-           <view class="fileAddre-image">
 
-             <image :src="item.fileAddre" alt="" class="" @click='viewImg(item.fileAddre)' v-if="item.fileAddre"></image>
 
-             <image src="@/static/images/noImgVideo.svg" alt="" class="no-image-video" @click='viewImg(item.fileAddre)'
 
-               v-else></image>
 
-           </view>
 
-           <view class="text-box">
 
-             <text class="name">{{item.kind}}</text>
 
-             <!-- <text class="time">时间:</text> -->
 
-             <text class="timeValue">{{item.time}}</text>
 
-           </view>
 
-         </view>
 
-       </view>
 
-       <!-- <empty-show v-if="iamgetList.length===0" showText='暂无图片'></empty-show> -->
 
-     </view>
 
-     <view class="cards-list marginTop" v-if="tabFlag == 1">
 
-       <view class="card" v-for="(item,index) in videoList" :key="index">
 
-         <view class="card-box1">
 
-           <view class="fileAddre-image">
 
-             <video :src="item.fileAddre" class="" :show-fullscreen-btn='false' v-if="item.fileAddre"></video>
 
-             <image src="@/static/images/noImgVideo.svg" alt="" class="no-image-video" v-else></image>
 
-           </view>
 
-           <view class="text-box">
 
-             <text class="name">{{item.kind}}</text>
 
-             <text class="timeValue">{{item.time}}</text>
 
-           </view>
 
-         </view>
 
-         <div class="videoClick" @click="videoClick(item)"></div>
 
-       </view>
 
-     </view>
 
-     <u-loading-page :loading="loading"></u-loading-page>
 
-   </view>
 
- </template>
 
- <script setup>
 
-   import {
 
-     ref
 
-   } from 'vue';
 
-   import {
 
-     onLoad,
 
-     onUnload,
 
-     onPullDownRefresh,
 
-     onReachBottom,
 
-     onPageScroll
 
-   } from "@dcloudio/uni-app";
 
-   import {
 
-     getPageMediaOfSub,
 
-   } from "@/api/work/projectInfo.js";
 
-   import {
 
-     addFocus,
 
-     cancelFocus
 
-   } from "@/api/work/focus.js";
 
-   function backToBefore() {
 
-     uni.reLaunch({
 
-       url: "/pages/index"
 
-     });
 
-   };
 
-   let scrollTop = ref(0)
 
-   let loading = ref(true)
 
-   // 参数
 
-   let searchInfo = ref({
 
-     pageNo: 1,
 
-     pageSize: 10,
 
-     subId: '',
 
-     type: ""
 
-   })
 
-   let list1 = [{
 
-     name: '现场图片',
 
-   }, {
 
-     name: '现场视频',
 
-   }]
 
-   //图片预览
 
-   function viewImg(e) {
 
-     let imglist = [e]
 
-     uni.previewImage({
 
-       longPressActions: true,
 
-       urls: imglist
 
-     })
 
-   }
 
-   // 播放文件--视频
 
-   function videoClick(event) {
 
-     showFile(event.fileType, event.fileAddre)
 
-   }
 
-   // 文件预览
 
-   function showFile(type, filePath) {
 
-     uni.navigateTo({
 
-       url: `/pages/projectInfo/media/index?type=${type}&filePath=${filePath}`
 
-     })
 
-   }
 
-   //切换tab
 
-   let tabFlag = 0
 
-   function changeTabs(e) {
 
-     tabFlag = e.index
 
-     searchInfo.value.pageNo = 1;
 
-     iamgetList.value = [];
 
-     videoList.value = [];
 
-     getList()
 
-   }
 
-   // 触底加载flag
 
-   let moreListFlag = true
 
-   // 获取列表
 
-   let iamgetList = ref([]);
 
-   let videoList = ref([]);
 
-   let listTotal = ref(0);
 
-   function getList() {
 
-     if (searchInfo.value.pageNo == 1) {
 
-       loading.value = true
 
-     }
 
-     if (tabFlag === 0) {
 
-       searchInfo.value.type = 'IMAGE'
 
-       getPageMediaOfSub(searchInfo.value).then(res => {
 
-         loading.value = false
 
-         iamgetList.value = iamgetList.value.concat(res.data.list);
 
-         listTotal.value = res.data.total;
 
-         if (res.data.total == searchInfo.value.pageNo * searchInfo.value.pageSize - (10 - res.data.list
 
-             .length)) moreListFlag = false;
 
-       }).catch(() => {
 
-         loading.value = false
 
-       })
 
-     } else if (tabFlag === 1) {
 
-       searchInfo.value.type = 'VEDIO'
 
-       getPageMediaOfSub(searchInfo.value).then(res => {
 
-         loading.value = false
 
-         videoList.value = videoList.value.concat(res.data.list);
 
-         listTotal.value = res.data.total;
 
-         if (res.data.total == searchInfo.value.pageNo * searchInfo.value.pageSize - (10 - res.data.list
 
-             .length)) moreListFlag = false;
 
-       }).catch(() => {
 
-         loading.value = false
 
-       })
 
-     }
 
-   }
 
-   // function goToDetail(id, subName) {
 
-   // 	uni.navigateTo({
 
-   // 		url: `/pages/projectInfo/detail/index?id=${id}&subName=${subName}`
 
-   // 	})
 
-   // }
 
-   // function goToPage(url) {
 
-   // 	uni.navigateTo({
 
-   // 		url
 
-   // 	})
 
-   // }
 
-   // function goToReport(type, subId, subName) {
 
-   // 	uni.navigateTo({
 
-   // 		url: `/pages/projectInfo/report/index?type=${type}&subId=${subId}&subName=${subName}`
 
-   // 	})
 
-   // }
 
-   onLoad((options) => {
 
-     // uni.$on('projectInfoSearch', resolve => {
 
-     // 	searchInfo.value = Object.assign(searchInfo.value, resolve);
 
-     // 	searchInfo.value.pageNo = 1;
 
-     // 	projectList.value = [];
 
-     // 	listTotal.value = 0;
 
-     // 	moreListFlag = true;
 
-     // 	getList();
 
-     // });
 
-     console.log(options);
 
-     searchInfo.value.subId = options.subId
 
-     getList();
 
-   });
 
-   onUnload(() => {
 
-     // uni.$off('projectInfoSearch');
 
-   })
 
-   onPageScroll((e) => {
 
-     scrollTop.value = e.scrollTop
 
-   })
 
-   onPullDownRefresh(() => {
 
-     searchInfo.value.pageNo = 1;
 
-     iamgetList.value = [];
 
-     videoList.value = [];
 
-     moreListFlag = true;
 
-     try {
 
-       getList();
 
-     } finally {
 
-       uni.stopPullDownRefresh()
 
-     }
 
-   })
 
-   onReachBottom(() => {
 
-     if (!moreListFlag) {
 
-       return uni.showToast({
 
-         title: "已经到底了。",
 
-         icon: "none",
 
-         duration: 2000
 
-       })
 
-     }
 
-     searchInfo.value.pageNo++;
 
-     getList();
 
-   })
 
- </script>
 
- <style lang="scss" scoped>
 
-   .tabs {
 
-     position: absolute;
 
-     top: 140rpx;
 
-     left: 50%;
 
-     transform: translate(-50%);
 
-     z-index: 100;
 
-     width: 92%;
 
-     border-radius: 20rpx 20rpx 20rpx 20rpx;
 
-     height: 90rpx;
 
-     background: #FFFFFF;
 
-   }
 
-   .u-tabs__wrapper__nav__item__text[data-v-5012af6c] {
 
-     font-weight: 500;
 
-     font-size: 32rpx;
 
-     color: #B5B5B5;
 
-   }
 
-   .marginTop {
 
-     margin-top: 190rpx;
 
-   }
 
-   .videoSize {
 
-     position: absolute;
 
-     z-index: 0;
 
-     width: 100%;
 
-     height: 364rpx;
 
-     border-radius: 20rpx 20rpx 0 0;
 
-   }
 
-   .card {
 
-     .videoClick {
 
-       position: absolute;
 
-       top: -20rpx;
 
-       z-index: 100;
 
-       width: 100%;
 
-       height: 100%;
 
-       overflow: hidden;
 
-     }
 
-   }
 
-   .card-box1 {
 
-     // padding-top: 40rpx;
 
-     padding-bottom: 24rpx;
 
-     display: flex;
 
-     justify-content: flex-start;
 
-     align-items: center;
 
-     .fileAddre-image {
 
-       width: 304rpx;
 
-       height: 172rpx;
 
-       background: #F6F6F6;
 
-       border-radius: 4rpx;
 
-       border: 2rpx solid #EBEBEB;
 
-       display: flex;
 
-       justify-content: center;
 
-       align-items: center;
 
-       image {
 
-         width: 100%;
 
-         height: 100%;
 
-       }
 
-       video {
 
-         width: 100%;
 
-         height: 100%;
 
-       }
 
-       .no-image-video {
 
-         width: 80rpx;
 
-         height: 80rpx;
 
-       }
 
-     }
 
-     .text-box {
 
-       margin-left: 40rpx;
 
-       display: flex;
 
-       flex-direction: column;
 
-       align-items: flex-start;
 
-       justify-content: flex-start;
 
-       height: 160rpx;
 
-       .name {
 
-         font-weight: 500;
 
-         font-size: 32rpx;
 
-         color: #444444;
 
-       }
 
-       .time {
 
-         padding-top: 20rpx;
 
-         font-size: 28rpx;
 
-         color: #797F89;
 
-         font-weight: 400;
 
-       }
 
-       .timeValue {
 
-         width: 220rpx;
 
-         padding-top: 10rpx;
 
-         font-weight: 500;
 
-         font-size: 28rpx;
 
-         color: #999999 !important;
 
-         line-height: 28rpx;
 
-       }
 
-     }
 
-   }
 
-   .iamgeSize {
 
-     width: 272rpx;
 
-     height: 222rpx;
 
-     box-shadow: 0rpx 8rpx 12rpx 0rpx rgba(0, 0, 0, 0.21);
 
-     border-radius: 10rpx 10rpx 10rpx 10rpx;
 
-   }
 
-   .cards {
 
-     position: relative;
 
-     margin: auto;
 
-     border-radius: 20rpx;
 
-     margin-top: 25rpx;
 
-     background: #FFFFFF;
 
-     height: 470rpx;
 
-     overflow: hidden;
 
-     display: flex;
 
-     .text-box {
 
-       position: absolute;
 
-       bottom: 0;
 
-       display: flex;
 
-       justify-content: space-between;
 
-       align-items: center;
 
-       width: 100%;
 
-       height: 106rpx;
 
-       padding: 0 40rpx 0 40rpx;
 
-       font-family: OPPOSans-R;
 
-       font-size: 32rpx;
 
-     }
 
-   }
 
-   .list-tip {
 
-     width: 750rpx;
 
-     height: 164rpx;
 
-     background: #FFFFFF;
 
-     box-shadow: 0px 4rpx 8rpx 0px #D8EEFF;
 
-     display: flex;
 
-     flex-direction: row;
 
-     justify-content: space-around;
 
-     align-items: center;
 
-     .tip-item {
 
-       display: flex;
 
-       flex-direction: column;
 
-       align-items: center;
 
-       position: relative;
 
-       image {
 
-         width: 72rpx;
 
-         height: 72rpx;
 
-       }
 
-       text {
 
-         font-weight: 300;
 
-         font-size: 24rpx;
 
-         color: #666666;
 
-       }
 
-       .light {
 
-         font-weight: 500;
 
-         color: #222222 !important;
 
-       }
 
-       .saniao {
 
-         position: absolute;
 
-         bottom: -34px;
 
-         left: 35%;
 
-         width: 0;
 
-         height: 0;
 
-         border: 10px solid #FFFFFF;
 
-         border-bottom-color: transparent;
 
-         border-left-color: transparent;
 
-         border-right-color: transparent;
 
-       }
 
-     }
 
-   }
 
-   .container {
 
-     padding-top: calc(var(--status-bar-height) + 50px);
 
-   }
 
- </style>
 
 
  |