From 9dcad0c65f2564fc2fe43e21b23f9faf4a073d30 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期二, 28 四月 2026 13:49:47 +0800
Subject: [PATCH] fix: 修复多个页面样式、交互及路由问题
---
laboratory/src/views/dataManagement/testResultReport/detail.vue | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 47 insertions(+), 7 deletions(-)
diff --git a/laboratory/src/views/dataManagement/testResultReport/detail.vue b/laboratory/src/views/dataManagement/testResultReport/detail.vue
index 5b6e5a3..2a788ed 100644
--- a/laboratory/src/views/dataManagement/testResultReport/detail.vue
+++ b/laboratory/src/views/dataManagement/testResultReport/detail.vue
@@ -228,16 +228,23 @@
<div class="evaluate-card-cotent">
<template v-if="selectedProcessEngineer">
<template v-if="selectedProcessEngineer.data">
- <div class="evaluate-table-wrapper" @click="handleEvaluate('processEngineer')">
+ <div class="evaluate-table-wrapper" @click="handleProcessEngineerEvaluate">
<EvaluateTable class="evaluate-table" :isReadonly="true" :type="1"
:viewJson="selectedProcessEngineer.data.resultEvaluateJson" />
</div>
</template>
<template v-else>
<div class="no-data">暂未评定</div>
- <div v-if="
+ <!-- 原逻辑保留:详情态下审批人和管理员可直接进入工艺工程师评定 -->
+ <!-- <div v-if="
isView && form.status == 2 && (userRole == 1 || userRole == 2)
- " class="to-evaluate" @click="handleEvaluate('processEngineer')">
+ " class="to-evaluate" @click="handleEvaluate('processEngineer')"> -->
+ <div v-if="
+ !isApproverDetailView &&
+ isView &&
+ form.status == 2 &&
+ (userRole == 1 || userRole == 2)
+ " class="to-evaluate" @click="handleProcessEngineerEvaluate">
去评价
</div>
</template>
@@ -248,8 +255,15 @@
<el-button type="primary" class="save-btn" @click="handleSubmit(1)">提交</el-button>
<el-button @click="handleSubmit(-1)">存草稿</el-button>
</div>
- <div class="add-project-footer" v-if="isView && form.status == 2 && (userRole == 1 || userRole == 2)">
- <el-button type="primary" class="save-btn" @click="handleEvaluate('processEngineer')">工艺工程师评定</el-button>
+ <!-- 原逻辑保留:详情态下审批人和管理员显示工艺工程师评定按钮 -->
+ <!-- <div class="add-project-footer" v-if="isView && form.status == 2 && (userRole == 1 || userRole == 2)"> -->
+ <div class="add-project-footer" v-if="
+ !isApproverDetailView &&
+ isView &&
+ form.status == 2 &&
+ (userRole == 1 || userRole == 2)
+ ">
+ <el-button type="primary" class="save-btn" @click="handleProcessEngineerEvaluate">工艺工程师评定</el-button>
<!-- <el-button @click="handleSubmit(-1)">存草稿</el-button> -->
</div>
</el-form>
@@ -258,6 +272,7 @@
@submit="handleSchedulingSelect" />
<!-- 评价弹窗 -->
<evaluation-dialog :modelValue="evaluationDialogVisible" :type="currentEvaluationType"
+ :target-id="currentEvaluationTargetId"
:viewJson="currentEvaluationData ? currentEvaluationData : ''" @update:modelValue="updateEvaluationDialogVisible"
@submit="handleEvaluationSubmit" />
<!-- 检验结果详情弹窗 -->
@@ -361,6 +376,7 @@
3: "已封存",
},
currentEvaluationData: null, // 添加当前评价数据
+ currentEvaluationTargetId: null,
userRole: "",
// 原始检测项列表--新增
formMore: {
@@ -571,8 +587,21 @@
handleSelectProcessEngineer(engineer) {
this.selectedProcessEngineer = engineer;
},
+ handleProcessEngineerEvaluate() {
+ if (this.isApproverDetailView) {
+ // 原逻辑保留:审批人详情态下点击后会继续执行工艺工程师评定
+ // this.handleEvaluate("processEngineer");
+ return;
+ }
+ this.handleEvaluate("processEngineer");
+ },
// 去评价
handleEvaluate(type) {
+ if (this.isApproverDetailView && type == "processEngineer") {
+ // 原逻辑保留:详情态审批人此前允许打开工艺工程师评定弹窗
+ // this.evaluationDialogVisible = true;
+ return;
+ }
if (
this.$route.query.type == "view" &&
type != "processEngineer" &&
@@ -582,14 +611,19 @@
return;
}
this.currentEvaluationType = type;
+ this.currentEvaluationData = null;
+ this.currentEvaluationTargetId = null;
// 根据类型获取当前选中人员的评定数据
if (type == "labTechnician" && this.selectedLabTechnician) {
+ this.currentEvaluationTargetId = this.selectedLabTechnician.id;
this.currentEvaluationData =
this.selectedLabTechnician.data?.resultEvaluateJson;
} else if (type == "experimenter" && this.selectedExperimenter) {
+ this.currentEvaluationTargetId = this.selectedExperimenter.id;
this.currentEvaluationData =
this.selectedExperimenter.data?.resultEvaluateJson;
} else if (type == "processEngineer" && this.selectedProcessEngineer) {
+ this.currentEvaluationTargetId = this.selectedProcessEngineer.id;
this.currentEvaluationData =
this.selectedProcessEngineer.data?.resultEvaluateJson;
}
@@ -661,6 +695,7 @@
}
this.evaluationDialogVisible = false;
this.currentEvaluationData = null;
+ this.currentEvaluationTargetId = null;
},
// 将分数转换为评定值
getEvaluateValue(score) {
@@ -725,6 +760,7 @@
this.evaluationDialogVisible = value;
if (!value) {
this.currentEvaluationData = null; // 关闭弹窗时清空数据
+ this.currentEvaluationTargetId = null;
}
},
handleSchedulingClose() {
@@ -1197,8 +1233,12 @@
},
},
computed: {
+ ...mapState(["tagList", "isFold"]),
isView() {
return this.$route.query.type == "view";
+ },
+ isApproverDetailView() {
+ return this.isView && this.userRole == 2;
},
},
};
@@ -1314,7 +1354,7 @@
gap: 16px;
.evaluate-card-people-item {
- width: 125px;
+ min-width: 125px;
background: #ffffff;
border-radius: 6px;
padding: 10px 5px;
@@ -1384,4 +1424,4 @@
opacity: 0.8;
}
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.7.1