From 0bc3f2d0365493eaedf5f088cbc27eb060a8dbc1 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期四, 07 四月 2022 18:34:06 +0800
Subject: [PATCH] 自查

---
 src/views/safetyproduction/gojudging.vue |  208 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 133 insertions(+), 75 deletions(-)

diff --git a/src/views/safetyproduction/gojudging.vue b/src/views/safetyproduction/gojudging.vue
index b7e4a0f..f941b95 100644
--- a/src/views/safetyproduction/gojudging.vue
+++ b/src/views/safetyproduction/gojudging.vue
@@ -1,8 +1,18 @@
 <template>
   <div>
     <div class="box-right">
-      <el-button type="primary" class="btn" @click="finish()">结单</el-button>
-      <div v-for="(item, index) in lists" :key="index" style="padding:0 0 20px 0">
+      <el-button
+        type="primary"
+        class="btn"
+        v-if="typeId == 2 ? false : true"
+        @click="finish()"
+        >结单</el-button
+      >
+      <div
+        v-for="(item, index) in lists"
+        :key="index"
+        style="padding: 0 0 20px 0"
+      >
         <div class="title">
           A级要素:<span>{{ item.elementAName }}</span>
         </div>
@@ -12,14 +22,20 @@
               ><p><span>B级要素:</span>{{ item.elementBName }}</p></el-col
             >
             <el-col :span="6"
-              ><p><span>总分:</span>50</p></el-col
+              ><p><span>总分:</span>{{ item.points }}</p></el-col
             >
-               <el-col :span="6"
-              ><p><span>得分:</span>{{item.point}}</p></el-col>
+            <el-col :span="6"
+              ><p><span>得分:</span>{{ item.point }}</p></el-col
+            >
           </el-row>
           <el-row>
             <el-col :span="24">
-              <el-table border :data="item.child" :header-cell-style="{background:'#eef1f6',color:'#606266'}" :cell-style="{background:'#fff',color:'#606266'}">
+              <el-table
+                border
+                :data="item.child"
+                :header-cell-style="{ background: '#eef1f6', color: '#606266' }"
+                :cell-style="{ background: '#fff', color: '#606266' }"
+              >
                 <el-table-column
                   prop="standardizationRequirements"
                   align="center"
@@ -43,10 +59,10 @@
                 ></el-table-column>
                 <el-table-column align="center" label="评审结果">
                   <template slot-scope="scope">
-                    <span v-if="(scope.row.safetyInspectionItemResult== 0)"
+                    <span v-if="scope.row.safetyInspectionItemResult == 0"
                       >否决</span
                     >
-                    <span v-if="(scope.row.safetyInspectionItemResult == 1)"
+                    <span v-if="scope.row.safetyInspectionItemResult == 1"
                       >扣分</span
                     >
                   </template>
@@ -57,24 +73,32 @@
                   type="expand"
                   width="100px"
                 >
-                <template slot-scope="scope">
-                  <el-table
-                    :data="scope.row.selfDeductionList"
-                    border
-                    :header-cell-style="{background:'#eef1f6',color:'#606266'}" :cell-style="{background:'#fff',color:'#606266'}"
-                  >
-                    <el-table-column prop="name" align="center" label="扣分项">
-                    </el-table-column>
-                    <el-table-column prop="point" align="center" label="扣分">
-                    </el-table-column>
-                    <el-table-column
-                      prop="remark"
-                      align="center"
-                      label="扣分备注"
+                  <template slot-scope="scope">
+                    <el-table
+                      :data="scope.row.selfDeductionList"
+                      border
+                      :header-cell-style="{
+                        background: '#eef1f6',
+                        color: '#606266',
+                      }"
+                      :cell-style="{ background: '#fff', color: '#606266' }"
                     >
-                    </el-table-column>
-                  </el-table>
-                </template>
+                      <el-table-column
+                        prop="name"
+                        align="center"
+                        label="扣分项"
+                      >
+                      </el-table-column>
+                      <el-table-column prop="point" align="center" label="扣分">
+                      </el-table-column>
+                      <el-table-column
+                        prop="remark"
+                        align="center"
+                        label="扣分备注"
+                      >
+                      </el-table-column>
+                    </el-table>
+                  </template>
                 </el-table-column>
                 <el-table-column
                   prop="remark"
@@ -87,6 +111,7 @@
                       @click="handleClick(scope.row)"
                       type="text"
                       size="small"
+                      :disabled="typeId == 2 ? true : false"
                       >评价</el-button
                     >
                     <!-- <el-button type="text" size="small" style="color: red"
@@ -104,7 +129,10 @@
 </template>
 <script>
 import Titlename from "../../components/Titlename/index.vue";
-import { safetySelfInspectionInfo ,safetySelfInspectionFinish} from "@/api/safetySelfInspection.js";
+import {
+  safetySelfInspectionInfo,
+  safetySelfInspectionFinish,
+} from "@/api/safetySelfInspection.js";
 export default {
   components: { Titlename },
   data() {
@@ -120,49 +148,72 @@
       },
       list: [],
       lists: [],
+      listType: [],
+      typeId: "",
     };
   },
   created() {
     this.id = this.$route.query.id;
+    this.typeId = this.$route.query.type;
     this.safeInitem(this.id);
   },
   methods: {
-      finish(){
-          let id = this.id
-          this.$confirm('确定要结单吗?','提示',{
-              confirmButtonText:'确定',
-              cancelButtonText:'取消',
-              type:'warning',
-          }).then(()=> {
-              safetySelfInspectionFinish({id:this.id}).then(res=>{
-                  console.log(123,res)
-                  if (res.data.code === '200') {
-                      this.$notify({
-                          title:'成功',
-                          message:'结单成功',
-                          type:'success',
-                          duration:2000,
-                      })
-                  }else{
-                      this.$message({
-                          message:res.data.message,
-                          type:'warning'
-                      })
-                  }
-              })
-          }).catch(error =>{
+    finish() {
+      var faly = "";
+      var bar = [];
+      for (var i = 0; i < this.listType.length; i++) {
+        if (this.listType[i].safetyInspectionItemResult == null) {
+          faly = false;
+        } else {
+          faly = true;
+        }
+        bar.push(faly);
+      }
+      if (bar.indexOf(false) == -1) {
+        let id = this.id;
+        this.$confirm("确定要结单吗?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+          .then(() => {
+            safetySelfInspectionFinish({ id: this.id }).then((res) => {
+              console.log(123, res);
+              if (res.data.code === "200") {
+                this.$notify({
+                  title: "成功",
+                  message: "结单成功",
+                  type: "success",
+                  duration: 2000,
+                });
+                this.$router.push({
+                  path: "/checklistself",
+                });
+              } else {
+                this.$message({
+                  message: res.data.message,
+                  type: "warning",
+                });
+              }
+            });
           })
-      },
+          .catch((error) => {});
+      } else {
+        alert("请将所有评分评价后再点结算");
+      }
+    },
 
     safeInitem(id) {
       safetySelfInspectionInfo({ id: id }).then((res) => {
         if (res.data.code == 200) this.list = res.data.result;
+        this.listType = res.data.result.itemList;
         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].child.points = arr[i].child.point;
         }
         this.lists = arr;
-        // console.log('tag', arr)
+        console.log("tag", arr);
       });
     },
     checkSameDataA(resData) {
@@ -187,30 +238,37 @@
         if (!dataInfo[elementBName]) {
           dataInfo[elementBName] = {
             elementBName,
-            point:"",
+            point: "",
+            points: item.point,
             child: [],
           };
         }
         dataInfo[elementBName].child.push(item);
       });
       let list = Object.values(dataInfo); // list 转换成功的数据
-      console.log(list)
-        for(var i=0;i<list.length;i++){
-          var pot=50
-         for(var j=0;j<list[i].child.length;j++){
-           if(list[i].child[j].safetyInspectionItemResult!=0){
-           pot=pot-list[i].child[j].selfDeductionList[0].point
-           }else{
-             var cont=0
-             pot=0
-           }
-         }
-         if(pot>0){
-         list[i].point=pot
-         }else{
-            list[i].point=0
-         }
+      // console.log("数据",list)
+      for (var i = 0; i < list.length; i++) {
+        var pot = list[i].points;
+        for (var j = 0; j < list[i].child.length; j++) {
+          if (list[i].child[j].safetyInspectionItemResult != 0) {
+            for (
+              var s = 0;
+              s < list[i].child[j].selfDeductionList.length;
+              s++
+            ) {
+              pot = pot - list[i].child[j].selfDeductionList[s].point;
+            }
+          } else {
+            var cont = 0;
+            pot = 0;
+          }
         }
+        if (pot > 0) {
+          list[i].point = pot;
+        } else {
+          list[i].point = 0;
+        }
+      }
       return list;
     },
     handleClick(data) {
@@ -218,7 +276,7 @@
         path: "/review",
         query: {
           idC: data.id,
-          id:this.id
+          id: this.id,
         },
       });
     },
@@ -238,7 +296,7 @@
   border-radius: 5px;
   padding: 20px;
   height: 850px;
-  overflow-y:overlay;
+  overflow-y: overlay;
 }
 .title {
   font-size: 16px;
@@ -248,12 +306,12 @@
 .titles {
   font-size: 14px;
 }
-.box-right /deep/ .el-table__expanded-cell{
+.box-right /deep/ .el-table__expanded-cell {
   background-color: #fff !important;
 }
 .btn {
-    background-color: #034ea2;
-    border: 1px solid #034ea2;
-    float: right;
+  background-color: #034ea2;
+  border: 1px solid #034ea2;
+  float: right;
 }
 </style>

--
Gitblit v1.9.2