From 1ac06394b8c6d385efdefc558313288410176fe4 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Wed, 15 Apr 2026 10:04:55 +0800
Subject: [PATCH] feat:成果数据接口

---
 applications/task-work-order/src/views/orderView/orderManage/orderManage/outcomeData.vue |   89 +++++++++++++++++++++++++-------------------
 1 files changed, 51 insertions(+), 38 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/orderManage/orderManage/outcomeData.vue b/applications/task-work-order/src/views/orderView/orderManage/orderManage/outcomeData.vue
index c8e84b3..e37a008 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/orderManage/outcomeData.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/orderManage/outcomeData.vue
@@ -5,7 +5,7 @@
         <el-select
          class="gd-select"
 		popper-class="gd-select-popper"
-          v-model="searchParams.patrolTaskName"
+          v-model="searchParams.patrolTaskId"
           placeholder="请选择"
           clearable
           filterable
@@ -15,7 +15,7 @@
             v-for="item in patrolTaskList"
             :key="item.id"
             :label="item.patrolTaskName"
-            :value="item.patrolTaskName"
+            :value="item.id"
           />
         </el-select>
       </el-form-item>
@@ -71,12 +71,11 @@
 </template>
 
 <script setup>
-import {gdTaskResultPageApi}from './orderManageApi'
+import {gdTaskResultPageApi, gdTaskResultDownloadApi, gdTaskResultRemoveApi,listByWorkOrderId}from './orderManageApi'
 import { Search, RefreshRight, Download } from '@element-plus/icons-vue'
 import { ref, onMounted, inject } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { getDictLabel } from '@ztzf/utils'
-import { gdPatrolTaskPageApi } from '@/views/orderView/orderManage/inspectionRequest/inspectionRequestApi'
 import dayjs from 'dayjs'
 
 const props = defineProps({
@@ -90,9 +89,9 @@
 
 // 初始化查询参数
 const initSearchParams = () => ({
-  patrolTaskName: '',
   current: 1,
   size: 10,
+  patrolTaskId: ''
 })
 
 const searchParams = ref(initSearchParams())
@@ -107,13 +106,9 @@
 // 获取巡查任务列表
 async function getPatrolTaskList() {
   try {
-    const res = await gdTaskResultPageApi({
-      current: 1,
-      size: 1000,
-      id: props.workOrderId
-    })
-    patrolTaskList.value = res?.data?.data?.records || []
-    console.log('patrolTaskList.value', patrolTaskList.value)
+    const res = await listByWorkOrderId({ workOrderId: props.workOrderId })
+    patrolTaskList.value = res?.data?.data || []
+    console.log('巡查任务列表:', patrolTaskList.value)
   } catch (error) {
     console.error('获取巡查任务列表失败:', error)
   }
@@ -129,7 +124,6 @@
     })
     list.value = res?.data?.data?.records || []
     total.value = res?.data?.data?.total || 0
-		console.log('list.value', list.value)
   } finally {
     loading.value = false
   }
@@ -154,37 +148,52 @@
 }
 
 // 下载
-function handleDownload(row) {
-  if (!row.resultUrl) {
-    ElMessage.warning('暂无图片可下载')
+async function handleDownload(row) {
+  if (!row.id) {
+    ElMessage.warning('暂无数据可下载')
     return
   }
-  const a = document.createElement('a')
-  a.href = row.resultUrl
-  a.download = `成果数据_${row.patrolTaskName}_${dayjs().format('YYYYMMDDHHmmss')}`
-  document.body.appendChild(a)
-  a.click()
-  document.body.removeChild(a)
-  ElMessage.success('下载成功')
+  try {
+    const res = await gdTaskResultDownloadApi({ ids: row.id })
+    const blob = res.data
+    const url = URL.createObjectURL(blob)
+    const a = document.createElement('a')
+    a.href = url
+    a.download = `成果数据_${row.patrolTaskName}_${dayjs().format('YYYYMMDDHHmmss')}`
+    document.body.appendChild(a)
+    a.click()
+    document.body.removeChild(a)
+    URL.revokeObjectURL(url)
+    ElMessage.success('下载成功')
+  } catch (error) {
+    console.error('下载失败:', error)
+    ElMessage.error('下载失败')
+  }
 }
 
 // 批量下载
-function handleBatchDownload() {
+async function handleBatchDownload() {
   if (selectedRows.value.length === 0) {
     ElMessage.warning('请选择要下载的数据')
     return
   }
-  selectedRows.value.forEach(row => {
-    if (row.resultUrl) {
-      const a = document.createElement('a')
-      a.href = row.resultUrl
-      a.download = `成果数据_${row.patrolTaskName}_${dayjs().format('YYYYMMDDHHmmss')}`
-      document.body.appendChild(a)
-      a.click()
-      document.body.removeChild(a)
-    }
-  })
-  ElMessage.success('批量下载完成')
+  const ids = selectedRows.value.map(row => row.id).join(',')
+  try {
+    const res = await gdTaskResultDownloadApi({ ids })
+    const blob = res.data
+    const url = URL.createObjectURL(blob)
+    const a = document.createElement('a')
+    a.href = url
+    a.download = `成果数据批量_${dayjs().format('YYYYMMDDHHmmss')}`
+    document.body.appendChild(a)
+    a.click()
+    document.body.removeChild(a)
+    URL.revokeObjectURL(url)
+    ElMessage.success('批量下载完成')
+  } catch (error) {
+    console.error('批量下载失败:', error)
+    ElMessage.error('批量下载失败')
+  }
 }
 
 // 删除
@@ -196,9 +205,13 @@
     cancelButtonClass: 'gd-confirm-cancel-button',
   })
   try {
-    // 这里需要调用删除接口,暂时模拟成功
-    ElMessage.success('删除成功')
-    getList()
+    const res = await gdTaskResultRemoveApi({ ids: row.id })
+    if (res?.data?.success) {
+      ElMessage.success('删除成功')
+      getList()
+    } else {
+      ElMessage.error('删除失败')
+    }
   } catch (error) {
     ElMessage.error('删除失败')
   }

--
Gitblit v1.9.3