| | |
| | | <!-- </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="scope2"> |
| | | <el-button size="small" v-if="scope.row.planExecStatus === 3" 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 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> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | </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> |
| | | |
| | |
| | | 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, |
| | |
| | | } |
| | | }; |
| | | |
| | | 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, |
| | | id: 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){ |
| | |
| | | |
| | | 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)); |
| | |
| | | }) |
| | | } |
| | | }; |
| | | |
| | | const openEvaluate = (value: IdentifyType) => { |
| | | evaluateState.evaluateDialog = true |
| | | evaluateState.currentEvalute = value |
| | | } |
| | | |
| | | const openEvaluateDialog = (title: string, value: IdentifyType) => { |
| | | evaluateDialogRef.value.showEvaluateDialog(title, value); |
| | |
| | | getEvaluateData(); |
| | | getAllPlanList(); |
| | | getPersonList(); |
| | | getRoomData() |
| | | evaluateState.user = Number(userInfos.value.uid) |
| | | }); |
| | | |
| | | </script> |
| | |
| | | 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; |
| | | } |
| | | } |
| | | |