From 27d6c869e1fac29b6e267f1ccfb1373658bbdffa Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期四, 19 五月 2022 17:42:28 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/ztqt

---
 src/views/safetyproduction/gojudging.vue                            |   47 ++++++++++++++++++++++-
 src/views/safetyproduction/feature.vue                              |   17 +++++++-
 src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue |   24 ++++++++++--
 src/router/index.js                                                 |    2 
 4 files changed, 80 insertions(+), 10 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index fdc1711..0b0ea4e 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -159,7 +159,7 @@
     {
         id: 124,
         parentId: 0,
-        path: '/accidentHidden',
+        path: '/sgyhpczl',
         component: Layout,
         name: '事故隐患排查治理',
         meta: { title: '事故隐患排查治理', icon: 'el-icon-facilities' },
diff --git a/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue b/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue
index 6254c68..a1749f7 100644
--- a/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue
@@ -82,22 +82,22 @@
         <el-dialog :title="title" :visible.sync="analyseUnitVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
             <el-form ref="analyseUnitForm" :rules="analyseUnitFormRules" :model="analyseUnitForm" label-position="right" label-width="165px">
                 <el-form-item label="责任部门" prop="hazardDep">
-                    <el-select v-model="analyseUnitForm.hazardDep" class="analyseUnit_input">
+                    <el-select v-model="analyseUnitForm.hazardDep" value-key="item" class="analyseUnit_input" @change="departmentChange" @clear="departmentClear">
                         <el-option
                         v-for="item in departmentList"
                         :key="item.id"
-                        :value="item.department"
+                        :value="item"
                         :label="item.department"
                         ></el-option>
                     </el-select>
                 </el-form-item>
                 <el-form-item label="责任人" prop="hazardLiablePerson">
-                    <el-select v-model="analyseUnitForm.hazardLiablePerson" class="analyseUnit_input">
+                    <el-select v-model="analyseUnitForm.hazardLiablePerson" value-key="item" class="analyseUnit_input"@change="personChange" @clear="personClear" >
                         <el-option
                             v-for="item in userList"
                             :key="item.id"
                             :label="item.realname"
-                            :value="item.realname"
+                            :value="item"
                         ></el-option>
                     </el-select>
                 </el-form-item>
@@ -321,6 +321,22 @@
                     })
                 })
             },
+            personChange(val){
+                this.analyseUnitForm.hazardLiablePerson = val.realname
+                this.analyseUnitForm.hazardLiablePersonId = val.id
+            },
+            departmentChange(val){
+                this.analyseUnitForm.hazardDep = val.department
+                this.analyseUnitForm.hazardDepId = val.id
+            },
+            personClear(){
+                this.analyseUnitForm.hazardLiablePerson = null
+                this.analyseUnitForm.hazardLiablePersonId = null
+            },
+            departmentClear(){
+                this.analyseUnitForm.hazardDep = null
+                this.analyseUnitForm.hazardDepId = null
+            },
             refreshHandle(){
                 this.getAnalyseUnitData()
             },
diff --git a/src/views/safetyproduction/feature.vue b/src/views/safetyproduction/feature.vue
index 09b4b5b..93a0d3a 100644
--- a/src/views/safetyproduction/feature.vue
+++ b/src/views/safetyproduction/feature.vue
@@ -57,6 +57,8 @@
       </el-table-column>
          <el-table-column label="得分" prop="point" align="center">
       </el-table-column>
+        <el-table-column label="权重" prop="weight" align="center">
+        </el-table-column>
       <el-table-column prop="remark" label="备注" align="center">
       </el-table-column>
       <el-table-column prop="createTime" label="创建时间" align="center">
@@ -126,7 +128,15 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row v-if="form.type==0?false:true">
+          <el-row v-if="form.type==0 && form.type!=null">
+              <el-col :span="11" >
+                  <el-form-item  label="权重" prop="weight">
+                      <el-input v-model="form.weight"></el-input>
+                  </el-form-item>
+              </el-col>
+          </el-row>
+
+        <el-row v-if="form.type==1 && form.type!=null">
           <el-col :span="11">
             <el-form-item  label="父要素" prop="parentId">
               <el-select
@@ -184,7 +194,6 @@
       title: "",
       form: {
         name: "",
-        type: "",
         parentId: "",
         point:"",
         remark: "",
@@ -224,6 +233,9 @@
           point: [
           { required: true, message: "得分不能为空", trigger: "change" },
         ],
+          weight: [
+          { required: true, message: "权重不能为空", trigger: "change" },
+        ],
       },
     };
   },
@@ -259,7 +271,6 @@
         this.title = "新增";
         this.form = {
           name: "",
-          type: "",
           parentId: "",
           remark: "",
         };
diff --git a/src/views/safetyproduction/gojudging.vue b/src/views/safetyproduction/gojudging.vue
index 67f708e..55b365f 100644
--- a/src/views/safetyproduction/gojudging.vue
+++ b/src/views/safetyproduction/gojudging.vue
@@ -6,8 +6,11 @@
         class="btn"
         v-if="typeId == 2 ? false : true"
         @click="finish()"
-        >结单</el-button
-      >
+        >结单</el-button>
+        <div class="point">
+            所有A级要素总分= {{remark}}
+        </div>
+
       <div
         v-for="(item, index) in lists"
         :key="index"
@@ -150,6 +153,7 @@
       lists: [],
       listType: [],
       typeId: "",
+      remark:"",
     };
   },
   created() {
@@ -209,9 +213,40 @@
         var arr = this.checkSameDataA(this.list.itemList);
         for (var i = 0; i < arr.length; i++) {
           arr[i].child = this.checkSameData(arr[i].child);
+          arr[i].elementAWeight = arr[i].child[0].elementAWeight;
           arr[i].child.points = arr[i].child.point;
         }
         this.lists = arr;
+        let showDetail = ''
+        for (let i = 0 ; i < arr.length ; i++){
+            if (i < arr.length - 1 ){
+                showDetail+='('+arr[i].elementAName + ' * '+arr[i].elementAWeight+ ') + '
+            } else{
+                showDetail+='('+arr[i].elementAName + ' * '+arr[i].elementAWeight+ ')'
+            }
+        }
+        this.remark+=showDetail
+          if (this.typeId==2){
+              let pointA = ''
+              let pointDetail = ' = '
+              let finalPoint=0
+              for (let i = 0 ; i < arr.length ; i++){
+                  let childData = arr[i].child
+                  pointA = 0
+                  for (let j = 0 ; j < childData.length ; j++){
+                      //改A级要素的总分
+                      pointA += childData[j].point
+                  }
+                  finalPoint += pointA * arr[i].elementAWeight
+                  if (i < arr.length - 1 ){
+                      pointDetail +='('+pointA + ' * '+arr[i].elementAWeight+ ') + '
+                  } else{
+                      pointDetail +='('+pointA + ' * '+arr[i].elementAWeight+ ') = '
+                  }
+              }
+              pointDetail +=finalPoint
+              this.remark+=pointDetail
+          }
       });
     },
     checkSameDataA(resData) {
@@ -221,6 +256,7 @@
         if (!dataInfo[elementAName]) {
           dataInfo[elementAName] = {
             elementAName,
+            elementAWeight:'',
             child: [],
           };
         }
@@ -237,6 +273,7 @@
           dataInfo[elementBName] = {
             elementBName,
             point: "",
+            elementAWeight:item.elementAWeight,
             points: item.point,
             child: [],
           };
@@ -295,6 +332,12 @@
   height: 850px;
   overflow-y: overlay;
 }
+.point {
+    background-color: rgba(3,78,162,0.1);
+    font-size: 20px;
+    padding: 10px 5px;
+    font-weight: bold;
+}
 .title {
   font-size: 16px;
   padding: 10px 0px;

--
Gitblit v1.9.2