From fd10c98949580d7ae337cfb91fb80eb728e268d9 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 20 Jan 2026 10:31:38 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web

---
 applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue               |    6 -
 applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue          |   33 +++++++++--
 applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/reasonForRejectionDialog.vue |   91 ++++++++++++++++++++++++++++++
 3 files changed, 120 insertions(+), 10 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue
index 23d0823..ec99aae 100644
--- a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue
+++ b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue
@@ -138,7 +138,7 @@
 			<el-button
 				class="save-btn"
 				color="#4C34FF"
-				
+
 				
 				@click="rejectTheApplication"
 			>
@@ -148,6 +148,13 @@
 
 		</template>
 	</el-dialog>
+
+	<!-- 拒绝申请弹框 -->
+	<reasonForRejectionDialog
+		v-if="rejectionDialogVisible"
+		v-model="rejectionDialogVisible"
+		@confirm="handleRejectionConfirm"
+	/>
 </template>
 
 <script setup>
@@ -155,10 +162,11 @@
 import { getDictLabel } from '@ztzf/utils'
 import { gdSupplyDemandDetailApi, putFileAttachApi,gdSupplyDemandAuditPassApi,gdSupplyDemandAuditRejectApi } from '@/views/orderView/orderDataManage/supplyAdd/supplyAddApi'
 import { ElMessage, ElMessageBox } from 'element-plus'
+import reasonForRejectionDialog from './reasonForRejectionDialog.vue'
 
 const dictObj = inject('dictObj')
 const deptTree = inject('deptTree')
-
+const demandId = ref('')
 const visible = defineModel() // 弹框显隐
 const formData = ref({}) // 表单数据
 const uploadRef = ref() // 上传组件引用
@@ -167,6 +175,8 @@
 const uploadedFiles = ref([]) // 已上传文件列表
 const uploadLoading = ref(false) // 上传加载状态
 const responseData = ref([])
+// 拒绝申请弹框控制
+const rejectionDialogVisible = ref(false) // 拒绝申请弹框显隐
 // 步骤条数据
 const steps = ref([
 	{ title: '需求申请', person: '张三', time: '2025-03-31 12:23:30' },
@@ -317,8 +327,9 @@
 async function open({ row }) {
 	if (row?.id) {
 		await loadDetail(row.id)
-		// 可以在这里加载已上传的文件列表
-		// loadUploadedFiles(row.id)
+		demandId.value = row.id
+		console.log('row.id',demandId.value);
+		
 	}
 	visible.value = true
 }
@@ -351,11 +362,21 @@
 	if(responseData.value.length === 0){
 		return ElMessage.warning('请上传数据')
 	}
+	// 打开拒绝申请弹框
+	rejectionDialogVisible.value = true
+}
+
+// 处理拒绝申请确认
+const handleRejectionConfirm = (reason) => {
 	const id = [responseData.value.attachId]
-	console.log('responseData.value',responseData.value)
-	gdSupplyDemandAuditRejectApi({ attachIds:id }).then(() => {
+	console.log('demandId.value',demandId.value);
+	
+	gdSupplyDemandAuditRejectApi({ attachIds: id, auditOpinion: reason ,demandId:'2013137230848598018'}).then(() => {
 		ElMessage.success('拒绝申请成功')
 		visible.value = false
+	}).catch(error => {
+		console.error('拒绝申请失败:', error)
+		ElMessage.error('拒绝申请失败,请重试')
 	})
 }
 // 审核通过
diff --git a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue
index 1086a59..53a659f 100644
--- a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue
@@ -66,7 +66,7 @@
 			:model="formData"
 			:rules="rules"
 			:disabled="dialogReadonly"
-			label-width="120px"
+			label-width="130px"
 		>
 			<el-row>
 				<el-col :span="12">
@@ -172,13 +172,11 @@
 						<el-input class="gd-input" v-model="formData.dataSource" placeholder="请输入" clearable />
 					</el-form-item>
 				</el-col>
-				<el-col :span="24">
+				<el-col :span="12">
 					<el-form-item label="需求信息项" prop="demandInfo">
 						<el-input
 							class="gd-input"
 							v-model="formData.demandInfo"
-							type="textarea"
-							:rows="4"
 							placeholder="请输入"
 							clearable
 						/>
diff --git a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/reasonForRejectionDialog.vue b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/reasonForRejectionDialog.vue
new file mode 100644
index 0000000..40f5eed
--- /dev/null
+++ b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/reasonForRejectionDialog.vue
@@ -0,0 +1,91 @@
+<template>
+	<el-dialog
+		class="gd-dialog"
+		v-model="visible"
+		:title="'拒绝申请'"
+		@closed="visible = false"
+		destroy-on-close
+		width="550px"
+		align-center
+	>
+		<div class="detail-container">
+			<div class="detail-cell">
+				<span class="cell-label">拒绝原因:</span>
+				<el-input v-model="reasonForRejection" style="width: 380px" type="textarea" placeholder="请输入" />
+			</div>
+		</div>
+		<template #footer>
+			<!-- <el-button @click="handleCancel">取消</el-button> -->
+			<el-button class="save-btn" color="#4C34FF" @click="handleConfirm">确认</el-button>
+		</template>
+	</el-dialog>
+</template>
+
+<script setup>
+import { ref, watch } from 'vue'
+import { ElMessage } from 'element-plus'
+
+const props = defineProps({
+	modelValue: {
+		type: Boolean,
+		default: false,
+	},
+})
+
+const emit = defineEmits(['update:modelValue', 'confirm'])
+
+const visible = ref(props.modelValue)
+const reasonForRejection = ref('')
+
+// 监听visible变化,同步到父组件
+watch(
+	() => visible.value,
+	newVal => {
+		emit('update:modelValue', newVal)
+	}
+)
+
+// 监听父组件modelValue变化
+watch(
+	() => props.modelValue,
+	newVal => {
+		visible.value = newVal
+	}
+)
+
+// 取消按钮点击事件
+const handleCancel = () => {
+	visible.value = false
+	reasonForRejection.value = ''
+}
+
+// 确认按钮点击事件
+const handleConfirm = () => {
+	if (!reasonForRejection.value.trim()) {
+		return ElMessage.warning('请输入拒绝原因')
+	}
+	emit('confirm', reasonForRejection.value)
+	visible.value = false
+	reasonForRejection.value = ''
+}
+</script>
+
+<style scoped lang="scss">
+.detail-container {
+	padding: 20px;
+	display: flex;
+	align-items: flex-start;
+	gap: 30px;
+	.detail-cell {
+		display: flex;
+		justify-content: center;
+		.cell-label {
+			min-width: 80px;
+			flex-shrink: 0;
+		}
+        :deep(.el-textarea__inner) {
+            height: 100px !important;
+        }
+	}
+}
+</style>

--
Gitblit v1.9.3