<template>
|
<div>
|
<div class="box-right">
|
<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>{{ 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-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
|
:data="scope.row.selfDeductionList"
|
>
|
<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"
|
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>
|
</div>
|
</div>
|
</div>
|
</div>
|
</template>
|
<script>
|
import Titlename from "../../components/Titlename/index.vue";
|
import { safetySelfInspectionInfo } from "@/api/safetySelfInspection.js";
|
export default {
|
components: { Titlename },
|
data() {
|
return {
|
dialogVisible: false,
|
form: {
|
name: "",
|
},
|
id: "",
|
formInline: {
|
user: "",
|
region: "",
|
},
|
list: [],
|
lists: [],
|
};
|
},
|
created() {
|
this.id = this.$route.query.id;
|
this.safeInitem(this.id);
|
},
|
methods: {
|
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
|
},
|
});
|
},
|
},
|
};
|
</script>
|
<style scoped>
|
.box {
|
width: 100%;
|
display: flex;
|
justify-content: space-between;
|
background-color: rgb(223, 229, 235);
|
}
|
.box-right {
|
width: 100%;
|
background-color: white;
|
border-radius: 5px;
|
padding: 20px;
|
}
|
.title {
|
font-size: 16px;
|
padding: 10px 0px;
|
font-weight: bold;
|
}
|
.titles {
|
font-size: 14px;
|
}
|
</style>
|