From 9c1673c3cd9a73855ecfa40f5e717f7c4bbb2e1a Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期五, 08 四月 2022 10:59:12 +0800 Subject: [PATCH] 'lct' --- src/views/safetyproduction/gojudging.vue | 182 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 140 insertions(+), 42 deletions(-) diff --git a/src/views/safetyproduction/gojudging.vue b/src/views/safetyproduction/gojudging.vue index e62b544..f941b95 100644 --- a/src/views/safetyproduction/gojudging.vue +++ b/src/views/safetyproduction/gojudging.vue @@ -1,7 +1,18 @@ <template> <div> <div class="box-right"> - <div v-for="(item, index) in lists" :key="index" style="padding:0 0 20px 0"> + <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> @@ -11,14 +22,20 @@ ><p><span>B级要素:</span>{{ item.elementBName }}</p></el-col > <el-col :span="6" - ><p><span>总分:</span>50</p></el-col + ><p><span>总分:</span>{{ item.points }}</p></el-col > - <el-col :span="6" - ><p><span>得分:</span>{{item.point}}</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 + border + :data="item.child" + :header-cell-style="{ background: '#eef1f6', color: '#606266' }" + :cell-style="{ background: '#fff', color: '#606266' }" + > <el-table-column prop="standardizationRequirements" align="center" @@ -42,10 +59,10 @@ ></el-table-column> <el-table-column align="center" label="评审结果"> <template slot-scope="scope"> - <span v-if="(scope.row.safetyInspectionItemResult== 0)" + <span v-if="scope.row.safetyInspectionItemResult == 0" >否决</span > - <span v-if="(scope.row.safetyInspectionItemResult == 1)" + <span v-if="scope.row.safetyInspectionItemResult == 1" >扣分</span > </template> @@ -56,22 +73,32 @@ 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="扣分备注" + <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> - </el-table> - </template> + <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" @@ -84,6 +111,7 @@ @click="handleClick(scope.row)" type="text" size="small" + :disabled="typeId == 2 ? true : false" >评价</el-button > <!-- <el-button type="text" size="small" style="color: red" @@ -101,7 +129,10 @@ </template> <script> import Titlename from "../../components/Titlename/index.vue"; -import { safetySelfInspectionInfo } from "@/api/safetySelfInspection.js"; +import { + safetySelfInspectionInfo, + safetySelfInspectionFinish, +} from "@/api/safetySelfInspection.js"; export default { components: { Titlename }, data() { @@ -117,22 +148,72 @@ }, list: [], lists: [], + listType: [], + typeId: "", }; }, created() { this.id = this.$route.query.id; + this.typeId = this.$route.query.type; this.safeInitem(this.id); }, methods: { + 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) + console.log("tag", arr); }); }, checkSameDataA(resData) { @@ -157,30 +238,37 @@ if (!dataInfo[elementBName]) { dataInfo[elementBName] = { elementBName, - point:"", + 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=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 - } + // 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) { @@ -188,7 +276,7 @@ path: "/review", query: { idC: data.id, - id:this.id + id: this.id, }, }); }, @@ -207,6 +295,8 @@ background-color: white; border-radius: 5px; padding: 20px; + height: 850px; + overflow-y: overlay; } .title { font-size: 16px; @@ -216,4 +306,12 @@ .titles { font-size: 14px; } +.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