From eae2747b5ea8522e8ee52fb03c53a9fce2cdd744 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期二, 07 一月 2025 10:52:09 +0800
Subject: [PATCH] 修改密码

---
 src/views/analyse/assessApply/components/reportDialog.vue |  103 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 76 insertions(+), 27 deletions(-)

diff --git a/src/views/analyse/assessApply/components/reportDialog.vue b/src/views/analyse/assessApply/components/reportDialog.vue
index d009c62..d58e482 100644
--- a/src/views/analyse/assessApply/components/reportDialog.vue
+++ b/src/views/analyse/assessApply/components/reportDialog.vue
@@ -107,24 +107,6 @@
                         <div>{{item.siteType}}</div>
                       </td>
                     </tr>
-                    <tr>
-                      <td class="w-25 m-color required">评估人</td>
-                      <td class="w-75 m-color">
-<!--                        <el-select style="width: 100%" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" clearable filterable>-->
-<!--                          <el-option-->
-<!--                              v-for="item in reportDialogState.allPersonList"-->
-<!--                              :key="item.id"-->
-<!--                              :value="item.id"-->
-<!--                              :label="item.personName"-->
-<!--                          ></el-option>-->
-<!--                        </el-select>-->
-                        <el-input :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" placeholder="评估人" />
-                      </td>
-<!--                      <td class="w-25 m-color required">评估时间</td>-->
-<!--                      <td class="w-25 m-color">-->
-<!--                        <el-date-picker :disabled="reportDialogState.disabled"  type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="reportDialogState.reportForm.assessTime" />-->
-<!--                      </td>-->
-                    </tr>
 
                     <tr class="m-color b-font" style="text-align: center">实验概况</tr>
                     <tr>
@@ -149,7 +131,14 @@
                         </el-checkbox-group>
                       </td>
                     </tr>
+
                     <select-danger ref="selectDangerRef" v-model:data="reportDialogState.reportForm.riskSource" v-model:disabled="reportDialogState.disabled"></select-danger>
+
+<!--                    <tr class="m-color b-font required" style="text-align: center">安全风险分析(总结)</tr>-->
+<!--                    <tr>-->
+<!--                      <el-input type="textarea" :autosize="{ minRows: 3}" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.safeRiskAnalysis" placeholder="1.实验过程中是否有爆炸、火灾、腐蚀、中毒风险、产生危险废弃物等(根据危险源清单,分析实验过程中可能对人身安全、人体健康、实验室环境和周边环境等带来的负面影响)" />-->
+<!--                    </tr>-->
+
                     <tr class="m-color b-font required" style="text-align: center">安全风险分析(总结)</tr>
                     <tr>
                       <el-input type="textarea" :autosize="{ minRows: 3}" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.safeRiskAnalysis" placeholder="1.实验过程中是否有爆炸、火灾、腐蚀、中毒风险、产生危险废弃物等(根据危险源清单,分析实验过程中可能对人身安全、人体健康、实验室环境和周边环境等带来的负面影响)" />
@@ -160,17 +149,49 @@
                     </tr>
                     <tr class="m-color b-font required" style="text-align: center">实验和实验项目综合风险等级评定</tr>
                     <tr>
-                      <td class="m-color" style="width: 100%">
+                      <td class="m-color" style="width: 100%;height: 65px">
                         <el-radio-group :disabled="reportDialogState.disabled"  v-model="reportDialogState.reportForm.assessLevel">
-                          <el-radio :label="1">低风险(一级)</el-radio>
-                          <el-radio :label="2">一般风险(二级)</el-radio>
-                          <el-radio :label="3">较大风险(三级)</el-radio>
-                          <el-radio :label="4">重大风险(四级)</el-radio>
+                            <div style="display: flex;justify-content: center">
+                                <div style="display: flex;flex-direction: column">
+                                    <el-radio :label="1">重大风险(一级)</el-radio>
+                                    <el-tag v-if="reportDialogState.reportForm.assessLevel == 1" class="tag-style tag-bg1" />
+                                </div>
+                                <div style="display: flex;flex-direction: column">
+                                    <el-radio :label="2">较大风险(二级)</el-radio>
+                                    <el-tag v-if="reportDialogState.reportForm.assessLevel == 2" class="tag-style tag-bg2"  />
+                                </div>
+                                <div style="display: flex;flex-direction: column">
+                                    <el-radio :label="3">一般风险(三级)</el-radio>
+                                    <el-tag v-if="reportDialogState.reportForm.assessLevel == 3" class="tag-style tag-bg3"  />
+                                </div>
+                                <div style="display: flex;flex-direction: column">
+                                    <el-radio :label="4">低风险(四级)</el-radio>
+                                    <el-tag v-if="reportDialogState.reportForm.assessLevel == 4" style="width: 43px;margin-left: 20px;" class="tag-bg4" />
+                                </div>
+                            </div>
                         </el-radio-group>
                       </td>
                     </tr>
                     <tr>
                       <el-input type="textarea" :autosize="{ minRows: 3}" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.description" placeholder="评定依据(必填)" />
+                    </tr>
+                    <tr>
+                      <td class="w-25 m-color required">评估人</td>
+                      <td class="w-75 m-color">
+                        <!--                        <el-select style="width: 100%" :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" clearable filterable>-->
+                        <!--                          <el-option-->
+                        <!--                              v-for="item in reportDialogState.allPersonList"-->
+                        <!--                              :key="item.id"-->
+                        <!--                              :value="item.id"-->
+                        <!--                              :label="item.personName"-->
+                        <!--                          ></el-option>-->
+                        <!--                        </el-select>-->
+                        <el-input :disabled="reportDialogState.disabled" v-model="reportDialogState.reportForm.assessPerson" placeholder="评估人" />
+                      </td>
+                      <!--                      <td class="w-25 m-color required">评估时间</td>-->
+                      <!--                      <td class="w-25 m-color">-->
+                      <!--                        <el-date-picker :disabled="reportDialogState.disabled"  type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="reportDialogState.reportForm.assessTime" />-->
+                      <!--                      </td>-->
                     </tr>
                     <tr v-if="reportDialogState.reportForm.person?.length>0" class="m-color b-font" style="text-align: center">审批内容</tr>
                     <template v-if="reportDialogState.reportForm.person?.length>0" v-for="item in reportDialogState.reportForm.person">
@@ -271,6 +292,10 @@
       //     reportDialogState.reportForm[i] = value[i];
       //   }
       // }
+      reportDialogState.reportForm.riskSource = []
+      setTimeout(()=>{
+        selectDangerRef.value.dangerSourceState.dangerList = []
+      },2000)
     }else if(title === '修改'){
       reportDialogState.title = '修改报告';
       reportDialogState.disabled = false
@@ -283,6 +308,7 @@
         //     }
         // }
     }
+    console.log(reportDialogState.reportForm,'form')
 };
 
 const isValidKey = (key: string | number | symbol, object:object): key is keyof typeof object =>{
@@ -358,9 +384,14 @@
 const onSubmitProject = () => {
     reportFormRef.value.validate(async(valid: boolean) => {
         if(valid){
-          const { id,assessPerson,safeRiskAnalysis,assessLevel,description } = reportDialogState.reportForm
-          const data = { id,assessPerson,safeRiskAnalysis,assessLevel,description }
+          reportDialogState.reportForm.riskSource = selectDangerRef.value.dangerSourceState.dangerList
+          const { id,assessPerson,riskSource,safeRiskAnalysis,assessLevel,description } = reportDialogState.reportForm
+          const data = { id,assessPerson,riskSource,safeRiskAnalysis,assessLevel,description }
             if(reportDialogState.title === '提交报告'){
+              for(let i in data.riskSource){
+                riskSource[i].reportId = data.id
+                riskSource[i].riskSourceIndex = i + 1
+              }
                 let res = await assessApplyApi().updateRiskReport(data);
                 if(res.data.code === 100){
                     emit('refresh')
@@ -410,7 +441,7 @@
           realName: ''
         }
     });
-    if(res.data.code === 200){
+    if(res.data.code === 100){
         reportDialogState.systemPersonList = JSON.parse(JSON.stringify(res.data.data));
     }else{
         ElMessage({
@@ -558,7 +589,22 @@
 .m-color {
     color: #0c4995;
 }
-
+.tag-style{
+    width: 58px;
+    margin-left: 20px;
+}
+.tag-bg1 {
+    background: rgba(255,0,0,0.65);
+}
+.tag-bg2 {
+    background: rgba(248,82,8,0.65);
+}
+.tag-bg3 {
+    background: rgba(247,255,0,0.65);
+}
+.tag-bg4 {
+    background: rgba(0,112,192,0.65);
+}
 .roomSelect{
   ::v-deep(.el-popper){
     .el-select-dropdown__item{
@@ -604,6 +650,9 @@
     display: flex;
     justify-content: center;
 }
+:deep(.el-tag){
+    border: none;
+}
 
 
 </style>

--
Gitblit v1.9.2