From 0c0fa2483fd431104f6498e40fffd983d913dce2 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 25 四月 2023 17:11:09 +0800
Subject: [PATCH] 修改

---
 src/views/system/role/index.vue                              |   12 
 src/views/analyse/applyReview/components/reportDialog.vue    |    7 
 src/views/experiment/project/index.ts                        |   21 
 src/views/analyse/assessApply/index.vue                      |    2 
 src/views/experiment/project/components/selectEmergency.vue  |  181 ++++++++++
 src/views/analyse/evaluate/index.ts                          |    5 
 src/views/analyse/riskUnit/index.ts                          |    3 
 src/views/experiment/developing/index.vue                    |   14 
 src/views/basic/equipment/index.vue                          |    2 
 src/views/analyse/plan/components/planDialog.vue             |   36 +
 src/views/experiment/project/components/applyDialog.vue      |    4 
 src/views/analyse/plan/index.vue                             |    3 
 src/views/loginPage/loginPage.vue                            |    5 
 src/views/experiment/developing/components/developDialog.vue |  239 +++++++++----
 src/views/experiment/project/components/selectDanger.vue     |    6 
 src/views/experiment/project/index.vue                       |   46 ++
 src/views/analyse/identify/index.ts                          |    3 
 src/views/analyse/identify/components/identifyDialog.vue     |    8 
 src/views/analyse/identify/index.vue                         |   12 
 src/api/basic/unit/index.ts                                  |    9 
 src/views/analyse/evaluate/index.vue                         |  151 +++++--
 src/views/analyse/identify/components/identifyQuery.vue      |    1 
 src/assets/menu/company.png                                  |    0 
 src/views/analyse/assessApply/components/riskDialog.vue      |   58 ++
 src/views/analyse/assessApply/components/riskUnitDialog.vue  |   86 ++--
 src/views/experiment/project/components/projectDialog.vue    |  158 ++++----
 26 files changed, 763 insertions(+), 309 deletions(-)

diff --git a/src/api/basic/unit/index.ts b/src/api/basic/unit/index.ts
index 209f332..3b6f163 100644
--- a/src/api/basic/unit/index.ts
+++ b/src/api/basic/unit/index.ts
@@ -34,6 +34,15 @@
 			});
 		},
 
+		deleteRiskUnitById: (params: object) => {
+			return request({
+				url: import.meta.env.VITE_API_URL + '/risk/delete/deleteRiskUnit',
+				method: 'post',
+				data: params
+			});
+		},
+
+
 		getAllUnit: () => {
 			return request({
 				url: import.meta.env.VITE_API_URL + '/basic/select/listRiskUnit',
diff --git a/src/assets/menu/company.png b/src/assets/menu/company.png
index 46b0568..b8f34a2 100644
--- a/src/assets/menu/company.png
+++ b/src/assets/menu/company.png
Binary files differ
diff --git a/src/views/analyse/applyReview/components/reportDialog.vue b/src/views/analyse/applyReview/components/reportDialog.vue
index cd650e8..db66f52 100644
--- a/src/views/analyse/applyReview/components/reportDialog.vue
+++ b/src/views/analyse/applyReview/components/reportDialog.vue
@@ -178,7 +178,8 @@
                         <td class="w-25 m-color">{{item.approveStage}}</td>
                         <td class="w-25">{{item.approvePerson}}</td>
                         <td class="w-25 m-color">审批结果</td>
-                        <td class="w-25">{{item.approveStatus==1?'未审批':item.approveStatus==2?'通过':'未通过'}}</td>
+<!--                        <td class="w-25">{{item.approveStatus==1?'未审批':item.approveStatus==2?'通过':'未通过'}}</td>-->
+                        <td class="w-25" :class="item.approveStatus==3?'redTit':''">{{item.approveStatus==1?'未审批':item.approveStatus==2?'通过':'未通过'}}</td>
                       </tr>
                       <tr>
                         <td class="w-25 m-color autoheight">审批意见</td>
@@ -504,6 +505,10 @@
          width: 75%;
      }
 
+    &.redTit{
+      color: red;
+    }
+
     &.autoheight {
       min-height: 44px;
       height: auto;
diff --git a/src/views/analyse/assessApply/components/riskDialog.vue b/src/views/analyse/assessApply/components/riskDialog.vue
index bbe6901..acaf520 100644
--- a/src/views/analyse/assessApply/components/riskDialog.vue
+++ b/src/views/analyse/assessApply/components/riskDialog.vue
@@ -2,7 +2,7 @@
     <div class="system-menu-dialog-container">
         <el-dialog title="管理实验现实风险" v-model="assessApplyDialogState.assessApplyDialogVisible" width="60%">
           <div>
-            <el-button @click="addUnit()" type="primary" style="margin-bottom: 20px" size="default">增加风险分析单元</el-button>
+            <el-button @click="openUnitDialog('新增','', assessApplyDialogState.id, assessApplyDialogState.liabilityUserId)" type="primary" style="margin-bottom: 20px" size="default">增加风险分析单元</el-button>
           </div>
           <el-table ref="multipleTableRef" :data="assessApplyDialogState.riskUnitData" style="width: 100%" :header-cell-style="{ background: '#fafafa' }">
             <el-table-column prop="riskCode" label="风险单元编号"/>
@@ -15,12 +15,19 @@
             <el-table-column prop="riskUnitType" label="风险单元类型"/>
             <el-table-column prop="riskUnitType" label="负责人">
               <template #default="scope">
-                <span>{{`${assessApplyDialogState.allPersonList.find(item =>item.id === scope.row.liabilityUserId)?.personName || ''}`}}</span>
+                <span>{{`${assessApplyDialogState.allPersonList.find(item =>item.id === scope.row.liabilityUserId)?.realName || ''}`}}</span>
               </template>
             </el-table-column>
             <el-table-column prop="evaluateStatus" label="是否评价">
               <template #default="scope">
                 <span>{{scope.row.evaluateStatus == 1?'未评价':scope.row.evaluateStatus == 2?'已评价':'--'}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" width="150" align="center">
+              <template #default="scope">
+                <el-button size="default" text  type="primary" @click="openUnitDialog('查看', scope.row, assessApplyDialogState.id, assessApplyDialogState.liabilityUserId)">查看</el-button>
+                <el-button size="default" text  type="primary" @click="openUnitDialog('编辑', scope.row, assessApplyDialogState.id, assessApplyDialogState.liabilityUserId)">编辑</el-button>
+                <el-button size="default" text type="danger" @click="deleteUnit(scope.$index, scope.row)">删除</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -41,6 +48,9 @@
 import {personApi} from "/@/api/basic/person";
 import {riskUnitApi} from "/@/api/analyse/riskUnit";
 import {unitApi} from "/@/api/basic/unit";
+import {userApi} from "/@/api/systemManage/user";
+import {ElMessageBox} from "element-plus/es";
+import {identifyApi} from "/@/api/analyse/identify";
 const RiskUnitDialog = defineAsyncComponent(() => import('./riskUnitDialog.vue'));
 
 const assessApplyDialogState = reactive<AssessApplyDialogStateType>({
@@ -67,8 +77,8 @@
     getRiskData()
 };
 
-const addUnit = (id: number, value: RiskUnitType) => {
-  riskUnitDialogRef.value.showRiskUnitDialog(assessApplyDialogState.id, assessApplyDialogState.liabilityUserId, assessApplyDialogState.basicUnitList, assessApplyDialogState.allPersonList, assessApplyDialogState.allRiskTypeList);
+const openUnitDialog = (title: string, val, id: number, userId: number) => {
+  riskUnitDialogRef.value.showRiskUnitDialog(title, val, id, userId, assessApplyDialogState.basicUnitList, assessApplyDialogState.allPersonList, assessApplyDialogState.allRiskTypeList);
 };
 
 const getRiskData = async () => {
@@ -96,8 +106,16 @@
 };
 
 const getAllPersonList = async () => {
-  let res = await personApi().getAllPerson();
-  if(res.data.code === 100){
+  let res = await userApi().getUserList({
+    pageIndex: 1,
+    pageSize: 99999,
+    searchParams:{
+      roleId: null,
+      name: '',
+      realName: ''
+    }
+  });
+  if(res.data.code === 200){
     assessApplyDialogState.allPersonList = JSON.parse(JSON.stringify(res.data.data));
   }else{
     ElMessage({
@@ -119,6 +137,34 @@
   }
 }
 
+const deleteUnit = (index: number, val: IdentifyType) => {
+  ElMessageBox.confirm(`此操作将永久删除该风险单元,是否继续?`, '提示', {
+    confirmButtonText: '确认',
+    cancelButtonText: '取消',
+    type: 'warning'
+  })
+      .then(async () => {
+        let data = { id: val.id }
+        let res = await unitApi().deleteRiskUnitById(data);
+        if (res.data.code === 100) {
+          (<Array<IdentifyType>>assessApplyDialogState.riskUnitData).splice(index, 1)
+          ElMessage({
+            type: 'success',
+            duration: 2000,
+            message: '删除成功'
+          });
+        } else {
+          ElMessage({
+            type: 'warning',
+            message: res.data.msg
+          });
+        }
+      })
+      .catch((error) => {
+        console.log(error);
+      });
+};
+
 const emit = defineEmits(['refresh'])
 
 defineExpose({
diff --git a/src/views/analyse/assessApply/components/riskUnitDialog.vue b/src/views/analyse/assessApply/components/riskUnitDialog.vue
index fe72aae..851d50b 100644
--- a/src/views/analyse/assessApply/components/riskUnitDialog.vue
+++ b/src/views/analyse/assessApply/components/riskUnitDialog.vue
@@ -5,43 +5,43 @@
         <el-row :gutter="35">
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
             <el-form-item label="风险单元编号" prop="riskCode">
-              <el-input v-model="riskUnitDialogState.riskUnitForm.riskCode" placeholder="风险单元编号" clearable class="input-length"></el-input>
+              <el-input v-model="riskUnitDialogState.riskUnitForm.riskCode" :disabled="riskUnitDialogState.disabled" placeholder="风险单元编号" clearable class="input-length"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
             <el-form-item label="风险单元名称" prop="riskName">
-              <el-input v-model="riskUnitDialogState.riskUnitForm.riskName" placeholder="风险单元名称" clearable class="input-length"></el-input>
+              <el-input v-model="riskUnitDialogState.riskUnitForm.riskName" :disabled="riskUnitDialogState.disabled" placeholder="风险单元名称" clearable class="input-length"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
             <el-form-item label="风险单元类型" prop="riskUnitTypeId">
-              <el-select v-model="riskUnitDialogState.riskUnitForm.riskUnitTypeId" placeholder="风险单元类型" clearable class="input-length">
+              <el-select v-model="riskUnitDialogState.riskUnitForm.riskUnitTypeId" :disabled="riskUnitDialogState.disabled" placeholder="风险单元类型" clearable class="input-length">
                 <el-option v-for="item in riskUnitDialogState.riskTypeList" :key="item.id" :label="item.riskType" :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
             <el-form-item label="负责人" prop="liabilityUserId">
-              <el-select v-model="riskUnitDialogState.riskUnitForm.liabilityUserId" placeholder="负责人" clearable class="input-length">
-                <el-option v-for="item in riskUnitDialogState.allPersonList" :key="item.id" :label="item.personName" :value="item.id"></el-option>
+              <el-select v-model="riskUnitDialogState.riskUnitForm.liabilityUserId" :disabled="riskUnitDialogState.disabled" placeholder="负责人" clearable class="input-length">
+                <el-option v-for="item in riskUnitDialogState.allPersonList" :key="item.id" :label="item.realName" :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
             <el-form-item label="负责部门" prop="liabilityDep">
-              <el-input v-model="riskUnitDialogState.riskUnitForm.liabilityDep" placeholder="负责部门" clearable class="input-length"></el-input>
+              <el-input v-model="riskUnitDialogState.riskUnitForm.liabilityDep" :disabled="riskUnitDialogState.disabled" placeholder="负责部门" clearable class="input-length"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-if="riskUnitDialogState.experimentType === 1">
             <el-form-item label="基础风险单元" prop="basicRiskUnitId">
-              <el-select v-model="riskUnitDialogState.riskUnitForm.basicRiskUnitId" placeholder="基础风险单元" clearable class="input-length">
+              <el-select v-model="riskUnitDialogState.riskUnitForm.basicRiskUnitId" :disabled="riskUnitDialogState.disabled" placeholder="基础风险单元" clearable class="input-length">
                 <el-option v-for="item in riskUnitDialogState.basicUnitList" :key="item.id" :label="item.riskName" :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
             <el-form-item label="风险单元描述">
-              <el-input type="textarea" :rows="3" v-model="riskUnitDialogState.riskUnitForm.description" placeholder="风险单元描述" clearable class="input-length"></el-input>
+              <el-input type="textarea" :rows="3" v-model="riskUnitDialogState.riskUnitForm.description" :disabled="riskUnitDialogState.disabled" placeholder="风险单元描述" clearable class="input-length"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -49,7 +49,7 @@
       <template #footer>
 				<span class="dialog-footer">
 					<el-button @click="riskUnitDialogState.riskUnitDialogVisible = !riskUnitDialogState.riskUnitDialogVisible" size="default">取 消</el-button>
-					<el-button type="primary" @click="onSubmitRiskUnit" size="default">确定</el-button>
+					<el-button type="primary" @click="onSubmitRiskUnit" v-if="!riskUnitDialogState.disabled" size="default">确定</el-button>
 				</span>
       </template>
     </el-dialog>
@@ -65,10 +65,12 @@
 const riskUnitFormRef = ref()
 
 const riskUnitDialogState = reactive<RiskUnitDialogType>({
-  title: '新增',
+  title: '',
   experimentType: 2,
+  disabled: false,
   riskUnitDialogVisible: false,
   riskUnitForm: {
+    id: null,
     experimentId: null,
     riskCode: '',
     riskName: '',
@@ -101,49 +103,51 @@
   ],
 })
 
-const showRiskUnitDialog = (id: number, liabilityUserId: number, basicUnitList: UnitType [], allPersonList: AllPersonListType [], allRiskTypeList: RiskType []) => {
-
+const showRiskUnitDialog = (title: string, val, id: number, userId: number, basicUnitList: UnitType [], allPersonList: AllPersonListType [], allRiskTypeList: RiskType []) => {
   riskUnitDialogState.riskUnitDialogVisible = true;
   riskUnitDialogState.basicUnitList = basicUnitList
   riskUnitDialogState.allPersonList = allPersonList
   riskUnitDialogState.riskTypeList = allRiskTypeList
+  riskUnitDialogState.disabled = false
   setTimeout(() => {
     riskUnitFormRef.value.clearValidate();
   });
-  riskUnitDialogState.riskUnitForm = {
-    experimentId: id,
-    riskCode: '',
-    riskName: '',
-    riskUnitTypeId: null,
-    liabilityUserId: liabilityUserId,
-    liabilityDep: '',
-    description: '',
-    basicRiskUnitId: null,
-  };
+  if(title === '新增'){
+    riskUnitDialogState.title = '新增';
+    riskUnitDialogState.riskUnitForm = {
+      id: null,
+      experimentId: id,
+      riskCode: '',
+      riskName: '',
+      riskUnitTypeId: null,
+      liabilityUserId: userId,
+      liabilityDep: '',
+      description: '',
+      basicRiskUnitId: null,
+    };
+  }else if(title === '查看'){
+    riskUnitDialogState.title = '查看';
+    riskUnitDialogState.disabled = true
+    for(let i in riskUnitDialogState.riskUnitForm){
+      if(isValidKey(i, riskUnitDialogState.riskUnitForm)){
+        riskUnitDialogState.riskUnitForm[i] = val[i];
+      }
+    }
+  }else{
+    riskUnitDialogState.title = '编辑';
+    for(let i in riskUnitDialogState.riskUnitForm){
+      if(isValidKey(i, riskUnitDialogState.riskUnitForm)){
+        riskUnitDialogState.riskUnitForm[i] = val[i];
+      }
+    }
+  }
 };
 
 const onSubmitRiskUnit = () => {
   riskUnitFormRef.value.validate(async(valid: boolean) => {
     if(valid){
-      if(riskUnitDialogState.title === '新增' && riskUnitDialogState.experimentType === 1){
-        let { experimentId,basicRiskUnitId} = riskUnitDialogState.riskUnitForm
-        let query = { experimentId,basicRiskUnitId }
-        let res = await riskUnitApi().addBasicRiskUnit(query);
-        if(res.data.code === 100){
-          emit('refresh')
-          riskUnitDialogState.riskUnitDialogVisible = false;
-          ElMessage({
-            type: 'success',
-            message: '新增成功'
-          })
-        }else{
-          ElMessage({
-            type: 'warning',
-            message: res.data.msg,
-          });
-        }
-      }else if(riskUnitDialogState.title === '新增' && riskUnitDialogState.experimentType === 2){
-        let { basicRiskUnitId, ...query} = riskUnitDialogState.riskUnitForm
+      if(riskUnitDialogState.title === '新增'){
+        let { id, basicRiskUnitId, ...query} = riskUnitDialogState.riskUnitForm
         let res = await riskUnitApi().addRiskUnit(query);
         if(res.data.code === 100){
           emit('refresh')
diff --git a/src/views/analyse/assessApply/index.vue b/src/views/analyse/assessApply/index.vue
index d587bcd..ce41e3c 100644
--- a/src/views/analyse/assessApply/index.vue
+++ b/src/views/analyse/assessApply/index.vue
@@ -65,7 +65,7 @@
                         <el-table-column label="操作" width="250" fixed="right">
                             <template #default="scope">
                                 <el-button size="small" v-if="scope.row.stage == 3" text type="primary" :icon="Edit" @click="toReport(scope.row)">生成评估报告</el-button>
-                                <el-button size="small" text type="primary" :icon="Edit" @click="openRiskDialog(scope.row)">管理实验现实风险</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>
diff --git a/src/views/analyse/evaluate/index.ts b/src/views/analyse/evaluate/index.ts
index b536372..639fc39 100644
--- a/src/views/analyse/evaluate/index.ts
+++ b/src/views/analyse/evaluate/index.ts
@@ -1,5 +1,8 @@
 declare interface EvaluateStateType {
-	evaluateData: Array<EvaluateType>
+	evaluateData: Array<IdentifyType>
+	user: null| number
+	currentEvalute:{}
+	evaluateDialog:boolean
 	searchQuery: {
 		pageIndex: number,
 		pageSize: number,
diff --git a/src/views/analyse/evaluate/index.vue b/src/views/analyse/evaluate/index.vue
index 1733d96..07a11ac 100644
--- a/src/views/analyse/evaluate/index.vue
+++ b/src/views/analyse/evaluate/index.vue
@@ -25,47 +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="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>
@@ -75,6 +75,7 @@
                         </el-table-column>
                         <el-table-column prop="riskUnitName" label="风险单元" />
                         <el-table-column prop="identificationUser" 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>
@@ -108,7 +109,9 @@
                         </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" v-if="scope.row.planExecStatus===3 && scope.row.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.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>
@@ -118,7 +121,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.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>
+
+        <evaluate-dialog ref="evaluateDialogRef" @refresh="getDataAndClose"></evaluate-dialog>
     </div>
 </template>
 
@@ -127,16 +171,22 @@
 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";
 
 const EvaluateDialog = defineAsyncComponent(() => import('./components/evaluateDialog.vue'));
 
 const evaluateDialogRef = ref();
-
+const userInfo = useUserInfo();
+const { userInfos } = storeToRefs(userInfo);
 const evaluateState = reactive<EvaluateStateType>({
     evaluateData: [],
+    user: null,
+    currentEvalute:{},
+    evaluateDialog: false,
     searchQuery: {
         pageIndex: 1,
         pageSize: 10,
@@ -182,6 +232,11 @@
     }
 };
 
+const getDataAndClose =()=>{
+  evaluateState.evaluateDialog = false
+  getEvaluateData()
+}
+
 const getAllPlanList = async () => {
     let res = await planApi().getAllPlan();
     if(res.data.code === 100){
@@ -213,6 +268,11 @@
         })
     }
 };
+
+const openEvaluate = (value: IdentifyType) => {
+  evaluateState.evaluateDialog = true
+  evaluateState.currentEvalute  = value
+}
 
 const openEvaluateDialog = (title: string, value: IdentifyType) => {
     evaluateDialogRef.value.showEvaluateDialog(title, value);
@@ -295,6 +355,7 @@
     getEvaluateData();
     getAllPlanList();
     getPersonList();
+    evaluateState.user = Number(userInfos.value.uid)
 });
 
 </script>
diff --git a/src/views/analyse/identify/components/identifyDialog.vue b/src/views/analyse/identify/components/identifyDialog.vue
index 2fd7b26..a764ab6 100644
--- a/src/views/analyse/identify/components/identifyDialog.vue
+++ b/src/views/analyse/identify/components/identifyDialog.vue
@@ -438,7 +438,6 @@
         };
     }else if(title === '查看'){
         identifyDialogState.title = '查看';
-        console.log(value,'value')
         identifyDialogState.disabled = true
         for(let i in identifyDialogState.identifyForm){
             if(isValidKey(i, identifyDialogState.identifyForm)){
@@ -447,11 +446,6 @@
         }
     }else{
         identifyDialogState.title = '编辑';
-        // identifyDialogState.identifyForm.hazopId = identifyQueryForm.hazopId;
-        // identifyDialogState.identifyForm.jhaId = identifyQueryForm.jhaId;
-        // identifyDialogState.identifyForm.phaId = identifyQueryForm.phaId;
-        // identifyDialogState.identifyForm.sclId = identifyQueryForm.sclId;
-        // identifyDialogState.identifyForm.analogyId = identifyQueryForm.analogyId;
         for(let i in identifyDialogState.identifyForm){
               if(isValidKey(i, identifyDialogState.identifyForm)){
                   identifyDialogState.identifyForm[i] = value[i];
@@ -483,11 +477,9 @@
                     });
                 }
             }else{
-                console.log(identifyDialogState.identifyForm,'identifyDialogState.identifyForm')
                 let res = await identifyApi().modIdentify(identifyDialogState.identifyForm)
                 if(res.data.code === 100){
                     emit('refresh',2,identifyDialogState.identifyForm)
-
                     identifyDialogState.identifyDialogVisible = false;
                     ElMessage({
                         type: 'success',
diff --git a/src/views/analyse/identify/components/identifyQuery.vue b/src/views/analyse/identify/components/identifyQuery.vue
index 6c7100f..7aed26a 100644
--- a/src/views/analyse/identify/components/identifyQuery.vue
+++ b/src/views/analyse/identify/components/identifyQuery.vue
@@ -236,7 +236,6 @@
 };
 
 const onDelIdentifyQuery = (index: number, val: IdentifyType) => {
-  console.log(val,'val')
     ElMessageBox.confirm(`此操作将永久删除该辨识,是否继续?`, '提示', {
         confirmButtonText: '确认',
         cancelButtonText: '取消',
diff --git a/src/views/analyse/identify/index.ts b/src/views/analyse/identify/index.ts
index 713bb9b..66859ae 100644
--- a/src/views/analyse/identify/index.ts
+++ b/src/views/analyse/identify/index.ts
@@ -1,5 +1,6 @@
 declare interface IdentifyStateType {
 	identifyData: Array<IdentifyType>
+	user: null | number
 	searchQuery: {
 		pageIndex: number,
 		pageSize: number,
@@ -74,7 +75,7 @@
 	sclCheckResult: string,
 	planExecStatus?: number,
 	evaluateMethod?: number,
-	factorQueryDTOList?: IdentifyType [],
+	factorQueryDTOList?: EvaluateType [],
 	evaluateUser?: string,
 	result?: number | null,
 	identificationDesc: string
diff --git a/src/views/analyse/identify/index.vue b/src/views/analyse/identify/index.vue
index c0c2960..d5f3e03 100644
--- a/src/views/analyse/identify/index.vue
+++ b/src/views/analyse/identify/index.vue
@@ -34,6 +34,7 @@
                             </template>
                         </el-table-column>
                         <el-table-column prop="identificationUser" 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>
@@ -67,9 +68,9 @@
                         </el-table-column>
                         <el-table-column label="操作" width="250">
                             <template #default="scope">
-                                <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 2" @click="accessIdentify(scope.row)">提交</el-button>
+                                <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 2 && scope.row.identificationUserId == identifyState.user" @click="accessIdentify(scope.row)">提交</el-button>
                                 <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 3 || scope.row.planExecStatus === 4" :icon="View" @click="openIdentifyQuery('查看', scope.row)">查看</el-button>
-                                <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 2" :icon="Edit" @click="openIdentifyQuery('辨识', scope.row)">辨识</el-button>
+                                <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 2 && scope.row.identificationUserId == identifyState.user" :icon="Edit" @click="openIdentifyQuery('辨识', scope.row)">辨识</el-button>
 <!--                                <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 2" :icon="Edit" @click="openIdentifyQuery('编辑', scope.row)">编辑</el-button>-->
                             </template>
                         </el-table-column>
@@ -91,13 +92,17 @@
 import { Edit, View, Plus, Delete } 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";
 
 const IdentifyQueryDialog = defineAsyncComponent(() => import('./components/identifyQuery.vue'));
 
 const identifyQueryDialogRef = ref();
-
+const userInfo = useUserInfo();
+const { userInfos } = storeToRefs(userInfo);
 const identifyState = reactive<IdentifyStateType>({
     identifyData: [],
+    user: null,
     searchQuery: {
         pageIndex: 1,
         pageSize: 10,
@@ -261,6 +266,7 @@
     getIdentifyData();
     getAllPlanList();
     getPersonList();
+    identifyState.user = Number(userInfos.value.uid)
 });
 
 </script>
diff --git a/src/views/analyse/plan/components/planDialog.vue b/src/views/analyse/plan/components/planDialog.vue
index a8b570f..4eec5fc 100644
--- a/src/views/analyse/plan/components/planDialog.vue
+++ b/src/views/analyse/plan/components/planDialog.vue
@@ -16,24 +16,25 @@
                         </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                      <el-form-item label="评估时间" prop="assessTime">
+                        <el-date-picker
+                            :disabled="planDialogState.disabled"
+                            type="datetimerange"
+                            v-model="planDialogState.planForm.assessTime"
+                            start-placeholder="开始时间"
+                            end-placeholder="结束时间"
+                            format="YYYY-MM-DD HH:mm:ss"
+                            value-format="YYYY-MM-DD HH:mm:ss"
+                            popper-class="pickTime"
+                            @change="formatTime">
+                        </el-date-picker>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                         <el-form-item label="计划制定人" prop="planUserId">
                             <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.planUserId" style="width:100%"  placeholder="计划制定人" clearable>
                                 <el-option v-for="item in planDialogState.personList" :key="item.id" :label="item.realName" :value="item.id"></el-option>
                             </el-select>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-                        <el-form-item label="评估时间" prop="assessTime">
-                            <el-date-picker
-                                :disabled="planDialogState.disabled"
-                                type="datetimerange"
-                                v-model="planDialogState.planForm.assessTime"
-                                start-placeholder="开始时间"
-                                end-placeholder="结束时间"
-                                format="YYYY-MM-DD HH:mm:ss"
-                                value-format="YYYY-MM-DD HH:mm:ss"
-                                @change="formatTime">
-                            </el-date-picker>
                         </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
@@ -197,6 +198,9 @@
 })
 </script>
 
-<style scoped>
-
+<style lang="scss" scoped>
+    ::v-deep(.pickTime){
+      position: absolute !important;
+      top: 0 !important;
+    }
 </style>
diff --git a/src/views/analyse/plan/index.vue b/src/views/analyse/plan/index.vue
index 90fb145..b6208ab 100644
--- a/src/views/analyse/plan/index.vue
+++ b/src/views/analyse/plan/index.vue
@@ -123,7 +123,6 @@
 
 
 const PlanDialog = defineAsyncComponent(() => import('./components/planDialog.vue'));
-
 const planDialogRef = ref();
 const userInfo = useUserInfo();
 const { userInfos } = storeToRefs(userInfo);
@@ -409,7 +408,7 @@
     getPlanData();
     getAllRiskUnitList();
     getPersonList();
-    planState.user = userInfos.value.uid
+    planState.user = Number(userInfos.value.uid)
 })
 
 </script>
diff --git a/src/views/analyse/riskUnit/index.ts b/src/views/analyse/riskUnit/index.ts
index eba58ba..b1dde19 100644
--- a/src/views/analyse/riskUnit/index.ts
+++ b/src/views/analyse/riskUnit/index.ts
@@ -40,10 +40,11 @@
 
 declare interface RiskUnitDialogType {
 	title: string,
+	disabled: boolean
 	experimentType: number | null,
 	riskUnitDialogVisible: boolean,
 	riskUnitForm: {
-		id?: number
+		id?: number | null
 		experimentId: number | null,
 		riskCode: string,
 		riskName: string,
diff --git a/src/views/basic/equipment/index.vue b/src/views/basic/equipment/index.vue
index f0c84a2..0ffc56a 100644
--- a/src/views/basic/equipment/index.vue
+++ b/src/views/basic/equipment/index.vue
@@ -132,7 +132,7 @@
     let res = await equipmentApi().getEquipmentByList(equipmentState.searchQuery);
     if(res.data.code === 100){
         equipmentState.equipmentData = res.data.data;
-        equipmentState.total = res.data.total;
+        equipmentState.total = res.data.total
     }else{
         ElMessage({
             type: 'warning',
diff --git a/src/views/experiment/developing/components/developDialog.vue b/src/views/experiment/developing/components/developDialog.vue
index f6704e9..7edbbe1 100644
--- a/src/views/experiment/developing/components/developDialog.vue
+++ b/src/views/experiment/developing/components/developDialog.vue
@@ -15,7 +15,7 @@
                     <tr>
                         <td class="w-25 m-color required">实验类型</td>
                         <td class="w-75 m-color">
-
+                          <el-form-item prop="experimentType" style="display: flex;justify-content: center">
                             <el-radio-group style="text-align: center" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.experimentType">
                                 <el-radio :label="1">化学类</el-radio>
                                 <el-radio :label="2">生物类</el-radio>
@@ -24,27 +24,32 @@
                                 <el-radio :label="5">特种设备类</el-radio>
                                 <el-radio :label="6">其他类</el-radio>
                             </el-radio-group>
-
-
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                         <td class="w-25 m-color required">部门</td>
                         <td class="w-75 m-color">
+                          <el-form-item prop="dep">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" />
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                       <td class="w-25 m-color required">负责人</td>
                       <td class="w-25 m-color">
+                        <el-form-item prop="liabilityUserId">
                         <el-select style="width: 100%" disabled v-model="projectDialogState.projectForm.liabilityUserId" clearable filterable>
                           <el-option :key="userInfos.uid" :value="userInfos.uid" :label="userInfos.userName"></el-option>
                         </el-select>
+                        </el-form-item>
                         <!--                        <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.liabilityUserId"/>-->
                       </td>
                       <td class="w-25 m-color required">电话</td>
                       <td class="w-25 m-color">
+                        <el-form-item prop="liabilityUserPhone">
                         <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.liabilityUserPhone" />
+                        </el-form-item>
                       </td>
                     </tr>
                     <tr>
@@ -58,34 +63,46 @@
 <!--                              :label="item.personName"-->
 <!--                          ></el-option>-->
 <!--                        </el-select>-->
-                        <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeLiabilityUser"/>
+                        <el-form-item prop="safeLiabilityUser">
+                          <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeLiabilityUser"/>
+                        </el-form-item>
                       </td>
                       <td class="w-25 m-color required">电话</td>
                       <td class="w-25 m-color">
-                        <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeLiabilityUserPhone" />
+                        <el-form-item prop="safeLiabilityUserPhone">
+                          <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeLiabilityUserPhone" />
+                        </el-form-item>
                       </td>
                     </tr>
                     <tr>
                       <td class="w-25 m-color required">立项时间</td>
                       <td class="w-25 m-color">
-                        <el-date-picker :disabled="projectDialogState.disabled"  type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="projectDialogState.projectForm.createExperimentTime" />
+                        <el-form-item prop="createExperimentTime">
+                          <el-date-picker :disabled="projectDialogState.disabled"  type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="projectDialogState.projectForm.createExperimentTime" />
+                        </el-form-item>
                       </td>
                       <td class="w-25 m-color required">开展时间</td>
                       <td class="w-25 m-color">
+                        <el-form-item prop="startTime">
                           <el-date-picker :disabled="projectDialogState.disabled"  type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="projectDialogState.projectForm.startTime" />
+                        </el-form-item>
                       </td>
                     </tr>
                     <tr>
                       <td class="w-25 m-color required">是否是安全化信息系统</td>
                       <td class="w-25 m-color">
+                        <el-form-item prop="sisStatus">
                         <el-radio-group :disabled="projectDialogState.disabled"  v-model="projectDialogState.projectForm.sisStatus" @change="hasSafeSystem">
                           <el-radio :label="1">是</el-radio>
                           <el-radio :label="2">否</el-radio>
                         </el-radio-group>
+                        </el-form-item>
                       </td>
-                      <td class="w-25 m-color" :class="projectDialogState.projectForm.sisStatus==1?'required':''">安全信息化系统</td>
-                      <td class="w-25 m-color">
-                        <el-input :disabled="projectDialogState.disabled" :readonly="projectDialogState.projectForm.sisStatus!==1" v-model="projectDialogState.projectForm.safeInformationSystem" />
+                      <td class="w-25 m-color" v-if="projectDialogState.projectForm.sisStatus == 1" :class="projectDialogState.projectForm.sisStatus==1?'required':''">安全信息化系统</td>
+                      <td class="w-25 m-color" v-if="projectDialogState.projectForm.sisStatus == 1">
+                        <el-form-item prop="safeInformationSystem">
+                        <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeInformationSystem" />
+                        </el-form-item>
                       </td>
                     </tr>
                     <select-room ref="selectRoomRef" v-model:disabled="projectDialogState.disabled" v-model:data="projectDialogState.projectForm.siteList"></select-room>
@@ -94,119 +111,154 @@
                     <tr>
                         <td class="w-25 m-color required">实验步骤</td>
                         <td class="w-75 m-color">
+                          <el-form-item prop="experimentStep">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.experimentStep" placeholder="请输入实验步骤" />
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                         <td class="w-25 m-color required">操作方法</td>
                         <td class="w-75 m-color">
+                          <el-form-item prop="experimentMethod">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.experimentMethod" placeholder="请输入操作方法" />
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                         <td class="w-25 m-color required">工艺过程</td>
                         <td class="w-75 m-color">
+                          <el-form-item prop="process">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.process" placeholder="请输入工艺过程" />
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                         <td class="w-25 m-color required">特殊/关键过程</td>
                         <td class="w-75 m-color">
+                          <el-form-item prop="keyProcess">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.keyProcess" placeholder="请输入特殊/关键过程" />
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                       <td class="w-25 m-color required">预防措施</td>
                       <td class="w-75 m-color">
-                        <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.measure" placeholder="请输入预防措施" />
+                        <el-form-item prop="measure">
+                          <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.measure" placeholder="请输入预防措施" />
+                        </el-form-item>
                       </td>
                     </tr>
                     <tr>
                         <td class="w-25 m-color required">是否存在过夜、老化实验</td>
                         <td class="w-25 m-color">
+                          <el-form-item prop="timeout">
                             <el-radio-group :disabled="projectDialogState.disabled"  v-model="projectDialogState.projectForm.timeout">
                                 <el-radio :label="1">存在</el-radio>
                                 <el-radio :label="2">不存在</el-radio>
                             </el-radio-group>
+                          </el-form-item>
                         </td>
-                        <td class="w-25 m-color required">过夜、老化保障措施</td>
-                        <td class="w-25 m-color">
+                        <td class="w-25 m-color required" v-if="projectDialogState.projectForm.timeout === 1">过夜、老化保障措施</td>
+                        <td class="w-25 m-color" v-if="projectDialogState.projectForm.timeout === 1">
+                          <el-form-item prop="timeoutManager">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.timeoutManager" />
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                         <td class="w-25 m-color required">是否在封闭条件下</td>
                         <td class="w-25 m-color">
+                          <el-form-item prop="closed">
                             <el-radio-group :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.closed">
                                 <el-radio :label="1">存在</el-radio>
                                 <el-radio :label="2">不存在</el-radio>
                             </el-radio-group>
+                          </el-form-item>
                         </td>
-                        <td class="w-25 m-color required">封闭条件保障措施</td>
-                        <td class="w-25 m-color">
+                        <td class="w-25 m-color required" v-if="projectDialogState.projectForm.closed === 1">封闭条件保障措施</td>
+                        <td class="w-25 m-color" v-if="projectDialogState.projectForm.closed === 1">
+                          <el-form-item prop="unclosedManager">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.unclosedManager" />
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                         <td class="w-25 m-color required">实验场所防爆措施条件和设施情况</td>
                         <td class="w-75 m-color">
+                          <el-form-item prop="explosionProof">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.explosionProof" placeholder="请输入" />
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                         <td class="w-25 m-color required">实验场所防火措施条件和设施情况</td>
                         <td class="w-75 m-color">
+                          <el-form-item prop="fireProof">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.fireProof" placeholder="请输入" />
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                         <td class="w-25 m-color required">实验场所防中毒措施条件和设施情况</td>
                         <td class="w-75 m-color">
+                          <el-form-item prop="poisonProof">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.poisonProof" placeholder="请输入" />
+                          </el-form-item>
                         </td>
                     </tr>
 
 
                     <select-danger ref="selectDangerRef" v-model:data="projectDialogState.projectForm.hazardousWasteList" v-model:disabled="projectDialogState.disabled"></select-danger>
                     <select-person ref="selectPersonRef" v-model:data="projectDialogState.projectForm.persons" v-model:disabled="projectDialogState.disabled"></select-person>
+<!--                    <tr class="m-color b-font" style="text-align: center">应急预案/应急演练</tr>-->
+<!--                    <tr>-->
+<!--                        <td class="w-25 m-color required">有无预案</td>-->
+<!--                        <td class="w-25 m-color required">预案名称</td>-->
+<!--                        <td class="w-25 m-color required">是否演练</td>-->
+<!--                        <td class="w-25 m-color required">演练情况</td>-->
+<!--                    </tr>-->
+<!--                    <tr>-->
+<!--                        <td class="w-25 m-color">-->
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyPlan" />-->
+<!--                        </td>-->
+<!--                        <td class="w-25 m-color">-->
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyPlanName" />-->
+<!--                        </td>-->
+<!--                        <td class="w-25 m-color">-->
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyDrillStatus" />-->
+<!--                        </td>-->
+<!--                        <td class="w-25 m-color">-->
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyDrill" />-->
+<!--                        </td>-->
+<!--                    </tr>-->
+                    <select-emergency ref="selectEmergencyRef" v-model:disabled="projectDialogState.disabled" v-model:data="projectDialogState.projectForm.emergencyList"></select-emergency>
                     <tr>
-                        <td class="w-25 m-color required">安全管理制度</td>
-                        <td class="w-75 m-color">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeManagerMethod" placeholder="请输入" />
-                        </td>
-                    </tr>
-                    <tr class="m-color b-font" style="text-align: center">应急预案/应急演练</tr>
-                    <tr>
-                        <td class="w-25 m-color required">有无预案</td>
-                        <td class="w-25 m-color required">预案名称</td>
-                        <td class="w-25 m-color required">是否演练</td>
-                        <td class="w-25 m-color required">演练情况</td>
-                    </tr>
-                    <tr>
-                        <td class="w-25 m-color">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyPlan" />
-                        </td>
-                        <td class="w-25 m-color">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyPlanName" />
-                        </td>
-                        <td class="w-25 m-color">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyDrillStatus" />
-                        </td>
-                        <td class="w-25 m-color">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyDrill" />
-                        </td>
+                      <td class="w-25 m-color required">安全管理制度</td>
+                      <td class="w-75 m-color">
+                        <el-form-item prop="safeManagerMethod">
+                        <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeManagerMethod" placeholder="请输入" />
+                        </el-form-item>
+                      </td>
                     </tr>
                     <tr class="m-color b-font" style="  text-align: center">其他信息</tr>
                     <tr>
                         <td class="w-25 m-color required">实验场所是否需要分区隔断</td>
                         <td class="w-75 m-color">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.partitionCondition" placeholder="请输入" />
+                          <el-form-item prop="partitionCondition">
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.partitionCondition" placeholder="请输入" />-->
+                          <el-radio-group :disabled="projectDialogState.disabled"  v-model="projectDialogState.projectForm.partitionCondition">
+                            <el-radio :label="0">是</el-radio>
+                            <el-radio :label="1">否</el-radio>
+                          </el-radio-group>
+                          </el-form-item>
                         </td>
                     </tr>
                     <tr>
                         <td class="w-25 m-color">其它基础信息(详细描述)</td>
                         <td class="w-75 m-color">
+                          <el-form-item>
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.note" placeholder="请输入" />
+                          </el-form-item>
                         </td>
                     </tr>
                 </table>
@@ -227,21 +279,23 @@
 import {projectApi} from "/@/api/experiment/project";
 import {personApi} from "/@/api/basic/person";
 import {userApi} from "/@/api/systemManage/user";
-import SelectRoom from "/@/views/experiment/project/components/selectRoom.vue";
+
 import {useUserInfo} from "/@/stores/userInfo";
 import {storeToRefs} from "pinia";
 import {checkChineseName, verifyPhone} from "/@/utils/toolsValidate";
 const SelectEquipment = defineAsyncComponent(() => import('../../project/components/selectEquipment.vue'))
 const SelectMaterial = defineAsyncComponent(() => import('../../project/components/selectMaterial.vue'))
 const SelectDanger = defineAsyncComponent(() => import('../../project/components/selectDanger.vue'))
+const SelectEmergency = defineAsyncComponent(() => import('../../project/components/selectEmergency.vue'))
 const SelectPerson = defineAsyncComponent(() => import('../../project/components/selectPerson.vue'))
+const SelectRoom = defineAsyncComponent(() => import('../../project/components/selectRoom.vue'))
 const ProjectFormRef = ref()
 const selectPersonRef = ref()
 const selectEquipmentRef = ref()
 const selectRoomRef = ref()
 const selectMaterialRef = ref()
 const selectDangerRef = ref()
-
+const selectEmergencyRef = ref()
 const userInfo = useUserInfo();
 const { userInfos } = storeToRefs(userInfo);
 
@@ -272,13 +326,9 @@
         explosionProof: "",
         fireProof: "",
         poisonProof: "",
-        hazardousWaste: null,
         safeManagerMethod: "",
-        emergencyPlan: "",
-        emergencyDrill: "",
-        emergencyPlanName: "",
-        emergencyDrillStatus: "",
-        partitionCondition: "",
+        emergencyList: [],
+        partitionCondition: null,
         note: "",
         createExperimentTime: '',
         startTime: '',
@@ -293,10 +343,32 @@
         ]
     },
     projectFormRules: {
-        experimentName: [{ required: true, message: '请填写设备编号', trigger: 'blur' }],
-        deviceName: [{ required: true, message: '请填写设备名称', trigger: 'blur' }],
-        devicePower: [{ required: true, message: '请填写设备功率', trigger: 'blur' }],
-        deviceUnit: [{ required: true, message: '请选择计量单位', trigger: 'change' }]
+      experimentName: [{ required: true, message: '', trigger: 'blur' }],
+      experimentType: [{ required: true, message: '', trigger: 'blur' }],
+      liabilityUserId: [{ required: true, message: '', trigger: 'blur' }],
+      liabilityUserPhone: [{ required: true, message: '', trigger: 'blur' }],
+      safeLiabilityUser: [{ required: true, message: '', trigger: 'blur' }],
+      safeLiabilityUserPhone: [{ required: true, message: '', trigger: 'blur' }],
+      sisStatus: [{ required: true, message: '', trigger: 'blur' }],
+      safeInformationSystem: [{ required: true, message: '', trigger: 'blur' }],
+      dep: [{ required: true, message: '', trigger: 'blur' }],
+      experimentStep: [{ required: true, message: '', trigger: 'blur' }],
+      experimentMethod: [{ required: true, message: '', trigger: 'blur' }],
+      process: [{ required: true, message: '', trigger: 'blur' }],
+      keyProcess: [{ required: true, message: '', trigger: 'blur' }],
+      measure: [{ required: true, message: '', trigger: 'blur' }],
+      timeout: [{ required: true, message: '', trigger: 'blur' }],
+      timeoutManager: [{ required: true, message: '', trigger: 'blur' }],
+      closed: [{ required: true, message: '', trigger: 'blur' }],
+      unclosedManager: [{ required: true, message: '', trigger: 'blur' }],
+      explosionProof: [{ required: true, message: '', trigger: 'blur' }],
+      fireProof: [{ required: true, message: '', trigger: 'blur' }],
+      poisonProof: [{ required: true, message: '', trigger: 'blur' }],
+      safeManagerMethod: [{ required: true, message: '', trigger: 'blur' }],
+      emergencyList: [{ required: true, message: '', trigger: 'blur' }],
+      partitionCondition: [{ required: true, message: '', trigger: 'blur' }],
+      createExperimentTime: [{ required: true, message: '', trigger: 'blur' }],
+      startTime: [{ required: true, message: '', trigger: 'blur' }]
     },
     allPersonList: [],
     allRoomList: [],
@@ -335,25 +407,17 @@
             explosionProof: "",
             fireProof: "",
             poisonProof: "",
-            hazardousWaste: 1,
             safeManagerMethod: "",
-            emergencyPlan: "",
-            emergencyDrill: "",
-            emergencyPlanName: "",
-            emergencyDrillStatus: "",
-            partitionCondition: "",
+            emergencyList: [],
+            partitionCondition: null,
             note: "",
             createExperimentTime: '',
             startTime: '',
-            persons: [
-            ],
+            persons: [],
             siteList: [],
-            deviceList: [
-            ],
-            stuffList: [
-            ],
-            hazardousWasteList: [
-            ]
+            deviceList: [],
+            stuffList: [],
+            hazardousWasteList: []
         };
     }else if(title === '整改'){
       projectDialogState.title = '整改';
@@ -397,6 +461,30 @@
 const onSubmitProject = () => {
     ProjectFormRef.value.validate(async(valid: boolean) => {
         if(valid){
+            if(projectDialogState.projectForm.timeout == 2){
+              projectDialogState.projectForm.timeoutManager = ''
+            }else{
+              if(projectDialogState.projectForm.timeoutManager == ''){
+                ElMessage({
+                  type: 'warning',
+                  message: '请填写过夜、老化保障措施',
+                  duration: 1000
+                });
+                return
+              }
+            }
+            if(projectDialogState.projectForm.closed == 2){
+              projectDialogState.projectForm.unclosedManager = ""
+            }else{
+              if(projectDialogState.projectForm.unclosedManager == ''){
+                ElMessage({
+                  type: 'warning',
+                  message: '请填写封闭条件保障措施',
+                  duration: 1000
+                });
+                return
+              }
+            }
             if(projectDialogState.title === '新增'){
                 if(checkChineseName(projectDialogState.projectForm.safeLiabilityUser) == false){
                   ElMessage({
@@ -438,14 +526,6 @@
                   });
                   return
                 }
-                if(projectDialogState.projectForm.hazardousWasteList.length === 0){
-                  ElMessage({
-                    type: 'warning',
-                    message: '请选择添加危废数据',
-                    duration: 1000
-                  });
-                  return
-                }
                 if(projectDialogState.projectForm.persons.length === 0){
                   ElMessage({
                     type: 'warning',
@@ -454,6 +534,7 @@
                   });
                   return
                 }
+                projectDialogState.projectForm.emergencyList = selectEmergencyRef.value.dataList
                 projectDialogState.projectForm.persons = selectPersonRef.value.dataList
                 projectDialogState.projectForm.hazardousWasteList = selectDangerRef.value.dataList
                 projectDialogState.projectForm.siteList = selectRoomRef.value.dataList.map(({siteId}) => ({siteId}))
@@ -646,7 +727,15 @@
 .m-color {
     color: #0c4995;
 }
-
+::v-deep(.el-form-item){
+  height: 100%;
+  display: flex;
+  justify-content: center;
+  .el-form-item__content{
+    display: flex;
+    justify-content: center;
+  }
+}
 .roomSelect{
   ::v-deep(.el-popper){
     .el-select-dropdown__item{
diff --git a/src/views/experiment/developing/index.vue b/src/views/experiment/developing/index.vue
index 8ee6f9d..d9744bb 100644
--- a/src/views/experiment/developing/index.vue
+++ b/src/views/experiment/developing/index.vue
@@ -82,6 +82,7 @@
                         <el-table-column label="操作" width="250" fixed="right">
                             <template #default="scope">
                                 <el-button size="small" text type="primary" :icon="View" @click="openProjectDialog('查看', scope.row)">查看</el-button>
+                                <el-button size="small" text type="primary" :icon="View" v-if="scope.row.stage == 4" @click="openReportDialog('查看',scope.row)">查看评估报告</el-button>
                                 <el-button size="small" :disabled="scope.row.status == 2 ? true : false" text type="primary" :icon="Edit" @click="applyAccess( scope.row)">申请评估</el-button>
                                 <el-button size="small" :disabled="(scope.row.status == 2 && scope.row.stage == 1) ? false : true" text type="warning" :icon="RefreshLeft" @click="cancelAccess( scope.row)">撤销评估</el-button>
                                 <el-button size="small" type="warning" v-if="scope.row.rectifyStatus == 1" text :icon="Edit" @click="openProjectDialog('整改', scope.row)">整改</el-button>
@@ -97,6 +98,7 @@
         <develop-dialog ref="DevelopDialogRef" @refresh="getdevelopData"></develop-dialog>
 <!--        <apply-start ref="ApplyStartRef"></apply-start>-->
         <test ref="ApplyStartRef" @refresh="getdevelopData"></test>
+        <report-dialog ref="ReportDialogRef"></report-dialog>
     </div>
 </template>
 
@@ -106,13 +108,13 @@
 import {ElMessage, ElMessageBox} from "element-plus";
 import { View,Edit, Plus, RefreshLeft } from '@element-plus/icons-vue';
 import {roomApi} from "/@/api/basic/room";
-
+const ReportDialog = defineAsyncComponent(() => import('../../analyse/assessApply/components/reportDialog.vue'));
 const DevelopDialog = defineAsyncComponent(() => import('./components/developDialog.vue'));
 const Test = defineAsyncComponent(() => import('./components/applyDialog.vue'))
 
-const DevelopDialogRef = ref();
-const ApplyStartRef = ref();
-
+const DevelopDialogRef = ref()
+const ApplyStartRef = ref()
+const ReportDialogRef = ref()
 const developState = reactive<ProjectStateType>({
     developData: [],
     searchQuery: {
@@ -152,6 +154,10 @@
     DevelopDialogRef.value.showDevelopDialog(title, value, developState.allRoomList);
 };
 
+const openReportDialog = (title: string,value: ProjectType) =>{
+  ReportDialogRef.value.showReportDialog(title, value, developState.allRoomList);
+}
+
 const applyAccess = (val: ProjectType) => {
     ElMessageBox.confirm(`此操作将申请评估该实验:“${val.experimentName}”,是否继续?`, '提示', {
         confirmButtonText: '确认',
diff --git a/src/views/experiment/project/components/applyDialog.vue b/src/views/experiment/project/components/applyDialog.vue
index 9317925..f77bc86 100644
--- a/src/views/experiment/project/components/applyDialog.vue
+++ b/src/views/experiment/project/components/applyDialog.vue
@@ -17,7 +17,7 @@
                         </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-if="applyStartDialogState.applyStartForm.sisStatus==1">
-                        <el-form-item label="安全信息化系统" prop="safeInformationSystem">
+                        <el-form-item label="安全信息化系统名称" prop="safeInformationSystem">
                             <el-input v-model="applyStartDialogState.applyStartForm.safeInformationSystem" placeholder="材料类型" class="input-length">
                             </el-input>
                         </el-form-item>
@@ -42,7 +42,7 @@
 const applyStartFormRef = ref()
 
 const applyStartDialogState = reactive<ApplyStartDialogType>({
-    title: '申请开展',
+    title: '转为已开展',
     applyStartDialogVisible: false,
     applyStartForm: {
         id: null,
diff --git a/src/views/experiment/project/components/projectDialog.vue b/src/views/experiment/project/components/projectDialog.vue
index 9e234fc..e9fa759 100644
--- a/src/views/experiment/project/components/projectDialog.vue
+++ b/src/views/experiment/project/components/projectDialog.vue
@@ -133,8 +133,8 @@
                             </el-radio-group>
                           </el-form-item>
                         </td>
-                        <td class="w-25 m-color required">过夜、老化保障措施</td>
-                        <td class="w-25 m-color">
+                        <td class="w-25 m-color required" v-if="projectDialogState.projectForm.timeout === 1">过夜、老化保障措施</td>
+                        <td class="w-25 m-color" v-if="projectDialogState.projectForm.timeout === 1">
                           <el-form-item prop="timeoutManager">
                             <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.timeoutManager" />
                           </el-form-item>
@@ -150,10 +150,10 @@
                             </el-radio-group>
                           </el-form-item>
                         </td>
-                        <td class="w-25 m-color required">封闭条件保障措施</td>
-                        <td class="w-25 m-color">
+                        <td class="w-25 m-color required" v-if="projectDialogState.projectForm.closed === 1">封闭条件保障措施</td>
+                        <td class="w-25 m-color" v-if="projectDialogState.projectForm.closed === 1">
                           <el-form-item prop="unclosedManager">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.unclosedManager" />
+                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.unclosedManager"/>
                           </el-form-item>
                         </td>
                     </tr>
@@ -200,49 +200,54 @@
 <!--                            <el-input v-model="projectDialogState.projectForm.systemName" placeholder="请输入" />-->
 <!--                        </td>-->
 <!--                    </tr>-->
+<!--                    <tr class="m-color b-font" style="text-align: center">应急预案/应急演练</tr>-->
+<!--                    <tr>-->
+<!--                        <td class="w-25 m-color required">有无预案</td>-->
+<!--                        <td class="w-25 m-color required">预案名称</td>-->
+<!--                        <td class="w-25 m-color required">是否演练</td>-->
+<!--                        <td class="w-25 m-color required">演练情况</td>-->
+<!--                    </tr>-->
+<!--                    <tr>-->
+<!--                        <td class="w-25 m-color">-->
+<!--                          <el-form-item prop="emergencyPlan">-->
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyPlan" />-->
+<!--                          </el-form-item>-->
+<!--                        </td>-->
+<!--                        <td class="w-25 m-color">-->
+<!--                          <el-form-item prop="emergencyPlanName">-->
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyPlanName" />-->
+<!--                          </el-form-item>-->
+<!--                        </td>-->
+<!--                        <td class="w-25 m-color">-->
+<!--                          <el-form-item prop="emergencyDrillStatus">-->
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyDrillStatus" />-->
+<!--                          </el-form-item>-->
+<!--                        </td>-->
+<!--                        <td class="w-25 m-color">-->
+<!--                          <el-form-item prop="emergencyDrill">-->
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyDrill" />-->
+<!--                          </el-form-item>-->
+<!--                        </td>-->
+<!--                    </tr>-->
+                    <select-emergency ref="selectEmergencyRef" v-model:disabled="projectDialogState.disabled" v-model:data="projectDialogState.projectForm.emergencyList"></select-emergency>
                     <tr>
-                        <td class="w-25 m-color required">安全管理制度</td>
-                        <td class="w-75 m-color">
-                          <el-form-item prop="safeManagerMethod">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeManagerMethod" placeholder="请输入" />
-                          </el-form-item>
-                        </td>
-                    </tr>
-                    <tr class="m-color b-font" style="text-align: center">应急预案/应急演练</tr>
-                    <tr>
-                        <td class="w-25 m-color required">有无预案</td>
-                        <td class="w-25 m-color required">预案名称</td>
-                        <td class="w-25 m-color required">是否演练</td>
-                        <td class="w-25 m-color required">演练情况</td>
-                    </tr>
-                    <tr>
-                        <td class="w-25 m-color">
-                          <el-form-item prop="emergencyPlan">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyPlan" />
-                          </el-form-item>
-                        </td>
-                        <td class="w-25 m-color">
-                          <el-form-item prop="emergencyPlanName">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyPlanName" />
-                          </el-form-item>
-                        </td>
-                        <td class="w-25 m-color">
-                          <el-form-item prop="emergencyDrillStatus">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyDrillStatus" />
-                          </el-form-item>
-                        </td>
-                        <td class="w-25 m-color">
-                          <el-form-item prop="emergencyDrill">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.emergencyDrill" />
-                          </el-form-item>
-                        </td>
+                      <td class="w-25 m-color required">安全管理制度</td>
+                      <td class="w-75 m-color">
+                        <el-form-item prop="safeManagerMethod">
+                          <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeManagerMethod" placeholder="请输入" />
+                        </el-form-item>
+                      </td>
                     </tr>
                     <tr class="m-color b-font" style="  text-align: center">其他信息</tr>
                     <tr>
                         <td class="w-25 m-color required">实验场所是否需要分区隔断</td>
                         <td class="w-75 m-color">
                           <el-form-item prop="partitionCondition">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.partitionCondition" placeholder="请输入" />
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.partitionCondition" placeholder="请输入" />-->
+                            <el-radio-group :disabled="projectDialogState.disabled"  v-model="projectDialogState.projectForm.partitionCondition">
+                              <el-radio :label="0">是</el-radio>
+                              <el-radio :label="1">否</el-radio>
+                            </el-radio-group>
                           </el-form-item>
                         </td>
                     </tr>
@@ -278,6 +283,7 @@
 
 const SelectEquipment = defineAsyncComponent(() => import('./selectEquipment.vue'))
 const SelectMaterial = defineAsyncComponent(() => import('./selectMaterial.vue'))
+const SelectEmergency = defineAsyncComponent(() => import('./selectEmergency.vue'))
 const SelectDanger = defineAsyncComponent(() => import('./selectDanger.vue'))
 const SelectPerson = defineAsyncComponent(() => import('./selectPerson.vue'))
 const SelectRoom = defineAsyncComponent(() => import('./selectRoom.vue'))
@@ -286,6 +292,7 @@
 const selectEquipmentRef = ref()
 const selectRoomRef = ref()
 const selectMaterialRef = ref()
+const selectEmergencyRef = ref()
 const selectDangerRef = ref()
 
 const userInfo = useUserInfo();
@@ -316,24 +323,16 @@
         explosionProof: "",
         fireProof: "",
         poisonProof: "",
-        hazardousWaste: null,
         safeManagerMethod: "",
-        emergencyPlan: "",
-        emergencyDrill: "",
-        emergencyPlanName: "",
-        emergencyDrillStatus: "",
-        partitionCondition: "",
+        emergencyList: [],
+        partitionCondition: null,
         note: "",
         createExperimentTime: '',
-        persons: [
-        ],
+        persons: [],
         siteList: [],
-        deviceList: [
-        ],
-        stuffList: [
-        ],
-        hazardousWasteList: [
-        ]
+        deviceList: [],
+        stuffList: [],
+        hazardousWasteList: []
     },
     projectFormRules: {
       experimentName: [{ required: true, message: '', trigger: 'blur' }],
@@ -355,12 +354,8 @@
       explosionProof: [{ required: true, message: '', trigger: 'blur' }],
       fireProof: [{ required: true, message: '', trigger: 'blur' }],
       poisonProof: [{ required: true, message: '', trigger: 'blur' }],
-      hazardousWaste: [{ required: true, message: '', trigger: 'blur' }],
       safeManagerMethod: [{ required: true, message: '', trigger: 'blur' }],
-      emergencyPlan: [{ required: true, message: '', trigger: 'blur' }],
-      emergencyDrill: [{ required: true, message: '', trigger: 'blur' }],
-      emergencyPlanName: [{ required: true, message: '', trigger: 'blur' }],
-      emergencyDrillStatus: [{ required: true, message: '', trigger: 'blur' }],
+      emergencyList: [{ required: true, message: '', trigger: 'blur' }],
       partitionCondition: [{ required: true, message: '', trigger: 'blur' }],
       createExperimentTime: [{ required: true, message: '', trigger: 'blur' }]
     },
@@ -409,13 +404,9 @@
             explosionProof: "",
             fireProof: "",
             poisonProof: "",
-            hazardousWaste: 1,
             safeManagerMethod: "",
-            emergencyPlan: "",
-            emergencyDrill: "",
-            emergencyPlanName: "",
-            emergencyDrillStatus: "",
-            partitionCondition: "",
+            emergencyList: [],
+            partitionCondition: null,
             note: "",
             createExperimentTime: '',
             persons: [],
@@ -450,6 +441,30 @@
 const onSubmitProject = () => {
     ProjectFormRef.value.validate(async(valid: boolean) => {
         if(valid){
+            if(projectDialogState.projectForm.timeout === 2){
+              projectDialogState.projectForm.timeoutManager = ''
+            }else{
+              if(projectDialogState.projectForm.timeoutManager == ''){
+                ElMessage({
+                  type: 'warning',
+                  message: '请填写过夜、老化保障措施',
+                  duration: 1000
+                });
+                return
+              }
+            }
+            if(projectDialogState.projectForm.closed === 2){
+              projectDialogState.projectForm.unclosedManager = ""
+            }else{
+              if(projectDialogState.projectForm.unclosedManager == ''){
+                ElMessage({
+                  type: 'warning',
+                  message: '请填写封闭条件保障措施',
+                  duration: 1000
+                });
+                return
+              }
+            }
             if(projectDialogState.title === '新增'){
                 if(checkChineseName(projectDialogState.projectForm.safeLiabilityUser) == false){
                   ElMessage({
@@ -491,14 +506,6 @@
                   });
                   return
                 }
-                if(projectDialogState.projectForm.hazardousWasteList.length === 0){
-                  ElMessage({
-                    type: 'warning',
-                    message: '请选择添加危废数据',
-                    duration: 1000
-                  });
-                  return
-                }
                 if(projectDialogState.projectForm.persons.length === 0){
                   ElMessage({
                     type: 'warning',
@@ -507,6 +514,7 @@
                   });
                   return
                 }
+                projectDialogState.projectForm.emergencyList = selectEmergencyRef.value.dataList
                 projectDialogState.projectForm.persons = selectPersonRef.value.dataList
                 projectDialogState.projectForm.hazardousWasteList = selectDangerRef.value.dataList
               // projectDialogState.projectForm.siteList = selectRoomRef.value.dataList.map(({siteId}) => ({siteId}))
@@ -529,8 +537,6 @@
                     });
                 }
             }else{
-              console.log(selectRoomRef.value.dataList,'selectRoomRef.value.dataList',selectMaterialRef.value.dataList)
-                // projectDialogState.projectForm.siteList = selectRoomRef.value.dataList.map(({siteId}) => ({siteId}))
                 projectDialogState.projectForm.siteList = selectRoomRef.value.dataList.map(obj => ({siteId:obj.siteId}))
                 projectDialogState.projectForm.hazardousWasteList = selectDangerRef.value.dataList.map(obj => ({classify:obj.classify,wasteStorage:obj.wasteStorage,handAmount:obj.handAmount}))
                 let res = await projectApi().modProject(projectDialogState.projectForm)
diff --git a/src/views/experiment/project/components/selectDanger.vue b/src/views/experiment/project/components/selectDanger.vue
index 340442b..26ade11 100644
--- a/src/views/experiment/project/components/selectDanger.vue
+++ b/src/views/experiment/project/components/selectDanger.vue
@@ -2,9 +2,9 @@
     <tr class="m-color b-font" style="text-align: center">危废情况</tr>
     <tr>
         <td class="w-20 m-color">序号</td>
-        <td class="w-20 m-color required">废弃物分类</td>
-        <td class="w-20 m-color required">存储方式</td>
-        <td class="w-20 m-color required">预估处理量</td>
+        <td class="w-20 m-color">废弃物分类</td>
+        <td class="w-20 m-color">存储方式</td>
+        <td class="w-20 m-color">预估处理量</td>
         <td class="w-20 m-color">操作</td>
     </tr>
     <tr v-for="(item,index) in selectDangerState.wasteList" :key="index">
diff --git a/src/views/experiment/project/components/selectEmergency.vue b/src/views/experiment/project/components/selectEmergency.vue
new file mode 100644
index 0000000..50a3993
--- /dev/null
+++ b/src/views/experiment/project/components/selectEmergency.vue
@@ -0,0 +1,181 @@
+<template>
+    <tr class="m-color b-font" style="text-align: center">应急预案/应急演练</tr>
+    <tr>
+      <td class="w-20 m-color">预案名称</td>
+      <td class="w-20 m-color">是否演练</td>
+      <td class="w-20 m-color">演练情况</td>
+      <td class="w-20 m-color">是否备案</td>
+      <td class="w-20 m-color">操作</td>
+    </tr>
+    <tr v-for="(item,index) in selectEmergencyState.emergencyList" :key="index">
+        <td class="w-20">
+            <el-input :disabled="selectEmergencyState.disabled" v-model="item.emergencyPlanName" />
+        </td>
+        <td class="w-20">
+            <el-radio-group :disabled="selectEmergencyState.disabled"  v-model="item.emergencyDrillStatus">
+              <el-radio label="是">是</el-radio>
+              <el-radio label="否">否</el-radio>
+            </el-radio-group>
+        </td>
+        <td class="w-20">
+            <el-input :disabled="selectEmergencyState.disabled" v-model="item.emergencyDrill" placeholder="未演练则填“无”"/>
+        </td>
+        <td class="w-20">
+            <el-radio-group :disabled="selectEmergencyState.disabled"  v-model="item.emergencyPlan">
+              <el-radio label="是">是</el-radio>
+              <el-radio label="否">否</el-radio>
+            </el-radio-group>
+        </td>
+        <td class="w-20">
+          <el-button :disabled="selectEmergencyState.disabled" type="danger" @click="deleteEmergencyItem(index)">删除</el-button>
+        </td>
+    </tr>
+    <tr style="text-align: center">
+        <el-button :disabled="selectEmergencyState.disabled" type="primary" shape="round" @click="addEmergencyItem()">
+            添加一条
+        </el-button>
+    </tr>
+</template>
+
+<script setup lang="ts">
+import {defineAsyncComponent, onMounted, reactive, ref, watchEffect} from "vue";
+import {ElMessage} from "element-plus";
+let props = defineProps({
+    disabled: Boolean,
+    data: Array<emergencyListType>
+});
+
+const selectEmergencyState = reactive<SelectEmergencyType>({
+    disabled: false,
+    emergencyList: []
+})
+
+const addEmergencyItem = () => {
+    selectEmergencyState.emergencyList.push({ emergencyPlanName: '', emergencyDrillStatus: '', emergencyDrill: '', emergencyPlan: '' });
+};
+
+watchEffect(() => {
+    selectEmergencyState.emergencyList = props.data as Array<emergencyListType>
+    selectEmergencyState.disabled = props.disabled
+});
+
+const deleteEmergencyItem = (index: number) => {
+    selectEmergencyState.emergencyList.splice(index,1);
+};
+
+const formatList = (formatList: Array<emergencyListType>) => {
+    selectEmergencyState.emergencyList = formatList
+};
+
+defineExpose({
+    dataList: selectEmergencyState.emergencyList,
+    formatList
+});
+
+
+onMounted(() => {
+
+});
+</script>
+
+<style scoped lang="scss">
+.site-layout-background {
+    background: #fff;
+}
+
+.report-table {
+    width: 100%;
+    border-collapse: collapse;
+    border: 1px solid #337ecc;
+    margin: 20px 0;
+
+    th {
+        padding: 10px 0;
+        border: 1px solid #337ecc;
+        border-left: none;
+    }
+
+    tr {
+        width: 100%;
+        height: 44px;
+        line-height: 42px;
+        border-bottom: 1px solid #ccc;
+
+        &:last-of-type {
+            border-bottom: none;
+        }
+
+        td {
+            border-right: 1px solid #ccc;
+            display: inline-block;
+            height: 44px;
+            vertical-align: middle;
+            text-align: center;
+            line-height: 42px;
+
+            &:last-of-type {
+                border-right: none;
+            }
+
+            &.required {
+              &::before {
+                content: "*";
+                display: inline-block;
+                color: red;
+              }
+            }
+
+            &.w-14 {
+                width: calc((100/7)/100 * 100%);
+            }
+
+            &.w-16 {
+                width: calc((100/6)/100 * 100%);
+            }
+
+            &.w-18 {
+                width: 16.59%;
+            }
+
+            &.w-20 {
+                width: 20%;
+            }
+
+            &.w-25 {
+                width: 25%;
+            }
+
+            &.w-50 {
+                width: 50%;
+            }
+
+            &.w-75 {
+                width: 75%;
+            }
+
+            .ant-input {
+                height: 100%;
+                border: none;
+                background: #f5f7fa;
+            }
+
+            .ant-picker {
+                width: 100%;
+                height: 100%;
+            }
+            :deep(.el-input__wrapper ){
+              box-shadow: none;
+            }
+        }
+    }
+
+    .b-font {
+        font-size: 16px;
+        font-weight: bolder;
+    }
+}
+
+.m-color {
+    color: #0c4995;
+}
+</style>
diff --git a/src/views/experiment/project/index.ts b/src/views/experiment/project/index.ts
index eacbe83..5235c46 100644
--- a/src/views/experiment/project/index.ts
+++ b/src/views/experiment/project/index.ts
@@ -54,13 +54,9 @@
 		explosionProof: string,
 		fireProof: string,
 		poisonProof: string,
-		hazardousWaste: null | number,
 		safeManagerMethod: string,
-		emergencyPlan: string,
-		emergencyDrill: string,
-		emergencyPlanName: string,
-		emergencyDrillStatus: string,
-		partitionCondition: string,
+		emergencyList: Array<emergencyListType>,
+		partitionCondition: null | number,
 		note: string,
 		startTime?: string,
 		createExperimentTime: string
@@ -152,6 +148,18 @@
 	stuffUnitList: Array<stuffType>
 }
 
+declare interface SelectEmergencyType {
+	disabled: boolean
+	emergencyList: Array<emergencyListType>
+}
+
+declare interface emergencyListType {
+	emergencyPlanName: string,
+	emergencyDrillStatus: string,
+	emergencyDrill: string,
+	emergencyPlan: string
+}
+
 declare interface SelectRoomType {
 	disabled: boolean
 	roomList: Array<roomListType>,
@@ -198,7 +206,6 @@
 	stuffStorage: string,
 	stuffUnit: string
 }
-
 
 declare interface ApplyStartDialogType {
 	title: string,
diff --git a/src/views/experiment/project/index.vue b/src/views/experiment/project/index.vue
index c56d58a..0eb8355 100644
--- a/src/views/experiment/project/index.vue
+++ b/src/views/experiment/project/index.vue
@@ -82,9 +82,11 @@
                         <el-table-column label="操作" width="250" fixed="right">
                             <template #default="scope">
                                 <el-button size="small" text type="primary" :icon="View" @click="openProjectDialog('查看', scope.row)">查看</el-button>
-                                <el-button size="small" text type="primary" :icon="Edit" @click="applyStart('申请开展', scope.row)">申请开展</el-button>
+                                <el-button size="small" text type="primary" :icon="View" v-if="scope.row.stage == 4" @click="openReportDialog('查看',scope.row)">查看评估报告</el-button>
+                                <el-button size="small" text type="primary" :icon="Edit" @click="applyStart('申请开展', scope.row)">转为已开展</el-button>
+                                <el-button size="small" :disabled="scope.row.status == 2 ? true : false" text type="primary" :icon="Edit" @click="applyAccess( scope.row)">申请评估</el-button>
                                 <el-button size="small" type="warning" v-if="scope.row.rectifyStatus == 1" text :icon="Edit" @click="openProjectDialog('整改', scope.row)">整改</el-button>
-                                <el-button size="small" text type="danger" :icon="Delete" @click="onDelProject(scope.row)">删除</el-button>
+                                <el-button size="small" text type="danger" :icon="Delete" :disabled="scope.row.stage !== 1" @click="onDelProject(scope.row)">删除</el-button>
                             </template>
                         </el-table-column>
                     </el-table>
@@ -97,6 +99,7 @@
         <project-dialog ref="ProjectDialogRef" @refresh="getProjectData"></project-dialog>
 <!--        <apply-start ref="ApplyStartRef"></apply-start>-->
         <test ref="ApplyStartRef" @refresh="getProjectData"></test>
+        <report-dialog ref="ReportDialogRef"></report-dialog>
     </div>
 </template>
 
@@ -106,13 +109,12 @@
 import {ElMessage, ElMessageBox} from "element-plus";
 import { View,Edit, Plus, Delete } from '@element-plus/icons-vue';
 import {roomApi} from "/@/api/basic/room";
-
+const ReportDialog = defineAsyncComponent(() => import('../../analyse/assessApply/components/reportDialog.vue'));
 const ProjectDialog = defineAsyncComponent(() => import('./components/projectDialog.vue'));
 const Test = defineAsyncComponent(() => import('./components/applyDialog.vue'))
-
-const ProjectDialogRef = ref();
-const ApplyStartRef = ref();
-
+const ProjectDialogRef = ref()
+const ApplyStartRef = ref()
+const ReportDialogRef = ref()
 const projectState = reactive<ProjectStateType>({
     projectData: [],
     searchQuery: {
@@ -152,10 +154,40 @@
     ProjectDialogRef.value.showProjectDialog(title, value, projectState.allRoomList);
 };
 
+const openReportDialog = (title: string,value: ProjectType) =>{
+  ReportDialogRef.value.showReportDialog(title, value, projectState.allRoomList);
+}
+
 const applyStart = (title: string, value: ProjectType) => {
     ApplyStartRef.value.showApplyStartDialog(value);
 };
 
+const applyAccess = (val: ProjectType) => {
+  ElMessageBox.confirm(`此操作将申请评估该实验:“${val.experimentName}”,是否继续?`, '提示', {
+    confirmButtonText: '确认',
+    cancelButtonText: '取消',
+    type: 'warning'
+  })
+      .then(async () => {
+        let res = await projectApi().accessProject([val.id]);
+        if (res.data.code === 100) {
+          ElMessage({
+            type: 'success',
+            duration: 2000,
+            message: '申请成功'
+          });
+          await getProjectData();
+        } else {
+          ElMessage({
+            type: 'warning',
+            message: res.data.msg
+          });
+        }
+      })
+      .catch((error) => {
+      });
+}
+
 const onDelProject = (val: ProjectType) => {
     ElMessageBox.confirm(`此操作将永久删除该实验:“${val.experimentName}”,是否继续?`, '提示', {
         confirmButtonText: '确认',
diff --git a/src/views/loginPage/loginPage.vue b/src/views/loginPage/loginPage.vue
index a264634..29c9c52 100644
--- a/src/views/loginPage/loginPage.vue
+++ b/src/views/loginPage/loginPage.vue
@@ -2,7 +2,7 @@
     <div class="login-container">
         <div class="loginContent">
             <div class="loginPanel">
-                <div class="welcc">科学研究实验风险评估系统</div>
+                <div class="welcc">科学研究实验安全风险评估系统</div>
                 <div class="loginGroup">
                   <div class="loginPic">
                     <img src="../../assets/loginPage/login-pic.png">
@@ -168,6 +168,9 @@
               color: #485BD4;
               letter-spacing: 6px;
               white-space: nowrap;
+              position: relative;
+              z-index: 9999;
+              text-shadow: 0 3px 5px rgba(72,91,212,.4);
             }
 
             :deep(.loginGroup){
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index 59ba2eb..f9b3ded 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -9,12 +9,12 @@
 <!--                    </el-icon>-->
 <!--                    查询-->
 <!--                </el-button>-->
-                <el-button size="default" type="success" class="ml10" @click="onOpenDialogRef('新增', '')">
-                    <el-icon>
-                        <ele-FolderAdd />
-                    </el-icon>
-                    新增角色
-                </el-button>
+<!--                <el-button size="default" type="success" class="ml10" @click="onOpenDialogRef('新增', '')">-->
+<!--                    <el-icon>-->
+<!--                        <ele-FolderAdd />-->
+<!--                    </el-icon>-->
+<!--                    新增角色-->
+<!--                </el-button>-->
             </div>
             <el-table :data="tableData.data" style="width: 100%">
                 <el-table-column type="index" label="序号" width="60" />

--
Gitblit v1.9.2