| | |
| | | <el-select |
| | | class="gd-select" |
| | | popper-class="gd-select-popper" |
| | | v-model="searchParams.patrolTaskName" |
| | | v-model="searchParams.patrolTaskId" |
| | | placeholder="请选择" |
| | | clearable |
| | | filterable |
| | |
| | | v-for="item in patrolTaskList" |
| | | :key="item.id" |
| | | :label="item.patrolTaskName" |
| | | :value="item.patrolTaskName" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | </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({ |
| | |
| | | |
| | | // 初始化查询参数 |
| | | const initSearchParams = () => ({ |
| | | patrolTaskName: '', |
| | | current: 1, |
| | | size: 10, |
| | | patrolTaskId: '' |
| | | }) |
| | | |
| | | const searchParams = ref(initSearchParams()) |
| | |
| | | // 获取巡查任务列表 |
| | | 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) |
| | | } |
| | |
| | | }) |
| | | list.value = res?.data?.data?.records || [] |
| | | total.value = res?.data?.data?.total || 0 |
| | | console.log('list.value', list.value) |
| | | } finally { |
| | | loading.value = false |
| | | } |
| | |
| | | } |
| | | |
| | | // 下载 |
| | | 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('批量下载失败') |
| | | } |
| | | } |
| | | |
| | | // 删除 |
| | |
| | | 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('删除失败') |
| | | } |