From 2052141357570653d3f7122dfc93604b4c674624 Mon Sep 17 00:00:00 2001
From: lct123456 <lucht>
Date: 星期三, 20 四月 2022 21:03:14 +0800
Subject: [PATCH] 微改
---
src/views/safetyproduction/gojudging.vue | 396 +++++++++++++++++++++++++++++++++++++------------------
1 files changed, 264 insertions(+), 132 deletions(-)
diff --git a/src/views/safetyproduction/gojudging.vue b/src/views/safetyproduction/gojudging.vue
index 51cd6f6..9eaffe9 100644
--- a/src/views/safetyproduction/gojudging.vue
+++ b/src/views/safetyproduction/gojudging.vue
@@ -1,107 +1,138 @@
<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"
+ 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>
+ <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>{{ item.points }}</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="tableData"
- >
- <el-table-column
- prop="date"
- align="center"
- label="标准化要求"
+ <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
>
- </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>
+ <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"
+ border
+ :header-cell-style="{
+ background: '#eef1f6',
+ color: '#606266',
+ }"
+ :cell-style="{ background: '#fff', color: '#606266' }"
+ >
<el-table-column
- prop="name"
- align="center"
- label="评审标准"
+ 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"
+ :disabled="typeId == 2 ? true : false"
+ >评审</el-button
>
- <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"
- 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"
+ <!-- <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 +141,144 @@
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: [],
+ listType: [],
+ typeId: "",
};
},
+ created() {
+ this.id = this.$route.query.id;
+ this.typeId = this.$route.query.type;
+ this.safeInitem(this.id);
+ },
methods: {
- btnsQX() {
- this.show = true;
+ 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);
+ });
+ },
+ 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: "",
+ 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 = 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) {
+ this.$router.push({
+ path: "/review",
+ query: {
+ idC: data.id,
+ id: this.id,
+ },
+ });
},
},
};
@@ -173,13 +295,23 @@
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>
\ No newline at end of file
+.box-right /deep/ .el-table__expanded-cell {
+ background-color: #fff !important;
+}
+.btn {
+ background-color: #034ea2;
+ border: 1px solid #034ea2;
+ float: right;
+}
+</style>
--
Gitblit v1.9.2