From d0d78b9fbe144326f136ee048bb59d314413032e Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 27 五月 2025 08:45:29 +0800
Subject: [PATCH] 修改导出

---
 src/views/analyse/assessApply/index.vue |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 6 deletions(-)

diff --git a/src/views/analyse/assessApply/index.vue b/src/views/analyse/assessApply/index.vue
index 3f6b536..3cee65a 100644
--- a/src/views/analyse/assessApply/index.vue
+++ b/src/views/analyse/assessApply/index.vue
@@ -42,7 +42,7 @@
                         </el-table-column>
                         <el-table-column prop="experimentType" label="实验类别">
                           <template #default="scope">
-                            <span>{{developState.experimentTypeList.find(i=>i.id == scope.row.experimentType)?.name}}</span>
+                            <span>{{scope.row.typeList.map(i=>i.typeName).join('、')}}</span>
                           </template>
                         </el-table-column>
                         <el-table-column prop="status" label="评估申请">
@@ -55,18 +55,26 @@
                             <span>{{scope.row.assessApplyTime?scope.row.assessApplyTime.substring(0,16):'--'}}</span>
                           </template>
                         </el-table-column>
+                      <el-table-column prop="status" label="最近评估时间" show-overflow-tooltip>
+                        <template #default="scope">
+                          <span>{{scope.row.experimentAssessLogs?scope.row.experimentAssessLogs.map(i=>i.assessEndTime.substring(0,16)).join(','): ''}}</span>
+                        </template>
+                      </el-table-column>
                         <el-table-column prop="stage" label="评估状态">
                           <template #default="scope">
                             <el-tag :type="scope.row.stage == 4?'success':scope.row.stage == 1?'info':''">
-                              {{scope.row.stage == 1?'未评估':scope.row.status == 2?'评估中':scope.row.status == 3?'评估完成':scope.row.status == 4?'生成报告':'--'}}
+                              {{scope.row.stage == 1?'未评估':scope.row.stage == 2?'评估中':scope.row.stage == 3?'评估完成':scope.row.stage == 4?'生成报告':'--'}}
                             </el-tag>
                           </template>
                         </el-table-column>
                         <el-table-column label="操作" width="250" fixed="right">
                             <template #default="scope">
-                                <el-button size="small" text type="primary" :icon="Edit" @click="openRiskDialog(scope.row)">管理实验现实风险</el-button>
-                                <el-button size="small" text type="primary" :icon="View" @click="openReportDialog('提交', scope.row)">提交综合评估报告审批</el-button>
-                                <el-button size="small" :disabled="scope.row.status == 2 ? true : false" text type="primary" :icon="Edit" @click="openReportDialog('查看',scope.row)">查看评估报告</el-button>
+                                <el-button size="small" v-if="scope.row.stage >= 3 && !scope.row.reportId" text type="primary" :icon="Edit" @click="toReport(scope.row,0)">生成评估报告</el-button>
+                                <el-button size="small" v-if="scope.row.stage >= 3 && scope.row.reportId" text type="primary" :icon="Edit" @click="toReport(scope.row,1)">重新生成报告</el-button>
+                                <el-button size="small" text type="primary" :icon="Edit" @click="openRiskDialog(scope.row)">管理实验风险单元</el-button>
+                                <el-button size="small" v-if="scope.row.stage == 4 && !scope.row.assessPerson" text type="primary" :icon="View" @click="openReportDialog('提交', scope.row)">提交审批</el-button>
+                                <el-button size="small" v-if="scope.row.stage == 4 && scope.row.assessPerson" text type="primary" :icon="View" @click="openReportDialog('修改', scope.row)">修改</el-button>
+                                <el-button size="small" v-if="scope.row.stage == 4 && scope.row.assessPerson" text type="primary" :icon="Edit" @click="openReportDialog('查看',scope.row)">查看</el-button>
                             </template>
                         </el-table-column>
                     </el-table>
@@ -130,6 +138,58 @@
     }
 };
 
+const toReport = (val: ProjectType,type: number)=>{
+  if(type == 0){
+    ElMessageBox.confirm(`此操作将对该实验生成风险评估报告:“${val.experimentName}”,是否继续?`, '提示', {
+      confirmButtonText: '确认',
+      cancelButtonText: '取消',
+      type: 'warning'
+    })
+        .then(async () => {
+          let res = await assessApplyApi().toRiskReport({ id: val.id });
+          if (res.data.code === 100) {
+            ElMessage({
+              type: 'success',
+              duration: 2000,
+              message: '生成报告成功'
+            });
+            await getAssessData();
+          } else {
+            ElMessage({
+              type: 'warning',
+              message: res.data.msg
+            });
+          }
+        })
+        .catch((error) => {
+        });
+  }else{
+    ElMessageBox.confirm(`此操作将对该实验重新生成风险评估报告:“${val.experimentName}”,是否继续?`, '提示', {
+      confirmButtonText: '确认',
+      cancelButtonText: '取消',
+      type: 'warning'
+    })
+        .then(async () => {
+          let res = await assessApplyApi().toRiskReport({ id: val.id, reSubmit: 1});
+          if (res.data.code === 100) {
+            ElMessage({
+              type: 'success',
+              duration: 2000,
+              message: '重新生成报告成功'
+            });
+            await getAssessData();
+          } else {
+            ElMessage({
+              type: 'warning',
+              message: res.data.msg
+            });
+          }
+        })
+        .catch((error) => {
+        });
+  }
+}
+
 const getAllRoom = async () => {
   let res = await roomApi().getAllRoom();
   if(res.data.code === 100){
@@ -157,7 +217,6 @@
         type: 'warning'
     })
         .then(async () => {
-            debugger
             let res = await projectApi().deleteProjectById({ id: val.id });
             if (res.data.code === 100) {
                 ElMessage({

--
Gitblit v1.9.2