吉安感知网项目-前端
张含笑
2026-01-28 5b2f6743459bb2da4bddaeb958dcd642d4838a1c
applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue
@@ -69,7 +69,7 @@
            </div>
            <!--            申请中-->
            <div v-if="detailDemandStatus === '1' && !requesterProvider">
               <div class="detail-title">数据上传</div>
               <div class="detail-title" :style="{ marginTop:pxToRem(10)}">数据上传</div>
               <div class="upload-container">
                  <el-upload
                  :http-request="handleHttpRequest"
@@ -107,8 +107,8 @@
      </div>
      <template #footer>
         <template v-if="detailDemandStatus === '1' && !requesterProvider">
            <el-button color="#F2F3F5" :loading="submitting" :disabled="submitting" @click="rejectTheApplication">拒绝申请</el-button>
            <el-button class="" color="#4C34FF" :loading="submitting" :disabled="submitting" @click="approvedByTheReview">审核通过</el-button>
            <el-button color="#F2F3F5" :loading="submitting || uploading" :disabled="submitting || uploading" @click="rejectTheApplication">拒绝申请</el-button>
            <el-button class="" color="#4C34FF" :loading="submitting || uploading" :disabled="submitting || uploading" @click="approvedByTheReview">审核通过</el-button>
         </template>
         <template v-if="detailDemandStatus === '2'">
            <el-button class="" color="#4C34FF" @click="downloadAllFiles">全部下载</el-button>
@@ -155,8 +155,10 @@
const uploadedFiles = ref([]) // 已上传文件列表
const responseData = ref(null)
const submitting = ref(false) // 提交中状态
const uploading = ref(false) // 文件上传中状态
// 自定义上传请求函数
const handleHttpRequest = async (options) => {
   uploading.value = true
   try {
      // 创建FormData对象
      const formData = new FormData()
@@ -164,7 +166,6 @@
      // 调用导入的API函数
      const response = await putFileAttachApi(formData)
      console.log('response',response)
      if (response.data && response.data.success) {
         // 调用上传成功的回调
         options.onSuccess(response)
@@ -176,6 +177,8 @@
      // 调用上传失败的回调
      options.onError(error)
      console.error('文件上传失败:', error)
   } finally {
      uploading.value = false
   }
}
// 拒绝申请弹框控制
@@ -183,10 +186,7 @@
const tableData = ref([]) // 附件表格数据
// 文件移除
const handleFileRemove = (file, fileList) => {
   // 从已上传文件列表中移除对应文件
   if (file.response && file.response.attachId) {
      uploadedFiles.value = uploadedFiles.value.filter(item => item.attachId !== file.response.attachId)
   }
uploadedFiles.value = fileList
   // 清空响应数据
   if (responseData.value && responseData.value.attachId === file.response?.attachId) {
      responseData.value = null
@@ -204,11 +204,11 @@
   }
   // 文件大小限制,这里限制为100MB
   const maxSize = 100 * 1024 * 1024 // 100MB
   if (file.size > maxSize) {
      ElMessage.error('文件大小不能超过100MB')
      return false
   }
   // const maxSize = 100 * 1024 * 1024 // 100MB
   // if (file.size > maxSize) {
   //    ElMessage.error('文件大小不能超过100MB')
   //    return false
   // }
   return true
}
@@ -218,7 +218,6 @@
   // 添加更严格的检查,确保response不是undefined
   if (response && response?.data && response?.data?.success) {
      const fileData = response.data.data
      console.log('成功数据', fileData)
      responseData.value = fileData
      // 添加到已上传文件列表
      uploadedFiles.value.push({
@@ -246,28 +245,13 @@
   }
}
// 下载文件
const downloadFile = file => {
   if (file.link) {
      // 创建一个隐藏的a标签来触发下载
      const a = document.createElement('a')
      a.href = file.link
      a.download = file.originalName || file.name
      document.body.appendChild(a)
      a.click()
      document.body.removeChild(a)
   } else {
      ElMessage.warning('文件链接无效')
   }
}
// 从表格下载文件
const downloadFileFromTable = file => {
   if (file.fileUrl) {
      // 创建一个隐藏的a标签来触发下载
      const a = document.createElement('a')
      a.href = file.fileUrl
      a.download = file.name || 'attachment'
      a.download = file.fileOriginalName || '下载附件'
      document.body.appendChild(a)
      a.click()
      document.body.removeChild(a)
@@ -298,7 +282,7 @@
         if (file.fileUrl) {
            const a = document.createElement('a')
            a.href = file.fileUrl
            a.download = file.name || `attachment_${index + 1}`
            a.download = file.fileOriginalName || `下载附件_${index + 1}`
            document.body.appendChild(a)
            a.click()
            document.body.removeChild(a)
@@ -378,9 +362,9 @@
// 拒绝申请
const rejectTheApplication = () => {
   if (uploadedFiles.value.length === 0) {
      return ElMessage.warning('请上传数据')
   }
   // if (uploadedFiles.value.length === 0) {
   //    return ElMessage.warning('请上传数据')
   // }
   // 打开拒绝申请弹框
   rejectionDialogVisible.value = true
}
@@ -410,7 +394,7 @@
const approvedByTheReview = () => {
   if (uploadedFiles.value.length === 0) {
      return ElMessage.warning('请上传数据')
   }
   }
   // 从 uploadedFiles.value 中提取所有 attachId
   const id = uploadedFiles.value.map(file => file.attachId)
   submitting.value = true
@@ -492,4 +476,5 @@
:deep(.el-upload-list) {
   margin-top: 10px;
}
</style>