From fcc1ea2bf3ce3efe1f927bd087e4cd6cf2116c32 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: 星期三, 30 三月 2022 16:21:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/shf' into master

---
 src/views/safetyproduction/new.vue |  309 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 309 insertions(+), 0 deletions(-)

diff --git a/src/views/safetyproduction/new.vue b/src/views/safetyproduction/new.vue
new file mode 100644
index 0000000..ca2005c
--- /dev/null
+++ b/src/views/safetyproduction/new.vue
@@ -0,0 +1,309 @@
+<template>
+  <div class="app-container">
+    <div class="box">
+      <div class="box-left">
+        <Titlename title="检查项树"></Titlename>
+        <div class="box-left-content">
+          <el-tree
+            :data="tree"
+            node-key="id"
+            @check="treeClick"
+            show-checkbox
+          ></el-tree>
+        </div>
+      </div>
+      <div class="box-right" v-if="list == '' ? false : true">
+        <el-button type="primary" @click="open()" class="btns">添加</el-button>
+        <div v-for="(item, i) in lists" :key="i">
+        <div class="title">
+          A级要素:<span>{{ item.nameA }}</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 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="评审标准">
+                  <el-table-column
+                    prop="veto"
+                    align="center"
+                    label="否决项"
+                  ></el-table-column>
+                  <el-table-column
+                    align="center"
+                    width="80px"
+                    type="expand"
+                    label="扣分项"
+                  >
+                    <el-table :data="item.child.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>
+                  </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>
+        </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" 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" class="dialog-footer">
+    <el-button @click="dialogVisible = false">取 消</el-button>
+    <el-button type="primary" @click="addC">确 定</el-button>
+  </span>
+</el-dialog>
+  </div>
+</template>
+<script>
+import Titlename from "../../components/Titlename/index.vue";
+import {
+  safetyInspectionItemTreeA,
+  safetyInspectionItemTreeB,
+  safetySelfInspectionAdd,
+  safetyInspectionItemName,
+} from "@/api/safetySelfInspection.js";
+export default {
+  components: { Titlename },
+  data() {
+    return {
+      dialogVisible: false,
+      show: true,
+      form: {
+      inspectionName:"",
+      inspector:"",
+      inspectionTime:"",
+      status:"",
+      itemList:[]
+      },
+      formInline: {
+        user: "",
+        region: "",
+      },
+      list: [],
+      lists:[],
+      nameList:[],
+      tree: [],
+      id: "",
+      nameA: "",
+      arr:[]
+    };
+  },
+  created() {
+    this.TreeA();
+  },
+  methods: {
+    TreeA() {
+      safetyInspectionItemTreeA().then((res) => {
+        if (res.data.code == 200) {
+          // console.log(res.data)
+          this.tree = res.data.result;
+        }
+      });
+    },
+    TreeB(id) {
+      safetyInspectionItemTreeB({ id: id }).then((res) => {
+        this.list=[]
+        if (res.data.code == 200) {
+           this.list = res.data.result;
+           console.log(this.list)
+          var capA={nameA:'',id:[],child:[]}
+          var atte=[]
+           capA.nameA = 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.nameA===capA.nameA)==-1){
+             this.lists.push(capA)
+
+           }else{
+            var i=this.lists.findIndex(item=>item.nameA===capA.nameA)
+            this.lists.splice(i,1)
+           }
+        }
+        console.log(this.lists)
+      });
+    },
+    checkSameData(resData) {
+      let dataInfo = {};
+      resData.forEach((item, index) => {
+        let { elementBName } = item;
+        if (!dataInfo[elementBName]) {
+          dataInfo[elementBName] = {
+            elementBName,
+            child: [],
+          };
+        }
+        dataInfo[elementBName].child.push(item);
+      });
+      let list = Object.values(dataInfo); // list 转换成功的数据
+      return list;
+    },
+    treeClick(currentObj) {
+      this.TreeB(currentObj.value);
+    },
+    handleClick(data) {
+      this.$router.push({
+        path: "/reviewXG",
+        query: {
+          id: data,
+        },
+      });
+    },
+    open(){
+      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
+    this.dialogVisible = true
+    safetyInspectionItemName().then(res=>{
+      // console.log(res)
+  if(res.data.code==200){
+          this.nameList=res.data.result
+        }
+    })
+    },
+    addC(){
+      safetySelfInspectionAdd(this.form).then(res=>{
+       if(res.data.code==200){
+         this.dialogVisible=false
+           this.$notify({
+              type: "success",
+              duration: 2000,
+              message: "新增成功",
+              title: "成功",
+            });
+       }
+      
+      })
+    },
+    btnsQX() {
+      this.show = true;
+    },
+  },
+};
+</script>
+<style scoped>
+.app-container {
+  padding: 0px;
+}
+.box {
+  width: 100%;
+  display: flex;
+  justify-content: space-between;
+  background-color: rgb(223, 229, 235);
+}
+.box-left {
+  width: 20%;
+  min-height: 800px;
+  background-color: white;
+  border-radius: 5px;
+}
+.box-left-content {
+  padding: 10px;
+}
+.box-right {
+  position: relative;
+  width: 79%;
+  background-color: white;
+  border-radius: 5px;
+}
+.title {
+  font-size: 16px;
+  padding: 10px 20px;
+  font-weight: bold;
+}
+.titles {
+  font-size: 14px;
+}
+.btns{
+  position: absolute;
+  top: 10px;
+  right: 50px;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.2