songhuangfeng123
2022-04-07 e5fb337fe1b0e788f4d99523f889aa28aa03fc86
src/views/safetyproduction/gojudging.vue
@@ -1,107 +1,110 @@
<template>
  <div>
      <div class="box-right">
          <div class="title">A级要素:<span>A级要素2</span></div>
        <div v-for="(item,index) in 2" :key="index">
    <div class="box-right">
      <el-button type="primary" style="float: right" @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>
        <div v-for="(item, index) in item.child" :key="index">
          <el-row class="titles">
            <el-col :span="6"><p><span>B级要素:</span>法律、法规和标准的识别和获取</p></el-col>
             <el-col :span="6"><p><span>得分:</span>50</p></el-col>
            <el-col :span="6"
              ><p><span>B级要素:</span>{{ item.elementBName }}</p></el-col
            >
            <el-col :span="6"
              ><p><span>总分:</span>50</p></el-col
            >
               <el-col :span="6"
              ><p><span>得分:</span>{{item.point}}</p></el-col>
          </el-row>
          <el-row>
             <el-col :span="24">
            <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-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="veto"
                  align="center"
                  label="否决项"
                ></el-table-column>
                <el-table-column align="center" label="评审结果">
                  <template slot-scope="scope">
                    <span v-if="(scope.row.safetyInspectionItemResult== 0)"
                      >否决</span
                    >
                    <span v-if="(scope.row.safetyInspectionItemResult == 1)"
                      >扣分</span
                    >
                  </template>
                </el-table-column>
                <el-table-column
                  align="center"
                  label="扣分项"
                  type="expand"
                  width="100px"
                >
                <template slot-scope="scope">
                  <el-table
                     border
                    :data="tableData"
                    :data="scope.row.selfDeductionList"
                    border
                    :header-cell-style="{background:'#eef1f6',color:'#606266'}" :cell-style="{background:'#fff',color:'#606266'}"
                  >
                    <el-table-column
                      prop="date"
                      align="center"
                      label="标准化要求"
                    >
                    <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="name"
                      align="center"
                      label="企业达标标准"
                    ></el-table-column>
                    <el-table-column
                      prop="name"
                      align="center"
                      label="评审方法"
                    ></el-table-column>
                      <el-table-column
                      prop="name"
                      align="center"
                      label="评审标准"
                    >
                     <el-table-column
                      prop="name"
                      align="center"
                      label="否决项"
                    ></el-table-column>
                     <el-table-column
                      prop="name"
                      align="center"
                      label="扣分项"
                    ></el-table-column>
                    </el-table-column>
                     <el-table-column
                      prop="name"
                      align="center"
                      label="扣分"
                      type="expand"
                      width="50px"
                    >
                        <el-table
                        :data="tableData"
                  >
                    <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"
                      prop="remark"
                      align="center"
                      label="扣分备注"
                    >
                    </el-table-column>
                  </el-table>
                    </el-table-column>
                     <el-table-column
                      prop="name"
                      align="center"
                      label="备注"
                    ></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"
                </template>
                </el-table-column>
                <el-table-column
                  prop="remark"
                  align="center"
                  label="备注"
                ></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>
                  </template>
                </el-table-column>
              </el-table>
            </el-col>
          </el-row>
        </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import Titlename from "../../components/Titlename/index.vue";
import { safetySelfInspectionInfo ,safetySelfInspectionFinish} from "@/api/safetySelfInspection.js";
export default {
  components: { Titlename },
  data() {
@@ -110,53 +113,114 @@
      form: {
        name: "",
      },
      id: "",
      formInline: {
        user: "",
        region: "",
      },
      tableData: [
        {
          date: "2016-05-02",
          name: "王小虎",
          province: "上海",
          city: "普陀区",
          address: "上海市普陀区金沙江路 1518 弄",
          zip: 200333,
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          province: "上海",
          city: "普陀区",
          address: "上海市普陀区金沙江路 1517 弄",
          zip: 200333,
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          province: "上海",
          city: "普陀区",
          address: "上海市普陀区金沙江路 1519 弄",
          zip: 200333,
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          province: "上海",
          city: "普陀区",
          address: "上海市普陀区金沙江路 1516 弄",
          zip: 200333,
        },
      ],
      defaultProps: {
        children: "children",
        label: "label",
      },
      list: [],
      lists: [],
    };
  },
  created() {
    this.id = this.$route.query.id;
    this.safeInitem(this.id);
  },
  methods: {
    btnsQX() {
      this.show = true;
      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 =>{
          })
      },
    safeInitem(id) {
      safetySelfInspectionInfo({ id: id }).then((res) => {
        if (res.data.code == 200) this.list = res.data.result;
        var arr = this.checkSameDataA(this.list.itemList);
        for (var i = 0; i < arr.length; i++) {
          arr[i].child = this.checkSameData(arr[i].child);
        }
        this.lists = arr;
        // console.log('tag', arr)
      });
    },
    checkSameDataA(resData) {
      let dataInfo = {};
      resData.forEach((item, index) => {
        let { elementAName } = item;
        if (!dataInfo[elementAName]) {
          dataInfo[elementAName] = {
            elementAName,
            child: [],
          };
        }
        dataInfo[elementAName].child.push(item);
      });
      let list = Object.values(dataInfo); // list 转换成功的数据
      return list;
    },
    checkSameData(resData) {
      let dataInfo = {};
      resData.forEach((item, index) => {
        let { elementBName } = item;
        if (!dataInfo[elementBName]) {
          dataInfo[elementBName] = {
            elementBName,
            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
         }
        }
      return list;
    },
    handleClick(data) {
      this.$router.push({
        path: "/review",
        query: {
          idC: data.id,
          id:this.id
        },
      });
    },
  },
};
@@ -173,13 +237,18 @@
  background-color: white;
  border-radius: 5px;
  padding: 20px;
  height: 850px;
  overflow-y:overlay;
}
.title{
.title {
  font-size: 16px;
  padding: 10px 0px;
  font-weight: bold;
}
.titles{
.titles {
  font-size: 14px;
}
</style>
.box-right /deep/ .el-table__expanded-cell{
  background-color: #fff !important;
}
</style>