From b2c24bfd334bbac0bb02d93de6e865ef7084fb7d Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期四, 31 三月 2022 11:36:55 +0800
Subject: [PATCH] 自查清单

---
 src/views/safetyproduction/new.vue |  498 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 272 insertions(+), 226 deletions(-)

diff --git a/src/views/safetyproduction/new.vue b/src/views/safetyproduction/new.vue
index 2a1eef5..35b0d78 100644
--- a/src/views/safetyproduction/new.vue
+++ b/src/views/safetyproduction/new.vue
@@ -17,127 +17,146 @@
       </div>
       <div class="box-right" v-if="list == '' ? false : true">
         <div class="btns">
-        <el-button type="primary" class="btn" @click="open(0)">添加</el-button>
-         <el-button type="primary" class="btn" @click="open(-1)">暂存</el-button>
-         </div>
-        <div v-for="(item, i) in lists" :key="i">
-        <div class="title">
-          A级要素:<span>{{ item.elementAName }}</span>
+          <el-button type="primary" class="btn" @click="open(0)"
+            >添加</el-button
+          >
+          <el-button type="primary" class="btn" @click="open(-1)"
+            >暂存</el-button
+          >
         </div>
-        <div v-for="(item, index) in item.child" :key="index">
-          <el-row class="titles">
-            <el-col :span="6" :offset="1"
-              ><p><span>B级要素:</span>{{ item.elementBName }}</p></el-col
-            >
-            <el-col :span="6" :offset="4"
-              ><p><span>得分:</span>50</p></el-col
-            >
-          </el-row>
-          <el-row>
-            <el-col :span="22" :offset="1">
-              <el-table ref="table" border :data="item.child">
-                <el-table-column
-                  prop="standardizationRequirements"
-                  align="center"
-                  label="标准化要求"
-                >
-                </el-table-column>
-                <el-table-column
-                  prop="enterpriseStandard"
-                  align="center"
-                  label="企业达标标准"
-                ></el-table-column>
-                <el-table-column
-                  prop="reviewMethod"
-                  align="center"
-                  label="评审方法"
-                ></el-table-column>
-                <el-table-column prop="name" align="center" label="评审标准">
+        <div v-for="(item, i) in lists" :key="i">
+          <div class="title">
+            A级要素:<span>{{ item.elementAName }}</span>
+          </div>
+          <div v-for="(item, index) in item.child" :key="index">
+            <el-row class="titles">
+              <el-col :span="6" :offset="1"
+                ><p><span>B级要素:</span>{{ item.elementBName }}</p></el-col
+              >
+              <el-col :span="6" :offset="4"
+                ><p><span>得分:</span>50</p></el-col
+              >
+            </el-row>
+            <el-row>
+              <el-col :span="22" :offset="1">
+                <el-table ref="table" border :data="item.child">
                   <el-table-column
-                    prop="veto"
+                    prop="standardizationRequirements"
                     align="center"
-                    label="否决项"
+                    label="标准化要求"
+                  >
+                  </el-table-column>
+                  <el-table-column
+                    prop="enterpriseStandard"
+                    align="center"
+                    label="企业达标标准"
                   ></el-table-column>
                   <el-table-column
+                    prop="reviewMethod"
                     align="center"
-                    width="80px"
-                    label="扣分项"
-                    type="expand"
-                  >
-                  <template slot-scope="scope">
-                    <el-table :data="scope.row.deductionList">
-                      <el-table-column
-                        prop="name"
-                        align="center"
-                        label="扣分项"
-                      >
-                      </el-table-column>
-                      <el-table-column prop="date" align="center" label="扣分">
-                      </el-table-column>
-                      <el-table-column
-                        prop="date"
-                        align="center"
-                        label="扣分备注"
-                      >
-                      </el-table-column>
-                    </el-table>
-                     </template>
-                  </el-table-column>
-                </el-table-column>
-                <el-table-column align="center" label="操作" width="200px">
-                  <template slot-scope="scope">
-                    <el-button
-                      @click="handleClick(scope.row)"
-                      type="text"
-                      size="small"
-                      >修改</el-button
+                    label="评审方法"
+                  ></el-table-column>
+                  <el-table-column prop="name" align="center" label="评审标准">
+                    <el-table-column
+                      prop="veto"
+                      align="center"
+                      label="否决项"
+                    ></el-table-column>
+                    <el-table-column
+                      align="center"
+                      width="80px"
+                      label="扣分项"
+                      type="expand"
                     >
-                    <!-- <el-button type="text" size="small" style="color: red"
+                      <template slot-scope="scope">
+                        <el-table :data="scope.row.deductionList">
+                          <el-table-column
+                            prop="name"
+                            align="center"
+                            label="扣分项"
+                          >
+                          </el-table-column>
+                          <el-table-column
+                            prop="date"
+                            align="center"
+                            label="扣分"
+                          >
+                          </el-table-column>
+                          <el-table-column
+                            prop="date"
+                            align="center"
+                            label="扣分备注"
+                          >
+                          </el-table-column>
+                        </el-table>
+                      </template>
+                    </el-table-column>
+                  </el-table-column>
+                  <el-table-column align="center" label="操作" width="200px">
+                    <template slot-scope="scope">
+                      <el-button
+                        @click="handleClick(scope.row)"
+                        type="text"
+                        size="small"
+                        >修改</el-button
+                      >
+                      <!-- <el-button type="text" size="small" style="color: red"
                           >删除</el-button
                         > -->
-                  </template>
-                </el-table-column>
-              </el-table>
-            </el-col>
-          </el-row>
-        </div>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-col>
+            </el-row>
+          </div>
         </div>
       </div>
     </div>
-    <el-dialog
-  title="添加"
-  :visible.sync="dialogVisible"
-  width="30%"
->
-  <el-form ref="form" :model="form" label-width="100px">
-     <el-form-item label="自查清单名称">
-    <el-input v-model="form.inspectionName"></el-input>
-  </el-form-item>
-   <el-form-item label="检查人名称">
-    <el-select v-model="form.inspector" style="width:100%" placeholder="请选择">
-    <el-option
-      v-for="item in nameList"
-      :key="item.id"
-      :label="item.realname"
-      :value="item.id">
-    </el-option>
-  </el-select>
-  </el-form-item>
-   <el-form-item label="时间">
-    <el-col :span="11">
-      <el-date-picker  type="date"  format="yyyy 年 MM 月 dd 日" placeholder="开始时间" v-model="form.inspectionTime" style="width: 100%;"></el-date-picker>
-    </el-col>
-    <!-- <el-col style="text-align:center" :span="2">-</el-col>
+    <el-dialog title="添加" :visible.sync="dialogVisible" width="30%">
+      <el-form ref="form" :model="form" label-width="100px">
+        <el-form-item label="自查清单名称">
+          <el-input v-model="form.inspectionName"></el-input>
+        </el-form-item>
+        <el-form-item label="检查人名称">
+          <el-select
+            v-model="form.inspector"
+            style="width: 100%"
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in nameList"
+              :key="item.id"
+              :label="item.realname"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="时间">
+          <el-col :span="11">
+            <el-date-picker
+              type="date"
+              format="yyyy 年 MM 月 dd 日"
+              placeholder="开始时间"
+              v-model="form.inspectionTime"
+              style="width: 100%"
+            ></el-date-picker>
+          </el-col>
+          <!-- <el-col style="text-align:center" :span="2">-</el-col>
     <el-col :span="11">
       <el-date-picker type="date"  format="yyyy 年 MM 月 dd 日" placeholder="结束时间" v-model="form.inspectionEndTime" style="width: 100%;"></el-date-picker>
     </el-col> -->
-  </el-form-item>
-    </el-form>
-  <span slot="footer" style="text-align:center;display:block;" class="dialog-footer">
-     <el-button type="primary" class="btn" @click="addC">确 定</el-button>
-    <el-button @click="dialogVisible = false">取 消</el-button>
-  </span>
-</el-dialog>
+        </el-form-item>
+      </el-form>
+      <span
+        slot="footer"
+        style="text-align: center; display: block"
+        class="dialog-footer"
+      >
+        <el-button type="primary" class="btn" @click="addC">确 定</el-button>
+        <el-button @click="dialogVisible = false">取 消</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -157,57 +176,60 @@
       dialogVisible: false,
       show: true,
       form: {
-      inspectionName:"",
-      inspector:"",
-      inspectionTime:"",
-      status:"",
-      itemList:[]
+        inspectionName: "",
+        inspector: "",
+        inspectionTime: "",
+        status: "",
+        itemList: [],
       },
       formInline: {
         user: "",
         region: "",
       },
       list: [],
-      lists:[],
-      nameList:[],
+      lists: [],
+      nameList: [],
       tree: [],
       id: "",
       elementAName: "",
-      arr:[],
-      treeList:[],
-       defaultProps: {
-          children: 'children',
-          label: 'label'
-        },
-        itemId:""
+      arr: [],
+      treeList: [],
+      defaultProps: {
+        children: "children",
+        label: "label",
+      },
+      itemId: "",
     };
   },
   created() {
     this.TreeA();
-    this.id=this.$route.query.name
-    this.itemId=this.$route.query.id
-    this.itemInfo(this.$route.query.id)
+    this.id = this.$route.query.name;
+    this.itemId = this.$route.query.id;
+    this.itemInfo(this.$route.query.id);
   },
   methods: {
-       itemInfo(id) {
-       safetySelfInspectionInfo({id:id}).then((res) => {
-        if (res.data.code == 200){
-          this.form=res.data.result
-          console.log(res.data.result)
+    itemInfo(id) {
+      safetySelfInspectionInfo({ id: id }).then((res) => {
+        if (res.data.code == 200) {
+          this.form = res.data.result;
+          console.log(res.data.result);
           this.list = res.data.result;
-          var trees=[]
-          for(var i=0;i<this.list.itemList.length;i++){
-            trees.push(this.list.itemList[i].elementA)
+          var trees = [];
+          for (var i = 0; i < this.list.itemList.length; i++) {
+            trees.push(this.list.itemList[i].elementA);
           }
-          this.treeList=Array.from(new Set(trees))
-        var arr = this.checkSameDataA(this.list.itemList);
-        console.log('tag', arr)
-        for (var i = 0; i < arr.length; i++) {
-          arr[i].child = this.checkSameData(arr[i].child);
-          arr[i].id={safetySelfInspectionId:arr[i].child.safetySelfInspectionId,safetyInspectionItemId:arr[i].child.safetyInspectionItemId}
-        }
-        this.lists = arr;
-        console.log(this.lists)
+          this.treeList = Array.from(new Set(trees));
+          var arr = this.checkSameDataA(this.list.itemList);
+          console.log("tag", arr);
+          for (var i = 0; i < arr.length; i++) {
+            arr[i].child = this.checkSameData(arr[i].child);
+            arr[i].id = {
+              safetySelfInspectionId: arr[i].child.safetySelfInspectionId,
+              safetyInspectionItemId: arr[i].child.safetyInspectionItemId,
+            };
+          }
+          this.lists = arr;
+          console.log(this.lists);
         }
       });
     },
@@ -220,60 +242,76 @@
     },
     TreeB(id) {
       safetyInspectionItemTreeB({ id: id }).then((res) => {
-        this.list=[]
-        if(this.id=="添加"){
-        if (res.data.code == 200) {
-           this.list = res.data.result;
-          var capA={elementAName:'',id:[],child:[]}
-          var atte=[]
-           capA.elementAName = this.list[0].elementAName;
-           for(var i=0;i<this.list.length;i++){
-             var capB={safetySelfInspectionId:"",safetyInspectionItemId:""}
-             capB.safetyInspectionItemId=this.list[i].id
-             atte.push(capB)
-           }
-           capA.id=atte
-           capA.child= this.checkSameData(this.list);
-           if(this.lists.findIndex(item=>item.elementAName===capA.elementAName)==-1){
-             this.lists.push(capA)
-
-           }else{
-            var i=this.lists.findIndex(item=>item.elementAName===capA.elementAName)
-            this.lists.splice(i,1)
-           }
-        }
-        }else if(this.id=="编辑"){
+        this.list = [];
+        if (this.id == "添加") {
+          if (res.data.code == 200) {
+            this.list = res.data.result;
+            var capA = { elementAName: "", id: [], child: [] };
+            var atte = [];
+            capA.elementAName = this.list[0].elementAName;
+            for (var i = 0; i < this.list.length; i++) {
+              var capB = {
+                safetySelfInspectionId: "",
+                safetyInspectionItemId: "",
+              };
+              capB.safetyInspectionItemId = this.list[i].id;
+              atte.push(capB);
+            }
+            capA.id = atte;
+            capA.child = this.checkSameData(this.list);
+            if (
+              this.lists.findIndex(
+                (item) => item.elementAName === capA.elementAName
+              ) == -1
+            ) {
+              this.lists.push(capA);
+            } else {
+              var i = this.lists.findIndex(
+                (item) => item.elementAName === capA.elementAName
+              );
+              this.lists.splice(i, 1);
+            }
+          }
+        } else if (this.id == "编辑") {
           this.list = res.data.result;
-          var capA={elementAName:'',id:[],child:[]}
-          var atte=[]
-           capA.elementAName = this.list[0].elementAName;
-           for(var i=0;i<this.list.length;i++){
-             var capB={safetySelfInspectionId:"",safetyInspectionItemId:""}
-             capB.safetyInspectionItemId=this.list[i].id
-             capB.safetySelfInspectionId=this.itemId
-             atte.push(capB)
-           }
-           console.log("数据",this.lists)
-           capA.id=atte
-           capA.child= this.checkSameData(this.list);
-           if(this.lists.findIndex(item=>item.elementAName===capA.elementAName)==-1){
-             this.lists.push(capA)
-
-           }else{
-            var i=this.lists.findIndex(item=>item.elementAName===capA.elementAName)
-            this.lists.splice(i,1)
-           }
+          var capA = { elementAName: "", id: [], child: [] };
+          var atte = [];
+          capA.elementAName = this.list[0].elementAName;
+          for (var i = 0; i < this.list.length; i++) {
+            var capB = {
+              safetySelfInspectionId: "",
+              safetyInspectionItemId: "",
+            };
+            capB.safetyInspectionItemId = this.list[i].id;
+            capB.safetySelfInspectionId = this.itemId;
+            atte.push(capB);
+          }
+          console.log("数据", this.lists);
+          capA.id = atte;
+          capA.child = this.checkSameData(this.list);
+          if (
+            this.lists.findIndex(
+              (item) => item.elementAName === capA.elementAName
+            ) == -1
+          ) {
+            this.lists.push(capA);
+          } else {
+            var i = this.lists.findIndex(
+              (item) => item.elementAName === capA.elementAName
+            );
+            this.lists.splice(i, 1);
+          }
         }
       });
     },
-       checkSameDataA(resData) {
+    checkSameDataA(resData) {
       let dataInfo = {};
       resData.forEach((item, index) => {
         let { elementAName } = item;
         if (!dataInfo[elementAName]) {
           dataInfo[elementAName] = {
             elementAName,
-            id:{},
+            id: {},
             child: [],
           };
         }
@@ -301,55 +339,63 @@
       this.TreeB(currentObj.value);
     },
     handleClick(data) {
-      this.$router.push({
-        path: "/reviewXG",
-        query: {
-          id: data,
-        },
-      });
+      console.log('tag', data.id)
+      if (data.safetyInspectionItemId!=undefined) {
+          this.$router.push({
+          path: "/reviewXG",
+          query: {
+            id: data.safetyInspectionItemId,
+          },
+        });
+      } else{
+         this.$router.push({
+          path: "/reviewXG",
+          query: {
+            id:data.id
+          },
+        });
+      }
     },
-    open(type){
-      this.dialogVisible = true
-      this.form.status=type
-      var arr=[]
-      for(var i=0;i<this.lists.length;i++){
-        this.lists[i].id
-        for(var j=0;j<this.lists[i].id.length;j++){
-          arr.push(this.lists[i].id[j])
+    open(type) {
+      this.dialogVisible = true;
+      this.form.status = type;
+      var arr = [];
+      for (var i = 0; i < this.lists.length; i++) {
+        this.lists[i].id;
+        for (var j = 0; j < this.lists[i].id.length; j++) {
+          arr.push(this.lists[i].id[j]);
         }
       }
-      this.form.itemList=arr
-    safetyInspectionItemName().then(res=>{
-    if(res.data.code==200){
-          this.nameList=res.data.result
+      this.form.itemList = arr;
+      safetyInspectionItemName().then((res) => {
+        if (res.data.code == 200) {
+          this.nameList = res.data.result;
         }
-    })
-      
+      });
     },
-    addC(){
-        if(this.id=='添加'){
-      safetySelfInspectionAdd(this.form).then(res=>{
-       if(res.data.code==200){
-         this.dialogVisible=false
-           this.$notify({
+    addC() {
+      if (this.id == "添加") {
+        safetySelfInspectionAdd(this.form).then((res) => {
+          if (res.data.code == 200) {
+            this.dialogVisible = false;
+            this.$notify({
               type: "success",
               duration: 2000,
               message: "新增成功",
               title: "成功",
             });
-       }
-      
-      })
-        }else if(this.id=='编辑'){
-        safetySelfInspectionMod(this.form).then(res=>{
-           this.dialogVisible=false
-           this.$notify({
-              type: "success",
-              duration: 2000,
-              message: "编辑成功",
-              title: "成功",
-            });
-        })
+          }
+        });
+      } else if (this.id == "编辑") {
+        safetySelfInspectionMod(this.form).then((res) => {
+          this.dialogVisible = false;
+          this.$notify({
+            type: "success",
+            duration: 2000,
+            message: "编辑成功",
+            title: "成功",
+          });
+        });
       }
     },
     btnsQX() {
@@ -375,7 +421,7 @@
   border-radius: 5px;
 }
 .box-left-content {
-  padding:10px 20px;
+  padding: 10px 20px;
 }
 .box-right {
   position: relative;
@@ -391,12 +437,12 @@
 .titles {
   font-size: 14px;
 }
-.btns{
+.btns {
   position: absolute;
   top: 10px;
   right: 50px;
 }
-.box-left-content /deep/ .el-tree-node__expand-icon{
+.box-left-content /deep/ .el-tree-node__expand-icon {
   display: none;
 }
 .btn {

--
Gitblit v1.9.2