From d0d78b9fbe144326f136ee048bb59d314413032e Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 27 五月 2025 08:45:29 +0800
Subject: [PATCH] 修改导出

---
 src/views/analyse/evaluate/components/evaluateDialog.vue | 1146 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 1,018 insertions(+), 128 deletions(-)

diff --git a/src/views/analyse/evaluate/components/evaluateDialog.vue b/src/views/analyse/evaluate/components/evaluateDialog.vue
index 2fb58e0..68ec8ff 100644
--- a/src/views/analyse/evaluate/components/evaluateDialog.vue
+++ b/src/views/analyse/evaluate/components/evaluateDialog.vue
@@ -1,6 +1,6 @@
 <template>
     <div class="system-menu-dialog-container">
-        <el-dialog :title="evaluateDialogState.title" v-model="evaluateDialogState.evaluateDialogVisible" width="600px">
+        <el-dialog :title="evaluateDialogState.title" v-model="evaluateDialogState.evaluateDialogVisible" width="70%">
             <el-form ref="evaluateFormRef" :rules="evaluateDialogState.evaluateFormRules" :model="evaluateDialogState.evaluateForm" size="default" label-width="140px">
                 <el-row :gutter="35">
 <!--                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
@@ -16,126 +16,614 @@
 <!--                            </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="riskLevelValue">
-                            <el-select class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.riskLevelValue" style="width:100%" placeholder="风险等级" clearable>
-                                <el-option v-for="item in evaluateDialogState.riskLevelValueList" :key="item.id" :label="item.name" :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="riskLevel">
-                            <el-select class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.riskLevel" style="width:100%" placeholder="风险级别" clearable>
-                                <el-option v-for="item in evaluateDialogState.riskLevelList" :key="item.id" :label="item.name" :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="riskColor">
-                            <el-select class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.riskColor" style="width:100%" placeholder="风险色" clearable>
-                                <el-option v-for="item in evaluateDialogState.riskColorList" :key="item.id" :label="item.name" :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="manageLevel">
-                            <el-select class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.manageLevel" style="width:100%" placeholder="管理层级" clearable>
-                                <el-option v-for="item in evaluateDialogState.manageLevelList" :key="item.id" :label="item.name" :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="identificationMethod">
-                            <el-select class="input-length" :disabled="true" v-model="evaluateDialogState.evaluateMethod" style="width:100%" placeholder="评价方法" clearable>
-                                <el-option v-for="item in evaluateDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
-                            </el-select>
-                        </el-form-item>
-                    </el-col>
 
-
-                    <div style="width: 100%" v-if="evaluateDialogState.evaluateMethod === 1">
+                    <div class="evaluateCard">
+                      <div class="cardTit">
+                        <span v-if="evaluateDialogState.evaluateForm.identificationMethod === 1">PHA辨识法</span>
+                        <span v-if="evaluateDialogState.evaluateForm.identificationMethod === 2">JHA辨识法</span>
+                        <span v-if="evaluateDialogState.evaluateForm.identificationMethod === 3">SCL辨识法</span>
+                        <span v-if="evaluateDialogState.evaluateForm.identificationMethod === 4">HAZOP辨识法</span>
+                        <span v-if="evaluateDialogState.evaluateForm.identificationMethod === 5">类比辨识法</span>
+                      </div>
+                      <div v-if="evaluateDialogState.evaluateForm.identificationMethod === 1">
                         <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-                            <el-form-item label="LEC_L" prop="lecL">
-                                <el-input type="number" class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.lecL" placeholder="LEC_L" clearable></el-input>
-                            </el-form-item>
+                          <el-form-item label="检查项目">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.phaCheckItem" placeholder="检查项目" clearable></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="LEC_E" prop="lecE">
-                                <el-input type="number" class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.lecE" placeholder="LEC_E" clearable></el-input>
-                            </el-form-item>
+                          <el-form-item label="存在风险因素">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.phaRiskFactor" placeholder="存在风险因素" clearable></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="LEC_C" prop="lecC">
-                                <el-input type="number" class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.lecC" placeholder="LEC_C" clearable></el-input>
-                            </el-form-item>
+                          <el-form-item label="可能产生的后果">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.phaResult" placeholder="可能产生的后果" clearable></el-input>
+                          </el-form-item>
                         </el-col>
+                      </div>
+                      <div v-if="evaluateDialogState.evaluateForm.identificationMethod === 2">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="作业步骤">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.jhaCheckItem" placeholder="作业步骤" clearable></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="危险源或潜在事件">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.jhaRiskFactor" placeholder="危险源或潜在事件" clearable></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="可能产生的后果">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.jhaResult" placeholder="可能产生的后果" clearable></el-input>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                      <div v-if="evaluateDialogState.evaluateForm.identificationMethod === 3">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="检查项目">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.sclCheckItem" placeholder="检查项目" clearable></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="检查标准">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.sclCheckStandard" placeholder="检查标准" clearable></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="不符合标准情况">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.sclCheckUnstandard" placeholder="不符合标准情况" clearable></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="主要后果">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.sclCheckResult" placeholder="主要后果" clearable></el-input>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                      <div v-if="evaluateDialogState.evaluateForm.identificationMethod === 4">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="节点">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.hazopNode" placeholder="HAZOP_节点" clearable></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="参数">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.hazopParam" placeholder="HAZOP_参数" clearable></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="参数描述">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.hazopParamDesc" placeholder="HAZOP_参数描述" clearable></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="引导词">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.hazopGuide" placeholder="HAZOP_引导词" clearable></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="偏差">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.hazopDeviation" placeholder="HAZOP_偏差" clearable></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="可能原因">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.hazopPossibleCauses" placeholder="HAZOP_可能原因" clearable></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="主要后果">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.hazopResult" placeholder="HAZOP_主要后果" clearable></el-input>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                      <div v-if="evaluateDialogState.evaluateForm.identificationMethod === 5">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="检查项目" prop="analogyCheckItem">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.analogyCheckItem" placeholder="检查项目" clearable></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="analogyReference">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.analogyReference" placeholder="类比参照" clearable></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="analogyRiskFactor">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.analogyRiskFactor" placeholder="存在风险因素" clearable></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="analogyResult">
+                            <el-input class="input-length" disabled v-model="evaluateDialogState.evaluateInfo.analogyResult" placeholder="可能产生的后果" clearable></el-input>
+                          </el-form-item>
+                        </el-col>
+                      </div>
                     </div>
 
-                    <div style="width: 100%" v-if="evaluateDialogState.evaluateMethod === 2">
+                    <el-col style="display: flex;align-items: center" :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                      <el-form-item label="评价方法" style="width: 80% !important;">
+                        <el-select class="input-length" disabled v-model="evaluateDialogState.evaluateForm.evaluateMethod" style="width:100%" placeholder="评价方法" clearable>
+                          <el-option v-for="item in evaluateDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                        </el-select>
+                      </el-form-item>
+                      <el-button :disabled="evaluateDialogState.disabled" size="default" type="primary" @click="openChangeMethod()">修改评价方法</el-button>
+                    </el-col>
+
+                    <div class="evaluateCard">
+                      <div class="cardTit">
+                        <span>固有风险评分</span>
+                      </div>
+                      <div class="valueSelect" v-if="evaluateDialogState.evaluateMethod === 1">
                         <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-                            <el-form-item label="LS_L" prop="lsL">
-                                <el-input type="number" class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.lsL" placeholder="LS_L    " clearable></el-input>
-                            </el-form-item>
+                          <el-form-item label="LEC_L" prop="originalLecL">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.originalLecL" @change="calcOriginScore('lec')" style="width:100%" placeholder="LEC_L的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listLecL" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </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="LS_S" prop="lsS">
-                                <el-input type="number" class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.lsS" placeholder="LS_S" clearable></el-input>
-                            </el-form-item>
+                          <el-form-item label="LEC_E" prop="originalLecE">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.originalLecE" @change="calcOriginScore('lec')" style="width:100%" placeholder="LEC_E的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listLecE" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </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="LEC_C" prop="originalLecC">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.originalLecC" @change="calcOriginScore('lec')" style="width:100%" placeholder="LEC_C的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listLecC" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div class="longTit"><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div class="longTit"><div>人员伤亡:</div><span>{{item.person}}</span></div>
+                                  <div class="longTit"><div>直接经济损失:</div><span>{{item.money}}</span></div>
+                                  <div class="longTit"><div>停工情况:</div><span>{{item.stopWork}}</span></div>
+                                  <div class="longTit"><div>企业形象:</div><span>{{item.company}}</span></div>
+                                  <div class="longTit"><div>法律,法规及其它要求:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                      <div class="valueSelect" v-if="evaluateDialogState.evaluateMethod === 2">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="LS_L" prop="originalLsL">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.originalLsL" @change="calcOriginScore('ls')" style="width:100%" placeholder="LS_L的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listLsL" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </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="LS_S" prop="originalLsS">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.originalLsS" @change="calcOriginScore('ls')" style="width:100%" placeholder="LS_S的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listLsS" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div class="longTit"><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div class="longTit"><div>人员伤亡:</div><span>{{item.person}}</span></div>
+                                  <div class="longTit"><div>直接经济损失:</div><span>{{item.money}}</span></div>
+                                  <div class="longTit"><div>停工情况:</div><span>{{item.stopWork}}</span></div>
+                                  <div class="longTit"><div>企业形象:</div><span>{{item.company}}</span></div>
+                                  <div class="longTit"><div>法律,法规及其它要求:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                      <div class="valueSelect" v-if="evaluateDialogState.evaluateMethod === 3">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="MES_M" prop="originalMesM">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.originalMesM" @change="calcOriginScore('mes')" style="width:100%" placeholder="MES_M的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listMesM" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </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="MES_E" prop="originalMesE">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.originalMesE" @change="calcOriginScore('mes')" style="width:100%" placeholder="MES_E的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listMesE" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>e1标准:</div><span>{{item.e1Desc}}</span></div>
+                                  <div><div>e2标准:</div><span>{{item.e2Desc}}</span></div>
+                                </div>
+                              </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="MES_S" prop="originalMesS">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.originalMesS" @change="calcOriginScore('mes')" style="width:100%" placeholder="MES_S的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listMesS" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div class="longTit"><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div class="longTit"><div>人员伤亡:</div><span>{{item.person}}</span></div>
+                                  <div class="longTit"><div>直接经济损失:</div><span>{{item.money}}</span></div>
+                                  <div class="longTit"><div>停工情况:</div><span>{{item.stopWork}}</span></div>
+                                  <div class="longTit"><div>法律,法规及其它要求:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                      <div class="valueSelect" v-if="evaluateDialogState.evaluateMethod === 4">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="RS_R" prop="originalRsR">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.originalRsR" @change="calcOriginScore('rs')" style="width:100%" placeholder="RS_R的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listRsR" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div class="longTit"><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div class="longTit"><div>区间,定量描述:</div><span>{{item.section}}</span></div>
+                                  <div class="longTit"><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </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="RS_S" prop="originalRsS">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.originalRsS" @change="calcOriginScore('rs')" style="width:100%" placeholder="RS_S的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listRsS" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>人员伤亡:</div><span>{{item.person}}</span></div>
+                                  <div><div>直接经济损失:</div><span>{{item.money}}</span></div>
+                                  <div><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                      </div>
                     </div>
 
-                    <div style="width: 100%" v-if="evaluateDialogState.evaluateMethod === 3">
+                    <div class="evaluateCard">
+                      <div class="cardTit">
+                        <span>固有风险分值</span>
+                      </div>
+                      <div>
                         <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-                            <el-form-item label="MES_M" prop="mesM">
-                                <el-input type="number" class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.mesM" placeholder="MES_M" clearable></el-input>
-                            </el-form-item>
+                          <el-form-item label="风险值" prop="originalRiskValue">
+                            <el-input type="number" class="input-length" disabled v-model="evaluateDialogState.evaluateForm.originalRiskValue" placeholder="风险数值" clearable></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="MES_E" prop="mesE">
-                                <el-input type="number" class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.mesE" placeholder="MES_E" clearable></el-input>
-                            </el-form-item>
+                          <el-form-item label="风险等级值" prop="originalRiskLevelValue">
+                            <el-select class="input-length" disabled v-model="evaluateDialogState.evaluateForm.originalRiskLevelValue" style="width:100%" placeholder="风险等级值" clearable>
+                              <el-option v-for="item in evaluateDialogState.riskLevelValueList" :key="item.id" :label="item.name" :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="MES_S" prop="mesS">
-                                <el-input type="number" class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.mesS" placeholder="MES_S" clearable></el-input>
-                            </el-form-item>
+                          <el-form-item label="风险级别" prop="originalRiskLevel">
+                            <el-select class="input-length" disabled v-model="evaluateDialogState.evaluateForm.originalRiskLevel" style="width:100%" placeholder="风险级别" clearable>
+                              <el-option v-for="item in evaluateDialogState.riskLevelList" :key="item.id" :label="item.name" :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="originalRiskColor">
+                            <el-select class="input-length" disabled v-model="evaluateDialogState.evaluateForm.originalRiskColor" style="width:100%" placeholder="风险色" clearable>
+                              <el-option v-for="item in evaluateDialogState.riskColorList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                      </div>
                     </div>
 
-                    <div style="width: 100%" v-if="evaluateDialogState.evaluateMethod === 4">
+                    <div class="evaluateCard">
+                      <div class="cardTit">
+                        <span>现有措施</span>
+                      </div>
+                      <div>
                         <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-                            <el-form-item label="RS_R" prop="rsR">
-                                <el-input type="number" class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.rsR" placeholder="RS_R" clearable></el-input>
-                            </el-form-item>
+                          <el-form-item label="技术措施" prop="technologyMeasure">
+                            <el-input type="textarea" class="input-length" :autosize="{ minRows:1 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.technologyMeasure" placeholder="技术措施" clearable></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="RS_S" prop="rsS">
-                                <el-input type="number" class="input-length" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.rsS" placeholder="RS_S" clearable></el-input>
-                            </el-form-item>
+                          <el-form-item label="管理措施" prop="manageMeasure">
+                            <el-input type="textarea" class="input-length" :autosize="{ minRows:1 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.manageMeasure" placeholder="管理措施" clearable></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="educationMeasure">
+                            <el-input type="textarea" class="input-length" :autosize="{ minRows:1 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.educationMeasure" placeholder="教育措施" clearable></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="personalProtectionMeasure">
+                            <el-input type="textarea" class="input-length" :autosize="{ minRows:1 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.personalProtectionMeasure" placeholder="个体防护措施" clearable></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="emergencyMeasure">
+                            <el-input type="textarea" class="input-length" :autosize="{ minRows:1 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.emergencyMeasure" placeholder="应急措施" clearable></el-input>
+                          </el-form-item>
+                        </el-col>
+                      </div>
                     </div>
-                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-                        <el-form-item label="风险数值" prop="rsS">
-                            <el-input type="number" class="input-length" :disabled="true" v-model="numValue" placeholder="风险数值" clearable></el-input>
-                        </el-form-item>
+
+                    <div class="evaluateCard">
+                      <div class="cardTit">
+                        <span>现有风险评分</span>
+                      </div>
+                      <div class="valueSelect" v-if="evaluateDialogState.evaluateMethod === 1">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="LEC_L" prop="lecL">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.lecL" @change="calcScore('lec')" style="width:100%" placeholder="LEC_L的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listLecL" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </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="LEC_E" prop="lecE">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.lecE" @change="calcScore('lec')" style="width:100%" placeholder="LEC_E的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listLecE" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </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="LEC_C" prop="lecC">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.lecC" @change="calcScore('lec')" style="width:100%" placeholder="LEC_C的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listLecC" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div class="longTit"><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div class="longTit"><div>人员伤亡:</div><span>{{item.person}}</span></div>
+                                  <div class="longTit"><div>直接经济损失:</div><span>{{item.money}}</span></div>
+                                  <div class="longTit"><div>停工情况:</div><span>{{item.stopWork}}</span></div>
+                                  <div class="longTit"><div>企业形象:</div><span>{{item.company}}</span></div>
+                                  <div class="longTit"><div>法律,法规及其它要求:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                      <div class="valueSelect" v-if="evaluateDialogState.evaluateMethod === 2">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="LS_L" prop="lsL">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.lsL" @change="calcScore('ls')" style="width:100%" placeholder="LS_L的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listLsL" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </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="LS_S" prop="lsS">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.lsS" @change="calcScore('ls')" style="width:100%" placeholder="LS_S的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listLsS" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div class="longTit"><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div class="longTit"><div>人员伤亡:</div><span>{{item.person}}</span></div>
+                                  <div class="longTit"><div>直接经济损失:</div><span>{{item.money}}</span></div>
+                                  <div class="longTit"><div>停工情况:</div><span>{{item.stopWork}}</span></div>
+                                  <div class="longTit"><div>企业形象:</div><span>{{item.company}}</span></div>
+                                  <div class="longTit"><div>法律,法规及其它要求:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                      <div class="valueSelect" v-if="evaluateDialogState.evaluateMethod === 3">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="MES_M" prop="mesM">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.mesM" @change="calcScore('mes')" style="width:100%" placeholder="MES_M的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listMesM" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </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="MES_E" prop="mesE">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.mesE" @change="calcScore('mes')" style="width:100%" placeholder="MES_E的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listMesE" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>e1标准:</div><span>{{item.e1Desc}}</span></div>
+                                  <div><div>e2标准:</div><span>{{item.e2Desc}}</span></div>
+                                </div>
+                              </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="MES_S" prop="mesS">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.mesS" @change="calcScore('mes')" style="width:100%" placeholder="MES_S的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listMesS" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div class="longTit"><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div class="longTit"><div>人员伤亡:</div><span>{{item.person}}</span></div>
+                                  <div class="longTit"><div>直接经济损失:</div><span>{{item.money}}</span></div>
+                                  <div class="longTit"><div>停工情况:</div><span>{{item.stopWork}}</span></div>
+                                  <div class="longTit"><div>法律,法规及其它要求:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                      <div class="valueSelect" v-if="evaluateDialogState.evaluateMethod === 4">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="RS_R" prop="rsR">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.rsR" @change="calcScore('rs')" style="width:100%" placeholder="RS_R的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listRsR" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div class="longTit"><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div class="longTit"><div>区间,定量描述:</div><span>{{item.section}}</span></div>
+                                  <div class="longTit"><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </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="RS_S" prop="rsS">
+                            <el-select class="input-length" :teleported="false" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.rsS" @change="calcScore('rs')" style="width:100%" placeholder="RS_S的数值" clearable>
+                              <el-option v-for="item in evaluateDialogState.listRsS" :key="item.value" :label="item.value" :value="item.value">
+                                <div class="valueTable">
+                                  <div><div>分值:</div><span>{{item.value}}</span></div>
+                                  <div><div>人员伤亡:</div><span>{{item.person}}</span></div>
+                                  <div><div>直接经济损失:</div><span>{{item.money}}</span></div>
+                                  <div><div>标准:</div><span>{{item.desc}}</span></div>
+                                </div>
+                              </el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                    </div>
+
+                    <div class="evaluateCard">
+                      <div class="cardTit">
+                        <span>现有风险分值</span>
+                      </div>
+                      <div>
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="风险值" prop="riskValue">
+                            <el-input type="number" class="input-length" disabled v-model="evaluateDialogState.evaluateForm.riskValue" placeholder="风险数值" clearable></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="riskLevelValue">
+                            <el-select class="input-length" disabled v-model="evaluateDialogState.evaluateForm.riskLevelValue" style="width:100%" placeholder="风险等级值" clearable>
+                              <el-option v-for="item in evaluateDialogState.riskLevelValueList" :key="item.id" :label="item.name" :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="riskLevel">
+                            <el-select class="input-length" disabled v-model="evaluateDialogState.evaluateForm.riskLevel" style="width:100%" placeholder="风险级别" clearable>
+                              <el-option v-for="item in evaluateDialogState.riskLevelList" :key="item.id" :label="item.name" :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="riskColor">
+                            <el-select class="input-length" disabled v-model="evaluateDialogState.evaluateForm.riskColor" style="width:100%" placeholder="风险色" clearable>
+                              <el-option v-for="item in evaluateDialogState.riskColorList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                    </div>
+
+                    <div class="evaluateCard">
+                      <div class="cardTit">
+                        <span>建议措施</span>
+                      </div>
+                      <div>
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                          <el-form-item label="技术措施" prop="adviseTechnologyMeasure">
+                            <el-input type="textarea" class="input-length" :autosize="{ minRows:1 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.adviseTechnologyMeasure" placeholder="技术措施" clearable></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="adviseManageMeasure">
+                            <el-input type="textarea" class="input-length" :autosize="{ minRows:1 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.adviseManageMeasure" placeholder="管理措施" clearable></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="adviseEducationMeasure">
+                            <el-input type="textarea" class="input-length" :autosize="{ minRows:1 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.adviseEducationMeasure" placeholder="教育措施" clearable></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="advisePersonalProtectionMeasure">
+                            <el-input type="textarea" class="input-length" :autosize="{ minRows:1 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.advisePersonalProtectionMeasure" placeholder="个体防护措施" clearable></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="adviseEmergencyMeasure">
+                            <el-input type="textarea" class="input-length" :autosize="{ minRows:1 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.adviseEmergencyMeasure" placeholder="应急措施" clearable></el-input>
+                          </el-form-item>
+                        </el-col>
+                      </div>
+                    </div>
+
+                    <el-col style="display: flex;align-items: center" :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                      <el-form-item label="评价专家意见" prop="evaluateDesc" style="width: 100% !important;">
+                        <el-input type="textarea" class="input-length" :autosize="{ minRows:2 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.evaluateDesc" placeholder="评价专家意见" clearable></el-input>
+                      </el-form-item>
+                    </el-col>
+                    <el-col style="display: flex;align-items: center" :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                      <el-form-item label="安全风险分析" prop="evaluateDesc" style="width: 100% !important;">
+                        <el-input type="textarea" class="input-length" :autosize="{ minRows:2 }" :disabled="evaluateDialogState.disabled" v-model="evaluateDialogState.evaluateForm.safeRiskAnalysis" placeholder="安全风险分析" clearable></el-input>
+                      </el-form-item>
                     </el-col>
                 </el-row>
             </el-form>
+            <el-dialog title="修改评价方法" v-model="evaluateDialogState.evaluateMethodVisible" width="30%">
+              <el-select class="input-length" v-model="evaluateDialogState.evaluateForm.evaluateMethod" style="width:100%" placeholder="评价方法" clearable>
+                <el-option v-for="item in evaluateDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+              </el-select>
+              <template #footer>
+              <span class="Query-footer">
+                <el-button @click="evaluateDialogState.evaluateMethodVisible = false" size="default">取 消</el-button>
+                <el-button type="primary" @click="conFirmChange()" size="default">确定</el-button>
+              </span>
+              </template>
+            </el-dialog>
             <template #footer>
-				<span class="dialog-footer">
-					<el-button @click="evaluateDialogState.evaluateDialogVisible = !evaluateDialogState.evaluateDialogVisible" size="default">取 消</el-button>
-					<el-button v-if="!evaluateDialogState.disabled" type="primary" @click="onSubmitEvaluate" size="default">确定</el-button>
-				</span>
+              <span class="dialog-footer">
+                <el-button @click="evaluateDialogState.evaluateDialogVisible = !evaluateDialogState.evaluateDialogVisible" size="default">取 消</el-button>
+                <el-button v-if="!evaluateDialogState.disabled" type="primary" @click="onSubmitEvaluate" size="default">提交</el-button>
+              </span>
             </template>
         </el-dialog>
     </div>
 </template>
 
 <script setup lang="ts">
-import {computed, reactive, ref} from "vue";
+import {computed, onMounted, reactive, ref} from "vue";
 import {ElMessage} from "element-plus";
 import {evaluateApi} from "/@/api/analyse/evaluate";
 import {isValidKey, numFloat} from "/@/utils/methods";
+import { BigNumber } from 'bignumber.js';
+import {identifyApi} from "/@/api/analyse/identify";
+import {ElMessageBox} from "element-plus/es";
 
 const evaluateFormRef = ref()
 
@@ -144,15 +632,51 @@
     time:[],
     disabled: false,
     evaluateDialogVisible: false,
-    evaluateMethod: 1,
+    evaluateMethodVisible:false,
+    evaluateMethod: null,
+    evaluateInfo: {
+      id: null,
+      identificationMethod: null,
+      result: null,
+      identificationDesc: '',
+      analogyCheckItem: '',
+      analogyRiskFactor: '',
+      analogyResult: '',
+      analogyReference: '',
+      hazopNode: '',
+      hazopParam: '',
+      hazopParamDesc: '',
+      hazopGuide: '',
+      hazopDeviation: '',
+      hazopPossibleCauses: '',
+      hazopResult: '',
+      jhaCheckItem: '',
+      jhaRiskFactor: '',
+      jhaResult: '',
+      phaCheckItem: '',
+      phaRiskFactor: '',
+      phaResult: '',
+      sclCheckItem: '',
+      sclCheckStandard: '',
+      sclCheckUnstandard: '',
+      sclCheckResult: '',
+      hazopId: null,
+      jhaId: null,
+      phaId: null,
+      sclId: null,
+      analogyId: null
+    },
     evaluateForm: {
         id: null,
+        evaluateMethod: null,
+        identificationMethod: null,
         identificationId: null,
+        manageLevel: 1,
+        originalManageLevel: 1,
         riskValue: null,
         riskLevelValue: null,
         riskLevel: null,
         riskColor: null,
-        manageLevel: null,
         lecL: null,
         lecE: null,
         lecC: null,
@@ -167,10 +691,46 @@
         lsId: null,
         mesId: null,
         rsId: null,
+        originalLecL: null,
+        originalLecE: null,
+        originalLecC: null,
+        originalLsL: null,
+        originalLsS: null,
+        originalMesM: null,
+        originalMesE: null,
+        originalMesS: null,
+        originalRsR: null,
+        originalRsS: null,
+        originalRiskValue: null,
+        originalRiskLevelValue: null,
+        originalRiskLevel: null,
+        originalRiskColor: null,
+        technologyMeasure: '',
+        manageMeasure: '',
+        educationMeasure: '',
+        personalProtectionMeasure: '',
+        emergencyMeasure: '',
+        adviseTechnologyMeasure: '',
+        adviseManageMeasure: '',
+        adviseEducationMeasure: '',
+        advisePersonalProtectionMeasure: '',
+        adviseEmergencyMeasure: '',
+        evaluateDesc: '',
+        safeRiskAnalysis: ''
     },
     evaluateFormRules: {
 
     },
+    listLecL: [],
+    listLecE: [],
+    listLecC: [],
+    listLsL:[],
+    listLsS:[],
+    listRsR:[],
+    listRsS:[],
+    listMesM:[],
+    listMesE:[],
+    listMesS:[],
     manageLevelList: [
         {id:1, name: '院所级'},
         {id:2, name: '部门级'},
@@ -206,79 +766,166 @@
         {id:1, name: 'LEC'},
         {id:2, name: 'LS'},
         {id:3, name: 'MES'},
-        {id:4, name: 'RS'},
+        // {id:4, name: 'RS'},
     ]
 })
 
-const numValue = computed( () => {
+const numOriginValue = computed( () => {
     return numFloat(
-        evaluateDialogState.evaluateForm.lecE,
-        evaluateDialogState.evaluateForm.lecL,
-        evaluateDialogState.evaluateForm.lecC,
-        evaluateDialogState.evaluateForm.mesE,
-        evaluateDialogState.evaluateForm.mesM,
-        evaluateDialogState.evaluateForm.mesS,
-        evaluateDialogState.evaluateForm.rsS,
-        evaluateDialogState.evaluateForm.rsR,
-        evaluateDialogState.evaluateForm.lsS,
-        evaluateDialogState.evaluateForm.lsL)
+        evaluateDialogState.evaluateForm.originalLecL,
+        evaluateDialogState.evaluateForm.originalLecE,
+        evaluateDialogState.evaluateForm.originalLecC,
+        evaluateDialogState.evaluateForm.originalLsL,
+        evaluateDialogState.evaluateForm.originalLsS,
+        evaluateDialogState.evaluateForm.originalMesM,
+        evaluateDialogState.evaluateForm.originalMesE,
+        evaluateDialogState.evaluateForm.originalMesS,
+        evaluateDialogState.evaluateForm.originalRsR,
+        evaluateDialogState.evaluateForm.originalRsS
+    )
 })
 
-const showEvaluateDialog = (title: string, value: EvaluateType ) => {
+const numValue = computed( () => {
+  return numFloat(
+      evaluateDialogState.evaluateForm.lecL,
+      evaluateDialogState.evaluateForm.lecE,
+      evaluateDialogState.evaluateForm.lecC,
+      evaluateDialogState.evaluateForm.lsL,
+      evaluateDialogState.evaluateForm.lsS,
+      evaluateDialogState.evaluateForm.mesM,
+      evaluateDialogState.evaluateForm.mesE,
+      evaluateDialogState.evaluateForm.mesS,
+      evaluateDialogState.evaluateForm.rsR,
+      evaluateDialogState.evaluateForm.rsS
+  )
+})
+
+const showEvaluateDialog = (title: string, value: IdentifyType ) => {
     evaluateDialogState.evaluateDialogVisible = true;
     evaluateDialogState.disabled = false
     evaluateDialogState.evaluateMethod = value.evaluateMethod as number
+    evaluateDialogState.evaluateInfo = value
     setTimeout(() => {
         evaluateFormRef.value.clearValidate();
     });
-    if( value.lecId || value.lsId || value.mesId || value.rsId){
+    if( title === '评价'){
+      if(value.riskValue){
         evaluateDialogState.title = '编辑评价';
         for(let i in evaluateDialogState.evaluateForm){
-            if(isValidKey(i, evaluateDialogState.evaluateForm)){
-                evaluateDialogState.evaluateForm[i] = value[i]
-            }
+          if(isValidKey(i, evaluateDialogState.evaluateForm)){
+            evaluateDialogState.evaluateForm[i] = value[i]
+          }
         }
-    }else if(title === '查看'){
+      }else{
+        evaluateDialogState.title = '评价'
+        evaluateDialogState.evaluateForm = {
+          id: null,
+          evaluateMethod: null,
+          identificationMethod: null,
+          identificationId: null,
+          manageLevel: 1,
+          originalManageLevel: 1,
+          riskValue: null,
+          riskLevelValue: null,
+          riskLevel: null,
+          riskColor: null,
+          lecL: null,
+          lecE: null,
+          lecC: null,
+          lsL: null,
+          lsS: null,
+          mesM: null,
+          mesE: null,
+          mesS: null,
+          rsR: null,
+          rsS: null,
+          lecId: null,
+          lsId: null,
+          mesId: null,
+          rsId: null,
+          originalLecL: null,
+          originalLecE: null,
+          originalLecC: null,
+          originalLsL: null,
+          originalLsS: null,
+          originalMesM: null,
+          originalMesE: null,
+          originalMesS: null,
+          originalRsR: null,
+          originalRsS: null,
+          originalRiskValue: null,
+          originalRiskLevelValue: null,
+          originalRiskLevel: null,
+          originalRiskColor: null,
+          technologyMeasure: '',
+          manageMeasure: '',
+          educationMeasure: '',
+          personalProtectionMeasure: '',
+          emergencyMeasure: '',
+          adviseTechnologyMeasure: '',
+          adviseManageMeasure: '',
+          adviseEducationMeasure: '',
+          advisePersonalProtectionMeasure: '',
+          adviseEmergencyMeasure: '',
+          evaluateDesc: '',
+          safeRiskAnalysis: ''
+        };
+      }
+    }else {
+        evaluateDialogState.title = '查看'
         evaluateDialogState.disabled = true
         for(let i in evaluateDialogState.evaluateForm){
             if(isValidKey(i, evaluateDialogState.evaluateForm)){
                 evaluateDialogState.evaluateForm[i] = value[i]
             }
         }
-    }else{
-        evaluateDialogState.title = '评价';
-        evaluateDialogState.evaluateForm = {
-            id: null,
-            identificationId: null,
-            riskValue: null,
-            riskLevelValue: null,
-            riskLevel: null,
-            riskColor: null,
-            manageLevel: null,
-            lecL: null,
-            lecE: null,
-            lecC: null,
-            lsL: null,
-            lsS: null,
-            mesM: null,
-            mesE: null,
-            mesS: null,
-            rsR: null,
-            rsS: null,
-            lecId: null,
-            lsId: null,
-            mesId: null,
-            rsId: null,
-        };
     }
     evaluateDialogState.evaluateForm.id = value.id as number
+    evaluateDialogState.evaluateForm.evaluateMethod = value.evaluateMethod as number
+    evaluateDialogState.evaluateForm.identificationMethod = value.phaId?1:value.jhaId?2:value.sclId?3:value.hazopId?4:5
     evaluateDialogState.evaluateForm.identificationId = (value.hazopId || value.jhaId || value.phaId || value.sclId || value.analogyId) as number
 };
+
+const openChangeMethod = ()=>{
+  evaluateDialogState.evaluateMethodVisible = true
+}
+
+const conFirmChange = async () =>{
+  ElMessageBox.confirm(`此操作将修改该评价计划的评价方法并清除之前的所有评价信息,是否继续?`, '提示', {
+    confirmButtonText: '确认',
+    cancelButtonText: '取消',
+    type: 'warning'
+  })
+      .then(async () => {
+        let res = await evaluateApi().modEvaluateMethod({
+          id: evaluateDialogState.evaluateForm.id,
+          evaluateMethodId: evaluateDialogState.evaluateForm.evaluateMethod
+        });
+        if(res.data.code === 100){
+          ElMessage({
+            type: 'success',
+            message: '评价方法修改成功'
+          })
+          emit('refresh')
+        }else{
+          ElMessage({
+            type: 'warning',
+            message: res.data.msg
+          })
+        }
+        evaluateDialogState.evaluateMethodVisible = false
+        evaluateDialogState.evaluateMethod = evaluateDialogState.evaluateForm.evaluateMethod
+        evaluateFormRef.value.resetFields();
+        evaluateFormRef.value.clearValidate();
+      })
+      .catch((error) => {
+      });
+}
 
 const onSubmitEvaluate = () => {
     evaluateFormRef.value.validate(async(valid: boolean) => {
         if(valid){
-            evaluateDialogState.evaluateForm.riskValue = Number(numValue.value)
+            // evaluateDialogState.evaluateForm.riskValue = Number(numOriginValue.value)
             if(evaluateDialogState.title === '评价'){
                 let { lecId, lsId, mesId, rsId, ...data} = evaluateDialogState.evaluateForm
                 let res = await evaluateApi().addEvaluate(data);
@@ -287,7 +934,7 @@
                     evaluateDialogState.evaluateDialogVisible = false;
                     ElMessage({
                         type: 'success',
-                        message: '新增成功'
+                        message: '评价成功'
                     })
                 }else{
                     ElMessage({
@@ -320,13 +967,256 @@
     })
 }
 
+const getListLecL = async() =>{
+  let res = await evaluateApi().getListLecL()
+  if(res.data.code === 100){
+    evaluateDialogState.listLecL = res.data.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg,
+    });
+  }
+}
+
+const getListLecE = async() =>{
+  let res = await evaluateApi().getListLecE()
+  if(res.data.code === 100){
+    evaluateDialogState.listLecE = res.data.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg,
+    });
+  }
+}
+
+const getListLecC = async() =>{
+  let res = await evaluateApi().getListLecC()
+  if(res.data.code === 100){
+    evaluateDialogState.listLecC = res.data.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg,
+    });
+  }
+}
+
+const getListLsL = async() =>{
+  let res = await evaluateApi().getListLsL()
+  if(res.data.code === 100){
+    evaluateDialogState.listLsL = res.data.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg,
+    });
+  }
+}
+
+const getListLsS = async() =>{
+  let res = await evaluateApi().getListLsS()
+  if(res.data.code === 100){
+    evaluateDialogState.listLsS = res.data.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg,
+    });
+  }
+}
+
+const getListRsR = async() =>{
+  let res = await evaluateApi().getListRsR()
+  if(res.data.code === 100){
+    evaluateDialogState.listRsR = res.data.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg,
+    });
+  }
+}
+
+const getListRsS = async() =>{
+  let res = await evaluateApi().getListRsS()
+  if(res.data.code === 100){
+    evaluateDialogState.listRsS = res.data.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg,
+    });
+  }
+}
+
+const getListMesM = async() =>{
+  let res = await evaluateApi().getListMesM()
+  if(res.data.code === 100){
+    evaluateDialogState.listMesM = res.data.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg,
+    });
+  }
+}
+const getListMesE = async() =>{
+  let res = await evaluateApi().getListMesE()
+  if(res.data.code === 100){
+    evaluateDialogState.listMesE = res.data.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg,
+    });
+  }
+}
+const getListMesS = async() =>{
+  let res = await evaluateApi().getListMesS()
+  if(res.data.code === 100){
+    evaluateDialogState.listMesS = res.data.data
+  }else{
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg,
+    });
+  }
+}
+
+const calcOriginScore=(i:string)=>{
+  if((i == 'lec' && (evaluateDialogState.evaluateForm.originalLecL && evaluateDialogState.evaluateForm.originalLecE && evaluateDialogState.evaluateForm.originalLecC))||(i == 'ls' && (evaluateDialogState.evaluateForm.originalLsL && evaluateDialogState.evaluateForm.originalLsS))||(i == 'mes' &&(evaluateDialogState.evaluateForm.originalMesM && evaluateDialogState.evaluateForm.originalMesE && evaluateDialogState.evaluateForm.originalMesS))||(i == 'rs' && (evaluateDialogState.evaluateForm.originalRsR && evaluateDialogState.evaluateForm.originalRsS))){
+      evaluateDialogState.evaluateForm.originalRiskValue = Number(numOriginValue.value)
+      if(evaluateDialogState.evaluateForm.originalRiskValue>0 && evaluateDialogState.evaluateForm.originalRiskValue<=70){
+        evaluateDialogState.evaluateForm.originalRiskLevel = 1
+        evaluateDialogState.evaluateForm.originalRiskColor = 1
+        if(evaluateDialogState.evaluateForm.originalRiskValue<=19){
+          evaluateDialogState.evaluateForm.originalRiskLevelValue = 5
+        }else{
+          evaluateDialogState.evaluateForm.originalRiskLevelValue = 4
+        }
+      }else if(evaluateDialogState.evaluateForm.originalRiskValue>70&&evaluateDialogState.evaluateForm.originalRiskValue<=160){
+        evaluateDialogState.evaluateForm.originalRiskLevelValue = 3
+        evaluateDialogState.evaluateForm.originalRiskLevel = 2
+        evaluateDialogState.evaluateForm.originalRiskColor = 2
+      }else if(evaluateDialogState.evaluateForm.originalRiskValue>160&&evaluateDialogState.evaluateForm.originalRiskValue<=320){
+        evaluateDialogState.evaluateForm.originalRiskLevelValue = 2
+        evaluateDialogState.evaluateForm.originalRiskLevel = 3
+        evaluateDialogState.evaluateForm.originalRiskColor = 3
+      }else{
+        evaluateDialogState.evaluateForm.originalRiskLevelValue = 1
+        evaluateDialogState.evaluateForm.originalRiskLevel = 4
+        evaluateDialogState.evaluateForm.originalRiskColor = 4
+      }
+  }
+}
+
+const calcScore=(i:string)=>{
+  if((i == 'lec' && (evaluateDialogState.evaluateForm.lecL && evaluateDialogState.evaluateForm.lecE && evaluateDialogState.evaluateForm.lecC))||(i == 'ls' && (evaluateDialogState.evaluateForm.lsL && evaluateDialogState.evaluateForm.lsS))||(i == 'mes' &&(evaluateDialogState.evaluateForm.mesM && evaluateDialogState.evaluateForm.mesE && evaluateDialogState.evaluateForm.mesS))||(i == 'rs' && (evaluateDialogState.evaluateForm.rsR && evaluateDialogState.evaluateForm.rsS))){
+    evaluateDialogState.evaluateForm.riskValue = Number(numValue.value)
+    if(evaluateDialogState.evaluateForm.riskValue>0 && evaluateDialogState.evaluateForm.riskValue<=70){
+      evaluateDialogState.evaluateForm.riskLevel = 1
+      evaluateDialogState.evaluateForm.riskColor = 1
+      if(evaluateDialogState.evaluateForm.riskValue<=19){
+        evaluateDialogState.evaluateForm.riskLevelValue = 5
+      }else{
+        evaluateDialogState.evaluateForm.riskLevelValue = 4
+      }
+    }else if(evaluateDialogState.evaluateForm.riskValue>70&&evaluateDialogState.evaluateForm.riskValue<=160){
+      evaluateDialogState.evaluateForm.riskLevelValue = 3
+      evaluateDialogState.evaluateForm.riskLevel = 2
+      evaluateDialogState.evaluateForm.riskColor = 2
+    }else if(evaluateDialogState.evaluateForm.riskValue>160&&evaluateDialogState.evaluateForm.riskValue<=320){
+      evaluateDialogState.evaluateForm.originalRiskLevelValue = 2
+      evaluateDialogState.evaluateForm.originalRiskLevel = 3
+      evaluateDialogState.evaluateForm.originalRiskColor = 3
+    }else{
+      evaluateDialogState.evaluateForm.riskLevelValue = 1
+      evaluateDialogState.evaluateForm.riskLevel = 4
+      evaluateDialogState.evaluateForm.riskColor = 4
+    }
+  }
+}
+
 const emit = defineEmits(['refresh']);
+
+onMounted(()=>{
+  getListLecL()
+  getListLecE()
+  getListLecC()
+  getListLsL()
+  getListLsS()
+  getListRsR()
+  getListRsS()
+  getListMesM()
+  getListMesE()
+  getListMesS()
+})
 
 defineExpose({
     showEvaluateDialog
 });
 </script>
 
-<style scoped>
+<style lang="scss" scoped>
+.evaluateCard{
+  width: 100%;
+  margin: 0 40px 20px;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+  background: #fff;
 
+  .cardTit{
+    width: 100%;
+    padding: 10px 20px;
+    background: #f5f5f5;
+    border-bottom: 1px solid #ccc;
+    margin-bottom: 20px;
+  }
+
+  .valueSelect{
+    ::v-deep(.el-popper){
+      .el-select-dropdown__item{
+        width: 100%;
+        height: auto;
+        white-space: normal;
+        word-break: break-all;
+        word-wrap: break-word;
+        overflow: auto;
+        padding: 10px 25px;
+        border-bottom: 1px solid #ccc;
+
+        .valueTable{
+          &>div{
+            line-height: 1.5;
+            margin-bottom: 6px;
+            padding-bottom: 6px;
+            display: flex;
+            align-items: center;
+
+            div{
+              width: 8%;
+            }
+            span{
+              width: 92%;
+            }
+
+            &:last-of-type{
+              margin-bottom: 0;
+            }
+          }
+          .longTit{
+            div{
+              width: 15%;
+            }
+            span{
+              width: 85%;
+            }
+          }
+        }
+      }
+    }
+  }
+}
 </style>

--
Gitblit v1.9.2