吉安感知网项目-前端
张含笑
2026-01-20 847b2af27faaf21c50bb1c2c75560325b59d631d
feat:附件接口
2 files modified
64 ■■■■■ changed files
applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue 55 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/supplyAddApi.js 9 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue
@@ -118,6 +118,18 @@
                        </div>
                    </div>
                </div>
                <div v-if="detailDemandStatus === '2'">
                    <div class="label">数据详情 </div>
                    <el-table :data="tableData" border style="width: 100%">
                        <el-table-column prop="name" label="文件名称"  />
                        <el-table-column prop="fileSize" label="文件大小"  />
                        <el-table-column fixed="right" label="操作" min-width="100">
                    <template #default="scope">
                        <el-button link type="text" @click="downloadFileFromTable(scope.row)">下载</el-button>
                    </template>
                </el-table-column>
                    </el-table>
                </div>
            </div>
        </div>
        <template #footer>
@@ -140,7 +152,8 @@
    gdSupplyDemandDetailApi,
    putFileAttachApi,
    gdSupplyDemandAuditPassApi,
    gdSupplyDemandAuditRejectApi
    gdSupplyDemandAuditRejectApi,
    gdSupplyDemandAuditAttachmentListApi
} from '@/views/orderView/orderDataManage/supplyAdd/supplyAddApi'
import { ElMessage } from 'element-plus'
import reasonForRejectionDialog from '@/views/orderView/orderDataManage/supplyAdd/reasonForRejectionDialog.vue'
@@ -161,7 +174,7 @@
const responseData = ref([])
// 拒绝申请弹框控制
const rejectionDialogVisible = ref(false) // 拒绝申请弹框显隐
const tableData = ref([]) // 附件表格数据
// 文件选择变化
const handleFileChange = (file, fileList) => {
    if (fileList.length > 0) {
@@ -273,6 +286,21 @@
    }
}
// 从表格下载文件
const downloadFileFromTable = file => {
    if (file.fileUrl) {
        // 创建一个隐藏的a标签来触发下载
        const a = document.createElement('a')
        a.href = file.fileUrl
        a.download = file.name || 'attachment'
        document.body.appendChild(a)
        a.click()
        document.body.removeChild(a)
    } else {
        ElMessage.warning('文件链接无效')
    }
}
// 根据部门ID获取部门名称
function getDeptNameById(deptId, deptList) {
    // 处理类型转换,确保比较的是相同类型
@@ -317,6 +345,29 @@
        data.responsibleDeptName = getDeptNameById(data.responsibleDeptId, deptTree.value)
    }
    formData.value = data
    // 加载附件数据
    await loadAttachments(id)
}
// 加载附件数据
async function loadAttachments(demandId) {
    try {
        const res = await gdSupplyDemandAuditAttachmentListApi({ demandId:demandId })
        const attachments = res?.data?.data ?? []
        // 格式化附件数据以匹配表格结构
        tableData.value = attachments.map(attachment => ({
            name: attachment.attachId ? `附件ID: ${attachment.attachId}` : '未知附件',
            fileSize: attachment.fileSize ? `${attachment.fileSize}M` : '未知大小',
            fileUrl: attachment.fileUrl,
            id: attachment.id
        }))
    } catch (error) {
        console.error('加载附件数据失败:', error)
        ElMessage.error('加载附件数据失败,请重试')
        tableData.value = []
    }
}
// 拒绝申请
applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/supplyAddApi.js
@@ -72,3 +72,12 @@
        params,
    })
}
// 获取供需需求审核附件列表
export const gdSupplyDemandAuditAttachmentListApi = params => {
    return request({
        url: `/drone-gd/orderdata/gdSupplyDemandAuditAttachment/list`,
        method: 'get',
        params,
    })
}