From ea8805b6e0ec8f6de7bf997d019b56c42055d34d Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Tue, 20 Jan 2026 11:29:10 +0800
Subject: [PATCH] feat:添加接口

---
 applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/ApplyViewDialog.vue |   99 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 94 insertions(+), 5 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 3d69c8e..c054e4a 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
@@ -1,8 +1,9 @@
 <template>
 	<el-dialog class="gd-dialog" v-model="visible" :title="'查看申请'" @closed="visible = false" destroy-on-close>
 		<div class="detail-container">
-			<!-- 左侧步骤条 -->
+			<!-- 左侧审批记录 -->
 			<div class="detail-left">
+				<div class="label">审批记录</div>
 				<el-steps :active="activeStep" direction="vertical" align-center>
 					<el-step v-for="(step, index) in steps" :key="index" :title="step.title">
 						<template #description>
@@ -134,13 +135,13 @@
 </template>
 
 <script setup>
-import { ref, inject } from 'vue'
 import { getDictLabel } from '@ztzf/utils'
 import {
 	gdSupplyDemandDetailApi,
 	putFileAttachApi,
 	gdSupplyDemandAuditPassApi,
 	gdSupplyDemandAuditRejectApi,
+	gdSupplyDemandAuditListApi
 } from '@/views/orderView/orderDataManage/supplyAdd/supplyAddApi'
 import { ElMessage } from 'element-plus'
 import reasonForRejectionDialog from './reasonForRejectionDialog.vue'
@@ -160,8 +161,8 @@
 const rejectionDialogVisible = ref(false) // 拒绝申请弹框显隐
 // 步骤条数据
 const steps = ref([
-	{ title: '需求申请', person: '张三', time: '2025-03-31 12:23:30' },
-	{ title: '审核通过', person: '', time: '' },
+	{ title: '需求申请', person: '', time: '' },
+	{ title: '审核通过', person: '', time: '' }
 ])
 // 当前激活步骤
 const activeStep = ref(0)
@@ -322,7 +323,95 @@
 		data.responsibleDeptName = getDeptNameById(data.responsibleDeptId, deptTree.value)
 	}
 	formData.value = data
+	
+	// 加载审核记录
+	await loadAuditRecords(id)
 }
+
+// 加载审核记录
+async function loadAuditRecords(demandId) {
+	try {
+		const res = await gdSupplyDemandAuditListApi({ demandId })
+		const auditRecords = res?.data?.data ?? []
+		
+		// 处理审核记录为步骤格式
+		processAuditRecords(auditRecords)
+	} catch (error) {
+		console.error('加载审核记录失败:', error)
+		ElMessage.error('加载审核记录失败,请重试')
+		// 保持默认步骤,不做清空
+		activeStep.value = 0
+	}
+}
+
+// 处理审核记录为步骤格式
+function processAuditRecords(records) {
+	// 重置为默认步骤结构
+	steps.value = [
+		{ title: '需求申请', person: '', time: '' },
+		{ title: '审核通过', person: '', time: '' }
+	]
+	
+	if (!records || records.length === 0) {
+		// 没有审核记录,保持默认步骤
+		activeStep.value = 0
+		return
+	}
+	
+	// 按创建时间排序(最新的在最后)
+	const sortedRecords = [...records].sort((a, b) => new Date(a.createTime) - new Date(b.createTime))
+	
+	// 处理需求申请步骤(第一个步骤)
+	const demandRecord = sortedRecords.find(record => record.auditStatus === '0') || sortedRecords[0]
+	if (demandRecord) {
+		steps.value[0] = {
+			title: '需求申请',
+			person: demandRecord.createUser ? `${demandRecord.createUser}` : '',
+			time: demandRecord.createTime ? demandRecord.createTime : ''
+		}
+	}
+	
+	// 处理审核步骤(第二个步骤)
+	const latestRecord = sortedRecords[sortedRecords.length - 1]
+	if (latestRecord) {
+		// 根据最新审核结果设置标题
+		let auditTitle = '审核通过'
+		if (latestRecord.auditStatus === '2') {
+			auditTitle = '审核驳回'
+			// 更新第二个步骤的标题为审核驳回
+			steps.value[1].title = auditTitle
+		}
+		
+		// 添加审核意见(如果有)
+		if (latestRecord.auditOpinion) {
+			steps.value[1].title += ` - ${latestRecord.auditOpinion}`
+		}
+		
+		// 更新审核步骤的信息
+		steps.value[1].person = latestRecord.createUser ? `${latestRecord.createUser}` : ''
+		steps.value[1].time = latestRecord.createTime ? latestRecord.createTime : ''
+		
+		// 根据最新审核结果设置activeStep
+		switch (latestRecord.auditStatus) {
+			case '0':
+				// 审核中,高亮第一个步骤
+				activeStep.value = 0
+				break
+			case '1':
+				// 审核通过,高亮第二个步骤
+				activeStep.value = 1
+				break
+			case '2':
+				// 审核驳回,高亮第二个步骤
+				activeStep.value = 1
+				break
+			default:
+				// 默认高亮第一个步骤
+				activeStep.value = 0
+		}
+	}
+}
+
 
 // 拒绝申请
 const rejectTheApplication = () => {
@@ -434,7 +523,7 @@
 }
 
 :deep(.el-step) {
-	margin-bottom: 20px;
+	margin-bottom: 90px;
 }
 
 :deep(.el-step__title) {

--
Gitblit v1.9.3