From eedeb222db67c9aa5721d352807f5126e6777136 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期三, 18 五月 2022 19:06:19 +0800
Subject: [PATCH] 计算分数fix

---
 src/views/safetyproduction/gojudging.vue |   46 ++++++++++++++++++++++-
 src/views/safetyproduction/feature.vue   |   17 +++++++-
 2 files changed, 58 insertions(+), 5 deletions(-)

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..1a684b9 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,11 @@
   height: 850px;
   overflow-y: overlay;
 }
+.point {
+    font-size: 20px;
+    padding: 10px 0px;
+    font-weight: bold;
+}
 .title {
   font-size: 16px;
   padding: 10px 0px;

--
Gitblit v1.9.2