From bcb34e720eb55bc1f9d03d4b4bca557a4b93d4e5 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Wed, 28 Jan 2026 11:31:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/FormDiaLog.vue |   61 ++++++++++++++++++++----------
 1 files changed, 41 insertions(+), 20 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/FormDiaLog.vue
index 33b53a1..9768af6 100644
--- a/applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderDataManage/dataObjection/FormDiaLog.vue
@@ -7,7 +7,7 @@
 		destroy-on-close
 		:close-on-click-modal="false"
 	>
-		<div class="detail-container" v-if="dialogReadonly">
+		<div class="detail-container  detail-container1" v-if="dialogReadonly">
 			<el-row class="detail-row-view">
 				<el-col :span="12">
 					<div class="label">标题</div>
@@ -178,8 +178,8 @@
 		<template #footer>
 			<template v-if="!dialogReadonly">
 				<el-button
-					class="save-btn"
-					color="#4C34FF"
+					color="#F2F3F5"
+
 					v-if="!dialogReadonly"
 					:loading="submitting"
 					:disabled="submitting"
@@ -187,13 +187,13 @@
 				>
 					保存
 				</el-button>
-				<el-button color="#F2F3F5" :loading="submitting" :disabled="submitting" @click="handleApply">申请</el-button>
+				<el-button class="" color="#4C34FF" :loading="submitting" :disabled="submitting" @click="handleApply">申请</el-button>
 			</template>
 			<template v-if="dialogReadonly && detailObjectionStatus === '1'">
 				<el-button color="#F2F3F5" :loading="submitting" :disabled="submitting" @click="visible = false">取消</el-button>
 
 				<el-button
-					class="save-btn"
+					class=""
 					color="#4C34FF"
 
 					:loading="submitting"
@@ -204,7 +204,7 @@
 					反馈
 				</el-button>
 				<el-button
-						class="save-btn"
+						class=""
 						color="#4C34FF"
 
 						:loading="submitting"
@@ -216,7 +216,7 @@
 					</el-button>
 			</template>
 			<template v-if="detailObjectionStatus === '2'">
-				<el-button color="#F2F3F5" :loading="submitting" :disabled="submitting" @click="visible = false">关闭</el-button>
+<!--				<el-button color="#F2F3F5" :loading="submitting" :disabled="submitting" @click="visible = false">关闭</el-button>-->
 			</template>
 		</template>
 	</el-dialog>
@@ -315,9 +315,7 @@
 
 // 文件移除
 const handleFileRemove = (file, fileListVal) => {
-	if (file.response && file.response.attachId) {
-		uploadedFiles.value = uploadedFiles.value.filter(item => item.attachId !== file.response.attachId)
-	}
+uploadedFiles.value = fileListVal
 }
 
 // 上传前验证
@@ -359,7 +357,11 @@
 async function submitForm(objectionStatus) {
 	const isValid = await formRef.value?.validate().catch(() => false)
 	if (!isValid) return
+	if (uploadedFiles.value.length === 0) {
+		return ElMessage.warning('请上传附件')
+	}
 	submitting.value = true
+
 	try {
 		// 构建符合接口要求的提交数据
 		const submitData = {
@@ -425,19 +427,38 @@
 	if (!formData.value.id) return
 	const res = await gdDataObjectionDetailApi({ id: formData.value.id })
 	formData.value = res?.data?.data ?? {}
+	if (formData.value.attachIds) {
+		getAttachDetail(formData.value.attachIds)
+	}
 }
 // 获取附件详情
-async function getAttachDetail() {
-	if (!formData.value.id) return
-	const res = await getAttachDetailApi({ id: formData.value.id })
-	console.log('附件详情',res.data.data)
-	attachmentDetailsList.value=res.data.data
+async function getAttachDetail(attachIds) {
+	// 如果 attachIds 是字符串,尝试分割成数组
+	const ids = typeof attachIds === 'string' ? attachIds.split(',') : Array.isArray(attachIds) ? attachIds : [attachIds]
+	const detailPromises = ids.map(id => getAttachDetailApi({ id }))
+	const results = await Promise.all(detailPromises)
+	attachmentDetailsList.value = results.map(res => res.data.data).filter(Boolean)
+	console.log('附件详情', attachmentDetailsList.value)
 }
 // 处理附件下载
 async function handleDownloadAttach() {
-console.log('附件');
+	if (attachmentDetailsList.value.length === 0) {
+		ElMessage.warning('没有可下载的附件')
+		return
+	}
 
-
+	// 遍历所有附件并下载
+	attachmentDetailsList.value.forEach(attach => {
+		if (attach.link) {
+			const link = document.createElement('a')
+			link.href = attach.link
+			link.download = attach.originalName || attach.name
+			link.style.display = 'none'
+			document.body.appendChild(link)
+			link.click()
+			document.body.removeChild(link)
+		}
+	})
 }
 
 
@@ -453,7 +474,6 @@
 	feedbackFormData.value = initFeedbackForm()
 	if (dialogMode.value !== 'add') {
 		await loadDetail()
-		await getAttachDetail()
 	}
 }
 
@@ -461,8 +481,9 @@
 </script>
 
 <style scoped lang="scss">
-.detail-container {
-	padding: 20px;
+.detail-container1 {
+display: flex;
+flex-direction: column;
 }
 .upload-container {
 	width: 100%;

--
Gitblit v1.9.3