From fcc1ea2bf3ce3efe1f927bd087e4cd6cf2116c32 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期三, 30 三月 2022 16:21:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/shf' into master --- src/views/safetyproduction/new.vue | 409 +++++++++++++++++++++++++++++++++------------------------- 1 files changed, 232 insertions(+), 177 deletions(-) diff --git a/src/views/safetyproduction/new.vue b/src/views/safetyproduction/new.vue index 66d9aa7..ca2005c 100644 --- a/src/views/safetyproduction/new.vue +++ b/src/views/safetyproduction/new.vue @@ -4,104 +4,142 @@ <div class="box-left"> <Titlename title="检查项树"></Titlename> <div class="box-left-content"> - <!-- <el-form ref="form" :model="form" style="font-size: 12px" size="mini"> - <el-row> - <el-col :span="12"> - <el-form-item size="mini"> - <el-input - v-model="form.name" - placeholder="请输入检查项名称" - ></el-input> - </el-form-item> - </el-col> - <el-col :span="11" :offset="1" style="white-space: nowrap"> - <el-form-item size="mini"> - <el-button type="primary" class="btns" size="mini">搜索</el-button> - <el-button - type="primary" - style="margin: 0px" - class="btns" - icon="el-icon-plus" - size="mini" - ></el-button> - </el-form-item> - </el-col> - </el-row> - </el-form> --> <el-tree - :data="data" - :props="defaultProps" + :data="tree" + node-key="id" + @check="treeClick" + show-checkbox ></el-tree> </div> </div> - <div class="box-right" v-if="show"> - <div class="title">A级要素:<span>A级要素2</span></div> - <div v-for="(item,index) in 2" :key="index"> + <div class="box-right" v-if="list == '' ? false : true"> + <el-button type="primary" @click="open()" class="btns">添加</el-button> + <div v-for="(item, i) in lists" :key="i"> + <div class="title"> + A级要素:<span>{{ item.nameA }}</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>法律、法规和标准的识别和获取</p></el-col> - <el-col :span="6" :offset="4"><p><span>得分:</span>50</p></el-col> + <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 - border - :data="tableData" + <el-col :span="22" :offset="1"> + <el-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="评审标准"> + <el-table-column + prop="veto" + align="center" + label="否决项" + ></el-table-column> + <el-table-column + align="center" + width="80px" + type="expand" + label="扣分项" > - <el-table-column - prop="date" - 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 :data="item.child.deductionList"> <el-table-column - prop="name" - align="center" - label="评审标准" + 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> + <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-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 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> + <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" 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" class="dialog-footer"> + <el-button @click="dialogVisible = false">取 消</el-button> + <el-button type="primary" @click="addC">确 定</el-button> + </span> +</el-dialog> </div> </template> <script> import Titlename from "../../components/Titlename/index.vue"; +import { + safetyInspectionItemTreeA, + safetyInspectionItemTreeB, + safetySelfInspectionAdd, + safetyInspectionItemName, +} from "@/api/safetySelfInspection.js"; export default { components: { Titlename }, data() { @@ -109,110 +147,121 @@ dialogVisible: false, show: true, form: { - name: "", + inspectionName:"", + inspector:"", + inspectionTime:"", + status:"", + itemList:[] }, 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, - }, - ], - data: [ - { - label: "一级 1", - children: [ - { - label: "二级 1-1", - children: [ - { - label: "三级 1-1-1", - }, - ], - }, - ], - }, - { - label: "一级 2", - children: [ - { - label: "二级 2-1", - children: [ - { - label: "三级 2-1-1", - }, - ], - }, - { - label: "二级 2-2", - children: [ - { - label: "三级 2-2-1", - }, - ], - }, - ], - }, - { - label: "一级 3", - children: [ - { - label: "二级 3-1", - children: [ - { - label: "三级 3-1-1", - }, - ], - }, - { - label: "二级 3-2", - children: [ - { - label: "三级 3-2-1", - }, - ], - }, - ], - }, - ], - defaultProps: { - children: "children", - label: "label", - }, + list: [], + lists:[], + nameList:[], + tree: [], + id: "", + nameA: "", + arr:[] }; }, + created() { + this.TreeA(); + }, methods: { + TreeA() { + safetyInspectionItemTreeA().then((res) => { + if (res.data.code == 200) { + // console.log(res.data) + this.tree = res.data.result; + } + }); + }, + TreeB(id) { + safetyInspectionItemTreeB({ id: id }).then((res) => { + this.list=[] + if (res.data.code == 200) { + this.list = res.data.result; + console.log(this.list) + var capA={nameA:'',id:[],child:[]} + var atte=[] + capA.nameA = 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.nameA===capA.nameA)==-1){ + this.lists.push(capA) + + }else{ + var i=this.lists.findIndex(item=>item.nameA===capA.nameA) + this.lists.splice(i,1) + } + } + console.log(this.lists) + }); + }, + checkSameData(resData) { + let dataInfo = {}; + resData.forEach((item, index) => { + let { elementBName } = item; + if (!dataInfo[elementBName]) { + dataInfo[elementBName] = { + elementBName, + child: [], + }; + } + dataInfo[elementBName].child.push(item); + }); + let list = Object.values(dataInfo); // list 转换成功的数据 + return list; + }, + treeClick(currentObj) { + this.TreeB(currentObj.value); + }, + handleClick(data) { + this.$router.push({ + path: "/reviewXG", + query: { + id: data, + }, + }); + }, + open(){ + 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 + this.dialogVisible = true + safetyInspectionItemName().then(res=>{ + // console.log(res) + if(res.data.code==200){ + this.nameList=res.data.result + } + }) + }, + addC(){ + safetySelfInspectionAdd(this.form).then(res=>{ + if(res.data.code==200){ + this.dialogVisible=false + this.$notify({ + type: "success", + duration: 2000, + message: "新增成功", + title: "成功", + }); + } + + }) + }, btnsQX() { this.show = true; }, @@ -239,16 +288,22 @@ padding: 10px; } .box-right { + position: relative; width: 79%; background-color: white; border-radius: 5px; } -.title{ +.title { font-size: 16px; padding: 10px 20px; font-weight: bold; } -.titles{ +.titles { font-size: 14px; } +.btns{ + position: absolute; + top: 10px; + right: 50px; +} </style> \ No newline at end of file -- Gitblit v1.9.2