From cbb23429b8beed72b58cbb57f9b3c56a0fb2b5d2 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期五, 09 五月 2025 13:31:26 +0800
Subject: [PATCH] 修改

---
 src/views/experiment/project/components/selectEquipment.vue  |    6 
 src/views/experiment/project/components/selectEmergency.vue  |    4 
 src/views/experiment/project/components/selectRoom.vue       |    6 
 src/views/experiment/developing/components/developDialog.vue |   51 ++++++++++--
 src/views/analyse/evaluate/index.ts                          |    1 
 src/views/experiment/project/components/projectDialog.vue    |   46 +++++++++-
 src/views/experiment/project/components/selectDanger.vue     |    4 
 src/views/experiment/project/components/selectMaterial.vue   |    6 
 src/views/experiment/project/index.vue                       |    1 
 src/views/analyse/evaluate/index.vue                         |   51 ++++++++++++
 src/views/experiment/project/components/selectPerson.vue     |    6 
 11 files changed, 148 insertions(+), 34 deletions(-)

diff --git a/src/views/analyse/evaluate/index.ts b/src/views/analyse/evaluate/index.ts
index ebf7b8d..c893d89 100644
--- a/src/views/analyse/evaluate/index.ts
+++ b/src/views/analyse/evaluate/index.ts
@@ -2,6 +2,7 @@
 	evaluateData: Array<IdentifyType>
 	user: null| number
 	currentEvalute:{}
+	allRoomList: []
 	evaluateDialog:boolean
 	searchQuery: {
 		pageIndex: number,
diff --git a/src/views/analyse/evaluate/index.vue b/src/views/analyse/evaluate/index.vue
index ec0c8be..5d648a3 100644
--- a/src/views/analyse/evaluate/index.vue
+++ b/src/views/analyse/evaluate/index.vue
@@ -109,6 +109,7 @@
                         </el-table-column>
                         <el-table-column label="操作" width="250">
                           <template #default="scope">
+                            <el-button size="small" text :icon="View" type="primary" @click="openProjectDialog('查看',scope.row)">实验信息</el-button>
                             <el-button size="small" v-if="scope.row.planExecStatus===3 && scope.row.evaluateUsers?.find(i=>i.evaluateUserId== evaluateState.user)" text type="primary" :icon="DocumentChecked" @click="accessEvaluate(scope.row)">提交</el-button>
                             <el-button size="small" v-if="scope.row.planExecStatus===3 && scope.row.evaluateUsers?.find(i=>i.evaluateUserId== evaluateState.user)" text type="primary" :icon="Edit" @click="openEvaluate(scope.row)">评价</el-button>
                             <el-button size="small" v-if="scope.row.planExecStatus===4" text :icon="View" type="primary" @click="openEvaluate(scope.row)">查看评价</el-button>
@@ -161,7 +162,7 @@
             </el-table-column>
           </el-table>
         </el-dialog>
-
+        <develop-dialog ref="DevelopDialogRef" @refresh="getEvaluateData"></develop-dialog>
         <evaluate-dialog ref="evaluateDialogRef" @refresh="getDataAndClose"></evaluate-dialog>
     </div>
 </template>
@@ -176,16 +177,20 @@
 import {userApi} from "/@/api/systemManage/user";
 import {useUserInfo} from "/@/stores/userInfo";
 import {storeToRefs} from "pinia";
-
+import {roomApi} from "/@/api/basic/room";
+import {projectApi} from "/@/api/experiment/project";
+const DevelopDialog = defineAsyncComponent(() => import('../../experiment/developing/components/developDialog.vue'));
 const EvaluateDialog = defineAsyncComponent(() => import('./components/evaluateDialog.vue'));
 
 const evaluateDialogRef = ref();
+const DevelopDialogRef = ref()
 const userInfo = useUserInfo();
 const { userInfos } = storeToRefs(userInfo);
 const evaluateState = reactive<EvaluateStateType>({
     evaluateData: [],
     user: null,
     currentEvalute:{},
+    allRoomList: [],
     evaluateDialog: false,
     searchQuery: {
         pageIndex: 1,
@@ -230,6 +235,47 @@
             message: res.data.msg
         });
     }
+};
+
+const getRoomData = async () => {
+  let res = await roomApi().getAllRoom();
+  if(res.data.code === 100){
+    evaluateState.allRoomList = JSON.parse(JSON.stringify(res.data.data));
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg
+    });
+  }
+};
+
+const openProjectDialog = async (title: string, value: {}) => {
+  let res = await projectApi().getProjectByList({
+    pageIndex: 1,
+    pageSize: 10,
+    searchParams: {
+      experimentName: '',
+      experimentType: null,
+      assessLevel: null,
+      id: value.experimentId
+    }
+  },);
+  if(res.data.code === 100){
+    if(Array.isArray(res.data.data) && res.data.data.length>0){
+      DevelopDialogRef.value.showDevelopDialog(title, res.data.data[0], evaluateState.allRoomList);
+    }else{
+      ElMessage({
+        type: 'warning',
+        message: '查询不到实验信息'
+      });
+    }
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg
+    });
+  }
+
 };
 
 const getDataAndClose =()=>{
@@ -355,6 +401,7 @@
     getEvaluateData();
     getAllPlanList();
     getPersonList();
+  getRoomData()
     evaluateState.user = Number(userInfos.value.uid)
 });
 
diff --git a/src/views/experiment/developing/components/developDialog.vue b/src/views/experiment/developing/components/developDialog.vue
index dbbe495..06ffb76 100644
--- a/src/views/experiment/developing/components/developDialog.vue
+++ b/src/views/experiment/developing/components/developDialog.vue
@@ -29,7 +29,7 @@
                 <!--                                <el-radio :label="5">特种设备类</el-radio>-->
                 <!--                                <el-radio :label="6">其他类</el-radio>-->
                 <!--                            </el-radio-group>-->
-                <el-checkbox-group style="text-align: center" v-model="typeValue"
+                <el-checkbox-group class="checkTip" style="text-align: center" v-model="typeValue"
                                    :disabled="projectDialogState.disabled" @change="changeList">
                   <el-checkbox v-for="item in projectDialogState.experimentTypeList" :label="item.typeId"
                                :key="item.typeId">{{ item.typeName }}
@@ -45,9 +45,8 @@
               <!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" />-->
               <!--                          </el-form-item>-->
               <el-form-item prop="dep">
-                <el-select style="width: 100%" v-model="projectDialogState.projectForm.dep" clearable filterable>
+                <el-select style="width: 100%" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" clearable filterable>
                   <el-option
-
                       v-for="item in projectDialogState.deptList"
                       :key="item.id"
                       :value="item.depName"
@@ -62,6 +61,7 @@
             <td class="w-25 m-color">
               <el-form-item prop="liabilityUserId">
                 <el-select style="width: 100%" v-model="projectDialogState.projectForm.liabilityUserId" clearable
+                           :disabled="projectDialogState.disabled"
                            filterable @change="getLiabilityUserPhone($event)">
                   <el-option
                       v-for="item in projectDialogState.allPersonList"
@@ -100,6 +100,7 @@
               <!--                        </el-form-item>-->
               <el-form-item prop="safeLiabilityUserId">
                 <el-select style="width: 100%" v-model="projectDialogState.projectForm.safeLiabilityUserId" clearable
+                           :disabled="projectDialogState.disabled"
                            filterable @change="getSafeLiabilityUserPhone($event)">
                   <el-option
                       v-for="item in projectDialogState.systemPersonList"
@@ -139,7 +140,7 @@
             <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"
+                <el-radio-group :disabled="projectDialogState.disabled" class="checkTip"
                                 v-model="projectDialogState.projectForm.sisStatus" @change="hasSafeSystem">
                   <el-radio :label="1">是</el-radio>
                   <el-radio :label="2">否</el-radio>
@@ -211,7 +212,7 @@
             <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"
+                <el-radio-group :disabled="projectDialogState.disabled" class="checkTip"
                                 v-model="projectDialogState.projectForm.timeout">
                   <el-radio :label="1">存在</el-radio>
                   <el-radio :label="2">不存在</el-radio>
@@ -230,7 +231,7 @@
             <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-group class="checkTip" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.closed">
                   <el-radio :label="1">存在</el-radio>
                   <el-radio :label="2">不存在</el-radio>
                 </el-radio-group>
@@ -315,7 +316,7 @@
             <td class="w-75 m-color">
               <el-form-item prop="partitionCondition">
                 <!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.partitionCondition" placeholder="请输入" />-->
-                <el-radio-group :disabled="projectDialogState.disabled"
+                <el-radio-group :disabled="projectDialogState.disabled" class="checkTip"
                                 v-model="projectDialogState.projectForm.partitionCondition">
                   <el-radio :label="0">是</el-radio>
                   <el-radio :label="1">否</el-radio>
@@ -789,7 +790,9 @@
 .site-layout-background {
   background: #fff;
 }
-
+.el-checkbox__input.is-disabled+span.el-checkbox__label{
+  color: red !important
+}
 .report-table {
   width: 100%;
   border-collapse: collapse;
@@ -950,3 +953,35 @@
 
 
 </style>
+<style>
+.checkTip{
+  .is-disabled{
+    .el-checkbox__label{
+      color: #606266 !important
+    }
+    .el-radio__label{
+      color: #606266 !important
+    }
+    &.is-checked{
+      .el-checkbox__label{
+        color: #409eff !important
+      }
+      .el-radio__label{
+        color: #409eff !important
+      }
+      .el-checkbox__inner{
+        background-color: #409eff;
+        &::after{
+          border-color: #fff !important
+        }
+      }
+      .el-radio__inner{
+        background-color: #409eff !important;
+        &::after{
+          background-color: #fff !important
+        }
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/experiment/project/components/projectDialog.vue b/src/views/experiment/project/components/projectDialog.vue
index 93c7bf2..d4539eb 100644
--- a/src/views/experiment/project/components/projectDialog.vue
+++ b/src/views/experiment/project/components/projectDialog.vue
@@ -29,7 +29,7 @@
                 <!--                                <el-radio :label="5">特种设备类</el-radio>-->
                 <!--                                <el-radio :label="6">其他类</el-radio>-->
                 <!--                            </el-radio-group>-->
-                <el-checkbox-group style="text-align: center" v-model="typeValue"
+                <el-checkbox-group style="text-align: center" v-model="typeValue" class="checkTip"
                                    :disabled="projectDialogState.disabled" @change="changeList">
                   <el-checkbox v-for="item in projectDialogState.experimentTypeList" :label="item.typeId"
                                :key="item.typeId">{{ item.typeName }}
@@ -45,7 +45,7 @@
               <!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" />-->
               <!--                          </el-form-item>-->
               <el-form-item prop="dep">
-                <el-select style="width: 100%" v-model="projectDialogState.projectForm.dep" clearable filterable>
+                <el-select style="width: 100%" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" clearable filterable>
                   <el-option
                       v-for="item in projectDialogState.deptList"
                       :key="item.id"
@@ -68,7 +68,7 @@
             <td class="w-25 m-color required">负责人</td>
             <td class="w-25 m-color">
               <el-form-item prop="liabilityUserId">
-                <el-select style="width: 100%" v-model="projectDialogState.projectForm.liabilityUserId" clearable
+                <el-select style="width: 100%" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.liabilityUserId" clearable
                            filterable @change="getLiabilityUserPhone($event)">
                   <el-option
                       v-for="item in projectDialogState.allPersonList"
@@ -103,7 +103,7 @@
               <!--                          ></el-option>-->
               <!--                        </el-select>-->
               <el-form-item prop="safeLiabilityUserId">
-                <el-select style="width: 100%" v-model="projectDialogState.projectForm.safeLiabilityUserId" clearable
+                <el-select style="width: 100%" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeLiabilityUserId" clearable
                            filterable @change="getSafeLiabilityUserPhone($event)">
                   <el-option
                       v-for="item in projectDialogState.systemPersonList"
@@ -180,7 +180,7 @@
             <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"
+                <el-radio-group :disabled="projectDialogState.disabled" class="checkTip"
                                 v-model="projectDialogState.projectForm.timeout">
                   <el-radio :label="1">存在</el-radio>
                   <el-radio :label="2">不存在</el-radio>
@@ -199,7 +199,7 @@
             <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-group :disabled="projectDialogState.disabled" class="checkTip" v-model="projectDialogState.projectForm.closed">
                   <el-radio :label="1">存在</el-radio>
                   <el-radio :label="2">不存在</el-radio>
                 </el-radio-group>
@@ -307,7 +307,7 @@
             <td class="w-75 m-color">
               <el-form-item prop="partitionCondition">
                 <!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.partitionCondition" placeholder="请输入" />-->
-                <el-radio-group :disabled="projectDialogState.disabled"
+                <el-radio-group :disabled="projectDialogState.disabled" class="checkTip"
                                 v-model="projectDialogState.projectForm.partitionCondition">
                   <el-radio :label="0">是</el-radio>
                   <el-radio :label="1">否</el-radio>
@@ -933,3 +933,35 @@
 
 
 </style>
+<style>
+.checkTip{
+  .is-disabled{
+    .el-checkbox__label{
+      color: #606266 !important
+    }
+    .el-radio__label{
+      color: #606266 !important
+    }
+    &.is-checked{
+      .el-checkbox__label{
+        color: #409eff !important
+      }
+      .el-radio__label{
+        color: #409eff !important
+      }
+      .el-checkbox__inner{
+        background-color: #409eff;
+        &::after{
+          border-color: #fff !important
+        }
+      }
+      .el-radio__inner{
+        background-color: #409eff !important;
+        &::after{
+          background-color: #fff !important
+        }
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/experiment/project/components/selectDanger.vue b/src/views/experiment/project/components/selectDanger.vue
index 26ade11..4035786 100644
--- a/src/views/experiment/project/components/selectDanger.vue
+++ b/src/views/experiment/project/components/selectDanger.vue
@@ -28,8 +28,8 @@
             <el-button :disabled="selectDangerState.disabled" type="danger" @click="deleteDangerItem(index)">删除</el-button>
         </td>
     </tr>
-    <tr style="text-align: center">
-        <el-button :disabled="selectDangerState.disabled" type="primary" shape="round" @click="addDangerItem()">
+    <tr style="text-align: center" v-if="!selectDangerState.disabled">
+        <el-button type="primary" shape="round" @click="addDangerItem()">
             添加行
         </el-button>
     </tr>
diff --git a/src/views/experiment/project/components/selectEmergency.vue b/src/views/experiment/project/components/selectEmergency.vue
index 50a3993..e925392 100644
--- a/src/views/experiment/project/components/selectEmergency.vue
+++ b/src/views/experiment/project/components/selectEmergency.vue
@@ -30,8 +30,8 @@
           <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()">
+    <tr style="text-align: center" v-if="!selectEmergencyState.disabled">
+        <el-button type="primary" shape="round" @click="addEmergencyItem()">
             添加一条
         </el-button>
     </tr>
diff --git a/src/views/experiment/project/components/selectEquipment.vue b/src/views/experiment/project/components/selectEquipment.vue
index 7ddf0b9..9b8321f 100644
--- a/src/views/experiment/project/components/selectEquipment.vue
+++ b/src/views/experiment/project/components/selectEquipment.vue
@@ -40,11 +40,11 @@
             <el-button :disabled="selectEquipmentState.disabled" type="danger" @click="deleteEquipmentItem(index)">删除</el-button>
         </td>
     </tr>
-    <tr style="text-align: center">
-        <el-button :disabled="selectEquipmentState.disabled" type="primary" shape="round" @click="addEquipmentItem()">
+    <tr style="text-align: center" v-if="!selectEquipmentState.disabled">
+        <el-button type="primary" shape="round" @click="addEquipmentItem()">
             添加现有实验仪器/设备
         </el-button>
-        <el-button :disabled="selectEquipmentState.disabled" shape="round" @click="addNewEquipment('新增', {})">
+        <el-button shape="round" @click="addNewEquipment('新增', {})">
             新增实验仪器/设备配置
         </el-button>
     </tr>
diff --git a/src/views/experiment/project/components/selectMaterial.vue b/src/views/experiment/project/components/selectMaterial.vue
index 8017fb3..bce7bb4 100644
--- a/src/views/experiment/project/components/selectMaterial.vue
+++ b/src/views/experiment/project/components/selectMaterial.vue
@@ -43,11 +43,11 @@
             <el-button type="danger" :disabled="selectMaterialState.disabled" @click="deleteMaterialItem(index)">删除</el-button>
         </td>
     </tr>
-    <tr style="text-align: center">
-        <el-button :disabled="selectMaterialState.disabled" type="primary" shape="round" @click="addMaterialItem()">
+    <tr style="text-align: center" v-if="!selectMaterialState.disabled">
+        <el-button type="primary" shape="round" @click="addMaterialItem()">
             添加现有实验材料
         </el-button>
-        <el-button :disabled="selectMaterialState.disabled" shape="round" @click="addNewMaterial('新增', {})">
+        <el-button shape="round" @click="addNewMaterial('新增', {})">
             新增实验材料配置
         </el-button>
     </tr>
diff --git a/src/views/experiment/project/components/selectPerson.vue b/src/views/experiment/project/components/selectPerson.vue
index 6677595..268b8c7 100644
--- a/src/views/experiment/project/components/selectPerson.vue
+++ b/src/views/experiment/project/components/selectPerson.vue
@@ -41,11 +41,11 @@
             <el-button type="danger" :disabled="selectPersonState.disabled" @click="deletePersonItem(index)">删除</el-button>
         </td>
     </tr>
-    <tr style="text-align: center">
-        <el-button :disabled="selectPersonState.disabled" type="primary" shape="round" @click="addPersonItem()">
+    <tr style="text-align: center" v-if="!selectPersonState.disabled">
+        <el-button type="primary" shape="round" @click="addPersonItem()">
             添加现有实验人员
         </el-button>
-        <el-button :disabled="selectPersonState.disabled" shape="round" @click="addNewPerson('新增', {})">
+        <el-button shape="round" @click="addNewPerson('新增', {})">
             新增实验人员配置
         </el-button>
     </tr>
diff --git a/src/views/experiment/project/components/selectRoom.vue b/src/views/experiment/project/components/selectRoom.vue
index f2a9cc3..f8c36d7 100644
--- a/src/views/experiment/project/components/selectRoom.vue
+++ b/src/views/experiment/project/components/selectRoom.vue
@@ -43,11 +43,11 @@
             <el-button type="danger" :disabled="selectRoomState.disabled" @click="deleteRoomItem(index)">删除</el-button>
         </td>
     </tr>
-    <tr style="text-align: center">
-        <el-button :disabled="selectRoomState.disabled" type="primary" shape="round" @click="addMaterialItem()">
+    <tr style="text-align: center" v-if="!selectRoomState.disabled">
+        <el-button type="primary" shape="round" @click="addMaterialItem()">
             添加现有实验场所
         </el-button>
-        <el-button :disabled="selectRoomState.disabled" shape="round" @click="addNewRoom('新增', {})">
+        <el-button shape="round" @click="addNewRoom('新增', {})">
             新增实验场所配置
         </el-button>
     </tr>
diff --git a/src/views/experiment/project/index.vue b/src/views/experiment/project/index.vue
index c8b0239..009a91b 100644
--- a/src/views/experiment/project/index.vue
+++ b/src/views/experiment/project/index.vue
@@ -165,7 +165,6 @@
 })
 
 const getProjectData = async () => {
-console.log(projectState.searchQuery,'11')
     let res = await projectApi().getProjectByList(projectState.searchQuery);
     if(res.data.code === 100){
         projectState.projectData = res.data.data;

--
Gitblit v1.9.2