From d0d78b9fbe144326f136ee048bb59d314413032e Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Tue, 27 May 2025 08:45:29 +0800
Subject: [PATCH] 修改导出
---
src/views/analyse/evaluate/index.vue | 270 ++++++++++++++++++++++++++++++++---------------------
1 files changed, 162 insertions(+), 108 deletions(-)
diff --git a/src/views/analyse/evaluate/index.vue b/src/views/analyse/evaluate/index.vue
index 1833e58..a730a98 100644
--- a/src/views/analyse/evaluate/index.vue
+++ b/src/views/analyse/evaluate/index.vue
@@ -25,46 +25,47 @@
<!-- </el-col>-->
</el-row>
<el-table ref="multipleTableRef" :data="evaluateState.evaluateData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }">
- <el-table-column type="expand">
- <template #default="scope">
- <el-table :data="scope.row.factorQueryDTOList" style="width: 100%">
- <el-table-column type="index" label="序号" width="80" />
- <el-table-column prop="evaluateMethod" label="评价方法" align="center">
- <template #default="scope">
- {{ evaluateState.evaluateMethodList.find(i=>i.id === scope.row.evaluateMethod)?.name }}
- </template>
- </el-table-column>
- <el-table-column prop="itemIdentificationTime" label="辨识添加时间" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 1" prop="phaCheckItem" label="检查项目" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 1" prop="phaRiskFactor" label="存在风险因素" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 1" prop="phaResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 2" prop="jhaCheckItem" label="作业步骤" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 2" prop="jhaRiskFactor" label="存在风险因素" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 2" prop="jhaResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 3" prop="sclCheckItem" label="检查项目" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 3" prop="sclCheckStandard" label="检查标准" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 3" prop="sclCheckUnstandard" label="不符合标准情况" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 3" prop="sclCheckResult" label="主要后果" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopNode" label="节点" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopParam" label="参数" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopParamDesc" label="参数描述" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopNode" label="节点" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopGuide" label="引导词" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopDeviation" label="偏差" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopPossibleCauses" label="可能原因" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 5" prop="analogyCheckItem" label="检查项目" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 5" prop="analogyReference" label="类比参照" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 5" prop="analogyRiskFactor" label="存在风险因素" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column v-if="scope.row.identificationMethod == 5" prop="analogyResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>
- <el-table-column label="操作" width="250">
- <template #default="scope">
- <el-button size="small" text type="primary" :icon="Plus" @click="openEvaluateDialog('评价', scope.row)">评价</el-button>
- </template>
- </el-table-column>
- </el-table>
- </template>
- </el-table-column>
+<!-- <el-table-column type="expand">-->
+<!-- <template #default="scope">-->
+<!-- <el-table :data="scope.row.factorQueryDTOList" style="width: 100%">-->
+<!-- <el-table-column type="index" label="序号" width="80" />-->
+<!-- <el-table-column prop="evaluateMethod" label="评价方法" align="center">-->
+<!-- <template #default="scope">-->
+<!-- {{ evaluateState.evaluateMethodList.find(i=>i.id === scope.row.evaluateMethod)?.name }}-->
+<!-- </template>-->
+<!-- </el-table-column>-->
+<!-- <el-table-column prop="itemIdentificationTime" label="辨识添加时间" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 1" prop="phaCheckItem" label="检查项目" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 1" prop="phaRiskFactor" label="存在风险因素" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 1" prop="phaResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 2" prop="jhaCheckItem" label="作业步骤" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 2" prop="jhaRiskFactor" label="存在风险因素" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 2" prop="jhaResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 3" prop="sclCheckItem" label="检查项目" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 3" prop="sclCheckStandard" label="检查标准" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 3" prop="sclCheckUnstandard" label="不符合标准情况" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 3" prop="sclCheckResult" label="主要后果" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopNode" label="节点" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopParam" label="参数" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopParamDesc" label="参数描述" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopNode" label="节点" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopGuide" label="引导词" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopDeviation" label="偏差" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopPossibleCauses" label="可能原因" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 4" prop="hazopResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 5" prop="analogyCheckItem" label="检查项目" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 5" prop="analogyReference" label="类比参照" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 5" prop="analogyRiskFactor" label="存在风险因素" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column v-if="scope.row.identificationMethod == 5" prop="analogyResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>-->
+<!-- <el-table-column label="操作" width="250" >-->
+<!-- <template #default="scope2">-->
+<!-- <el-button size="small" v-if="scope.row.planExecStatus === 3 && scope.row.evaluateUserId == evaluateState.user" text type="primary" :icon="Plus" @click="openEvaluateDialog('评价', scope2.row)">评价</el-button>-->
+<!-- <el-button size="small" v-if="scope2.row.riskValue" text type="primary" :icon="View" @click="openEvaluateDialog('查看', scope2.row)">查看</el-button>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
+<!-- </el-table>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
<el-table-column prop="assessPlanName" label="评估计划名称"/>
<el-table-column prop="identificationMethod" label="辨识方法" show-overflow-tooltip>
@@ -73,7 +74,8 @@
</template>
</el-table-column>
<el-table-column prop="riskUnitName" label="风险单元" />
- <el-table-column prop="identificationUser" label="计划负责人" />
+ <el-table-column prop="planUserName" label="计划负责人" />
+ <el-table-column prop="identificationUser" label="辨识专家" />
<el-table-column prop="evaluateUser" label="评价专家" />
<el-table-column prop="createTime" label="创建时间" show-overflow-tooltip></el-table-column>
<el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip></el-table-column>
@@ -107,7 +109,10 @@
</el-table-column>
<el-table-column label="操作" width="250">
<template #default="scope">
- <el-button size="small" v-if="scope.row.planExecStatus===3" text type="primary" @click="accessEvaluate(scope.row)">提交</el-button>
+ <el-button size="small" text :icon="View" type="primary" @click="openProjectDialog('查看',scope.row)">实验信息</el-button>
+ <el-button size="small" v-if="scope.row.planExecStatus===3 && scope.row.evaluateUsers?.find(i=>i.evaluateUserId== evaluateState.user)" text type="primary" :icon="DocumentChecked" @click="accessEvaluate(scope.row)">提交</el-button>
+ <el-button size="small" v-if="scope.row.planExecStatus===3 && scope.row.evaluateUsers?.find(i=>i.evaluateUserId== evaluateState.user)" text type="primary" :icon="Edit" @click="openEvaluate(scope.row)">评价</el-button>
+ <el-button size="small" v-if="scope.row.planExecStatus===4" text :icon="View" type="primary" @click="openEvaluate(scope.row)">查看评价</el-button>
</template>
</el-table-column>
</el-table>
@@ -117,7 +122,48 @@
</div>
</div>
</div>
- <evaluate-dialog ref="evaluateDialogRef" @refresh="getEvaluateData"></evaluate-dialog>
+
+ <el-dialog title="辨识信息评价" v-model="evaluateState.evaluateDialog" width="50%">
+ <el-table :data="evaluateState.currentEvalute.factorQueryDTOList" style="width: 100%">
+ <el-table-column type="index" label="序号" width="80"/>
+ <el-table-column prop="evaluateMethod" label="评价方法" align="center">
+ <template #default="scope">
+ {{ evaluateState.evaluateMethodList.find(i=>i.id === scope.row.evaluateMethod)?.name }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="itemIdentificationTime" label="辨识添加时间" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 1" prop="phaCheckItem" label="检查项目" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 1" prop="phaRiskFactor" label="存在风险因素" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 1" prop="phaResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 2" prop="jhaCheckItem" label="作业步骤" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 2" prop="jhaRiskFactor" label="存在风险因素" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 2" prop="jhaResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 3" prop="sclCheckItem" label="检查项目" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 3" prop="sclCheckStandard" label="检查标准" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 3" prop="sclCheckUnstandard" label="不符合标准情况" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 3" prop="sclCheckResult" label="主要后果" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 4" prop="hazopNode" label="节点" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 4" prop="hazopParam" label="参数" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 4" prop="hazopParamDesc" label="参数描述" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 4" prop="hazopNode" label="节点" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 4" prop="hazopGuide" label="引导词" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 4" prop="hazopDeviation" label="偏差" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 4" prop="hazopPossibleCauses" label="可能原因" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 4" prop="hazopResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 5" prop="analogyCheckItem" label="检查项目" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 5" prop="analogyReference" label="类比参照" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 5" prop="analogyRiskFactor" label="存在风险因素" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 5" prop="analogyResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>
+ <el-table-column label="操作">
+ <template #default="scope">
+ <el-button size="small" v-if="evaluateState.currentEvalute.planExecStatus === 3 && evaluateState.currentEvalute.evaluateUsers?.find(i=>i.evaluateUserId== evaluateState.user)" text type="primary" :icon="Plus" @click="openEvaluateDialog('评价', scope.row)">评价</el-button>
+ <el-button size="small" v-if="scope.row.riskValue" text type="primary" :icon="View" @click="openEvaluateDialog('查看', scope.row)">查看</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-dialog>
+ <develop-dialog ref="DevelopDialogRef" @refresh="getEvaluateData"></develop-dialog>
+ <evaluate-dialog ref="evaluateDialogRef" @refresh="getDataAndClose"></evaluate-dialog>
</div>
</template>
@@ -126,16 +172,26 @@
import {evaluateApi} from "/@/api/analyse/evaluate";
import {identifyApi} from "/@/api/analyse/identify";
import {ElMessage, ElMessageBox} from "element-plus";
-import { Edit, View, Plus, Delete } from '@element-plus/icons-vue';
+import { Edit, View, Plus, Delete, DocumentChecked } from '@element-plus/icons-vue';
import {planApi} from "/@/api/analyse/plan";
import {userApi} from "/@/api/systemManage/user";
-
+import {useUserInfo} from "/@/stores/userInfo";
+import {storeToRefs} from "pinia";
+import {roomApi} from "/@/api/basic/room";
+import {projectApi} from "/@/api/experiment/project";
+const DevelopDialog = defineAsyncComponent(() => import('../../experiment/developing/components/developDialog.vue'));
const EvaluateDialog = defineAsyncComponent(() => import('./components/evaluateDialog.vue'));
const evaluateDialogRef = ref();
-
+const DevelopDialogRef = ref()
+const userInfo = useUserInfo();
+const { userInfos } = storeToRefs(userInfo);
const evaluateState = reactive<EvaluateStateType>({
evaluateData: [],
+ user: null,
+ currentEvalute:{},
+ allRoomList: [],
+ evaluateDialog: false,
searchQuery: {
pageIndex: 1,
pageSize: 10,
@@ -181,6 +237,52 @@
}
};
+const getRoomData = async () => {
+ let res = await roomApi().getAllRoom();
+ if(res.data.code === 100){
+ evaluateState.allRoomList = JSON.parse(JSON.stringify(res.data.data));
+ }else{
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+};
+
+const openProjectDialog = async (title: string, value: {}) => {
+ let res = await projectApi().getProjectByList({
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams: {
+ experimentName: '',
+ experimentType: null,
+ assessLevel: null,
+ experimentId: value.experimentId
+ }
+ },);
+ if(res.data.code === 100){
+ if(Array.isArray(res.data.data) && res.data.data.length>0){
+ DevelopDialogRef.value.showDevelopDialog(title, res.data.data[0], evaluateState.allRoomList);
+ }else{
+ ElMessage({
+ type: 'warning',
+ message: '查询不到实验信息'
+ });
+ }
+ }else{
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+
+};
+
+const getDataAndClose =()=>{
+ evaluateState.evaluateDialog = false
+ getEvaluateData()
+}
+
const getAllPlanList = async () => {
let res = await planApi().getAllPlan();
if(res.data.code === 100){
@@ -195,10 +297,13 @@
const getPersonList = async () => {
let res = await userApi().getUserList({
- roleId: 1,
- usePage: false,
pageIndex: 1,
- pageSize: 10
+ pageSize: 99999,
+ searchParams:{
+ roleId: null,
+ name: '',
+ realName: ''
+ }
});
if(res.data.code === 100){
evaluateState.personList = JSON.parse(JSON.stringify(res.data.data));
@@ -209,6 +314,11 @@
})
}
};
+
+const openEvaluate = (value: IdentifyType) => {
+ evaluateState.evaluateDialog = true
+ evaluateState.currentEvalute = value
+}
const openEvaluateDialog = (title: string, value: IdentifyType) => {
evaluateDialogRef.value.showEvaluateDialog(title, value);
@@ -241,7 +351,7 @@
};
const accessEvaluate = (val: IdentifyType) => {
- ElMessageBox.confirm(`此操作将提交该评价计划:“${val.assessPlanName}”,是否继续?`, '提示', {
+ ElMessageBox.confirm(`此操作将提交该评价计划:“${val.assessPlanName}”的评价信息,是否继续?`, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning'
@@ -291,6 +401,8 @@
getEvaluateData();
getAllPlanList();
getPersonList();
+ getRoomData()
+ evaluateState.user = Number(userInfos.value.uid)
});
</script>
@@ -361,64 +473,6 @@
margin-right: 20px;
}
}
- }
-}
-.stepItem {
- width: 100%;
- display: flex;
- align-items: flex-start;
- margin-bottom: 30px;
- margin-left: 30px;
- padding-bottom: 30px;
- border-left: 2px solid #ccc;
- &:first-of-type {
- margin-top: 30px;
- }
- &:last-of-type {
- margin-bottom: 0;
- border-left: none;
- }
- .stepNum {
- width: 30px;
- height: 30px;
- border-radius: 15px;
- box-sizing: border-box;
- color: #333;
- border: 1px solid #999;
- line-height: 28px;
- text-align: center;
- margin-right: 10px;
- margin-left: -16px;
- margin-top: -30px;
- }
- .stepCard {
- width: 100%;
- margin-top: -30px;
-
- .box-card {
- width: 100%;
- &:deep(.el-card__header) {
- padding: 10px 15px;
- }
- .card-header {
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-items: center;
- & > div:first-of-type {
- margin-right: 80px;
- font-size: 18px;
- font-weight: bold;
- }
- }
- }
- }
- &:hover .card-header {
- color: #0098f5;
- }
- &:hover .stepNum {
- border: 2px solid #0098f5;
- color: #0098f5;
}
}
--
Gitblit v1.9.2