From dd1af3b519ef3ea616c0424a331927fc21e9587e Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 07 Apr 2025 11:42:31 +0800
Subject: [PATCH] feat: 历史任务详情40%

---
 src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue |   85 ++++++++++++++++++++++++++++++++----------
 1 files changed, 65 insertions(+), 20 deletions(-)

diff --git a/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue b/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue
index 38eb225..5bac13d 100644
--- a/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue
+++ b/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue
@@ -1,7 +1,7 @@
 <!-- 任务详情 -->
 <template>
 	<el-dialog
-    append-to-body
+		append-to-body
 		modal-class="detailsOfHistoricalTasks"
 		v-model="isShow"
 		title="历史任务详情"
@@ -21,7 +21,16 @@
 				<JobRelatedEvents v-if="isShow" />
 				<el-divider content-position="left">任务成果 xxx个</el-divider>
 				<div class="imgListBox">
-					<div v-for="item in imgList" class="imgItem">xxx图片</div>
+					<el-image
+						class="imgItem"
+						v-for="(item, index) in achievementList"
+						:src="item.url"
+						:preview-src-list="achievementList.map(i => i.url)"
+						show-progress
+						preview-teleported
+						:initial-index="index"
+						fit="cover"
+					/>
 				</div>
 			</div>
 			<div class="contentRight">map</div>
@@ -32,30 +41,64 @@
 <script setup>
 import { pxToRem } from '@/utils/rem'
 import JobRelatedEvents from './JobRelatedEvents.vue'
+import { getJobDetails, getJobInfoFiles } from '@/api/home/task'
 
 const isShow = defineModel('show')
 
-
-const imgList = ref([
-	{ name: '图片1', url: 'xxx' },
-	{ name: '图片1', url: 'xxx' },
-	{ name: '图片1', url: 'xxx' },
-	{ name: '图片1', url: 'xxx' },
-])
-
 const infoList = ref([
-	{ name: '任务编号', value: 'xxx' },
-	{ name: '任务所属机巢', value: 'xxx' },
-	{ name: '关联算法', value: 'xxx' },
-	{ name: '任务名称', value: 'xxx' },
-	{ name: '所属单位', value: 'xxx' },
-	{ name: '任务类型', value: 'xxx' },
-	{ name: '任务周期', value: 'xxx' },
-	{ name: '飞行事件', value: 'xxx' },
-	{ name: '任务频次', value: 'xxx' },
-	{ name: '任务描述', value: 'xxx' },
+	{ name: '任务编号', value: '', field: 'id' },
+	{ name: '任务所属机巢', value: '', field: 'device_names' },
+	{ name: '关联算法', value: '', field: 'ai_type_str' },
+	{ name: '任务名称', value: '', field: 'name' },
+	{ name: '所属单位', value: '', field: 'dept_name' },
+	{ name: '任务类型', value: '', field: 'industry_type_str' },
+	{ name: '飞行事件', value: '', field: 'event_number' },
+	{ name: '任务周期', value: '', field: 'rep_rule_val' },
+	{ name: '任务频次', value: '', field: 'rep_fre_val' },
+	{ name: '任务描述', value: '', field: 'remark' },
 ])
 
+const detailsData = ref({
+	id: 19,
+	remark: '测试测试',
+	is_monitoring: 0,
+	industry_type_str: '综合类、公安类',
+	area_code: '360103',
+	ai_type_str: '识别火情、车牌识别',
+	begin_time: '2025/04/02 16:00',
+	end_time: '2025/04/01 15:59',
+	device_names: '赣县-夏潭机场',
+	create_time: '2025-04-01T07:35:19.000+00:00',
+	name: '夏弹机场测试',
+	event_number: 2,
+	creator_name: '管理员',
+	way_lines: [],
+})
+
+const achievementList = ref([])
+
+const wayLineJodInfoId = inject('wayLineJodInfoId')
+const getAchievement = () => {
+	getJobInfoFiles({ jobInfoId: wayLineJodInfoId.value }).then(res => {
+		achievementList.value = res.data.data
+	})
+}
+const getDetails = () => {
+	getJobDetails({ wayLineJobInfoId: wayLineJodInfoId.value }).then(res => {
+		console.log(res.data.data, 666)
+		detailsData.value = res.data.data
+		infoList.value.forEach(item => {
+			item.value = detailsData.value?.[item.field] || ''
+		})
+	})
+}
+
+watch(isShow, (newValue, oldValue) => {
+	if (newValue) {
+		getAchievement()
+		getDetails()
+	}
+})
 </script>
 
 <style lang="scss">
@@ -112,6 +155,8 @@
 
 		.imgListBox {
 			display: flex;
+			flex-wrap: wrap;
+			gap: 0 10px;
 
 			.imgItem {
 				width: 200px;

--
Gitblit v1.9.3