From b2c24bfd334bbac0bb02d93de6e865ef7084fb7d Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期四, 31 三月 2022 11:36:55 +0800 Subject: [PATCH] 自查清单 --- src/views/safetyproduction/new.vue | 498 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 272 insertions(+), 226 deletions(-) diff --git a/src/views/safetyproduction/new.vue b/src/views/safetyproduction/new.vue index 2a1eef5..35b0d78 100644 --- a/src/views/safetyproduction/new.vue +++ b/src/views/safetyproduction/new.vue @@ -17,127 +17,146 @@ </div> <div class="box-right" v-if="list == '' ? false : true"> <div class="btns"> - <el-button type="primary" class="btn" @click="open(0)">添加</el-button> - <el-button type="primary" class="btn" @click="open(-1)">暂存</el-button> - </div> - <div v-for="(item, i) in lists" :key="i"> - <div class="title"> - A级要素:<span>{{ item.elementAName }}</span> + <el-button type="primary" class="btn" @click="open(0)" + >添加</el-button + > + <el-button type="primary" class="btn" @click="open(-1)" + >暂存</el-button + > </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 ref="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="评审标准"> + <div v-for="(item, i) in lists" :key="i"> + <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" :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 ref="table" border :data="item.child"> <el-table-column - prop="veto" + prop="standardizationRequirements" align="center" - label="否决项" + label="标准化要求" + > + </el-table-column> + <el-table-column + prop="enterpriseStandard" + align="center" + label="企业达标标准" ></el-table-column> <el-table-column + prop="reviewMethod" align="center" - width="80px" - label="扣分项" - type="expand" - > - <template slot-scope="scope"> - <el-table :data="scope.row.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> - </template> - </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 + 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" + label="扣分项" + type="expand" > - <!-- <el-button type="text" size="small" style="color: red" + <template slot-scope="scope"> + <el-table :data="scope.row.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> + </template> + </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> + </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" style="width:100%" 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-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" + style="width: 100%" + 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" style="text-align:center;display:block;" class="dialog-footer"> - <el-button type="primary" class="btn" @click="addC">确 定</el-button> - <el-button @click="dialogVisible = false">取 消</el-button> - </span> -</el-dialog> + </el-form-item> + </el-form> + <span + slot="footer" + style="text-align: center; display: block" + class="dialog-footer" + > + <el-button type="primary" class="btn" @click="addC">确 定</el-button> + <el-button @click="dialogVisible = false">取 消</el-button> + </span> + </el-dialog> </div> </template> <script> @@ -157,57 +176,60 @@ dialogVisible: false, show: true, form: { - inspectionName:"", - inspector:"", - inspectionTime:"", - status:"", - itemList:[] + inspectionName: "", + inspector: "", + inspectionTime: "", + status: "", + itemList: [], }, formInline: { user: "", region: "", }, list: [], - lists:[], - nameList:[], + lists: [], + nameList: [], tree: [], id: "", elementAName: "", - arr:[], - treeList:[], - defaultProps: { - children: 'children', - label: 'label' - }, - itemId:"" + arr: [], + treeList: [], + defaultProps: { + children: "children", + label: "label", + }, + itemId: "", }; }, created() { this.TreeA(); - this.id=this.$route.query.name - this.itemId=this.$route.query.id - this.itemInfo(this.$route.query.id) + this.id = this.$route.query.name; + this.itemId = this.$route.query.id; + this.itemInfo(this.$route.query.id); }, methods: { - itemInfo(id) { - safetySelfInspectionInfo({id:id}).then((res) => { - if (res.data.code == 200){ - this.form=res.data.result - console.log(res.data.result) + itemInfo(id) { + safetySelfInspectionInfo({ id: id }).then((res) => { + if (res.data.code == 200) { + this.form = res.data.result; + console.log(res.data.result); this.list = res.data.result; - var trees=[] - for(var i=0;i<this.list.itemList.length;i++){ - trees.push(this.list.itemList[i].elementA) + var trees = []; + for (var i = 0; i < this.list.itemList.length; i++) { + trees.push(this.list.itemList[i].elementA); } - this.treeList=Array.from(new Set(trees)) - var arr = this.checkSameDataA(this.list.itemList); - console.log('tag', arr) - for (var i = 0; i < arr.length; i++) { - arr[i].child = this.checkSameData(arr[i].child); - arr[i].id={safetySelfInspectionId:arr[i].child.safetySelfInspectionId,safetyInspectionItemId:arr[i].child.safetyInspectionItemId} - } - this.lists = arr; - console.log(this.lists) + this.treeList = Array.from(new Set(trees)); + var arr = this.checkSameDataA(this.list.itemList); + console.log("tag", arr); + for (var i = 0; i < arr.length; i++) { + arr[i].child = this.checkSameData(arr[i].child); + arr[i].id = { + safetySelfInspectionId: arr[i].child.safetySelfInspectionId, + safetyInspectionItemId: arr[i].child.safetyInspectionItemId, + }; + } + this.lists = arr; + console.log(this.lists); } }); }, @@ -220,60 +242,76 @@ }, TreeB(id) { safetyInspectionItemTreeB({ id: id }).then((res) => { - this.list=[] - if(this.id=="添加"){ - if (res.data.code == 200) { - this.list = res.data.result; - var capA={elementAName:'',id:[],child:[]} - var atte=[] - capA.elementAName = 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.elementAName===capA.elementAName)==-1){ - this.lists.push(capA) - - }else{ - var i=this.lists.findIndex(item=>item.elementAName===capA.elementAName) - this.lists.splice(i,1) - } - } - }else if(this.id=="编辑"){ + this.list = []; + if (this.id == "添加") { + if (res.data.code == 200) { + this.list = res.data.result; + var capA = { elementAName: "", id: [], child: [] }; + var atte = []; + capA.elementAName = 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.elementAName === capA.elementAName + ) == -1 + ) { + this.lists.push(capA); + } else { + var i = this.lists.findIndex( + (item) => item.elementAName === capA.elementAName + ); + this.lists.splice(i, 1); + } + } + } else if (this.id == "编辑") { this.list = res.data.result; - var capA={elementAName:'',id:[],child:[]} - var atte=[] - capA.elementAName = this.list[0].elementAName; - for(var i=0;i<this.list.length;i++){ - var capB={safetySelfInspectionId:"",safetyInspectionItemId:""} - capB.safetyInspectionItemId=this.list[i].id - capB.safetySelfInspectionId=this.itemId - atte.push(capB) - } - console.log("数据",this.lists) - capA.id=atte - capA.child= this.checkSameData(this.list); - if(this.lists.findIndex(item=>item.elementAName===capA.elementAName)==-1){ - this.lists.push(capA) - - }else{ - var i=this.lists.findIndex(item=>item.elementAName===capA.elementAName) - this.lists.splice(i,1) - } + var capA = { elementAName: "", id: [], child: [] }; + var atte = []; + capA.elementAName = this.list[0].elementAName; + for (var i = 0; i < this.list.length; i++) { + var capB = { + safetySelfInspectionId: "", + safetyInspectionItemId: "", + }; + capB.safetyInspectionItemId = this.list[i].id; + capB.safetySelfInspectionId = this.itemId; + atte.push(capB); + } + console.log("数据", this.lists); + capA.id = atte; + capA.child = this.checkSameData(this.list); + if ( + this.lists.findIndex( + (item) => item.elementAName === capA.elementAName + ) == -1 + ) { + this.lists.push(capA); + } else { + var i = this.lists.findIndex( + (item) => item.elementAName === capA.elementAName + ); + this.lists.splice(i, 1); + } } }); }, - checkSameDataA(resData) { + checkSameDataA(resData) { let dataInfo = {}; resData.forEach((item, index) => { let { elementAName } = item; if (!dataInfo[elementAName]) { dataInfo[elementAName] = { elementAName, - id:{}, + id: {}, child: [], }; } @@ -301,55 +339,63 @@ this.TreeB(currentObj.value); }, handleClick(data) { - this.$router.push({ - path: "/reviewXG", - query: { - id: data, - }, - }); + console.log('tag', data.id) + if (data.safetyInspectionItemId!=undefined) { + this.$router.push({ + path: "/reviewXG", + query: { + id: data.safetyInspectionItemId, + }, + }); + } else{ + this.$router.push({ + path: "/reviewXG", + query: { + id:data.id + }, + }); + } }, - open(type){ - this.dialogVisible = true - this.form.status=type - 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]) + open(type) { + this.dialogVisible = true; + this.form.status = type; + 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 - safetyInspectionItemName().then(res=>{ - if(res.data.code==200){ - this.nameList=res.data.result + this.form.itemList = arr; + safetyInspectionItemName().then((res) => { + if (res.data.code == 200) { + this.nameList = res.data.result; } - }) - + }); }, - addC(){ - if(this.id=='添加'){ - safetySelfInspectionAdd(this.form).then(res=>{ - if(res.data.code==200){ - this.dialogVisible=false - this.$notify({ + addC() { + if (this.id == "添加") { + safetySelfInspectionAdd(this.form).then((res) => { + if (res.data.code == 200) { + this.dialogVisible = false; + this.$notify({ type: "success", duration: 2000, message: "新增成功", title: "成功", }); - } - - }) - }else if(this.id=='编辑'){ - safetySelfInspectionMod(this.form).then(res=>{ - this.dialogVisible=false - this.$notify({ - type: "success", - duration: 2000, - message: "编辑成功", - title: "成功", - }); - }) + } + }); + } else if (this.id == "编辑") { + safetySelfInspectionMod(this.form).then((res) => { + this.dialogVisible = false; + this.$notify({ + type: "success", + duration: 2000, + message: "编辑成功", + title: "成功", + }); + }); } }, btnsQX() { @@ -375,7 +421,7 @@ border-radius: 5px; } .box-left-content { - padding:10px 20px; + padding: 10px 20px; } .box-right { position: relative; @@ -391,12 +437,12 @@ .titles { font-size: 14px; } -.btns{ +.btns { position: absolute; top: 10px; right: 50px; } -.box-left-content /deep/ .el-tree-node__expand-icon{ +.box-left-content /deep/ .el-tree-node__expand-icon { display: none; } .btn { -- Gitblit v1.9.2