From 1894e98229bb29c92bddae1fd87d4786494531b2 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Tue, 15 Apr 2025 20:28:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue |   57 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 34 insertions(+), 23 deletions(-)

diff --git a/src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue b/src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue
index 11be511..e40f4c2 100644
--- a/src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue
+++ b/src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue
@@ -18,7 +18,7 @@
 						<div v-for="(item, index) in infoList" :key="index">
 							<div class="itemBox">
 								<div class="itemTitle">{{ item.name }}:</div>
-								<div class="itemValue">{{ item.value ? item.value :''}}</div>
+								<div class="itemValue">{{ item.value ? item.value : '' }}</div>
 							</div>
 						</div>
 					</div>
@@ -37,17 +37,24 @@
 					<p class="more">更多</p>
 				</div>
 				<div class="imgListBox">
-					<el-image
-						class="imgItem"
-						v-for="(item, index) in achievementList"
-						:key="index"
-						:src="item.url"
-						:preview-src-list="achievementList.map(i => i.url)"
-						show-progress
-						preview-teleported
-						:initial-index="index"
-						fit="cover"
-					/>
+					<!-- 图片显示 -->
+					<template v-if="mediaType === 'image'">
+						<el-image
+							class="imgItem"
+							v-for="(item, index) in achievementList"
+							:key="index"
+							:src="item.url"
+							:preview-src-list="achievementList.map(i => i.url)"
+							show-progress
+							preview-teleported
+							:initial-index="index"
+							fit="cover"
+						/>
+					</template>
+					<!-- 视频显示 -->
+					<template v-else-if="mediaType === 'video'">
+						<video v-for="(item, index) in achievementList" :key="index" :src="item.url" controls></video>
+					</template>
 				</div>
 			</div>
 			<DeviceJobDetailsMap v-if="isShow" class="contentRight" :detailsData="detailsData" />
@@ -90,34 +97,38 @@
 	creator_name: null,
 	way_lines: [],
 })
+// 任务成果
+const mediaType = ref('')
 const total = ref(0)
 const achievementList = ref([])
 const wayLineJodInfoId = inject('wayLineJodInfoId')
 const getAchievement = () => {
 	getJobInfoFiles({ jobInfoId: wayLineJodInfoId.value }).then(res => {
+		for (let i = 0; i < res.data.data.length; i++) {
+			const url = res.data.data[i].url || ''
+			const ext = String(url)?.split('.')?.pop().toLowerCase() || ''
+			const images = ['jpg', 'jpeg', 'png', 'gif', 'webp']
+			const videos = ['mp4', 'webm', 'ogg', 'mov']
+			mediaType.value = images.includes(ext) ? 'image' : videos.includes(ext) ? 'video' : ''
+		}
+
 		achievementList.value = res.data.data
 		total.value = res.data.data.length
 	})
 }
 const getDetails = () => {
 	getJobDetails({ wayLineJobInfoId: wayLineJodInfoId.value }).then(res => {
-	console.log('res',res);
-	
 		detailsData.value = res.data.data
 		infoList.value.forEach(item => {
 			if (item.name === '任务时间') {
-				item.value = detailsData.value.begin_time.slice(0,10) + '-' + detailsData.value.end_time.slice(0,10)
-				
-			} 
-		else if (item.name === '任务频次') {
-				item.value === undefined ?'': detailsData.value.rep_rule_type + '-' + detailsData.value.rep_rule_val 
-			}
-			else {
+				item.value = detailsData.value.begin_time.slice(0, 10) + '-' + detailsData.value.end_time.slice(0, 10)
+			} else if (item.name === '任务频次') {
+				item.value = detailsData.value.rep_rule_type + ' -- ' + detailsData.value.rep_rule_val
+			} else {
 				item.value = detailsData.value?.[item.field] || ''
 			}
 		})
 		flystatus.value = res.data.data.ai_type_str
-		// console.log('历史任务详情', res.data.data)
 	})
 }
 
@@ -231,7 +242,7 @@
 		.imgListBox {
 			display: flex;
 			flex-wrap: wrap;
-			gap: 0 10px;
+			gap: 10px;
 
 			.imgItem {
 				width: 200px;

--
Gitblit v1.9.3