From 53b6400ec10c8ca61ccec91c82c358d2488eead8 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 20 十二月 2024 09:50:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 h5/pages/staff/task/vDangetAppr.vue |  197 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 163 insertions(+), 34 deletions(-)

diff --git a/h5/pages/staff/task/vDangetAppr.vue b/h5/pages/staff/task/vDangetAppr.vue
index 53f969b..c4b2238 100644
--- a/h5/pages/staff/task/vDangetAppr.vue
+++ b/h5/pages/staff/task/vDangetAppr.vue
@@ -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="false" />
+					<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" autoplay muted />
+						<image src="@/static/play.png" class="play" mode=""></image>
+					</view>
 				</view>
 			</view>
 			<view class="text_wrap">
@@ -38,8 +42,15 @@
 				<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" :controls="false"></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,8 +58,15 @@
 				<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" :controls="false"></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>
@@ -96,9 +114,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>
@@ -129,8 +147,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" :controls="false"></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>
@@ -170,7 +195,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" :controls="false"></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">
@@ -186,7 +217,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" :controls="false"></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>
@@ -257,6 +293,13 @@
 
 		<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>
 
@@ -327,12 +370,16 @@
 					page: 1,
 					capacity: 50
 				},
-				memberList: []
+				memberList: [],
+
+				videoPlay: false,
+				videoContext: null,
+				videoUrl: ''
 			};
 		},
-		onLoad(op) {
+		onLoad(op) {
+			uni.setStorageSync('ywinfo',{})
 			this.id = op.id;
-			this.type = op.objType;
 			this.getDetail();
 		},
 		methods: {
@@ -341,9 +388,31 @@
 					urls: [url]
 				});
 			},
+			screenChange(e) {
+				let fullScreen = e.detail.fullScreen; // 鍊紅rue涓鸿繘鍏ュ叏灞忥紝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.dealBeforeFileList = [...submitFileList]
 				this.submitFileList = [...submitFileList];
 				this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
 			},
@@ -482,7 +551,7 @@
 				this.showUploadBe = false;
 				let token = uni.getStorageSync('token') || '';
 				uni.chooseImage({
-					count: 4,
+					count: 9,
 					success: chooseImageRes => {
 						uni.showLoading({
 							title: '涓婁紶涓�',
@@ -573,7 +642,7 @@
 				this.showUploadAf = false;
 				let token = uni.getStorageSync('token') || '';
 				uni.chooseImage({
-					count: 4,
+					count: 9,
 					success: chooseImageRes => {
 						uni.showLoading({
 							title: '涓婁紶涓�',
@@ -661,7 +730,7 @@
 				this.showUpload = false;
 				let token = uni.getStorageSync('token') || '';
 				uni.chooseImage({
-					count: 4,
+					count: 9,
 					success: chooseImageRes => {
 						uni.showLoading({
 							title: '涓婁紶涓�',
@@ -770,7 +839,7 @@
 		}
 
 		.flow_wrap {
-			padding: 30rpx 0;
+			padding: 30rpx 0 90rpx;
 
 			.list {
 				.item {
@@ -807,6 +876,7 @@
 							position: absolute;
 							right: 0;
 							bottom: 0;
+							z-index: 999;
 						}
 					}
 
@@ -897,9 +967,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;
@@ -909,6 +979,10 @@
 			align-items: center;
 			justify-content: center;
 			position: relative;
+
+			&:nth-of-type(4n) {
+				margin-right: 0;
+			}
 
 			.close {
 				position: absolute;
@@ -924,7 +998,7 @@
 
 			video {
 				width: 100%;
-				max-height: 120rpx;
+				max-height: 156rpx;
 			}
 		}
 
@@ -999,24 +1073,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%;
@@ -1036,9 +1116,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;
@@ -1055,7 +1139,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;
 			}
 
@@ -1071,6 +1155,7 @@
 			position: fixed;
 			bottom: 0;
 			width: 100%;
+			z-index: 9999;
 			left: 0;
 			padding: 30rpx 10rpx 60rpx;
 			display: flex;
@@ -1169,10 +1254,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;
@@ -1183,11 +1268,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 {
@@ -1209,7 +1299,22 @@
 			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%);
+			}
+		}
 	.sel_upload_wrap {
 		width: 100%;
 		border-top: 1px solid #333333;
@@ -1308,6 +1413,30 @@
 		}
 	}
 
+	.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;
 

--
Gitblit v1.9.3