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